Skip to content

Commit

Permalink
Merge pull request #281 from Esri/v3.7.0
Browse files Browse the repository at this point in the history
Release v3.7.0
  • Loading branch information
cameronkroeker committed May 6, 2021
2 parents ae704a0 + b9640b6 commit f973da6
Show file tree
Hide file tree
Showing 277 changed files with 8,129 additions and 1,405 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Expand Up @@ -11,6 +11,9 @@
# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Declare files that will always have LF line endings on checkout.
*.sh text eol=lf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
Expand Down
15 changes: 10 additions & 5 deletions README.md
Expand Up @@ -19,8 +19,16 @@ Included cookbooks:
* [esri-tomcat](cookbooks/esri-tomcat) - installs and configures Apache Tomcat for using with ArcGIS Web Adaptor
* [esri-iis](cookbooks/esri-iis) - enables IIS features required by ArcGIS Web Adaptor (IIS) and configures HTTPS binding

Included ArcGIS deployment templates:

Sample JSON attribute files for different ArcGIS deployment patterns are available at [roles](roles) folder.
* [arcgis-datastore](templates/arcgis-datastore) -- Use this template to deploy and configure different [ArcGIS Data Store types](https://enterprise.arcgis.com/en/portal/latest/administer/windows/what-is-arcgis-data-store.htm).
* [arcgis-egdb](templates/arcgis-egdb) -- Lets you to create [enterprise geodatabases](https://enterprise.arcgis.com/en/server/latest/manage-data/windows/enterprise-geodatabases-and-arcgis-enterprise.htm) and register them with an ArcGIS Server site.
* [arcgis-enterprise-base](templates/arcgis-enterprise-base) -- Creates a [base ArcGIS Enterprise deployment](https://enterprise.arcgis.com/en/get-started/latest/windows/base-arcgis-enterprise-deployment.htm).
* [arcgis-geoevent](templates/arcgis-geoevent-server) -- Creates an [ArcGIS GeoEvent Server](https://enterprise.arcgis.com/en/geoevent/) deployment.
* [arcgis-mission-server](templates/arcgis-mission-server) -- Deploys [ArcGIS Mission Server](https://enterprise.arcgis.com/en/mission/) and federates it with an ArcGIS Enterprise deployment.
* [arcgis-notebook-server](templates/arcgis-notebook-server) -- Deploys [ArcGIS Notebook Server](https://enterprise.arcgis.com/en/notebook/) with an ArcGIS Enterprise deployment.
* [arcgis-portal](templates/arcgis-portal) -- Deploys [Portal for ArcGIS](https://enterprise.arcgis.com/en/portal/).
* [arcgis-server](templates/arcgis-server) -- Creates any of the following ArcGIS Server sites and federates them with an ArcGIS Enterprise deployment: GIS Server, ArcGIS GeoAnalytics Server, Raster Analytics Server, Image Server.

See [wiki](https://github.com/Esri/arcgis-cookbook/wiki) pages and cookbooks' README.md files for more information about using ArcGIS cookbooks.

Expand All @@ -35,7 +43,7 @@ Esri welcomes contributions from anyone and everyone. Please see our [guidelines
Licensing
---------

Copyright 2019 Esri
Copyright 2021 Esri

Licensed under the Apache License, Version 2.0 (the "License");
You may not use this file except in compliance with the License.
Expand All @@ -49,6 +57,3 @@ See the License for the specific language governing permissions and
limitations under the License.

A copy of the license is available in the repository's [License.txt](https://github.com/Esri/arcgis-cookbook/blob/master/License.txt?raw=true) file.

[](Esri Tags: ArcGIS Chef Cookbooks)
[](Esri Language: Ruby)
4 changes: 4 additions & 0 deletions cookbooks/arcgis-desktop/CHANGELOG.md
Expand Up @@ -3,6 +3,10 @@ arcgis-desktop cookbook CHANGELOG

This file is used to list changes made in each version of the arcgis-desktop cookbook.

3.7.0
-----
- Added support for ArcGIS License Manager 2020.1

3.6.1
-----
- Added support for Chef Client 15.
Expand Down
11 changes: 6 additions & 5 deletions cookbooks/arcgis-desktop/README.md
Expand Up @@ -27,6 +27,7 @@ Requirements
* 2019.1
* 2019.2
* 2020.0
* 2020.1

### Platforms

Expand All @@ -50,18 +51,18 @@ Attributes

* `node['arcgis']['version']` = ArcGIS Desktop version. Default value is `10.8.1`.
* `node['arcgis']['desktop']['setup_archive']` = The location of ArcGIS Desktop setup archive. Default value depends on `node['arcgis']['version']` attribute value.
* `node['arcgis']['desktop']['setup']` = The location of ArcGIS Desktop setup executable. Default location is `%USERPROFILE#\Documents\ArcGIS10.8.1\Desktop\Setup.exe`.
* `node['arcgis']['desktop']['setup']` = The location of ArcGIS Desktop setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS10.8.1\Desktop\Setup.exe`.
* `node['arcgis']['desktop']['lp-setup']` = The location of language pack for ArcGIS Desktop. Default location is `C:\ArcGIS\DesktopLP\SetupFiles\setup.msi`.
* `node['arcgis']['desktop']['install_dir']` = ArcGIS Desktop installation directory. By default, ArcGIS Desktop is installed to `%ProgramFiles(x86)%\ArcGIS`.
* `node['arcgis']['desktop']['install_features']` = Comma-separated list of ArcGIS Desktop features to install. Default value is `ALL`.
* `node['arcgis']['desktop']['authorization_file']` = ArcGIS Desktop authorization file path. Default location and file name are `C:\\Temp\\license.ecp`.
* `node['arcgis']['desktop']['authorization_file']` = ArcGIS Desktop authorization file path. Default location and file name are `C:\\Temp\\license.prvc`.
* `node['arcgis']['desktop']['authorization_file_version']` = ArcGIS Desktop authorization file version. Default value is `10.8`.
* `node['arcgis']['desktop']['esri_license_host']` = Hostname of ArcGIS License Manager. Default hostname is `%COMPUTERNAME%`.
* `node['arcgis']['desktop']['software_class']` = ArcGIS Desktop software class <Viewer|Editor|Professional>. Default value is `Viewer`.
* `node['arcgis']['desktop']['seat_preference']` = ArcGIS Desktop license seat preference <Fixed|Float>. Default value is `Fixed`.
* `node['arcgis']['licensemanager']['version']` = ArcGIS License Manager version. Default value is `2020.0`.
* `node['arcgis']['licensemanager']['version']` = ArcGIS License Manager version. Default value is `2020.1`.
* `node['arcgis']['licensemanager']['setup_archive']` = The location of ArcGIS License Manager setup archive. Default value depends on `node['arcgis']['version']` attribute value.
* `node['arcgis']['licensemanager']['setup']` = The location of ArcGIS License Manager setup executable. Default location is `%USERPROFILE#\Documents\License Manager 2020.0\LicenseManager\Setup.exe` on Windows, and `/opt/arcgis/2020.0/LicenseManager_Linux/Setup` on Linux.
* `node['arcgis']['licensemanager']['setup']` = The location of ArcGIS License Manager setup executable. Default location is `%USERPROFILE%\Documents\ArcGIS License Manager 2020.1\LicenseManager\Setup.exe` on Windows, and `/opt/arcgis/2020.1/LicenseManager_Linux/Setup` on Linux.
* `node['arcgis']['licensemanager']['lp-setup']` = The location of language pack for ArcGIS License Manager. Default location is `C:\ArcGIS\LicenseManager\SetupFiles\setup.msi`.
* `node['arcgis']['licensemanager']['install_dir']` = ArcGIS License Manager installation directory. By default, the license manager is installed to `%ProgramFiles(x86)%\ArcGIS` on Windows and `/` on Linux.

Expand Down Expand Up @@ -94,7 +95,7 @@ Esri welcomes contributions from anyone and everyone. Please see our [guidelines
Licensing
---------

Copyright 2020 Esri
Copyright 2021 Esri

Licensed under the Apache License, Version 2.0 (the "License");
You may not use this file except in compliance with the License.
Expand Down
28 changes: 25 additions & 3 deletions cookbooks/arcgis-desktop/attributes/licensemanager.rb
Expand Up @@ -2,7 +2,7 @@
# Cookbook Name:: arcgis-desktop
# Attributes:: licensemanager
#
# Copyright 2018 Esri
# Copyright 2021 Esri
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -17,17 +17,21 @@
# limitations under the License.

default['arcgis']['licensemanager'].tap do |licensemanager|
licensemanager['version'] = '2020.0'
licensemanager['version'] = '2020.1'

case node['platform']
when 'windows'
licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'],
'License Manager ' + node['arcgis']['licensemanager']['version'],
'ArcGIS License Manager ' + node['arcgis']['licensemanager']['version'],
'LicenseManager', 'Setup.exe')
licensemanager['lp-setup'] = 'C:\\ArcGIS\\LicenseManager\\SetupFiles\\setup.msi'
licensemanager['install_dir'] = ENV['ProgramFiles(x86)'] + '\\ArcGIS'

case node['arcgis']['licensemanager']['version']
when '2020.1'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Windows_2020_1_176572.exe').gsub('/', '\\')
licensemanager['product_code'] = '{3C9B5AFE-057B-47B3-83A6-D348ABAC3E14}'
when '2020.0'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Windows_2020_0_175435.exe').gsub('/', '\\')
Expand All @@ -36,22 +40,37 @@
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Windows_2019_2_173083.exe').gsub('/', '\\')
licensemanager['product_code'] = '{77F1D4EB-0225-4626-BB9E-7FCB4B0309E5}'
licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'],
'License Manager ' + node['arcgis']['licensemanager']['version'],
'LicenseManager', 'Setup.exe')
when '2019.1'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Windows_2019_1_172308.exe').gsub('/', '\\')
licensemanager['product_code'] = '{BA3C546E-6FAC-405C-B2C9-30BC6E26A7A9}'
licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'],
'License Manager ' + node['arcgis']['licensemanager']['version'],
'LicenseManager', 'Setup.exe')
when '2019.0'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Windows_2019_0_169344.exe').gsub('/', '\\')
licensemanager['product_code'] = '{CB1E78B5-9914-45C6-8227-D55F4CD5EA6F}'
licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'],
'License Manager ' + node['arcgis']['licensemanager']['version'],
'LicenseManager', 'Setup.exe')
when '2018.1'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Windows_2018_1_167080.exe').gsub('/', '\\')
licensemanager['product_code'] = '{E1C26E47-C6AB-4120-A3DE-2FA0F723C876}'
licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'],
'License Manager ' + node['arcgis']['licensemanager']['version'],
'LicenseManager', 'Setup.exe')
when '2018.0'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Windows_2018_0_163304.exe').gsub('/', '\\')
licensemanager['product_code'] = '{CFF43ACB-9B0C-4725-B489-7F969F5B90AB}'
licensemanager['setup'] = ::File.join(node['arcgis']['repository']['setups'],
'License Manager ' + node['arcgis']['licensemanager']['version'],
'LicenseManager', 'Setup.exe')
else
Chef::Log.warn 'Unsupported ArcGIS License Manager version'
end
Expand All @@ -63,6 +82,9 @@
licensemanager['install_subdir'] = 'arcgis/license' + node['arcgis']['licensemanager']['version']

case node['arcgis']['licensemanager']['version']
when '2020.1'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Linux_2020_1_176584.tar.gz')
when '2020.0'
licensemanager['setup_archive'] = ::File.join(node['arcgis']['repository']['archives'],
'ArcGIS_License_Manager_Linux_2020_0_174031.tar.gz')
Expand Down
4 changes: 2 additions & 2 deletions cookbooks/arcgis-desktop/metadata.rb
Expand Up @@ -4,10 +4,10 @@
license 'Apache 2.0'
description 'Installs and configures ArcGIS Desktop and ArcGIS License Manager'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '3.6.1'
version '3.7.0'
chef_version '>= 13.0' if defined? chef_version

depends 'arcgis-repository', '~> 3.6'
depends 'arcgis-repository', '~> 3.7'
depends 'windows', '~> 5.3'
depends 'limits', '~> 1.0'

Expand Down
4 changes: 4 additions & 0 deletions cookbooks/arcgis-egdb/CHANGELOG.md
Expand Up @@ -3,6 +3,10 @@ arcgis-egdb cookbook CHANGELOG

This file is used to list changes made in each version of the arcgis-egdb cookbook.

1.0.2
-----
- Use SQL Server RDS endpoint instead of EGDBHOST alias.

1.0.1
-----
- Updated and locked versions of dependent cookbooks.
Expand Down
7 changes: 4 additions & 3 deletions cookbooks/arcgis-egdb/README.md
Expand Up @@ -40,7 +40,8 @@ ArcPy does not support creating databases in Amazon RDS database servers. The co
* `node['arcgis']['egdb']['master_password']` = RDS DB instance master user password. Default password is `nil`.
* `node['arcgis']['egdb']['db_username']` = Geodatabase username. Default username is `sde`.
* `node['arcgis']['egdb']['db_password']` = Geodatabase user password. Default password is `node['arcgis']['egdb']['master_password']`.
* `node['arcgis']['egdb']['postgresbin']` = Path to PostgreSQL client bin directory. Default path s `C:\Program Files\ArcGIS\DataStore\framework\runtime\pgsql\bin` on wondows and `/arcgis/datastore/framework/runtime/pgsql/bin` on Linux.
* `node['arcgis']['egdb']['postgresbin']` = Path to PostgreSQL client bin directory. Default path s `C:\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 s `C:\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 created by the recipes. Default directory is `node['arcgis']['misc']['scripts_dir']/connection_files`.
* `node['arcgis']['egdb']['data_items']` = Array with properties of geodatabases. Default value is

Expand Down Expand Up @@ -78,7 +79,7 @@ Registers EGDBs with ArcGIS Server.

### arcgis-egdb::sqlcmd

Installs sqlcmd utility used by SQL Server EGDB configuration scripts.
Installs Microsoft SQL Server ODBC drivers and command line utilities used by SQL Server EGDB configuration scripts.


## Usage
Expand Down Expand Up @@ -135,7 +136,7 @@ Esri welcomes contributions from anyone and everyone. Please see our [guidelines

## Licensing

Copyright 2020 Esri
Copyright 2021 Esri

Licensed under the Apache License, Version 2.0 (the "License");
You may not use this file except in compliance with the License.
Expand Down
21 changes: 21 additions & 0 deletions cookbooks/arcgis-egdb/attributes/default.rb
Expand Up @@ -36,6 +36,7 @@
# Use embedded PostgeSQL client from ArcGIS Data Store installed on ArcGIS Enterprise AMIs.
if node['platform'] == 'windows'
default['arcgis']['egdb']['postgresbin'] = 'C:\Program Files\ArcGIS\DataStore\framework\runtime\pgsql\bin'
default['arcgis']['egdb']['sqlcmdbin'] = 'C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn'
else
default['arcgis']['egdb']['postgresbin'] = '/arcgis/datastore/framework/runtime/pgsql/bin'
end
Expand All @@ -47,3 +48,23 @@
'is_managed' => true,
'connection_type' => 'shared'
}]

# Microsoft Command Line Utilities 15 for SQL Server fails to recognize pre-requisite ODBC 17
# The workaround is to install ODBC 13 first

default['arcgis']['egdb']['vc_redist_url'] = 'https://download.visualstudio.microsoft.com/download/pr/11100230/15ccb3f02745c7b206ad10373cbca89b/VC_redist.x64.exe'
default['arcgis']['egdb']['vc_redist_path'] = ::File.join(node['arcgis']['repository']['setups'],
'VC_redist.x64.exe').gsub('/', '\\')

default['arcgis']['egdb']['msodbcsql13_msi_url'] = 'https://download.microsoft.com/download/D/5/E/D5EEF288-A277-45C8-855B-8E2CB7E25B96/x64/msodbcsql.msi'
default['arcgis']['egdb']['msodbcsql13_msi_path'] = ::File.join(node['arcgis']['repository']['setups'],
'msodbcsql13.msi').gsub('/', '\\')

default['arcgis']['egdb']['msodbcsql17_msi_url'] = 'https://download.microsoft.com/download/E/6/B/E6BFDC7A-5BCD-4C51-9912-635646DA801E/en-US/17.5.2.1/x64/msodbcsql.msi'
default['arcgis']['egdb']['msodbcsql17_msi_path'] = ::File.join(node['arcgis']['repository']['setups'],
'msodbcsql17.msi').gsub('/', '\\')

default['arcgis']['egdb']['mssqlcmdlnutils_msi_url'] = 'https://download.microsoft.com/download/4/C/C/4CC1A229-3C56-4A7F-A3BA-F903C73E5895/EN/x64/MsSqlCmdLnUtils.msi'
default['arcgis']['egdb']['mssqlcmdlnutils_msi_path'] = ::File.join(node['arcgis']['repository']['setups'],
'msodbcsql.msi').gsub('/', '\\')

6 changes: 3 additions & 3 deletions cookbooks/arcgis-egdb/metadata.rb
Expand Up @@ -4,10 +4,10 @@
license 'Apache 2.0'
description 'Creates enterprise geodatabases in SQL Server or PostgreSQL DBMS and registers them with ArcGIS Server.'
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
version '1.0.1'
version '1.0.2'
chef_version '>= 13.0' if defined? chef_version

depends 'arcgis-enterprise', '~> 3.4'
depends 'arcgis-enterprise', '~> 3.7'

supports 'windows'
supports 'ubuntu'
Expand All @@ -18,7 +18,7 @@
recipe 'arcgis-egdb::egdb_postgres', 'Creates EGDBs in PostgreSQL'
recipe 'arcgis-egdb::egdb_sqlserver', 'Creates EGDBs in SQL Server '
recipe 'arcgis-egdb::register_egdb', 'Registers EGDBs with ArcGIS Server'
recipe 'arcgis-egdb::sqlcmd', 'Installs sqlcmd utility used by SQL Server EGDB configuration scripts'
recipe 'arcgis-egdb::sqlcmd', 'Installs Microsoft SQL Server ODBC drivers and command line utilities used by SQL Server EGDB configuration scripts'

issues_url 'https://github.com/Esri/arcgis-cookbook/issues' if respond_to?(:issues_url)
source_url 'https://github.com/Esri/arcgis-cookbook' if respond_to?(:source_url)
6 changes: 4 additions & 2 deletions cookbooks/arcgis-egdb/recipes/egdb_sqlserver.rb
Expand Up @@ -27,7 +27,8 @@
scripts_dir: node['arcgis']['misc']['scripts_dir'],
logs_dir: node['arcgis']['misc']['scripts_dir'],
keycodes: node['arcgis']['egdb']['keycodes'],
pythonpath: node['arcgis']['python']['runtime_environment']
pythonpath: node['arcgis']['python']['runtime_environment'],
sqlcmdbin: node['arcgis']['egdb']['sqlcmdbin']
})
end

Expand Down Expand Up @@ -76,7 +77,8 @@
node['arcgis']['egdb']['master_username'],
node['arcgis']['egdb']['master_password'],
node['arcgis']['egdb']['db_username'],
node['arcgis']['egdb']['db_password']].join(' ')
node['arcgis']['egdb']['db_password'],
node['arcgis']['egdb']['endpoint']].join(' ')
only_if do
!node['arcgis']['egdb']['endpoint'].nil? &&
!node['arcgis']['egdb']['endpoint'].empty? &&
Expand Down
4 changes: 2 additions & 2 deletions cookbooks/arcgis-egdb/recipes/register_egdb.rb
Expand Up @@ -21,11 +21,11 @@

ruby_block 'Register RDS EGDB' do
block do
admin_client = ArcGIS::ServerAdminClient.new(node['arcgis']['server']['private_url'],
admin_client = ArcGIS::ServerAdminClient.new(node['arcgis']['server']['url'],
node['arcgis']['server']['admin_username'],
node['arcgis']['server']['admin_password'])

rest_client = ArcGIS::ServerRestClient.new(node['arcgis']['server']['private_url'],
rest_client = ArcGIS::ServerRestClient.new(node['arcgis']['server']['url'],
node['arcgis']['server']['admin_username'],
node['arcgis']['server']['admin_password'])

Expand Down
5 changes: 5 additions & 0 deletions cookbooks/arcgis-egdb/recipes/sql_alias.rb
Expand Up @@ -25,6 +25,11 @@
recursive true
end

directory node['arcgis']['misc']['scripts_dir'] do
recursive true
action :create
end

template ::File.join(node['arcgis']['misc']['scripts_dir'], 'Create-SQLAliases.ps1') do
source 'Create-SQLAliases.ps1.erb'
cookbook 'arcgis-egdb'
Expand Down

0 comments on commit f973da6

Please sign in to comment.