arcgis-repository cookbook #
arcgis-repository cookbook downloads ArcGIS software setup archives from remote to local repositories.
Supported ArcGIS versions #
- 10.9.1
- 11.0
- 11.1
- 11.2
- 11.3
- 11.4
Platforms #
- Windows 10
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- Ubuntu Server 20.04 LTS
- Ubuntu Server 22.04 LTS
- Ubuntu Server 24.04 LTS
- Red Hat Enterprise Linux Server 8
- Red Hat Enterprise Linux Server 9
- SUSE Linux Enterprise Server 15
- Oracle Linux 8
- Oracle Linux 9
- Rocky Linux 8
- Rocky Linux 9
- AlmaLinux 9
Dependencies #
The following cookbooks are required:
- s3_file
Attributes #
node['arcgis']['repository']['setups']
= Path to folder with the ArcGIS software setups. Default path is%USERPROFILE%\Documents
on Windows and/opt/arcgis
on Linux.node['arcgis']['repository']['archives']
= Local or network ArcGIS software repository path. The default path on Windows is%USERPROFILE%\\Software\\Esri
. On Linux, it is/opt/software/esri
.node['arcgis']['repository']['local_archives']
= Local ArcGIS software repository path. The default path on Windows is%USERPROFILE%\\Software\\Esri
. On Linux, it is/opt/software/esri
.node['arcgis']['repository']['shared']
= Iftrue
, a network share is created for the local repository path. Default value isfalse
.node['arcgis']['repository']['patches']
= Path to folder with hot fixes and patches for ArcGIS Enterprise software. The default path on Windows is%USERPROFILE%\Software\Esri\patches
. On Linux, it is/opt/software/esri/patches
.node['arcgis']['repository']['server']['url']
= Remote ArcGIS software repository URL. The default URL ishttps://devops.arcgis.com/arcgis
.node['arcgis']['repository']['server']['key']
= Remote ArcGIS software repository key.node['arcgis']['repository']['server']['s3bucket']
= Remote ArcGIS software repository S3 bucket name.node['arcgis']['repository']['server']['region']
= Remote ArcGIS software repository S3 bucket region id.node['arcgis']['repository']['server']['aws_access_key']
= AWS access key ID. IAM role credentials are used if access key is not specified.node['arcgis']['repository']['server']['aws_secret_access_key']
= AWS secret access key.node['arcgis']['repository']['files']
= File names mapped to SHA256 checksum and the remote path subfolder attributes. Default value isnil
.node['arcgis']['repository']['patch_notification']['url']
= ArcGIS patch notification file URL. The default URL ishttps://downloads.esri.com/patch_notification/patches.json
.node['arcgis']['repository']['patch_notification']['products']
= An array or ArcGIS product names used to filter downloaded patches. If the array is empty, patches are downloaded for all products. The default value is[]
.node['arcgis']['repository']['patch_notification']['versions']
= An array of ArcGIS versions used to filter downloaded patches. The default value is[node['arcgis']['version']]
.node['arcgis']['repository']['patch_notification']['subfolder']
= S3 bucket subfolder with patches. The default value isnil
.node['arcgis']['repository']['patch_notification']['patches']
= An array of file name patterns used to filter downloaded patches. The default value is[]
.node['arcgis']['repository']['aws_cli']['msi_url']
= AWS CLI MSI setup URL. The default URL ishttps://awscli.amazonaws.com/AWSCLIV2.msi
.node['arcgis']['repository']['aws_cli']['zip_url']
= AWS CLI ZIP setup URL. The default URL ishttps://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip
.node['arcgis']['repository']['aws_cli']['bin_dir']
= The mainaws
program in the install directory is symbolically linked to the fileaws
in the specified path. The default directory is/usr/local/bin
.node['arcgis']['repository']['aws_cli']['install_dir']
= AWS CLI installation directory. The default directory is/usr/local/aws-cli
Recipes #
aws_cli #
Downloads and installs AWS CLI on the machine.
Attributes used by the recipe:
{
"arcgis": {
"repository": {
"aws_cli": {
"msi_url": "https://awscli.amazonaws.com/AWSCLIV2.msi",
"zip_url": "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip",
"bin_dir": "/usr/local/bin",
"install_dir": "/usr/local/aws-cli"
}
}
},
"run_list": [
"recipe[arcgis-repository::aws_cli]"
]
}
default #
Calls arcgis-repository::files recipe.
files #
Downloads files from the ArcGIS software repository.
Attributes used by the recipe:
{
"arcgis": {
"repository": {
"local_archives": "C:\\Software\\Archives",
"server": {
"url": "https://downloads.arcgis.com",
"token_service_url": "https://www.arcgis.com/sharing/rest/generateToken",
"username": "<ArcGIS Online username>",
"password": "<ArcGIS Online>"
},
"files": {
"<file name>": {
"subfolder": "<folder>",
"md5": "<MD5 checksum>",
"sha256": "<SHA256 checksum>"
}
}
}
},
"run_list": [
"recipe[arcgis-repository::files]"
]
}
fileserver #
Creates a repository directory and a network share for it if the arcgis.repository.shared
attribute is set to true.
{
"arcgis":{
"repository":{
"shared": false,
"local_archives":"C:\\Software\\Archives"
}
},
"run_list":[
"recipe[arcgis-repository::fileserver]"
]
}
patches #
Downloads patches for specific ArcGIS products and versions from the ArcGIS software repository.
Attributes used by the recipe:
{
"arcgis": {
"version": "11.1",
"repository": {
"local_patches": "C:\\Software\\Archives\\Patches",
"patch_notification": {
"products": ["ArcGIS Server"]
}
}
},
"run_list": [
"recipe[arcgis-repository::patches]"
]
}
s3files #
Downloads files from the ArcGIS software repository in S3 to the local repository specified by the node[‘arcgis’][‘repository’][‘local_archives’] attribute.
Attributes used by the recipe:
{
"arcgis":{
"repository":{
"local_archives":"C:\\Software\\Archives",
"server":{
"region": "us-east-1",
"s3bucket":"arcgisstore-us-east-1",
"aws_access_key":"<access_key>",
"aws_secret_access_key":"<secret_key>"
},
"files": {
"<file name>": {
"subfolder": "<folder>"
}
}
}
},
"run_list":[
"recipe[arcgis-repository::s3files]"
]
}
s3files2 #
Downloads files from the ArcGIS software repository in S3 to the local repository specified by the node[‘arcgis’][‘repository’][‘local_archives’] attribute.
Downloads patches form S3 subfolder specified by node[‘arcgis’][‘repository’][‘patch_notification’][‘subfolder’] attribute to the local patches repository specified by node[‘arcgis][‘repository’][‘local_patches’] attribute.
The s3files2 recipe invokes arcgis-repository::aws_cli recipe to install AWS CLI on the machine.
Attributes used by the recipe:
{
"arcgis":{
"repository":{
"local_archives":"C:\\Software\\Archives",
"local_patches":"C:\\Software\\Archives\\Patches",
"server":{
"region": "us-east-1",
"s3bucket":"arcgisstore-us-east-1",
"aws_access_key":"<access_key>",
"aws_secret_access_key":"<secret_key>"
},
"patch_notification": {
"subfolder": "<s3 bucket folder>",
"patches": [
"*.msp"
]
},
"files": {
"<file name>": {
"subfolder": "<s3 bucket folder>"
}
}
}
},
"run_list":[
"recipe[arcgis-repository::s3files2]"
]
}