arcgis.gis.server module¶
A collection of classes foradministering an ArcGIS Enterprise’s server.
Server¶
-
class
arcgis.gis.server.
Server
(url=None, tokenurl=None, username=None, password=None, verify_cert=False, gis=None, **kwargs)¶ Bases:
object
An ArcGIS Enterprise server used for hosting services
Parameters: :param url: site url of the server :param tokenurl: optional URL for pointing to the server’s token url :param username: name of login user :param password: password of login user :param verify_cert: boolean value, False means any invalid certificates will be ignored. True means only valid certificates will be accepted. :param gis: if a server is federated, a GIS object should be given inorder to ensure that the Portal Security is used over server token.
-
datastores
¶ This resource provides information about the data holdings of the _server. Data items are used by ArcGIS for Desktop and other clients to validate data paths referenced by GIS services. You can register new data items with the _server by using the Register Data Item operation. Use the Find Data Items operation to search through the hierarchy of data items. A relational data store type represents a database platform that has been registered for use on a portal’s hosting _server by the ArcGIS Server administrator. Each relational data store type describes the properties ArcGIS Server requires in order to connect to an instance of a database for a particular platform. At least one registered relational data store type is required before client applications such as Insights for ArcGIS can create Relational Database Connection portal items. The Compute Ref Count operation counts and lists all references to a specific data item. This operation helps you determine if a particular data item can be safely deleted or refreshed.
-
logs
¶ This allows users to access the ArcGIS Server’s logs and lets administrators query and find errors and/or problems related to the _server or a service.
Logs are the records written by the various components of ArcGIS Server. You can query the logs and change various log settings. Note ArcGIS Server Only
-
machines
¶ This resource represents a collection of all the _server machines that have been registered with the site. It other words, it represents the total computing power of your site. A site will continue to run as long as there is one _server machine online. For a _server machine to start hosting GIS services, it must be grouped (or clustered). When you create a new site, a cluster called ‘default’ is created for you. The list of _server machines in your site can be dynamic. You can register additional _server machines when you need to increase the computing power of your site or unregister them if you no longer need them.
-
services
¶ Provides administrator access to the services on ArcGIS Server as a ServerManager Object.
-
site
¶ A site is a collection of server resources. This collection includes server machines that are installed with ArcGIS Server, including GIS services, data and so on. The site resource also lists the current version of the software. When you install ArcGIS Server on a server machine for the first time, you must create a new site. Subsequently, newer server machines can join your site and increase its computing power. Once a site is no longer required, you can delete the site, which will cause all of the resources to be cleaned up.
-
system
¶ provides access to common system configuration settings
-
usage
¶ This resource is a collection of all the usage reports created within your site. The Create Usage Report operation lets you define a new usage report.
-
users
¶ returns operations to work with users
-
Service¶
-
class
arcgis.gis.server.
Service
(url, server, **kwargs)¶ Bases:
object
Represents a GIS administrative service
Parameter: :param url: admin url of the service :param server: server object :param service: service object :param svcmgr: service manager object
-
delete
()¶ Deletes the service and return True if successful, False otherwise
-
edit
(service)¶ To edit a service, you need to submit the complete JSON representation of the service, which includes the updates to the service properties. Editing a service causes the service to be restarted with updated properties.
-
properties
¶ The properties of the Service
-
rename
(new_name)¶ Renames this service to the new name
-
start
()¶ Starts the service
-
statistics
¶ Returns the stats for the service
-
status
¶ Returns the status of the service
-
stop
()¶ Stops the service
-
Machine¶
-
class
arcgis.gis.server.
Machine
(machine)¶ Bases:
object
A server machine represents a machine on which ArcGIS Server software has been installed and licensed. A site is made up one or more of such machines that work together to host GIS services and data and provide administrative capabilities for the site. Each server machine is capable of performing all these tasks and hence a site can be thought of as a distributed peer-to-peer network of such machines. A server machine communicates with its peers over a range of TCP and UDP ports that can be configured using the edit operation. For a server machine to host GIS services, it needs to be added to a cluster. Starting and stopping the server machine enables and disables, respectively, its ability to host GIS services. The administrative capabilities of the server machine are available through the ArcGIS Server Administrator API that can be accessed over HTTP(S). For a server machine to participate in a site, it must be registered with the site. A machine can participate in only one site at a time. To remove a machine permanently from the site, you can use the unregister operation.
Parameter: :param machine: Machine object
-
export_certificate
(certificate)¶ A certificate represents a key pair that has been digitally signed and acknowledged by a Certifying Authority (CA). It is the most fundamental component in enabling SSL on your server. The Generate Certificate operation creates a new self-signed certificate and adds it to the keystore. In order for browsers and other HTTP client applications to trust the SSL connection on the server, this certificate must be digitally signed by a CA and then imported into the keystore. Even though a self-signed certificate can be used to enable SSL, it is recommended that you use a self-signed certificates only on staging or development servers.
- Parameters:
certificate: name of the certificate to grab information for
-
generate_CSR
(certificate)¶ This operation generates a certificate signing request (CSR) for a self-signed certificate. A CSR is required by a CA to create a digitally signed version of your certificate. Parameters:
certificate: name of the certificate to grab information for
-
import_CA_signed_certificate
(certificate, ca_signed_certificate)¶ - Parameters:
certificate: name of the certificate to grab information for ca_signed_certificate: The multi-part POST parameter containing the signed certificate file.
-
import_existing_server_certificate
(alias, cert_password, cert_file)¶ This operation imports an existing server certificate, stored in the PKCS #12 format, into the keystore. If the certificate is a CA signed certificate, you must first import the CA Root or Intermediate certificate using the importRootCertificate operation.
- Parameters:
alias: A unique name for the certificate that easily identifies it. cert_password: password to unlock the file containing the certificate cert_file: multi-part POST parameter containing the certificate file
-
import_root_certificate
(alias, root_CA_certificate)¶ This operation imports a certificate authority (CA)’s root and intermediate certificates into the keystore. To create a production quality CA-signed certificate, you need to add the CA’s certificates into the keystore that enables the SSL mechanism to trust the CA (and the certificates it has signed). While most of the popular CA’s certificates are already available in the keystore, you can use this operation if you have a custom CA or specific intermediate certificates.
- Parameters:
alias: name of teh certificate - :root_CA_certificate:multi-part POST parameter containing the
- certificate file.
-
properties
¶ lists the machine’s properties
-
ssl_certificate
(certificate)¶ A certificate represents a key pair that has been digitally signed and acknowledged by a Certifying Authority (CA). It is the most fundamental component in enabling SSL on your server. The Generate Certificate operation creates a new self-signed certificate and adds it to the keystore. In order for browsers and other HTTP client applications to trust the SSL connection on the server, this certificate must be digitally signed by a CA and then imported into the keystore. Even though a self-signed certificate can be used to enable SSL, it is recommended that you use a self-signed certificates only on staging or development servers.
- Parameters:
certificate: name of the certificate to grab information for
-
ssl_certificates
¶ This resource lists all the certificates (self-signed and CA-signed) created for the server machine. The server securely stores these certificates inside a key store within the configuration store. Before you enable SSL on your server, you need to generate certificates and get them signed by a trusted certificate authority (CA). For your convenience, the server is capable of generating self-signed certificates that can be used during development or staging. However, it is critical that you get CA-signed certificates when standing up a production server. In order to get a certificate signed by a CA, you need to generate a CSR (certificate signing request) and then submit it to your CA. The CA will sign your certificate request which can then be imported into the server by using the import CA signed certificate operation.
-
start
()¶ Starts the server machine
-
status
¶ returns the state
-
stop
()¶ Stops the server machine
-
unregister
()¶ This operation causes the server machine to be deleted from the Site. The server machine will no longer participate in the site or run any of the GIS services. All resources that were acquired by the server machine (memory, files, and so forth) will be released. Typically, you should only invoke this operation if the machine is going to be shut down for extended periods of time or if it is being upgraded. Once a machine has been unregistered, you can create a new site or join an existing site.
-
Report¶
-
class
arcgis.gis.server.
Report
(report)¶ Bases:
object
A Single Usage Report returned by ArcGIS Server (This class should not be created by a user) Parameter: :param report: internal Report object
-
delete
()¶ deletes the current report
-
edit
(report)¶ Edits the usage report. To edit a usage report, you need to submit the complete JSON representation of the usage report which includes updates to the usage report properties. The name of the report cannot be changed when editing the usage report.
Values are changed in the class, to edit a property like metrics, pass in a new value. Changed values to not take until the edit() is called.
-
properties
¶ returns the Report Properties
-
query
(query_filter=None)¶ Retrieves server usage data for the report. This operation aggregates and filters server usage statistics for the entire ArcGIS Server site. The report data is aggregated in a time slice, which is obtained by dividing up the time duration by the default (or specified) aggregationInterval parameter in the report. Each time slice is represented by a timestamp, which represents the ending period of that time slice. In the JSON response, the queried data is returned for each metric- resource URI combination in a query. In the report-data section, the queried data is represented as an array of numerical values. A response of null indicates that data is not available or requests were not logged for that metric in the corresponding time-slice.
- Parameters:
- query_filter - The report data can be filtered by the machine
where the data is generated. The filter accepts a comma separated list of machine names; * represents all machines.
- Examples:
- # filters for the specified machines {“machines”: [“WIN-85VQ4T2LR5N”, “WIN-239486728937”]} # no filtering; all machines are accepted {“machines”: “*”}
-
Datastore¶
-
class
arcgis.gis.server.
Datastore
(datastore)¶ Bases:
object
Represents a Single Datastore in DataStoreManager
Parameter: :param datastore: reprsents a single instance of datastore
-
datasets
¶ Returns the datasets in the data store (currently implemented for big data file shares.)
-
delete
()¶ Unregisters this data item from the data store
-
hints
¶ This returns the hints resource for a big data file share. Hints are advanced parameters to control the generation of Manifest.
-
manifest
¶ The manifest resource for bigdata fileshares,
-
properties
¶ returns the machine’s properties
-
ref_count
¶ The total number of references to this data item that exist on the server. You can use this property to determine if this data item can be safely deleted (or taken down for maintenance).
-
update
(item)¶ Edits this data item to update its connection information.
- Input
- item - the dict representation of the updated item
- Output:
- True if successful
-
validate
()¶ Validates that this data item’s path (for file shares) or connection string (for databases) is accessible to every server node in the site
- Output:
- True if successful
-
User¶
-
class
arcgis.gis.server.
User
(security, user_dict)¶ Bases:
dict
Individual User Account
-
add_role
(role_name)¶ You must use this operation to assign roles to a user account when working with an user and role store that supports reads and writes. By assigning a role to a user, the user account automatically inherits all the permissions that have been assigned to the role.
- Parameter:
role: role name to assign to current user
-
delete
()¶ deletes the current user account
-
update
(password=None, full_name=None, description=None, email=None)¶ Updates a user account in the user store
- Parameters:
- username - the name of the user. The name must be unique in
- the user store.
password - the password for this user. fullname - an optional full name for the user. description - an optional field to add comments or description
for the user account.email - an optional email for the user account.
-
Role¶
-
class
arcgis.gis.server.
Role
(security, roledict)¶ Bases:
dict
represents a single role on server
-
delete
()¶ deletes the current role
-
set_privileges
(privilage)¶ Administrative access to ArcGIS Server is modeled as three broad tiers of privileges:
- ADMINISTER-A role that possesses this privilege has unrestricted
- administrative access to ArcGIS Server.
- PUBLISH-A role with PUBLISH privilege can only publish GIS
- services to ArcGIS Server.
- ACCESS-No administrative access. A role with this privilege can
- only be granted permission to access one or more GIS services.
By assigning these privileges to one or more roles in the role store, ArcGIS Server’s security model supports role-based access control to its administrative functionality. These privilege assignments are stored independent of ArcGIS Server’s role store. As a result, you don’t need to update your enterprise identity stores (like Active Directory).
-
update
(description=None)¶ Updates a role in the role store with new information. This operation is available only when the role store is a read-write store such as the default ArcGIS Server store.
- Parameters:
description: An optional field to add comments or a description for the role - Output:
- status dictionary
-
ServerManager¶
-
class
arcgis.gis.server.
ServerManager
(gis)¶ Bases:
object
ServerManager is a set of tools to work with your WebGIS that allows administrators to federate, unfederate and manage ArcGIS Servers.
- Parameters:
param gis: on-premise GIS object
-
federate
(url, admin_url, username, password)¶ This operation enables ArcGIS Servers to be federated with Portal for ArcGIS. Parameters:
url: The URL of the GIS server used by external users when accessing the ArcGIS Server site. If the site includes the Web Adaptor, the URL includes the Web Adaptor address, for example, https://webadaptor.domain.com/arcgis. If you’ve added ArcGIS Server to your organization’s reverse proxy server, the URL is the reverse proxy server address (for example, https://reverseproxy.domain.com/myorg). Note that the federation operation will perform a validation check to determine if the provided URL is accessible from the server site. If the resulting validation check fails, a warning will be generated in the Portal for ArcGIS logs. However, federation will not fail if the URL is not validated, as the URL may not be accessible from the server site, such as is the case when the server site is behind a firewall. admin_url: The URL used for accessing ArcGIS Server when performing administrative operations on the internal network, for example, https://gisserver.domain.com:6443/arcgis. username: The username of the primary site administrator account password: password of the username above. - Output:
- server response with server ID
-
get
(role=None, function=None)¶ returns a server(s) by role or function.
Parameters: :param role: Whether the server is a hosting server for the portal, a federated server, or a server with restricted access to publishing. The allowed values are FEDERATED_SERVER, FEDERATED_SERVER_WITH_RESTRICTED_PUBLISHING, or HOSTING_SERVER. :param function: Server function associates a specific function with the server. It takes in a comma separated list of values. The allowed values are GeoAnalytics,RasterAnalytics, and ImageHosting.
-
list
()¶ gets all servers in a GIS
-
unfederate
(server_id)¶ This operation unfederates an ArcGIS Server from Portal for ArcGIS.
- Parameters:
server_id: unique ID of the server
-
update
(server, role, function=None)¶ This operation allows you to set an ArcGIS Server federated with Portal for ArcGIS as the hosting server or to enforce fine-grained access control to a federated server. You can also remove hosting server status from an ArcGIS Server. You can also remove hosting server status from an ArcGIS Server. To set a hosting server, an enterprise geodatabase must be registered as a managed database with the ArcGIS Server.
- Parameters:
param server: arcgis.gis.Server object
param role: Whether the server is a hosting server for the portal, a federated server, or a server with restricted access to publishing. The allowed values are:
FEDERATED_SERVER, FEDERATED_SERVER_WITH_RESTRICTED_PUBLISHING, or HOSTING_SERVER.
param function: Function associates a specific function with the
server. It takes in a comma separated list of values. The allowed values are GeoAnalytics,RasterAnalytics, and ImageHosting. Values can be comma separated but it is not recommend that a single server have all the server functions
-
validate
()¶ This operation returns information on the status of ArcGIS Servers registered with Portal for ArcGIS.
Output: Boolean. If false, there is an issue with 1 or more of the Federated Servers. True means all servers are functioning as expected.
ServiceManager¶
-
class
arcgis.gis.server.
ServiceManager
(server)¶ Bases:
object
Helper class for managing services. This class is not created by users directly. An instance of this class, called ‘services’, is available as a property of the Server object. Users call methods on this ‘services’ object to managing services.
-
create_folder
(folder, description=”)¶ Creates a unique folder Parameters:
:param folder_name - name of folder :param description - describes the folder- Output:
- result as dictionary
-
create_service
(service)¶ Creates a new GIS service in the folder. A service is created by submitting a JSON representation of the service to this operation.
The JSON representation of a service contains the following four sections:
- Service Description Properties-Common properties that are shared
by all service types. Typically, they identify a specific service.- Service Framework Properties-Properties targeted towards the
framework that hosts the GIS service. They define the life cycle and load balancing of the service.- Service Type Properties -Properties targeted towards the core
service type as seen by the server administrator. Since these properties are associated with a server object, they vary across the service types. The Service Types section in the Help describes the supported properties for each service.- Extension Properties-Represent the extensions that are enabled
on the service. The Extension Types section in the Help describes the supported out-of-the-box extensions for each service type.Output: dictionary status message
-
delete_folder
(folder)¶ Deletes a folder Parameters:
:param folder - name of folder to remove- Output:
- boolean
-
exists
(folder_name, name=None, service_type=None)¶ This operation allows you to check whether a folder or a service exists. To test if a folder exists, supply only a folder_name. To test if a service exists in a root folder, supply both serviceName and service_type with folder_name=None. To test if a service exists in a folder, supply all three parameters.
Parameters: :param folder_name - a folder name :param name - a service name :param service_type - a service type. Allowed values: GeometryServer | ImageServer | MapServer | GeocodeServer | GeoDataServer | GPServer | GlobeServer | SearchServer
-
folders
¶ returns a list of all folders
-
list
(folder=’/’)¶ returns a list of services in the specified folder
Parameters: :param folder: name of the folder to list services from
-
publish_sd
(sd_file_path, folder=None)¶ Publishes a service definition file to the server :param sd_file_path: service defition file :param folder: optional folder name :return: True if published, False otherwise
-
MachineManager¶
-
class
arcgis.gis.server.
MachineManager
(server, **kwargs)¶ Bases:
object
This resource represents a collection of all the server machines that have been registered with the site. It other words, it represents the total computing power of your site. A site will continue to run as long as there is one server machine online. For a server machine to start hosting GIS services, it must be grouped (or clustered). When you create a new site, a cluster called ‘default’ is created for you. The list of server machines in your site can be dynamic. You can register additional server machines when you need to increase the computing power of your site or unregister them if you no longer need them.
Parameters: :param server: server administration object
-
get
(name)¶ gets a single instance of a machine
Parameters: :param name: name of the machine
-
list
()¶ returns the list of machines in the GIS
-
properties
¶ returns the machine’s properties
-
register
(name, admin_url)¶ For a server machine to participate in a site, it needs to be registered with the site. The server machine must have ArcGIS Server software installed and authorized. Registering machines this way is a “pull” approach to growing the site and is a convenient way when a large number of machines need to be added to a site. In contrast, a server machine can choose to join a site. Parameters:
param name: - name of the server machine
param admin_url: - URL wher ethe Administrator API is running on the
server machine. Example: http://<machineName>:6080/arcgis/admin
- Output:
- JSON message as dictionary
-
rename
(name, new_name)¶ You must use this operation if one of the registered machines has undergone a name change. This operation updates any references to the former machine configuration. By default, when the server is restarted, it is capable of identifying a name change and repairing itself and all its references. This operation is a manual call to handle the machine name change. Parameters:
param name: - The former name of the server machine that is
registered with the site.
param new_name: - The new name of the server machine.
- Output:
- JSON messages as dictionary
-
LogManager¶
-
class
arcgis.gis.server.
LogManager
(server)¶ Bases:
object
Log Mangement of a server
This resource is accessed through by administrators to check on error messages.
- Parameters:
param server: server object
-
clean
()¶ Deletes all the log files on all server machines in the site.
-
count_error_reports
(machine=’*’)¶ This operation counts the number of error reports (crash reports) that have been generated on each machine. Parameters:
param machine: - name of the machine in the cluster. * means all
machines. This is default
- Output:
- dictionary with report count and machine name
-
edit
(level=’WARNING’, log_dir=None, max_age=90, max_report_count=10)¶ The log settings are for the entire site. Parameters:
param level: - Can be one of [OFF, SEVERE, WARNING, INFO, FINE,
VERBOSE, DEBUG].
param log_dir: - File path to the root of the log directory
param max_age: - number of days that a server should save a log
file.
param ax_report_count: - maximum number of error report files
per machine
-
properties
¶ returns the properties for the Logs
-
query
(start_time=None, end_time=None, since_server_start=False, level=’WARNING’, services=’*’, machines=’*’, server=’*’, codes=None, process_IDs=None, export=False, export_type=’CSV’, out_path=None)¶ The query operation on the logs resource provides a way to aggregate, filter, and page through logs across the entire site. Parameters:
-
settings
¶ returns the current log settings
ReportManager¶
-
class
arcgis.gis.server.
ReportManager
(server)¶ Bases:
object
Manages and modifies the usage reports for ArcGIS Server
Parameter: :param server: Server object
-
create
(reportname, queries, metadata=None, since=’LAST_DAY’, from_value=None, to_value=None, aggregation_interval=None)¶ Creates a new usage report. A usage report is created by submitting a JSON representation of the usage report to this operation.
- Parameters:
reportname - the unique name of the report since - the time duration of the report. The supported values
are: LAST_DAY, LAST_WEEK, LAST_MONTH, LAST_YEAR, CUSTOM LAST_DAY represents a time range spanning the previous 24
hours.- LAST_WEEK represents a time range spanning the previous 7
- days.
- LAST_MONTH represents a time range spanning the previous 30
- days.
- LAST_YEAR represents a time range spanning the previous 365
- days.
- CUSTOM represents a time range that is specified using the
- from and to parameters.
- from_value - optional value - The timestamp (milliseconds since
- UNIX epoch, namely January 1, 1970, 00:00:00 GMT) for the beginning period of the report. Only valid when since is CUSTOM
- to_value - optional value - The timestamp (milliseconds since
- UNIX epoch, namely January 1, 1970, 00:00:00 GMT) for the ending period of the report.Only valid when since is CUSTOM.
- aggregation_interval - Optional. Aggregation interval in minutes.
Server metrics are aggregated and returned for time slices aggregated using the specified aggregation interval. The time range for the report, specified using the since parameter (and from and to when since is CUSTOM) is split into multiple slices, each covering an aggregation interval. Server metrics are then aggregated for each time slice and returned as data points in the report data. When the aggregation_interval is not specified, the following defaults are used:
LAST_DAY: 30 minutes LAST_WEEK: 4 hours LAST_MONTH: 24 hours LAST_YEAR: 1 week CUSTOM: 30 minutes up to 1 day, 4 hours up to 1 week, 1 day up to 30 days, and 1 week for longer periods.If the interval specified in Usage Reports Settings is more than the aggregationInterval, the interval is used instead.
- queries - A list of queries for which to generate the report.
You need to specify the list as an array of JSON objects representing the queries. Each query specifies the list of metrics to be queries for a given set of resourceURIs. The queries parameter has the following sub-parameters:
resourceURIs - Comma separated list of resource URIs for which to report metrics. Specifies services or folders for which to gather metrics.
- The resourceURI is formatted as below:
services/ - Entire Site services/Folder/ - Folder within a Site. Reports
metrics aggregated across all services within that Folder and Sub-Folders.- services/Folder/ServiceName.ServiceType - Service in
- a specified folder, for example: services/Map_bv_999.MapServer.
- services/ServiceName.ServiceType - Service in the
- root folder, for example: Map_bv_999.MapServer.
- metrics - Comma separated list of metrics to be reported.
- Supported metrics are:
RequestCount - the number of requests received RequestsFailed - the number of requests that failed RequestsTimedOut - the number of requests that timed out RequestMaxResponseTime - the maximum response time RequestAvgResponseTime - the average response time ServiceActiveInstances - the maximum number of active
(running) service instances sampled at 1 minute intervals, for a specified service
- metadata - Can be any JSON Object. Typically used for storing
- presentation tier data for the usage report, such as report title, colors, line-styles, etc. Also used to denote visibility in ArcGIS Server Manager for reports created with the Administrator Directory. To make any report created in the Administrator Directory visible to Manager, include “managerReport”:true in the metadata JSON object. When this value is not set (default), reports are not visible in Manager. This behavior can be extended to any client that wants to interact with the Administrator Directory. Any user-created value will need to be processed by the client.
Example: >>> queryObj = [{
“resourceURIs”: [“services/Map_bv_999.MapServer”], “metrics”: [“RequestCount”]}] >>> obj.createReport(
reportname=”SampleReport”, queries=queryObj, metadata=”This could be any String or JSON Object.”, since=”LAST_DAY”)
-
edit
(interval, enabled=True, max_history=0)¶ The usage reports settings are applied to the entire site. A POST request updates the usage reports settings.
- Parameters:
- interval - Defines the duration (in minutes) for which
- the usage statistics are aggregated or sampled, in-memory, before being written out to the statistics database.
- enabled - default True - Can be true or false. When usage
- reports are enabled, service usage statistics are collected and persisted to a statistics database. When usage reports are disabled, the statistics are not collected.
- max_history - default 0 - Represents the number of days after
- which usage statistics are deleted after the statistics database. If the max_history parameter is set to 0, the statistics are persisted forever.
-
list
()¶ returns a list of reports on the server
-
properties
¶ returns the report manager’s properties
-
quick_report
(since=’LAST_WEEK’, queries=’services/’, metrics=’RequestsFailed’)¶ The operation quick_report generates an on the fly usage report for a service, services, or folder.
Parameters: - since - the time duration of the report. The supported values
are: LAST_DAY, LAST_WEEK, LAST_MONTH, LAST_YEAR, CUSTOM LAST_DAY represents a time range spanning the previous 24
hours.
- LAST_WEEK represents a time range spanning the previous 7
days.
- LAST_MONTH represents a time range spanning the previous 30
days.
- LAST_YEAR represents a time range spanning the previous 365
days.
- CUSTOM represents a time range that is specified using the
from and to parameters.
- queries - A list of queries for which to generate the report.
You need to specify the list as an array of JSON objects representing the queries. Each query specifies the list of metrics to be queries for a given set of resourceURIs. The queries parameter has the following sub-parameters:
resourceURIs - Comma separated list of resource URIs for which to report metrics. Specifies services or folders for which to gather metrics.
- The resourceURI is formatted as below:
services/ - Entire Site services/Folder/ - Folder within a Site. Reports
metrics aggregated across all services within that Folder and Sub-Folders.
- services/Folder/ServiceName.ServiceType - Service in
a specified folder, for example: services/Map_bv_999.MapServer.
- services/ServiceName.ServiceType - Service in the
root folder, for example: Map_bv_999.MapServer.
- metrics - Comma separated list of metrics to be reported.
- Supported metrics are:
RequestCount - the number of requests received RequestsFailed - the number of requests that failed RequestsTimedOut - the number of requests that timed out RequestMaxResponseTime - the maximum response time RequestAvgResponseTime - the average response time ServiceActiveInstances - the maximum number of active (running) service instances sampled at 1 minute intervals, for a specified service
Output: Python dictionary of data on a successful query.
-
settings
¶ The usage reports settings are applied to the entire site. A GET request returns the current usage reports settings. When usage reports are enabled, service usage statistics are collected and persisted to a statistics database. When usage reports are disabled, the statistics are not collected. The interval parameter defines the duration (in minutes) during which the usage statistics are sampled or aggregated (in-memory) before being written out to the statistics database. Database entries are deleted after the interval specified in the max_history parameter ( in days), unless the max_history parameter is 0, for which the statistics are persisted forever.
-
DataStoreManager¶
-
class
arcgis.gis.server.
DataStoreManager
(server)¶ Bases:
object
This resource provides information about the data holdings of the server. Data items are used by ArcGIS for Desktop and other clients to validate data paths referenced by GIS services.
You can register new data items with the server by using the Register Data Item operation. Use the Find Data Items operation to search through the hierarchy of data items.
A relational data store type represents a database platform that has been registered for use on a portal’s hosting server by the ArcGIS Server administrator. Each relational data store type describes the properties ArcGIS Server requires in order to connect to an instance of a database for a particular platform. At least one registered relational data store type is required before client applications such as Insights for ArcGIS can create Relational Database Connection portal items.
The Compute Ref Count operation counts and lists all references to a specific data item. This operation helps you determine if a particular data item can be safely deleted or refreshed.
Parameters: :param server: Server object
-
add
(name, item)¶ Registers a new data item with the data store. Input
item - The disct representing the data item. See http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r3000001s9000000- Output:
- True if the data item is registered successfully, False otherwise
-
add_bigdata
(name, server_path=None)¶ Registers a bigdata fileshare with the data store. Input
name - unique bigdata fileshare name on the server server_path - the path to the folder from the server- Output:
- the data item if registered successfully, None otherwise
-
add_database
(name, conn_str, client_conn_str=None, conn_type=’shared’)¶ Registers a database with the data store. Input
name - unique database name on the server conn_str - the path to the folder from the server (and client, if shared or serverOnly database) client_conn_str: connection string for client to connect to replicated enterprise database> conn_type - “<shared|replicated|serverOnly>”- Output:
- the data item is registered successfully, None otherwise
-
add_folder
(name, server_path, client_path=None)¶ Registers a folder with the data store. Input
name - unique fileshare name on the server server_path - the path to the folder from the server (and client, if shared path) client_path - if folder is replicated, the path to the folder from the client if folder is shared, don’t set this parameter- Output:
- the data item is registered successfully, None otherwise
-
config
¶ The data store configuration properties affect the behavior of the data holdings of the server. The properties include: blockDataCopy - When this property is false, or not set at all, copying data to the site when publishing services from a client application is allowed. This is the default behavior. When this property is true, the client application is not allowed to copy data to the site when publishing. Rather, the publisher is required to register data items through which the service being published can reference data. Values: true | false
-
get
(path)¶ Returns the data item object at the given path
Parameters: :param path: required string, the data item path Output: None if the data item is not found at that path and the data item object if its found
-
get_relational_datastore_type
(type_id)¶ This resource lists the properties of a registered relational data store type. The properties returned are those that client applications must provide when creating a Relational Database Connection portal item.
- Parameters:
type_id: datastore type id
-
get_total_refcount
(path)¶ Computes the total number of references to a given data item that exist on the server. You can use this operation to determine if a data resource can be safely deleted (or taken down for maintenance). Parameters:
path - The complete hierarchical path to the item- Output:
- JSON message as dictionary
-
items
¶ This resource lists data items that are the root of all other data items in the data store.
-
list
()¶ returns a list of datastore objects
-
make_datastore_machine_primary
(item_name, machine_name)¶ Promotes a standby machine to the primary Data Store machine. The existing primary machine is downgraded to a standby machine.
- Parameters:
item_name: name of the data store item machine_name: name of the machine to promote to primary
-
make_primary
(datastore_name, machine_name)¶ Promotes a standby machine to the primary Data Store machine. The existing primary machine is downgraded to a standby machine.
-
properties
¶ returns the machine’s properties
-
relational_datastore_types
¶ This resource lists the relational data store types that have been registered with the server. Each registered relational data store type has both an id and a name property, as well as an array of userDefinedProperties, which indicates the properties client applications must provide when creating a Relational Database Connection portal item. Only administrators can register and unregister a relational data store type. The following database platforms are supported: SAP HANA, Microsoft SQL Server and Teradata.
-
remove_datastore
(item_name, machine_name)¶ Removes a standby machine from the Data Store. This operation is not supported on the primary Data Store machine.
- Parameters:
- item_name - name of the data store item machine_name - name of the machine to remove
-
search
(parent_path=None, ancestor_path=None, types=None, id=None)¶ You can use this operation to search through the various data items registered in the server’s data store. Parameters:
parent_path - The path of the parent under which to find items ancestor_path - The path of the ancestor under which to find
items.types - A filter for the type of the items id - A filter to search by the ID of the item
- Output:
- dictionary
-
start
(item_name, machine_name)¶ Starts the database instance running on the Data Store machine.
- Parameters:
- item_name - name of the item to start machine_name - name of the machine to start on
-
stop
(item_name, machine_name)¶ Stop the database instance running on the Data Store machine.
- Parameters:
- item_name - name of the item to stop machine_name - name of the machine to stop on
-
validate
()¶ validates all the items in the datastore
-
validate_egdb
(data_store_name, name)¶ Checks the status of ArcGIS Data Store and provides a health check response.
- Parameters:
- data_store_namee - name of the datastore name - name of the machine
-
UserManager¶
-
class
arcgis.gis.server.
UserManager
(server)¶ Bases:
object
This resource represents all users available in the user store that can administer ArcGIS Server and access the GIS services hosted on the server. In short, it represents the complete user space. As the user space could be potentially large, there isn’t any listing of users, but you can use Get Users or Search operations to access their account information. ArcGIS Server is capable of connecting to your enterprise identity stores such as Active Directory or other directory services exposed through the LDAP protocol. Such identity stores are treated as read only, and ArcGIS Server does not attempt to update them. As a result, operations that need to update the identity store (such as adding users, removing users, updating users, assigning roles and removing assigned roles) are not supported when identity stores are read only. On the other hand, you could configure your ArcGIS Server to use the default identity store (shipped with the server) which is treated as a read-write store. The total numbers of users are returned in the response.
- Note:
- Typically, this resource must be accessed over an HTTPS connection.
-
create
(username, password, firstname, lastname, email=None, description=None)¶ - Add a user account to the user store
- Parameters:
- username - The name of the user. The name must be unique in
- the user store.
password - The password for this user fullname - an optional full name for the user description - an option field to add comments or description
for the user accountemail - an optional email for the user account
- Output:
- User Object
-
get
(username)¶ - finds a users
- Parameters:
username: name of the user to find - Ouput:
- User object
-
me
¶ Gets the user object as the current logged in user. If the username cannot be found, for example, the site administrator account, then just the username is returned.
-
roles
¶ Helper object to manage custom roles for users
-
search
(username, max_results=25)¶ You can use this operation to search a specific user or a group of users from the user store. The size of the search result can be controlled with the max_results parameter.
- Parameters:
username: user or users to find max_results: integer value of the maximum number of users to return
- Output:
- list of User objects
RoleManager¶
-
class
arcgis.gis.server.
RoleManager
(security)¶ Bases:
object
This resource represents all roles available in the role store. The ArcGIS Server security model supports a role-based access control in which each role can be assigned certain permissions (privileges) to access one or more resources. Users are assigned to these roles. The server then authorizes each requesting user based on all the roles assigned to the user. As the role space could be potentially large, you can use the paged Get Roles operation to iterate through the list of roles, or you can use the Search Roles operation to search for a specific role. ArcGIS Server is capable of connecting to your enterprise identity stores such as Active Directory or other directory services exposed via the LDAP protocol. Such identity stores are treated as read-only stores and ArcGIS Server does not attempt to update them. As a result, operations that need to update the role store (such as adding roles, removing roles, updating roles) are not supported when the role store is read-only. On the other hand, you can configure your ArcGIS Server to use the default role store shipped with the server, which is treated as a read-write store.
-
all
(start_index=0, max_roles=255)¶ Returns list of all roles in the Server :param max_roles: the maximum number of roles to be returned :return: list of all roles in the server
-
create
(name, description)¶ Creates and returns a custom role with the specified parameters
- Parameters:
name: name of the role (must be unique) description: optional descriptive field as string - Output:
- JSON dictionary
-
get_role
(role_id, max_roles=10)¶ Returns the role with the specified role id. Returns list of all roles in the Server if a role_id is not specified :role_id: the role id of the role to get. Leave None to get all roles :max_roles: the total number of roles to limit search to :return: list of roles
-
SystemManager¶
-
class
arcgis.gis.server.
SystemManager
(server)¶ Bases:
object
The System resource is a collection of miscellaneous server-wide resources such as server properties, server directories, the configuration store, Web Adaptors, and licenses.
-
clear_cache
()¶ This resource currently supports a single operation to clear the REST cache.
-
configuration_store
¶ provides access to the configuration store settings
-
directories
¶ Provides access to the server’s directories
-
jobs
¶ This resource is a collection of all the administrative jobs (asynchronous operations) created within your site. When operations that support asynchronous execution are run, the server creates a new job entry that can be queried for its current status and messages.
- Note: These administrative jobs are not the same as geoprocessing
- jobs.
-
licenses
¶ The licenses resource lists the current license level of ArcGIS Server and all authorized extensions. Contact Esri Customer Service if you have questions about license levels or expiration properties.
-
server_properties
¶ The Server has configuration parameters that can be govern some of its intricate behavior. The Server Properties resource is a container for such properties. These properties are available to all server objects and extensions through the server environment interface. The properties include:
- CacheSizeForSecureTileRequests - An integer that specifies the
- number of users whose token information will be cached. This increases the speed of tile retrieval for cached services. If not specified, the default cache size is 200,000. Both REST and SOAP services honor this property. You’ll need to manually restart ArcGIS Server in order for this change to take effect.
- DisableAdminDirectoryCache - Disables browser caching of the
- Administrator Directory pages. The default is false. To disable browser caching, set this property to true.
- disableIPLogging - When a possible cross-site request forgery
- (CSRF) attack is detected, the server logs a message containing the possible IP address of the attacker. If you do not want IP addresses listed in the logs, set this property to true. Also, HTTP request referrers are logged at FINE level by the REST and SOAP handlers unless this property is set to true.
- javaExtsBeginPort - Specifies a start port of the port range used
- for debugging Java server object extensions. Example: 8000
- javaExtsEndPort - Specifies an end port of the port range used for
- debugging Java server object extensions. Example: 8010
- localTempFolder - Defines the local folder on a machine that can
be used by GIS services and objects. If this property is not explicitly set, the services and objects will revert to using the system’s default temporary directory.
Note: If this property is used, you must create the temporary directory on every server machine in the site. Example: /tmp/arcgis.
- messageFormat - Defines the transmission protocol supported by
the services catalog in the server. Values: esriServiceCatalogMessageFormatBin,
esriServiceCatalogMessageFormatSoap, esriServiceCatalogMessageFormatSoapOrBin- messageVersion - Defines the version supported by the services
- catalog in the server. Example: esriArcGISVersion101
- PushIdentityToDatabase - Propogates the credentials of the logged
- -in user to make connections to an Oracle database. This property is only supported for use with Oracle databases. Values: true | false
- suspendDuration - Specifies the duration for which the ArcGIS
- service hosting processes should suspend at startup. This duration is specified in milliseconds. This is an optional property that takes effect when suspendServiceAtStartup is set to true. If unspecified and suspension of service at startup is requested, then the default suspend duration is 30 seconds. Example: 10000 (meaning 10 seconds)
- suspendServiceAtStartup - Suspends the ArcGIS service hosting
- processes at startup. This will enable attaching to those processes and debugging code that runs early in the lifecycle of server extensions soon after they are instantiated. Values: true | false
- uploadFileExtensionWhitelist - This specifies what files are
- allowed to be uploaded through the file upload API by identifying the allowable extensions. It is a list of comma separated extensions without dots. If this property is not specified a default list is used. This is the default list: soe, sd, sde, odc, csv, txt, zshp, kmz, and geodatabase.
Note: Updating this list overrides the default list completely. This means if you set this property to a subset of the default list then only those items in the subset will be accepted for upload. Example: sd, so, sde, odc.
- uploadItemInfoFileExtensionWhitelist - This specifies what files
- are allowed to be uploaded through the service iteminfo upload API by identifying the allowable extensions. It should be a list of comma separated extensions without dots. If this property is not specified a default list is used. This is the default list: xml, img, png, gif, jpg, jpeg, bmp.
Note: This list overrides the default list completely. This means if you set this property to a subset of the default list then only those items in the subset will be accepted for upload. Example: png, svg, gif, jpg, tiff, bmp.
- WebContextURL - Defines the web front end as seen by your users.
- Example: http://mycompany.com/gis
-
SiteManager¶
-
class
arcgis.gis.server.
SiteManager
(server, initialize=False)¶ Bases:
object
A site is a collection of server resources. This collection includes server machines that are installed with ArcGIS Server, including GIS services, data and so on. The site resource also lists the current version of the software. When you install ArcGIS Server on a server machine for the first time, you must create a new site. Subsequently, newer server machines can join your site and increase its computing power. Once a site is no longer required, you can delete the site, which will cause all of the resources to be cleaned up.
- Parameters:
server: arcgis.gis.server object
-
create
(username, password, config_store_connection, directories, cluster=None, logs_settings=None, run_async=False)¶ This is the first operation that you must invoke when you install ArcGIS Server for the first time. Creating a new site involves:
-Allocating a store to save the site configuration -Configuring the server machine and registering it with the site -Creating a new cluster configuration that includes the server
machine-Configuring server directories -Deploying the services that are marked to auto-deploy
Because of the sheer number of tasks, it usually takes a little while for this operation to complete. Once a site has been created, you can publish GIS services and deploy them to your server machines.
- Parameters:
- username - The name of the administrative account to be used by
- the site. This can be changed at a later stage.
password - The credentials of the administrative account. configStoreConnection - A JSON object representing the
connection to the configuration store. By default, the configuration store will be maintained in the ArcGIS Server installation directory.- directories - A JSON object representing a collection of server
- directories to create. By default, the server directories will be created locally.
- cluster - An optional cluster configuration. By default, the
- site will create a cluster called ‘default’ with the first available port numbers starting from 4004.
logsSettings - Optional log settings. runAsync - A flag to indicate if the operation needs to be run
asynchronously. Values: true | false
-
delete
()¶ Deletes the site configuration and releases all server resources. This is an unrecoverable operation. This operation is well suited for development or test servers that need to be cleaned up regularly. It can also be performed prior to uninstall. Use caution with this option because it deletes all services, settings, and other configurations. This operation performs the following tasks:
- Stops all server machines participating in the site. This in turn stops all GIS services hosted on the server machines.
- All services and cluster configurations are deleted.
- All server machines are unregistered from the site.
- All server machines are unregistered from the site.
- The configuration store is deleted.
-
export
(location=None)¶ Exports the site configuration to a location you specify as input to this operation.
- Parameters:
- location - A path to a folder accessible to the server where the
- exported site configuration will be written. If a location is not specified, the server writes the exported site configuration file to directory owned by the server and returns a virtual path (an HTTP URL) to that location from where it can be downloaded.
-
import_site
(location)¶ This operation imports a site configuration into the currently running site. Importing a site means replacing all site configurations (including GIS services, security configurations, and so on) of the currently running site with those contained in the site configuration file you supply as input. The input site configuration file can be obtained through the exportSite operation. This operation will restore all information included in the backup, as noted in exportSite. When it is complete, this operation returns a report as the response. You should review this report and fix any problems it lists to ensure your site is fully functioning again. The importSite operation lets you restore your site from a backup that you created using the exportSite operation.
- Parameters:
- location - A file path to an exported configuration or an ID
- referencing the stored configuration on the server.
-
join
(admin_url, username, password)¶ The Join Site operation is used to connect a server machine to an existing site. This is considered a ‘push’ mechanism, in which a server machine pushes its configuration to the site. For the operation to be successful, you need to provide an account with administrative privileges to the site. When an attempt is made to join a site, the site validates the administrative credentials, then returns connection information about its configuration store back to the server machine. The server machine then uses the connection information to work with the configuration store. If this is the first server machine in your site, use the Create Site operation instead.
- Parameters:
- admin_url - The site URL of the currently live site. This is
- typically the Administrator Directory URL of one of the server machines of a site.
username - The name of an administrative account for the site. password - The password of the administrative account.
-
properties
¶ returns the site
-
public_key
¶ gets the public key
-
upgrade
(run_async=False)¶ This is the first operation that must be invoked during an ArcGIS Server upgrade. Once the new software version has been installed and the setup has completed, this operation will be available. A successful run of this operation will complete the upgrade of ArcGIS Server.
caution If errors are returned with the upgrade operation, you must address the errors before you may continue. For example, if you encounter an error about an invalid license, you will need to re-authorize the software using a valid license and you may then retry this operation.
note This operation is available only when a server machine is currently being upgraded. It will not be available after a successful upgrade of a server machine.
- Paramters:
run_async: A flag to indicate if the operation needs to be run asynchronously. The default value is false.
DirectoryManager¶
-
class
arcgis.gis.server.
DirectoryManager
(system)¶ Bases:
object
A collection of all the server directories is listed under this resource. You can add a new directory using the Register Directory operation. You can then configure GIS services to use one or more of these directories. If you no longer need the server directory, you must remove the directory by using the Unregister Directory operation.
-
add
(name, physicalPath, directoryType, maxFileAge, cleanupMode=’NONE’, description=None)¶ Registers a new server directory. While registering the server directory, you can also specify the directory’s cleanup parameters
- Parameters:
name: The name of the server directory. physicalPath: The absolute physical path of the server directory. directoryType: The type of server directory. cleanupMode: Defines if files in the server directory needs to be cleaned up. maxFileAge: Defines how long a file in the directory needs to be kept before it is deleted. description: An optional description for the server directory.
-
directories
¶ Server directories are used by GIS services as a location to output items such as map images, tile caches, and geoprocessing results. In addition, some directories contain configurations that power the GIS services.
-
edit_services_directory
(allowedOrigins, arcgis_com_map, arcgis_com_map_text, jsapi_arcgis, jsapi_arcgis_css, jsapi_arcgis_css2, jsapi_arcgis_sdk, serviceDirEnabled)¶ With this operation you can enable or disable the HTML view of ArcGIS REST API (also known as the Services Directory). You can also adjust the JavaScript and map viewer previews of services in the Services Directory so that they work with your own locally hosted JavaScript API and map viewer.
- Parameters:
allowedOrigins: Comma-separated list of URLs of domains allowed to make requests. * can be used to denote all domains. arcgis_com_map: URL of the map viewer application used for service previews. Defaults to the ArcGIS.com map viewer but could be used to point at your own Portal for ArcGIS map viewer. arcgis_com_map_text: jsapi_arcgis: The URL of the JavaScript API to use for service previews. Defaults to the online ArcGIS API for JavaScript, but could be pointed at your own locally-installed instance of the JavaScript API. jsapi_arcgis_css: CSS file associated with the ArcGIS API for JavaScript. Defaults to the online Dojo tundra.css. - :jsapi_arcgis_css2:Additional CSS file associated with the ArcGIS
- API for JavaScript. Defaults to the online esri.css.
jsapi_arcgis_sdk: URL of the ArcGIS API for JavaScript help. serviceDirEnabled: Flag to enable/disable the HTML view of the services directory.
-
get
(name)¶ Gets a single directory registered with ArcGIS Server
- Parameters:
name: name of the registered directory
-