arcgis-egdb cookbook #
The arcgis-egdb cookbook creates enterprise geodatabases in SQL Server or PostgreSQL databases and registers them with ArcGIS Server.
Platforms #
- Windows 8 (8.1)
- Windows 10
- Windows Server 2008 (R2)
- Windows Server 2012 (R2)
- Windows Server 2016
- Windows Server 2019
- Windows Server 2022
- Ubuntu Server 18.04 and 20.04 LTS
- Red Hat Enterprise Linux Server 8
- SUSE Linux Enterprise Server 15
- Oracle Linux 8
Database Servers #
The cookbook was tested with:
- Amazon RDS for SQL Server
- Amazon RDS for PostgerSQL
- Amazon Aurora PostgerSQL-compatible
Dependencies #
The following cookbooks are required:
- arcgis-enterprise
The cookbook uses ArcPy to create and enable geodatabases. ArcPy is installed by the ArcGIS Server setup.
ArcPy does not support creating databases in Amazon RDS database servers. The cookbook uses the sqlcmd and psql utility for SQL Server and PostgreSQL database servers respectively to create the databases. The ‘sqlcmd’ and ‘psql’ recipes could be used to install these utilities. ArcGIS Data Store and Portal for ArcGIS include an embedded PostgreSQL client with the psql utility that can be used by the arcgis-egdb cookbook.
Attributes #
node['arcgis']['egdb']['engine']
= DB engine<nil|postgres|sqlserver-se>
. Default DB engine isnil
.node['arcgis']['egdb']['endpoint']
= DB instance endpoint domain name. Default endpoint isnil
.node['arcgis']['egdb']['keycodes']
= ArcGIS Server license file path. Default path isnode['arcgis']['server']['keycodes']
.node['arcgis']['egdb']['master_username']
= RDS DB instance master username. Default username isEsriRDSAdmin
.node['arcgis']['egdb']['master_password']
= RDS DB instance master user password. Default password isnil
.node['arcgis']['egdb']['db_username']
= Geodatabase username. Default username issde
.node['arcgis']['egdb']['db_password']
= Geodatabase user password. Default password isnode['arcgis']['egdb']['master_password']
.node['arcgis']['egdb']['postgresbin']
= Path to PostgreSQL client bin directory. Default path isC:\Program Files\ArcGIS\DataStore\framework\runtime\pgsql\bin
on Windows and/arcgis/datastore/framework/runtime/pgsql/bin
on Linux.node['arcgis']['egdb']['sqlcmdbin']
= Path to Miscrosoft SQL Server Client SDK ODBC Tools 17 Binn directory. Default path isC:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn
on Windows.node['arcgis']['egdb']['connection_files_dir']
= Directory path for geodatabase connection files (.sde) created by the recipes. Default directory isnode['arcgis']['misc']['scripts_dir']/connection_files
.-
node['arcgis']['egdb']['data_items']
= Array with properties of geodatabases. Default value is as follows:[{ "database" : "egdb", "data_item_path" : "/enterpriseDatabases/registeredDatabase", "connection_file": "C:\\chef\\misc_scripts\\connection_files\\RDS_egdb.sde", "is_managed" : true, "connection_type" : "shared" }]
Recipes #
arcgis-egdb::default #
Creates an enterprise geodatabase and registers it with ArcGIS Server.
arcgis-egdb::sql_alias #
Creates EGDBHOST alias for SQL Server endpoint domain.
arcgis-egdb::egdb_postgres #
Creates an enterprise geodatabase in PostgreSQL.
arcgis-egdb::egdb_sqlserver #
Creates an enterprise geodatabase in SQL Server.
arcgis-egdb::register_egdb #
Registers the enterprise geodatabase with the specified ArcGIS Server site as the site’s managed database.
arcgis-egdb::sqlcmd #
Installs Microsoft SQL Server ODBC drivers and command line utilities used by the SQL Server enterprise geodatabase configuration scripts.
Usage #
{
"arcgis": {
"version": "10.7",
"server": {
"private_url": "https://domain.com:6443/arcgis",
"admin_username": "admin",
"admin_password": "changeit"
},
"python": {
"runtime_environment": "C:\\Python27\\ArcGISx6410.7"
},
"misc": {
"scripts_dir": "C:\\chef\\misc_scripts"
},
"egdb": {
"engine": "postgres",
"endpoint": "xxx.cluster-yyy.us-east-2.rds.amazonaws.com",
"keycodes": "C:\\Program Files\\ESRI\\License10.7\\sysgen\\keycodes",
"master_username": "EsriRDSAdmin",
"master_password": "changeit",
"db_username": "sde",
"db_password": "changeit",
"connection_files_dir": "C:\\chef\\misc_scripts\\connection_files",
"data_items": [{
"database": "egdb",
"data_item_path": "/enterpriseDatabases/registeredDatabase",
"connection_file": "C:\\chef\\msic_scripts\\connection_files\\RDS_egdb.sde",
"is_managed": true,
"connection_type": "shared"
}]
}
},
"run_list": [
"recipe[arcgis-egdb]"
]
}