About automation
Automation is the orchestration of tools, processes, and resources to function automatically and efficiently. It allows you to streamline your administrative workflow and ensure that it is error proof and can be replicated each time with identical or predictable results.
Depending on your requirements, the need for automation could fall into a wide range of circumstances, such as the following:
- Set up mirrors of a portal, one for development, another for production. Keep the content, groups, and users in sync.
- Add a list of members to a portal and assign a role to each of them.
- Publish the same set of content, users, groups, and so on, across a number of portals.
- List all items belonging to a particular user or group or matching a particular criterion such as name prefixes.
- List content that was published before a particular date. For instance, list all items created during the first quarter of last year, and create a table of their owner names and email addresses.
- Determine which web maps or scenes will break if you deleted a particular service.
- Create a new user account every time a new member joins your team. Similarly, delete old users and transfer the ownership of their content appropriately.
- Periodically update content at predetermined times.
- Inspect all web maps and scenes, and update those that have broken links.
- Monitor and analyze the usage metrics of your services and take appropriate action.
No matter your use case, automation can quickly enhance your productivity and operational efficiency. Esri provides two broad solutions to automate your ArcGIS Enterprise as described below.
Automation solutions from Esri
Chef cookbooks for ArcGIS
Chef is an open source information technology (IT) automation framework you can use to automate the creation and maintenance of IT infrastructure. Chef cookbooks are the scripting language of Chef. They provide a repeatable and flexible mechanism to deploy software and hardware.
Esri provides Chef cookbooks to automate ArcGIS Enterprise installation and configuration. You can use them to install ArcGIS Enterprise software components, including other ArcGIS Server sites, and configure them to work with each other. See ArcGIS Chef Cookbook for details. When you run an ArcGIS Cookbook, provide configuration information that meets your specific requirements.
ArcGIS Cookbooks can help you quickly recover your ArcGIS Enterprise deployment or set up another identical deployment.
Once you deploy ArcGIS Enterprise, you can continue automating your GIS workflows using ArcGIS Python API.
PowerShell DSC for ArcGIS
Esri offers tools to automate your ArcGIS Enterprise deployment using PowerShell Desired State Configuration (DSC). You can use the PowerShell DSC for ArcGIS module to automate the installation, uninstallation, and upgrade of an ArcGIS Enterprise deployment, as well as incremental software additions to a deployment already installed using the module.
PowerShell DSC for ArcGIS contains sample JSON files, to which you add your specific information and parameters before running in the PowerShell console. Learn more and get started at the PowerShell DSC for ArcGIS repository on GitHub.
ArcGIS Python API
Once your portal is set up to your specification, you can automate the population of your portal with users, groups, and items, as well as manage them on an on-going basis. Once set up, you can automate many tasks, such as those mentioned at the beginning of this topic. You can accomplish this using ArcGIS Python API. This API allows ArcGIS administrators, publishers, and users to leverage the Python environment to automate their workflows and perform repetitive tasks using scripts. To learn more about what you can do with this API, see Scripting with ArcGIS Python API.
Other automation solutions
Esri continues to support a number of other automation solutions available from previous versions.
Portal for ArcGIS command line utilities
A small set of command line utilities are included to help you perform common administrative tasks. The utilities must be run on the machine hosting the portal. They are ready to use and do not require any programming knowledge. See Portal for ArcGIS command line utilities for details.
Sample Python scripts
Portal for ArcGIS includes some sample Python scripts that expand on the capabilities provided through the command line utilities. Unlike the command line utilities, you can run these scripts from any machine that has been configured with the Python environment. The scripts have been written so you can run them easily with minimum knowledge of Python. These scripts can be executed as is, or you can also use them to learn how to interact with ArcGIS REST API, customize them, or even create your own. See Sample Python scripts for details.
PortalPy
PortalPy is an Esri Python module that helps you streamline the creation of complete administrative tasks. PortalPy provides a collection of high-level Python classes that hide the complexities of working directly against ArcGIS REST API. Using PortalPy requires some Python programming knowledge but provides the most productive environment for automating the administration of your portal. As with the Python sample scripts, you can access the source code to extend PortalPy if necessary. See Scripting administrative tasks with PortalPy for details.
ArcGIS REST API and Portal for ArcGIS
ArcGIS REST API includes resources and operations for administering Portal for ArcGIS. You can invoke every administrative task that the portal supports through this API. In fact, all administration tools provided with ArcGIS, including ArcGIS Desktop and the Portal for ArcGIS website, leverage this API.
ArcGIS REST API can be invoked from any language that can make a web service call, such as Python, Java, JavaScript, PowerShell, C#, Ruby, Scala, Perl, and others. Examples provided in this help use Python. You do not need any Esri software installed to run a script that uses ArcGIS REST API.
To learn more, see Scripting with ArcGIS REST API.