AWSTemplateFormatVersion: 2010-09-09 Description: >- This template creates a Multi-AZ, multi-subnet VPC infrastructure with UIPath Orchestrator deployed in private subnets, with an Application Load Balancer behind Route 53 in public subnets. (qs-1r2g41245) Metadata: QuickStartDocumentation: EntrypointName: Launch into a new VPC Order: "1" 'AWS::CloudFormation::Interface': ParameterGroups: - Label: default: Availability Zone configuration Parameters: - AvailabilityZones - NumberOfAZs - Label: default: Network configuration Parameters: - BastionIngressCIDR - VPCCIDR - PublicSubnetTag1 - PublicSubnetTag2 - PublicSubnetTag3 - PrivateSubnetTag1 - PrivateSubnetTag2 - PrivateSubnetTag3 - Label: default: UiPath Orchestrator instance configuration Parameters: - KeyPairName - InstanceType - Label: default: AWS Storage Gateway configuration Parameters: - GatewayName - GatewayTimezone - Label: default: DNS or SSL configuration Parameters: - UiPathFQDN - HostedZoneID - Label: default: High-availability add-on configuration Parameters: - HAAUser - HAAPassword - HAPort - HAALicense - Label: default: RDS database configuration Parameters: - RDSDBName - RDSAllocatedStorage - RDSMaxAllocatedStorage - RDSUsername - RDSPassword - Label: default: UiPath Orchestrator server configuration Parameters: - OrchestratorVersion - OrchestratorInstanceCount - OrchestratorLicense - OrchestratorPassword - Label: default: Quick Start S3 bucket configuration Parameters: - QSS3BucketName - QSS3KeyPrefix ParameterLabels: AvailabilityZones: default: Availability Zones NumberOfAZs: default: Number of Availability Zones VPCCIDR: default: VPC CIDR BastionIngressCIDR: default: Bastion Ingress CIDR PrivateSubnetTag1: default: Private subnet 1 tag PrivateSubnetTag2: default: Private subnet 2 tag PrivateSubnetTag3: default: Private subnet 3 tag PublicSubnetTag1: default: Public subnet 1 tag PublicSubnetTag2: default: Public subnet 2 tag PublicSubnetTag3: default: Public subnet 3 tag KeyPairName: default: Instance key pair InstanceType: default: Instance type GatewayName: default: Storage gateway name UiPathFQDN: default: Hosting FQDN HostedZoneID: default: ID of Route 53 hosted zone HAAUser: default: High-availability add-on user name HAAPassword: default: High-availability add-on password HAPort: default: High-availability add-on port HAALicense: default: High-availability add-on license key RDSDBName: default: RDS database name RDSAllocatedStorage: default: RDS allocated storage RDSMaxAllocatedStorage: default: Maximum allocated storage RDSUsername: default: RDS DB user name RDSPassword: default: RDS DB password OrchestratorVersion: default: UiPath Orchestrator version OrchestratorInstanceCount: default: Number of UiPath Orchestrator instances OrchestratorLicense: default: UiPath Orchestrator license key OrchestratorPassword: default: UiPath Orchestrator password QSS3BucketName: default: Template-hosting S3 bucket QSS3KeyPrefix: default: Template folder Parameters: AvailabilityZones: Description: >- Choose up to three Availability Zones to use for the VPC subnets. Type: 'List<AWS::EC2::AvailabilityZone::Name>' NumberOfAZs: AllowedValues: - '2' - '3' Default: '2' Description: >- Choose the number of Availability Zones to use in the VPC (1-3). This must match the number of AZs selected in the *Availability Zones* parameter. Type: String VPCCIDR: AllowedPattern: '^([0-9]{1,3}\.){2}([0]{1}.)[0]{1}(\/[16]{2})$' ConstraintDescription: Must be in format x.x.0.0/16. Default: 10.0.0.0/16 Description: VPC CIDR block, in format x.x.0.0/16. Type: String BastionIngressCIDR: AllowedPattern: '^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|1[0-9]|2[0-9]|3[0-2]))$' ConstraintDescription: Must be in format x.x.x.x/y. Description: CIDR block Ingress for the Bastion Instance Type: String PrivateSubnetTag1: AllowedPattern: '^([a-zA-Z0-9+\-._:/@]+=[a-zA-Z0-9+\-.,_:/@ *\\"''\[\]\{\}]*)?$' ConstraintDescription: >- Tags must be in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @* Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \* Default: Network=Private1 Description: >- (Optional) Tag for private subnet 1, in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Type: String PrivateSubnetTag2: AllowedPattern: '^([a-zA-Z0-9+\-._:/@]+=[a-zA-Z0-9+\-.,_:/@ *\\"''\[\]\{\}]*)?$' ConstraintDescription: >- Tags must be in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Default: Network=Private2 Description: >- (Optional) Tag for private subnet 2, in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Type: String PrivateSubnetTag3: AllowedPattern: '^([a-zA-Z0-9+\-._:/@]+=[a-zA-Z0-9+\-.,_:/@ *\\"''\[\]\{\}]*)?$' ConstraintDescription: >- Tags must be in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Default: Network=Private3 Description: >- (Optional) Tag for private subnet 3, in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Type: String PublicSubnetTag1: AllowedPattern: '^([a-zA-Z0-9+\-._:/@]+=[a-zA-Z0-9+\-.,_:/@ *\\"''\[\]\{\}]*)?$' ConstraintDescription: >- Tags must be in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Default: Network=Public1 Description: >- (Optional) Tag for public subnet 1, in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Type: String PublicSubnetTag2: AllowedPattern: '^([a-zA-Z0-9+\-._:/@]+=[a-zA-Z0-9+\-.,_:/@ *\\"''\[\]\{\}]*)?$' ConstraintDescription: >- Tags must be in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Default: Network=Public2 Description: >- (Optional) Tag for public subnet 2, in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Type: String PublicSubnetTag3: AllowedPattern: '^([a-zA-Z0-9+\-._:/@]+=[a-zA-Z0-9+\-.,_:/@ *\\"''\[\]\{\}]*)?$' ConstraintDescription: >- Tags must be in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Default: Network=Public3 Description: >- (Optional) Tag for public subnet 3, in format Key=Value. Key valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @*. Value valid characters: *A-Z*, *a-z*, *0-9*, and *+ \ - . _ : / @ * \*. Type: String KeyPairName: Description: Existing key pair to connect to virtual machine (VM) instances. Type: 'AWS::EC2::KeyPair::KeyName' InstanceType: AllowedValues: - a1.xlarge - a1.2xlarge - a1.4xlarge - t2.xlarge - m4.xlarge - m4.2xlarge - m4.4xlarge - m4.10xlarge - c4.xlarge - c4.2xlarge - c4.4xlarge - c4.8xlarge - r4.xlarge - r4.2xlarge - r4.4xlarge - r4.8xlarge ConstraintDescription: Must be a valid Amazon EC2 instance type from the list. Default: m4.xlarge Description: EC2 instance type. Type: String GatewayName: Description: S3 file storage gateway name. Type: String Default: uipathgateway AllowedPattern: '^[a-zA-Z]*$' ConstraintDescription: >- Gateway name can only contain *a–z* and *A–Z*. It cannot be left blank. GatewayTimezone: Description: File gateway time zone. Type: String AllowedValues: - Africa/Abidjan - Africa/Accra - Africa/Addis_Ababa - Africa/Algiers - Africa/Asmara - Africa/Asmera - Africa/Bamako - Africa/Bangui - Africa/Banjul - Africa/Bissau - Africa/Blantyre - Africa/Brazzaville - Africa/Bujumbura - Africa/Cairo - Africa/Casablanca - Africa/Ceuta - Africa/Conakry - Africa/Dakar - Africa/Dar_es_Salaam - Africa/Djibouti - Africa/Douala - Africa/El_Aaiun - Africa/Freetown - Africa/Gaborone - Africa/Harare - Africa/Johannesburg - Africa/Juba - Africa/Kampala - Africa/Khartoum - Africa/Kigali - Africa/Kinshasa - Africa/Lagos - Africa/Libreville - Africa/Lome - Africa/Luanda - Africa/Lubumbashi - Africa/Lusaka - Africa/Malabo - Africa/Maputo - Africa/Maseru - Africa/Mbabane - Africa/Mogadishu - Africa/Monrovia - Africa/Nairobi - Africa/Ndjamena - Africa/Niamey - Africa/Nouakchott - Africa/Ouagadougou - Africa/Porto-Novo - Africa/Sao_Tome - Africa/Timbuktu - Africa/Tripoli - Africa/Tunis - Africa/Windhoek - America/Adak - America/Anchorage - America/Anguilla - America/Antigua - America/Araguaina - America/Argentina/Buenos_Aires - America/Argentina/Catamarca - America/Argentina/ComodRivadavia - America/Argentina/Cordoba - America/Argentina/Jujuy - America/Argentina/La_Rioja - America/Argentina/Mendoza - America/Argentina/Rio_Gallegos - America/Argentina/Salta - America/Argentina/San_Juan - America/Argentina/San_Luis - America/Argentina/Tucuman - America/Argentina/Ushuaia - America/Aruba - America/Asuncion - America/Atikokan - America/Atka - America/Bahia - America/Bahia_Banderas - America/Barbados - America/Belem - America/Belize - America/Blanc-Sablon - America/Boa_Vista - America/Bogota - America/Boise - America/Buenos_Aires - America/Cambridge_Bay - America/Campo_Grande - America/Cancun - America/Caracas - America/Catamarca - America/Cayenne - America/Cayman - America/Chicago - America/Chihuahua - America/Coral_Harbour - America/Cordoba - America/Costa_Rica - America/Creston - America/Cuiaba - America/Curacao - America/Danmarkshavn - America/Dawson - America/Dawson_Creek - America/Denver - America/Detroit - America/Dominica - America/Edmonton - America/Eirunepe - America/El_Salvador - America/Ensenada - America/Fort_Wayne - America/Fortaleza - America/Glace_Bay - America/Godthab - America/Goose_Bay - America/Grand_Turk - America/Grenada - America/Guadeloupe - America/Guatemala - America/Guayaquil - America/Guyana - America/Halifax - America/Havana - America/Hermosillo - America/Indiana/Indianapolis - America/Indiana/Knox - America/Indiana/Marengo - America/Indiana/Petersburg - America/Indiana/Tell_City - America/Indiana/Vevay - America/Indiana/Vincennes - America/Indiana/Winamac - America/Indianapolis - America/Inuvik - America/Iqaluit - America/Jamaica - America/Jujuy - America/Juneau - America/Kentucky/Louisville - America/Kentucky/Monticello - America/Knox_IN - America/Kralendijk - America/La_Paz - America/Lima - America/Los_Angeles - America/Louisville - America/Lower_Princes - America/Maceio - America/Managua - America/Manaus - America/Marigot - America/Martinique - America/Matamoros - America/Mazatlan - America/Mendoza - America/Menominee - America/Merida - America/Metlakatla - America/Mexico_City - America/Miquelon - America/Moncton - America/Monterrey - America/Montevideo - America/Montreal - America/Montserrat - America/Nassau - America/New_York - America/Nipigon - America/Nome - America/Noronha - America/North_Dakota/Beulah - America/North_Dakota/Center - America/North_Dakota/New_Salem - America/Ojinaga - America/Panama - America/Pangnirtung - America/Paramaribo - America/Phoenix - America/Port_of_Spain - America/Port-au-Prince - America/Porto_Acre - America/Porto_Velho - America/Puerto_Rico - America/Rainy_River - America/Rankin_Inlet - America/Recife - America/Regina - America/Resolute - America/Rio_Branco - America/Rosario - America/Santa_Isabel - America/Santarem - America/Santiago - America/Santo_Domingo - America/Sao_Paulo - America/Scoresbysund - America/Shiprock - America/Sitka - America/St_Barthelemy - America/St_Johns - America/St_Kitts - America/St_Lucia - America/St_Thomas - America/St_Vincent - America/Swift_Current - America/Tegucigalpa - America/Thule - America/Thunder_Bay - America/Tijuana - America/Toronto - America/Tortola - America/Vancouver - America/Virgin - America/Whitehorse - America/Winnipeg - America/Yakutat - America/Yellowknife - Antarctica/Casey - Antarctica/Davis - Antarctica/DumontDUrville - Antarctica/Macquarie - Antarctica/Mawson - Antarctica/McMurdo - Antarctica/Palmer - Antarctica/Rothera - Antarctica/South_Pole - Antarctica/Syowa - Antarctica/Vostok - Arctic/Longyearbyen - Asia/Aden - Asia/Almaty - Asia/Amman - Asia/Anadyr - Asia/Aqtau - Asia/Aqtobe - Asia/Ashgabat - Asia/Ashkhabad - Asia/Baghdad - Asia/Bahrain - Asia/Baku - Asia/Bangkok - Asia/Beirut - Asia/Bishkek - Asia/Brunei - Asia/Calcutta - Asia/Choibalsan - Asia/Chongqing - Asia/Chungking - Asia/Colombo - Asia/Dacca - Asia/Damascus - Asia/Dhaka - Asia/Dili - Asia/Dubai - Asia/Dushanbe - Asia/Gaza - Asia/Harbin - Asia/Hebron - Asia/Ho_Chi_Minh - Asia/Hong_Kong - Asia/Hovd - Asia/Irkutsk - Asia/Istanbul - Asia/Jakarta - Asia/Jayapura - Asia/Jerusalem - Asia/Kabul - Asia/Kamchatka - Asia/Karachi - Asia/Kashgar - Asia/Kathmandu - Asia/Katmandu - Asia/Khandyga - Asia/Kolkata - Asia/Krasnoyarsk - Asia/Kuala_Lumpur - Asia/Kuching - Asia/Kuwait - Asia/Macao - Asia/Macau - Asia/Magadan - Asia/Makassar - Asia/Manila - Asia/Muscat - Asia/Nicosia - Asia/Novokuznetsk - Asia/Novosibirsk - Asia/Omsk - Asia/Oral - Asia/Phnom_Penh - Asia/Pontianak - Asia/Pyongyang - Asia/Qatar - Asia/Qyzylorda - Asia/Rangoon - Asia/Riyadh - Asia/Saigon - Asia/Sakhalin - Asia/Samarkand - Asia/Seoul - Asia/Shanghai - Asia/Singapore - Asia/Taipei - Asia/Tashkent - Asia/Tbilisi - Asia/Tehran - Asia/Tel_Aviv - Asia/Thimbu - Asia/Thimphu - Asia/Tokyo - Asia/Ujung_Pandang - Asia/Ulaanbaatar - Asia/Ulan_Bator - Asia/Urumqi - Asia/Ust-Nera - Asia/Vientiane - Asia/Vladivostok - Asia/Yakutsk - Asia/Yekaterinburg - Asia/Yerevan - Atlantic/Azores - Atlantic/Bermuda - Atlantic/Canary - Atlantic/Cape_Verde - Atlantic/Faeroe - Atlantic/Faroe - Atlantic/Jan_Mayen - Atlantic/Madeira - Atlantic/Reykjavik - Atlantic/South_Georgia - Atlantic/St_Helena - Atlantic/Stanley - Australia/ACT - Australia/Adelaide - Australia/Brisbane - Australia/Broken_Hill - Australia/Canberra - Australia/Currie - Australia/Darwin - Australia/Eucla - Australia/Hobart - Australia/LHI - Australia/Lindeman - Australia/Lord_Howe - Australia/Melbourne - Australia/North - Australia/NSW - Australia/Perth - Australia/Queensland - Australia/South - Australia/Sydney - Australia/Tasmania - Australia/Victoria - Australia/West - Australia/Yancowinna - Brazil/Acre - Brazil/DeNoronha - Brazil/East - Brazil/West - Canada/Atlantic - Canada/Central - Canada/Eastern - Canada/Mountain - Canada/Newfoundland - Canada/Pacific - Canada/Saskatchewan - Canada/Yukon - CET - Chile/Continental - Chile/EasterIsland - CST6CDT - Cuba - EET - Egypt - Eire - EST - EST5EDT - Etc/GMT - Etc/GMT+0 - Etc/GMT+1 - Etc/GMT+10 - Etc/GMT+11 - Etc/GMT+12 - Etc/GMT+2 - Etc/GMT+3 - Etc/GMT+4 - Etc/GMT+5 - Etc/GMT+6 - Etc/GMT+7 - Etc/GMT+8 - Etc/GMT+9 - Etc/GMT0 - Etc/GMT-0 - Etc/GMT-1 - Etc/GMT-10 - Etc/GMT-11 - Etc/GMT-12 - Etc/GMT-13 - Etc/GMT-14 - Etc/GMT-2 - Etc/GMT-3 - Etc/GMT-4 - Etc/GMT-5 - Etc/GMT-6 - Etc/GMT-7 - Etc/GMT-8 - Etc/GMT-9 - Etc/Greenwich - Etc/UCT - Etc/Universal - Etc/UTC - Etc/Zulu - Europe/Amsterdam - Europe/Andorra - Europe/Athens - Europe/Belfast - Europe/Belgrade - Europe/Berlin - Europe/Bratislava - Europe/Brussels - Europe/Bucharest - Europe/Budapest - Europe/Busingen - Europe/Chisinau - Europe/Copenhagen - Europe/Dublin - Europe/Gibraltar - Europe/Guernsey - Europe/Helsinki - Europe/Isle_of_Man - Europe/Istanbul - Europe/Jersey - Europe/Kaliningrad - Europe/Kiev - Europe/Lisbon - Europe/Ljubljana - Europe/London - Europe/Luxembourg - Europe/Madrid - Europe/Malta - Europe/Mariehamn - Europe/Minsk - Europe/Monaco - Europe/Moscow - Europe/Nicosia - Europe/Oslo - Europe/Paris - Europe/Podgorica - Europe/Prague - Europe/Riga - Europe/Rome - Europe/Samara - Europe/San_Marino - Europe/Sarajevo - Europe/Simferopol - Europe/Skopje - Europe/Sofia - Europe/Stockholm - Europe/Tallinn - Europe/Tirane - Europe/Tiraspol - Europe/Uzhgorod - Europe/Vaduz - Europe/Vatican - Europe/Vienna - Europe/Vilnius - Europe/Volgograd - Europe/Warsaw - Europe/Zagreb - Europe/Zaporozhye - Europe/Zurich - GB - GB-Eire - GMT - GMT+0 - GMT0 - GMT-0 - Greenwich - Hongkong - HST - Iceland - Indian/Antananarivo - Indian/Chagos - Indian/Christmas - Indian/Cocos - Indian/Comoro - Indian/Kerguelen - Indian/Mahe - Indian/Maldives - Indian/Mauritius - Indian/Mayotte - Indian/Reunion - Iran - Israel - Jamaica - Japan - Kwajalein - Libya - MET - Mexico/BajaNorte - Mexico/BajaSur - Mexico/General - MST - MST7MDT - Navajo - NZ - NZ-CHAT - Pacific/Apia - Pacific/Auckland - Pacific/Chatham - Pacific/Chuuk - Pacific/Easter - Pacific/Efate - Pacific/Enderbury - Pacific/Fakaofo - Pacific/Fiji - Pacific/Funafuti - Pacific/Galapagos - Pacific/Gambier - Pacific/Guadalcanal - Pacific/Guam - Pacific/Honolulu - Pacific/Johnston - Pacific/Kiritimati - Pacific/Kosrae - Pacific/Kwajalein - Pacific/Majuro - Pacific/Marquesas - Pacific/Midway - Pacific/Nauru - Pacific/Niue - Pacific/Norfolk - Pacific/Noumea - Pacific/Pago_Pago - Pacific/Palau - Pacific/Pitcairn - Pacific/Pohnpei - Pacific/Ponape - Pacific/Port_Moresby - Pacific/Rarotonga - Pacific/Saipan - Pacific/Samoa - Pacific/Tahiti - Pacific/Tarawa - Pacific/Tongatapu - Pacific/Truk - Pacific/Wake - Pacific/Wallis - Pacific/Yap - Poland - Portugal - PRC - PST8PDT - ROK - Singapore - Turkey - UCT - Universal - US/Alaska - US/Aleutian - US/Arizona - US/Central - US/Eastern - US/East-Indiana - US/Hawaii - US/Indiana-Starke - US/Michigan - US/Mountain - US/Pacific - US/Samoa - UTC - WET - W-SU - Zulu Default: US/Eastern UiPathFQDN: Description: Fully qualified domain name (FQDN) to which UiPath Orchestrator is installed. AllowedPattern: '^(?!:\/\/)(?=.{1,255}$)((.{1,63}\.){1,127}(?![0-9]*$)[a-z0-9-]+\.?)$' Type: String HostedZoneID: Description: ID of Route 53 hosted zone. Type: AWS::Route53::HostedZone::Id HAAUser: Description: High-availability add-on user name. Must be a valid email address. Type: String AllowedPattern: '[a-z0-9!#$%&''*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&''*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?' ConstraintDescription: Must be a valid email address. HAAPassword: Description: High-availability add-on password. Type: String NoEcho: 'true' MinLength: '6' MaxLength: '124' AllowedPattern: >- (?=^.{6,124}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.* ConstraintDescription: >- Password must contain more than six characters and include at least one uppercase letter. HAPort: Description: High-availability add-on port. Type: String Default: 10000 AllowedValues: - 10000 HAALicense: Description: High-availability add-on license key. Default: '' Type: String RDSDBName: Description: UIPath database name. Type: String Default: uipathdb AllowedPattern: '^[a-zA-Z]*$' ConstraintDescription: >- UIPath database name can only contain characters *a–z* and *A–Z*. It cannot be left blank. RDSAllocatedStorage: Description: RDS DB instance storage amount. Type: String Default: '200' AllowedPattern: '^(?:[1-9]\d{0,3}|1[0-5]\d{3}|16[0-2]\d{2}|163[0-7]\d|1638[0-4])$' ConstraintDescription: RDS DB instance storage amount should be less or equal to 16,384 GB. RDSMaxAllocatedStorage: Description: Maximum storage threshold. The limit to which the DB instance can be autoscaled. Type: Number Default: '1000' MaxValue: '16384' ConstraintDescription: Should be less than or equal to RDS allocated storage. RDSUsername: Description: RDS DB username. Type: String AllowedPattern: '^[0-9a-zA-Z]*$' ConstraintDescription: RDS DB username cannot be left blank. RDSPassword: Description: RDS DB password. Type: String NoEcho: 'true' MinLength: '8' AllowedPattern: '^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z]{8,}$' ConstraintDescription: >- RDS DB password must contain a minimum of eight characters and include at least one letter and one number. OrchestratorVersion: Description: UIPath Orchestrator version. Type: String Default: 22.10.0 AllowedValues: - 22.10.0 ConstraintDescription: UIPath Orchestrator version can only contain characters *0–9* and *.* (period). OrchestratorInstanceCount: Description: Number of UiPath Orchestrator instances (1–20). Type: String Default: '2' AllowedPattern: '^(?:[1-9]|0[1-9]|1[0-9]|20)$' ConstraintDescription: Number of UiPath Orchestrator instances can be 1–20. OrchestratorLicense: Description: UiPath Orchestrator license key or trial key. Default: '' Type: String OrchestratorPassword: Description: UiPath Orchestrator administrator password. Type: String NoEcho: 'true' MinLength: '6' MaxLength: '124' AllowedPattern: >- (?=^.{6,124}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.* ConstraintDescription: >- UiPath Orchestrator administrator password must contain more than six characters and include at least one uppercase letter. QSS3BucketName: AllowedPattern: '^[0-9a-zA-Z]+([0-9a-zA-Z-]*[0-9a-zA-Z])*$' ConstraintDescription: >- Quick Start bucket name can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-). Description: Name of the S3 bucket for your copy of the Quick Start assets. Keep the default name unless you are customizing the template. Changing the name updates code references to point to a new Quick Start location. This name can include numbers, lowercase letters, uppercase letters, and hyphens, but do not start or end with a hyphen (-). See https://aws-quickstart.github.io/option1.html. Type: String Default: aws-quickstart QSS3BucketRegion: Default: us-east-1 Description: >- AWS Region where the Quick Start S3 bucket (QSS3BucketName) is hosted. Keep the default Region unless you are customizing the template. Changing this Region updates code references to point to a new Quick Start location. When using your own bucket, specify the Region. See https://aws-quickstart.github.io/option1.html. Type: String AllowedPattern: (us(-gov)?|ap|ca|cn|eu|sa)-(central|(north|south)?(east|west)?)-\d ConstraintDescription: Must be a valid AWS Region code. QSS3KeyPrefix: AllowedPattern: '^[0-9a-zA-Z-/]*/$' ConstraintDescription: >- The Quick Start S3 key prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slashes (/). Default: quickstart-uipath-orchestrator/ Description: >- S3 key prefix that is used to simulate a directory for your copy of the Quick Start assets. Keep the default prefix unless you are customizing the template. Changing this prefix updates code references to point to a new Quick Start location. This prefix can include numbers, lowercase letters, uppercase letters, hyphens (-), and forward slashes (/). See https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html and https://aws-quickstart.github.io/option1.html. Type: String Conditions: UsingDefaultBucket: !Equals - !Ref QSS3BucketName - aws-quickstart 3AZCondition: !Equals - !Ref NumberOfAZs - '3' Resources: NetworkStack: Type: 'AWS::CloudFormation::Stack' Properties: TemplateURL: !Sub - >- https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}submodules/quickstart-aws-vpc/templates/aws-vpc.template.yaml - S3Bucket: !If - UsingDefaultBucket - !Sub '${QSS3BucketName}-${AWS::Region}' - !Ref QSS3BucketName S3Region: !If - UsingDefaultBucket - !Ref 'AWS::Region' - !Ref QSS3BucketRegion Parameters: AvailabilityZones: !Join - ',' - !Ref AvailabilityZones NumberOfAZs: !Ref NumberOfAZs VPCCIDR: !Ref VPCCIDR PublicSubnetTag1: !Ref PublicSubnetTag1 PublicSubnetTag2: !Ref PublicSubnetTag2 PublicSubnetTag3: !Ref PublicSubnetTag3 PrivateSubnetATag1: !Ref PrivateSubnetTag1 PrivateSubnetBTag1: !Ref PrivateSubnetTag2 PrivateSubnetBTag2: !Ref PrivateSubnetTag3 OrchestratorStack: Type: 'AWS::CloudFormation::Stack' Properties: TemplateURL: !Sub - >- https://${S3Bucket}.s3.${S3Region}.${AWS::URLSuffix}/${QSS3KeyPrefix}templates/uipath-orchestrator.template.yaml - S3Bucket: !If - UsingDefaultBucket - !Sub '${QSS3BucketName}-${AWS::Region}' - !Ref QSS3BucketName S3Region: !If - UsingDefaultBucket - !Ref 'AWS::Region' - !Ref QSS3BucketRegion Parameters: VPCCIDR: !Ref VPCCIDR VPCID: !GetAtt NetworkStack.Outputs.VPCID KeyPairName: !Ref KeyPairName PrivateSubnetIDs: !Join - ',' - - !GetAtt NetworkStack.Outputs.PrivateSubnet1AID - !GetAtt NetworkStack.Outputs.PrivateSubnet2AID - !If [ 3AZCondition, !GetAtt NetworkStack.Outputs.PrivateSubnet3AID, !Ref "AWS::NoValue" ] PublicSubnetIDs: !Join - ',' - - !GetAtt NetworkStack.Outputs.PublicSubnet1ID - !GetAtt NetworkStack.Outputs.PublicSubnet2ID - !If [ 3AZCondition, !GetAtt NetworkStack.Outputs.PublicSubnet3ID, !Ref "AWS::NoValue" ] InstanceType: !Ref InstanceType GatewayName: !Ref GatewayName GatewayTimezone: !Ref GatewayTimezone UiPathFQDN: !Ref UiPathFQDN HostedZoneID: !Ref HostedZoneID HAAUser: !Ref HAAUser HAAPassword: !Ref HAAPassword HAPort: !Ref HAPort HAALicense: !Ref HAALicense RDSDBName: !Ref RDSDBName RDSAllocatedStorage: !Ref RDSAllocatedStorage RDSMaxAllocatedStorage: !Ref RDSMaxAllocatedStorage RDSUsername: !Ref RDSUsername RDSPassword: !Ref RDSPassword OrchestratorVersion: !Ref OrchestratorVersion OrchestratorInstanceCount: !Ref OrchestratorInstanceCount OrchestratorLicense: !Ref OrchestratorLicense OrchestratorPassword: !Ref OrchestratorPassword QSS3BucketName: !Ref QSS3BucketName QSS3KeyPrefix: !Ref QSS3KeyPrefix QSS3BucketRegion: !Ref QSS3BucketRegion BastionIngressCIDR: !Ref BastionIngressCIDR Outputs: FQDNLoadBalancer: Description: UiPath Orchestrator login page. Value: !Ref UiPathFQDN BastionHost: Description: Bastion host public IP address. Value: !GetAtt - OrchestratorStack - Outputs.BastionHost HaaNodesIPs: Description: High Availability Add-on IP addresses. Value: !GetAtt - OrchestratorStack - Outputs.HaaNodesIPs NugetStorageS3Bucket: Description: S3 bucket with UiPath Orchestrator NuGet packages. Value: !GetAtt - OrchestratorStack - Outputs.NugetStorageS3Bucket Postdeployment: Description: See the deployment guide for post-deployment steps. Value: https://aws.amazon.com/quickstart/?quickstart-all.sort-by=item.additionalFields.sortDate&quickstart-all.sort-order=desc&awsm.page-quickstart-all=5