sparkle_formation 3.0.32 → 3.0.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/LICENSE +1 -1
  4. data/lib/sparkle_formation/provider/terraform.rb +9 -1
  5. data/lib/sparkle_formation/resources.rb +7 -0
  6. data/lib/sparkle_formation/resources/aws.rb +18 -24
  7. data/lib/sparkle_formation/resources/aws_resources.json +2107 -186
  8. data/lib/sparkle_formation/resources/azure_resources.json +16497 -5796
  9. data/lib/sparkle_formation/resources/heat_resources.json +190 -4
  10. data/lib/sparkle_formation/resources/terraform.rb +16 -0
  11. data/lib/sparkle_formation/resources/terraform_account_resources.json +24 -0
  12. data/lib/sparkle_formation/resources/terraform_acme_resources.json +59 -0
  13. data/lib/sparkle_formation/resources/terraform_alicloud_resources.json +4023 -0
  14. data/lib/sparkle_formation/resources/terraform_arukas_resources.json +49 -0
  15. data/lib/sparkle_formation/resources/terraform_aws_resources.json +15899 -0
  16. data/lib/sparkle_formation/resources/terraform_azure_resources.json +572 -0
  17. data/lib/sparkle_formation/resources/terraform_azurerm_resources.json +6632 -0
  18. data/lib/sparkle_formation/resources/terraform_azurestack_resources.json +1231 -0
  19. data/lib/sparkle_formation/resources/terraform_bigip_resources.json +1004 -0
  20. data/lib/sparkle_formation/resources/terraform_bitbucket_resources.json +123 -0
  21. data/lib/sparkle_formation/resources/terraform_brightbox_resources.json +283 -0
  22. data/lib/sparkle_formation/resources/terraform_bucket_resources.json +24 -0
  23. data/lib/sparkle_formation/resources/terraform_chef_resources.json +132 -0
  24. data/lib/sparkle_formation/resources/terraform_circonus_resources.json +406 -0
  25. data/lib/sparkle_formation/resources/terraform_clc_resources.json +222 -0
  26. data/lib/sparkle_formation/resources/terraform_cloudflare_resources.json +638 -0
  27. data/lib/sparkle_formation/resources/terraform_cloudscale_resources.json +96 -0
  28. data/lib/sparkle_formation/resources/terraform_cloudstack_resources.json +888 -0
  29. data/lib/sparkle_formation/resources/terraform_cobbler_resources.json +589 -0
  30. data/lib/sparkle_formation/resources/terraform_consul_resources.json +297 -0
  31. data/lib/sparkle_formation/resources/terraform_databases_resources.json +14 -0
  32. data/lib/sparkle_formation/resources/terraform_datadog_resources.json +385 -0
  33. data/lib/sparkle_formation/resources/terraform_digitalocean_resources.json +408 -0
  34. data/lib/sparkle_formation/resources/terraform_dme_resources.json +29 -0
  35. data/lib/sparkle_formation/resources/terraform_dns_resources.json +137 -0
  36. data/lib/sparkle_formation/resources/terraform_dnsimple_resources.json +39 -0
  37. data/lib/sparkle_formation/resources/terraform_docker_resources.json +266 -0
  38. data/lib/sparkle_formation/resources/terraform_dyn_resources.json +34 -0
  39. data/lib/sparkle_formation/resources/terraform_fastly_resources.json +124 -0
  40. data/lib/sparkle_formation/resources/terraform_flexibleengine_resources.json +2915 -0
  41. data/lib/sparkle_formation/resources/terraform_github_resources.json +449 -0
  42. data/lib/sparkle_formation/resources/terraform_gitlab_resources.json +267 -0
  43. data/lib/sparkle_formation/resources/terraform_google_resources.json +2485 -0
  44. data/lib/sparkle_formation/resources/terraform_grafana_resources.json +135 -0
  45. data/lib/sparkle_formation/resources/terraform_hcloud_resources.json +201 -0
  46. data/lib/sparkle_formation/resources/terraform_heroku_resources.json +447 -0
  47. data/lib/sparkle_formation/resources/terraform_huaweicloud_resources.json +2508 -0
  48. data/lib/sparkle_formation/resources/terraform_icinga2_resources.json +100 -0
  49. data/lib/sparkle_formation/resources/terraform_influxdb_resources.json +68 -0
  50. data/lib/sparkle_formation/resources/terraform_kubernetes_resources.json +277 -0
  51. data/lib/sparkle_formation/resources/terraform_librato_resources.json +167 -0
  52. data/lib/sparkle_formation/resources/terraform_linode_resources.json +252 -0
  53. data/lib/sparkle_formation/resources/terraform_local_resources.json +19 -0
  54. data/lib/sparkle_formation/resources/terraform_logentries_resources.json +56 -0
  55. data/lib/sparkle_formation/resources/terraform_logicmonitor_resources.json +140 -0
  56. data/lib/sparkle_formation/resources/terraform_mailgun_resources.json +29 -0
  57. data/lib/sparkle_formation/resources/terraform_mysql_resources.json +143 -0
  58. data/lib/sparkle_formation/resources/terraform_netlify_resources.json +90 -0
  59. data/lib/sparkle_formation/resources/terraform_newrelic_resources.json +298 -0
  60. data/lib/sparkle_formation/resources/terraform_nomad_resources.json +149 -0
  61. data/lib/sparkle_formation/resources/terraform_ns1_resources.json +320 -0
  62. data/lib/sparkle_formation/resources/terraform_nsxt_resources.json +813 -0
  63. data/lib/sparkle_formation/resources/terraform_nutanix_resources.json +596 -0
  64. data/lib/sparkle_formation/resources/terraform_oci_resources.json +3567 -0
  65. data/lib/sparkle_formation/resources/terraform_oneandone_resources.json +221 -0
  66. data/lib/sparkle_formation/resources/terraform_opc_resources.json +1224 -0
  67. data/lib/sparkle_formation/resources/terraform_openstack_resources.json +3293 -0
  68. data/lib/sparkle_formation/resources/terraform_opentelekomcloud_resources.json +2881 -0
  69. data/lib/sparkle_formation/resources/terraform_opsgenie_resources.json +56 -0
  70. data/lib/sparkle_formation/resources/terraform_oraclepaas_resources.json +551 -0
  71. data/lib/sparkle_formation/resources/terraform_ovh_resources.json +541 -0
  72. data/lib/sparkle_formation/resources/terraform_packet_resources.json +295 -0
  73. data/lib/sparkle_formation/resources/terraform_pagerduty_resources.json +329 -0
  74. data/lib/sparkle_formation/resources/terraform_panos_resources.json +2686 -0
  75. data/lib/sparkle_formation/resources/terraform_postgresql_resources.json +181 -0
  76. data/lib/sparkle_formation/resources/terraform_powerdns_resources.json +34 -0
  77. data/lib/sparkle_formation/resources/terraform_profitbricks_resources.json +523 -0
  78. data/lib/sparkle_formation/resources/terraform_projects_resources.json +24 -0
  79. data/lib/sparkle_formation/resources/terraform_rabbitmq_resources.json +161 -0
  80. data/lib/sparkle_formation/resources/terraform_rancher_resources.json +310 -0
  81. data/lib/sparkle_formation/resources/terraform_random_resources.json +167 -0
  82. data/lib/sparkle_formation/resources/terraform_rightscale_resources.json +796 -0
  83. data/lib/sparkle_formation/resources/terraform_ring_resources.json +24 -0
  84. data/lib/sparkle_formation/resources/terraform_rundeck_resources.json +175 -0
  85. data/lib/sparkle_formation/resources/terraform_runscope_resources.json +167 -0
  86. data/lib/sparkle_formation/resources/terraform_scaleway_resources.json +267 -0
  87. data/lib/sparkle_formation/resources/terraform_ses_resources.json +24 -0
  88. data/lib/sparkle_formation/resources/terraform_sfn_resources.json +36 -0
  89. data/lib/sparkle_formation/resources/terraform_softlayer_resources.json +136 -0
  90. data/lib/sparkle_formation/resources/terraform_spotinst_resources.json +237 -0
  91. data/lib/sparkle_formation/resources/terraform_statuscake_resources.json +159 -0
  92. data/lib/sparkle_formation/resources/terraform_subnetwork_resources.json +24 -0
  93. data/lib/sparkle_formation/resources/terraform_telefonicaopencloud_resources.json +1558 -0
  94. data/lib/sparkle_formation/resources/terraform_template_resources.json +24 -0
  95. data/lib/sparkle_formation/resources/terraform_tencentcloud_resources.json +656 -0
  96. data/lib/sparkle_formation/resources/terraform_tfe_resources.json +306 -0
  97. data/lib/sparkle_formation/resources/terraform_tls_resources.json +120 -0
  98. data/lib/sparkle_formation/resources/terraform_triton_resources.json +291 -0
  99. data/lib/sparkle_formation/resources/terraform_ultradns_resources.json +222 -0
  100. data/lib/sparkle_formation/resources/terraform_vault_resources.json +1414 -0
  101. data/lib/sparkle_formation/resources/terraform_vcd_resources.json +311 -0
  102. data/lib/sparkle_formation/resources/terraform_vsphere_resources.json +1076 -0
  103. data/lib/sparkle_formation/sparkle_attribute/aws.rb +78 -32
  104. data/lib/sparkle_formation/sparkle_attribute/terraform.rb +24 -5
  105. data/lib/sparkle_formation/sparkle_formation.rb +18 -4
  106. data/lib/sparkle_formation/version.rb +1 -1
  107. data/sparkle_formation.gemspec +23 -23
  108. metadata +97 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee99fa6d41cebeb6ced3d79f39ebc5caded4179d01eecd2c15f435057856b0fe
4
- data.tar.gz: e2a4ca7febb8b5de48dc4d2731c922d05be53c85fa27bf7360e5ae98df3a41c0
3
+ metadata.gz: 293b1c77830e469c22f535db4db409a49fbc2d8d3aff9e9c3cdecc7a72545cf4
4
+ data.tar.gz: d405b0d75c0ad6a1d952b76ce343fb53055048167f3264528be5fb15a94e32cc
5
5
  SHA512:
6
- metadata.gz: 5b15efc35a98bb669a3eb3dfe55b5095e1716af599b2e21c94c67cd12c01af42646c10c6a17d6793564b1353d2a63acd8420fae4fa1eb6d9b68777c386c6b936
7
- data.tar.gz: ec4a9a34e04600b1f9395a48007bda3aab11cd12d4be4a1472f7782a7472c7d152f688d985e50cf78de8f47ed309b65bab87e05e8703ef7b4616d34d1ca1b013
6
+ metadata.gz: f09e6d8d9b25b6f6b3ab0cfbfd73c7187450f0d2883e212e2af2f8df0532bb5b06746d58a73b108a69b3b9996c0b55ac0825339c96361d6b02e6bc28af46968a
7
+ data.tar.gz: 78885c873526c7c4ed6b9a4919391cadf117142382dab4d665a1d30c81c9f74a781f6033921601fe451b6953e77ba6de449c05090f844bd88daccb5e0f3dd374
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # v3.0.34
2
+ * Allow mapped provider name when loading resources
3
+ * Support natural terraform format when applying reformat
4
+ * Support terraform lookup in natural format
5
+ * Add terraform resources and resource collector
6
+ * Fix AWS resource collector to match resources with no properties (#249)
7
+ * Add cidr! and transform! helpers for AWS templates
8
+
1
9
  # v3.0.32
2
10
  * Update AWS builtin resources
3
11
 
data/LICENSE CHANGED
@@ -186,7 +186,7 @@ APPENDIX: How to apply the Apache License to your work.
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2017 Chris Roberts
189
+ Copyright 2018 Chris Roberts
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
@@ -23,7 +23,15 @@ class SparkleFormation
23
23
  if resources = result.delete(:resource)
24
24
  result[:resource] = Smash.new
25
25
  resources.each do |r_name, r_info|
26
- result.set(:resource, r_info[:type], r_name, r_info[:properties])
26
+ if !r_info[:type]
27
+ r_type = r_name
28
+ r_info.each do |r_name, r_props|
29
+ r_info = Smash.new(type: r_type, properties: r_props)
30
+ result.set(:resource, r_info[:type], r_name, r_info[:properties])
31
+ end
32
+ else
33
+ result.set(:resource, r_info[:type], r_name, r_info[:properties])
34
+ end
27
35
  end
28
36
  end
29
37
  result
@@ -144,6 +144,7 @@ class SparkleFormation
144
144
  # @param key [String, Symbol]
145
145
  # @return [String, NilClass]
146
146
  def registry_key(key)
147
+ key_loader(key)
147
148
  if registry[key]
148
149
  result = key
149
150
  else
@@ -184,6 +185,12 @@ class SparkleFormation
184
185
  )
185
186
  end
186
187
 
188
+ # Called before key lookup to perform any required
189
+ # actions for customized setup/modifications
190
+ def key_loader(key)
191
+ true
192
+ end
193
+
187
194
  # Registry information for given type
188
195
  #
189
196
  # @param key [String, Symbol]
@@ -95,10 +95,9 @@ class SparkleFormation
95
95
  ],
96
96
  "Tenancy" => [
97
97
  UpdateCausesConditional.new("none", lambda { |final, original|
98
- ["host", "dedicated"].any?{ |val| final.get("Properties", "Tenancy") == val } &&
99
- ["host", "dedicated"].any?{ |val| original.get("Properties", "Tenancy") == val }
100
- }
101
- ),
98
+ ["host", "dedicated"].any? { |val| final.get("Properties", "Tenancy") == val } &&
99
+ ["host", "dedicated"].any? { |val| original.get("Properties", "Tenancy") == val }
100
+ }),
102
101
  UpdateCausesConditional.new("replacement", true),
103
102
  ],
104
103
  "UserData" => [
@@ -173,30 +172,26 @@ class SparkleFormation
173
172
  "AWS::KinesisFirehose::DeliveryStream" => {
174
173
  "ElasticsearchDestinationConfiguration" => [
175
174
  UpdateCausesConditional.new("interrupt", lambda { |final, original|
176
- !!original.get("Properties", "ElasticsearchDestinationConfiguration")
177
- }
178
- ),
175
+ !!original.get("Properties", "ElasticsearchDestinationConfiguration")
176
+ }),
179
177
  UpdateCausesConditional.new("none", true),
180
178
  ],
181
179
  "ExtendedS3DestinationConfiguration" => [
182
180
  UpdateCausesConditional.new("interrupt", lambda { |final, original|
183
- !!original.get("Properties", "ExtendedS3DestinationConfiguration")
184
- }
185
- ),
181
+ !!original.get("Properties", "ExtendedS3DestinationConfiguration")
182
+ }),
186
183
  UpdateCausesConditional.new("none", true),
187
184
  ],
188
185
  "RedshiftDestinationConfiguration" => [
189
186
  UpdateCausesConditional.new("interrupt", lambda { |final, original|
190
- !!original.get("Properties", "RedshiftDestinationConfiguration")
191
- }
192
- ),
187
+ !!original.get("Properties", "RedshiftDestinationConfiguration")
188
+ }),
193
189
  UpdateCausesConditional.new("none", true),
194
190
  ],
195
191
  "S3DestinationConfiguration" => [
196
192
  UpdateCausesConditional.new("interrupt", lambda { |final, original|
197
- !!original.get("Properties", "S3DestinationConfiguration")
198
- }
199
- ),
193
+ !!original.get("Properties", "S3DestinationConfiguration")
194
+ }),
200
195
  UpdateCausesConditional.new("none", true),
201
196
  ],
202
197
  },
@@ -236,16 +231,15 @@ class SparkleFormation
236
231
  # values. Dynamic values are applied immediately
237
232
  "Parameters" => [
238
233
  UpdateCausesConditional.new("interrupt", lambda { |final, original|
239
- o_params = original.fetch("Properties", "Parameters", {})
240
- f_params = final.fetch("Properties", "Parameters", {})
241
- f_params.any? { |key, value|
242
- o_params[key].nil? ||
243
- o_params[key].is_a?(Hash)
244
- }
234
+ o_params = original.fetch("Properties", "Parameters", {})
235
+ f_params = final.fetch("Properties", "Parameters", {})
236
+ f_params.any? { |key, value|
237
+ o_params[key].nil? ||
238
+ o_params[key].is_a?(Hash)
245
239
  }
246
- ),
240
+ }),
247
241
  UpdateCausesConditional.new("none", true),
248
- ]
242
+ ],
249
243
  },
250
244
  "AWS::RDS::DBCluster" => {
251
245
  "BackupRetentionPeriod" => [
@@ -1,4 +1,144 @@
1
1
  {
2
+ "AWS::AmazonMQ::Broker": {
3
+ "full_properties": {
4
+ "AutoMinorVersionUpgrade": {
5
+ "description": "Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions. The automatic upgrades occur during the maintenance window of the broker or after a manual broker reboot.",
6
+ "required": true,
7
+ "type": "Boolean",
8
+ "update_causes": "none"
9
+ },
10
+ "BrokerName": {
11
+ "description": "The name of the broker. This value must be unique in your AWS account, 1-50 characters long, must contain only letters, numbers, dashes, and underscores, and must not contain whitespaces, brackets, wildcard characters, or special characters.",
12
+ "required": true,
13
+ "type": "String",
14
+ "update_causes": "replacement"
15
+ },
16
+ "Configuration": {
17
+ "description": "The broker configuration. If no configuration exists for a broker, Amazon MQ creates a default configuration.",
18
+ "required": false,
19
+ "type": "Unknown",
20
+ "update_causes": "interrupt"
21
+ },
22
+ "DeploymentMode": {
23
+ "description": "The deployment mode of the broker. SINGLE_INSTANCE creates a single-instance broker in a single Availability Zone. ACTIVE_STANDBY_MULTI_AZ creates an active/standby broker for high availability.",
24
+ "required": true,
25
+ "type": "String",
26
+ "update_causes": "replacement"
27
+ },
28
+ "EngineType": {
29
+ "description": "The type of broker engine.",
30
+ "required": true,
31
+ "type": "String",
32
+ "update_causes": "replacement"
33
+ },
34
+ "EngineVersion": {
35
+ "description": "The version of the broker engine.",
36
+ "required": true,
37
+ "type": "String",
38
+ "update_causes": "interrupt"
39
+ },
40
+ "HostInstanceType": {
41
+ "description": "The broker's instance type. For more information, see Instance Types in the Amazon MQ Developer Guide.",
42
+ "required": true,
43
+ "type": "Unknown",
44
+ "update_causes": "replacement"
45
+ },
46
+ "Logs": {
47
+ "description": "The Amazon CloudWatch Logs configuration for the broker.",
48
+ "required": false,
49
+ "type": "Unknown",
50
+ "update_causes": "interrupt"
51
+ },
52
+ "MaintenanceWindowStartTime": {
53
+ "description": "The parameters that determine the WeeklyStartTime.",
54
+ "required": false,
55
+ "type": "Unknown",
56
+ "update_causes": "replacement"
57
+ },
58
+ "PubliclyAccessible": {
59
+ "description": "Enables connections from applications outside of the VPC that hosts the broker's subnets.",
60
+ "required": true,
61
+ "type": "Boolean",
62
+ "update_causes": "replacement"
63
+ },
64
+ "SecurityGroups": {
65
+ "description": "The list of rules (1 minimum, 125 maximum) that authorize connections to brokers.",
66
+ "required": false,
67
+ "type": "Array",
68
+ "update_causes": "replacement"
69
+ },
70
+ "SubnetIds": {
71
+ "description": "The list of groups (2 maximum) that define which subnets and IP ranges the broker can use from different Availability Zones. A SINGLE_INSTANCE deployment requires one subnet (for example, the default subnet). An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.",
72
+ "required": false,
73
+ "type": "Array",
74
+ "update_causes": "replacement"
75
+ },
76
+ "Users": {
77
+ "description": "The list of all ActiveMQ usernames for the specified broker.",
78
+ "required": true,
79
+ "type": "Array",
80
+ "update_causes": "interrupt"
81
+ }
82
+ },
83
+ "path": "aws-resource-amazonmq-broker.html",
84
+ "properties": [
85
+ "AutoMinorVersionUpgrade",
86
+ "BrokerName",
87
+ "Users",
88
+ "Configuration",
89
+ "DeploymentMode",
90
+ "EngineType",
91
+ "EngineVersion",
92
+ "HostInstanceType",
93
+ "Logs",
94
+ "MaintenanceWindowStartTime",
95
+ "PubliclyAccessible",
96
+ "SecurityGroups",
97
+ "SubnetIds"
98
+ ]
99
+ },
100
+ "AWS::AmazonMQ::Configuration": {
101
+ "full_properties": {
102
+ "Data": {
103
+ "description": "The base64-encoded XML configuration.",
104
+ "required": true,
105
+ "type": "String",
106
+ "update_causes": "none"
107
+ },
108
+ "Description": {
109
+ "description": "The description of the configuration.",
110
+ "required": false,
111
+ "type": "String",
112
+ "update_causes": "none"
113
+ },
114
+ "EngineType": {
115
+ "description": "The type of broker engine.",
116
+ "required": true,
117
+ "type": "String",
118
+ "update_causes": "replacement"
119
+ },
120
+ "EngineVersion": {
121
+ "description": "The version of the broker engine.",
122
+ "required": true,
123
+ "type": "String",
124
+ "update_causes": "replacement"
125
+ },
126
+ "Name": {
127
+ "description": "The name of the configuration. This value can contain only alphanumeric characters, dashes, periods, underscores, and tildes (- . _ ~). This value must be 1-150 characters long.",
128
+ "required": true,
129
+ "type": "String",
130
+ "update_causes": "replacement"
131
+ }
132
+ },
133
+ "path": "aws-resource-amazonmq-configuration.html",
134
+ "properties": [
135
+ "Data",
136
+ "Description",
137
+ "EngineType",
138
+ "EngineVersion",
139
+ "Name"
140
+ ]
141
+ },
2
142
  "AWS::ApiGateway::Account": {
3
143
  "full_properties": {
4
144
  "CloudWatchRoleArn": {
@@ -89,7 +229,7 @@
89
229
  "update_causes": "none"
90
230
  },
91
231
  "IdentitySource": {
92
- "description": "The source of the identity in an incoming request. If you specify TOKEN for the authorizer's Type property, specify a mapping expression. The custom header mapping expression has the form method.request.header.name, where name is the name of a custom authorization header that clients submit as part of their requests.",
232
+ "description": "The source of the identity in an incoming request.",
93
233
  "required": true,
94
234
  "type": "Unknown",
95
235
  "update_causes": "none"
@@ -107,7 +247,7 @@
107
247
  "update_causes": "none"
108
248
  },
109
249
  "ProviderARNs": {
110
- "description": "A list of the Amazon Cognito user pool Amazon Resource Names (ARNs) to associate with this authorizer. For more information, see Use Amazon Cognito Your User Pool in the API Gateway Developer Guide.",
250
+ "description": "A list of the Amazon Cognito user pool Amazon Resource Names (ARNs) to associate with this authorizer. For more information, see Use Amazon Cognito User Pools in the API Gateway Developer Guide.",
111
251
  "required": false,
112
252
  "type": "Array",
113
253
  "update_causes": "none"
@@ -119,7 +259,7 @@
119
259
  "update_causes": "replacement"
120
260
  },
121
261
  "Type": {
122
- "description": "The type of authorizer:",
262
+ "description": "The type of authorizer. Valid values include:",
123
263
  "required": true,
124
264
  "type": "String",
125
265
  "update_causes": "none"
@@ -190,6 +330,12 @@
190
330
  },
191
331
  "AWS::ApiGateway::Deployment": {
192
332
  "full_properties": {
333
+ "DeploymentCanarySettings": {
334
+ "description": "Specifies settings for the canary deployment.",
335
+ "required": false,
336
+ "type": "Unknown",
337
+ "update_causes": "replacement"
338
+ },
193
339
  "Description": {
194
340
  "description": "A description of the purpose of the API Gateway deployment.",
195
341
  "required": false,
@@ -217,6 +363,7 @@
217
363
  },
218
364
  "path": "aws-resource-apigateway-deployment.html",
219
365
  "properties": [
366
+ "DeploymentCanarySettings",
220
367
  "Description",
221
368
  "RestApiId",
222
369
  "StageDescription",
@@ -364,8 +511,14 @@
364
511
  "type": "Boolean",
365
512
  "update_causes": "none"
366
513
  },
514
+ "AuthorizationScopes": {
515
+ "description": "A list of authorization scopes configured on the method. The scopes are used with a COGNITO_USER_POOLS authorizer to authorize the method invocation. The authorization works by matching the method scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any method scopes matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the method scope is configured, the client must provide an access token instead of an identity token for authorization purposes.",
516
+ "required": false,
517
+ "type": "Array",
518
+ "update_causes": "none"
519
+ },
367
520
  "AuthorizationType": {
368
- "description": "The method's authorization type.",
521
+ "description": "The method's authorization type. For valid values, see Method in the API Gateway API Reference.",
369
522
  "required": true,
370
523
  "type": "String",
371
524
  "update_causes": "none"
@@ -435,6 +588,7 @@
435
588
  "properties": [
436
589
  "ApiKeyRequired",
437
590
  "AuthorizationType",
591
+ "AuthorizationScopes",
438
592
  "AuthorizerId",
439
593
  "HttpMethod",
440
594
  "Integration",
@@ -645,6 +799,12 @@
645
799
  },
646
800
  "AWS::ApiGateway::Stage": {
647
801
  "full_properties": {
802
+ "AccessLogSetting": {
803
+ "description": "Specifies settings for logging access in this stage.",
804
+ "required": false,
805
+ "type": "Unknown",
806
+ "update_causes": "none"
807
+ },
648
808
  "CacheClusterEnabled": {
649
809
  "description": "Indicates whether cache clustering is enabled for the stage.",
650
810
  "required": false,
@@ -657,6 +817,12 @@
657
817
  "type": "String",
658
818
  "update_causes": "none"
659
819
  },
820
+ "CanarySetting": {
821
+ "description": "Specifies settings for the canary deployment in this stage.",
822
+ "required": false,
823
+ "type": "Unknown",
824
+ "update_causes": "none"
825
+ },
660
826
  "ClientCertificateId": {
661
827
  "description": "The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage.",
662
828
  "required": false,
@@ -699,6 +865,18 @@
699
865
  "type": "String",
700
866
  "update_causes": "replacement"
701
867
  },
868
+ "Tags": {
869
+ "description": "An array of arbitrary tags (key-value pairs) to associate with the stage.",
870
+ "required": false,
871
+ "type": "Array",
872
+ "update_causes": "none"
873
+ },
874
+ "TracingEnabled": {
875
+ "description": "Specifies whether active tracing with X-ray is enabled for this stage.",
876
+ "required": false,
877
+ "type": "Boolean",
878
+ "update_causes": "none"
879
+ },
702
880
  "Variables": {
703
881
  "description": "A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+.",
704
882
  "required": false,
@@ -708,8 +886,10 @@
708
886
  },
709
887
  "path": "aws-resource-apigateway-stage.html",
710
888
  "properties": [
889
+ "AccessLogSetting",
711
890
  "CacheClusterEnabled",
712
891
  "CacheClusterSize",
892
+ "CanarySetting",
713
893
  "ClientCertificateId",
714
894
  "DeploymentId",
715
895
  "Description",
@@ -717,6 +897,8 @@
717
897
  "MethodSettings",
718
898
  "RestApiId",
719
899
  "StageName",
900
+ "Tags",
901
+ "TracingEnabled",
720
902
  "Variables"
721
903
  ]
722
904
  },
@@ -818,6 +1000,384 @@
818
1000
  "TargetArns"
819
1001
  ]
820
1002
  },
1003
+ "AWS::AppStream::DirectoryConfig": {
1004
+ "full_properties": {
1005
+ "DirectoryName": {
1006
+ "description": "The fully qualified name of the directory (for example, corp.example.com).",
1007
+ "required": true,
1008
+ "type": "String",
1009
+ "update_causes": "replacement"
1010
+ },
1011
+ "OrganizationalUnitDistinguishedNames": {
1012
+ "description": "The distinguished names of the organizational units for computer accounts.",
1013
+ "required": true,
1014
+ "type": "Array",
1015
+ "update_causes": "none"
1016
+ },
1017
+ "ServiceAccountCredentials": {
1018
+ "description": "The credentials for the service account used by the streaming instance to connect to the directory. Do not use this parameter directly. Use ServiceAccountCredentials as an input parameter with noEcho as shown in the Parameters. For best practices information, see Do Not Embed Credentials in Your Templates.",
1019
+ "required": true,
1020
+ "type": "Unknown",
1021
+ "update_causes": "none"
1022
+ }
1023
+ },
1024
+ "path": "aws-resource-appstream-directoryconfig.html",
1025
+ "properties": [
1026
+ "DirectoryName",
1027
+ "OrganizationalUnitDistinguishedNames",
1028
+ "ServiceAccountCredentials"
1029
+ ]
1030
+ },
1031
+ "AWS::AppStream::Fleet": {
1032
+ "full_properties": {
1033
+ "ComputeCapacity": {
1034
+ "description": "The desired capacity for the fleet.",
1035
+ "required": true,
1036
+ "type": "Unknown",
1037
+ "update_causes": "none"
1038
+ },
1039
+ "Description": {
1040
+ "description": "The description to display.",
1041
+ "required": false,
1042
+ "type": "String",
1043
+ "update_causes": "none"
1044
+ },
1045
+ "DisconnectTimeoutInSeconds": {
1046
+ "description": "The time after disconnection when a session is considered to have ended, in seconds. If a user who was disconnected reconnects within this time interval, the user is connected to their previous session. Specify a value between 60 and 57600.",
1047
+ "required": false,
1048
+ "type": "Number",
1049
+ "update_causes": "none"
1050
+ },
1051
+ "DisplayName": {
1052
+ "description": "The fleet name to display.",
1053
+ "required": false,
1054
+ "type": "String",
1055
+ "update_causes": "none"
1056
+ },
1057
+ "DomainJoinInfo": {
1058
+ "description": "The information needed to join a Microsoft Active Directory domain.",
1059
+ "required": false,
1060
+ "type": "Unknown",
1061
+ "update_causes": "none"
1062
+ },
1063
+ "EnableDefaultInternetAccess": {
1064
+ "description": "Enables or disables default internet access for the fleet.",
1065
+ "required": false,
1066
+ "type": "Boolean",
1067
+ "update_causes": "none"
1068
+ },
1069
+ "FleetType": {
1070
+ "description": "The fleet type.",
1071
+ "required": false,
1072
+ "type": "String",
1073
+ "update_causes": "replacement"
1074
+ },
1075
+ "ImageArn": {
1076
+ "description": "The ARN of the public, private, or shared image to use.",
1077
+ "required": false,
1078
+ "type": "String",
1079
+ "update_causes": "none"
1080
+ },
1081
+ "ImageName": {
1082
+ "description": "The name of the image used to create the fleet.",
1083
+ "required": false,
1084
+ "type": "String",
1085
+ "update_causes": "none"
1086
+ },
1087
+ "InstanceType": {
1088
+ "description": "The instance type to use when launching fleet instances.",
1089
+ "required": true,
1090
+ "type": "String",
1091
+ "update_causes": "none"
1092
+ },
1093
+ "MaxUserDurationInSeconds": {
1094
+ "description": "The maximum time that a streaming session can run, in seconds. Specify a value between 600 and 57600.",
1095
+ "required": false,
1096
+ "type": "Number",
1097
+ "update_causes": "none"
1098
+ },
1099
+ "Name": {
1100
+ "description": "A unique name for the fleet.",
1101
+ "required": true,
1102
+ "type": "String",
1103
+ "update_causes": "replacement"
1104
+ },
1105
+ "VpcConfig": {
1106
+ "description": "The VPC configuration for the fleet.",
1107
+ "required": false,
1108
+ "type": "Unknown",
1109
+ "update_causes": "none"
1110
+ }
1111
+ },
1112
+ "path": "aws-resource-appstream-fleet.html",
1113
+ "properties": [
1114
+ "ComputeCapacity",
1115
+ "Description",
1116
+ "DisconnectTimeoutInSeconds",
1117
+ "DisplayName",
1118
+ "DomainJoinInfo",
1119
+ "EnableDefaultInternetAccess",
1120
+ "FleetType",
1121
+ "ImageArn",
1122
+ "ImageName",
1123
+ "InstanceType",
1124
+ "MaxUserDurationInSeconds",
1125
+ "Name",
1126
+ "VpcConfig"
1127
+ ]
1128
+ },
1129
+ "AWS::AppStream::ImageBuilder": {
1130
+ "full_properties": {
1131
+ "AppstreamAgentVersion": {
1132
+ "description": "The version of the Amazon AppStream 2.0 agent to use for this image builder. To use the latest version of the agent, specify [LATEST].",
1133
+ "required": false,
1134
+ "type": "String",
1135
+ "update_causes": "none"
1136
+ },
1137
+ "Description": {
1138
+ "description": "The description to display.",
1139
+ "required": false,
1140
+ "type": "String",
1141
+ "update_causes": "none"
1142
+ },
1143
+ "DisplayName": {
1144
+ "description": "The image builder name to display.",
1145
+ "required": false,
1146
+ "type": "String",
1147
+ "update_causes": "none"
1148
+ },
1149
+ "DomainJoinInfo": {
1150
+ "description": "The name of the directory and organizational unit (OU) to use to join the image builder to a Microsoft Active Directory domain.",
1151
+ "required": false,
1152
+ "type": "Unknown",
1153
+ "update_causes": "none"
1154
+ },
1155
+ "EnableDefaultInternetAccess": {
1156
+ "description": "Enables or disables default internet access for the image builder.",
1157
+ "required": false,
1158
+ "type": "Boolean",
1159
+ "update_causes": "none"
1160
+ },
1161
+ "ImageArn": {
1162
+ "description": "The ARN of the public, private, or shared image to use.",
1163
+ "required": false,
1164
+ "type": "String",
1165
+ "update_causes": "none"
1166
+ },
1167
+ "ImageName": {
1168
+ "description": "The name of the image used to create the image builder.",
1169
+ "required": false,
1170
+ "type": "String",
1171
+ "update_causes": "none"
1172
+ },
1173
+ "InstanceType": {
1174
+ "description": "The instance type to use when launching the image builder.",
1175
+ "required": true,
1176
+ "type": "String",
1177
+ "update_causes": "none"
1178
+ },
1179
+ "Name": {
1180
+ "description": "A unique name for the image builder.",
1181
+ "required": true,
1182
+ "type": "String",
1183
+ "update_causes": "none"
1184
+ },
1185
+ "VpcConfig": {
1186
+ "description": "The VPC configuration for the image builder. You can specify only one subnet.",
1187
+ "required": false,
1188
+ "type": "Unknown",
1189
+ "update_causes": "none"
1190
+ }
1191
+ },
1192
+ "path": "aws-resource-appstream-imagebuilder.html",
1193
+ "properties": [
1194
+ "AppstreamAgentVersion",
1195
+ "Description",
1196
+ "DisplayName",
1197
+ "DomainJoinInfo",
1198
+ "EnableDefaultInternetAccess",
1199
+ "ImageArn",
1200
+ "ImageName",
1201
+ "InstanceType",
1202
+ "Name",
1203
+ "VpcConfig"
1204
+ ]
1205
+ },
1206
+ "AWS::AppStream::Stack": {
1207
+ "full_properties": {
1208
+ "ApplicationSettings": {
1209
+ "description": "The persistent application settings for users of a stack. When these settings are enabled, changes that users make to applications and Windows settings are automatically saved after each session and applied to the next session.",
1210
+ "required": false,
1211
+ "type": "Unknown",
1212
+ "update_causes": "none"
1213
+ },
1214
+ "AttributesToDelete": {
1215
+ "description": "The stack attributes to delete.",
1216
+ "required": false,
1217
+ "type": "Array",
1218
+ "update_causes": "none"
1219
+ },
1220
+ "DeleteStorageConnectors": {
1221
+ "description": "This parameter has been deprecated.",
1222
+ "required": false,
1223
+ "type": "Boolean",
1224
+ "update_causes": "none"
1225
+ },
1226
+ "Description": {
1227
+ "description": "The description to display.",
1228
+ "required": false,
1229
+ "type": "String",
1230
+ "update_causes": "none"
1231
+ },
1232
+ "DisplayName": {
1233
+ "description": "The stack name to display.",
1234
+ "required": false,
1235
+ "type": "String",
1236
+ "update_causes": "none"
1237
+ },
1238
+ "FeedbackURL": {
1239
+ "description": "The URL that users are redirected to after they choose the Send Feedback link. If no URL is specified, no Send Feedback link is displayed.",
1240
+ "required": false,
1241
+ "type": "String",
1242
+ "update_causes": "none"
1243
+ },
1244
+ "Name": {
1245
+ "description": "The name of the stack.",
1246
+ "required": false,
1247
+ "type": "String",
1248
+ "update_causes": "replacement"
1249
+ },
1250
+ "RedirectURL": {
1251
+ "description": "The URL that users are redirected to after their streaming session ends.",
1252
+ "required": false,
1253
+ "type": "String",
1254
+ "update_causes": "none"
1255
+ },
1256
+ "StorageConnectors": {
1257
+ "description": "The storage connectors to enable.",
1258
+ "required": false,
1259
+ "type": "Array",
1260
+ "update_causes": "none"
1261
+ },
1262
+ "UserSettings": {
1263
+ "description": "The actions that are enabled or disabled for users during their streaming sessions. By default, these actions are enabled.",
1264
+ "required": false,
1265
+ "type": "Array",
1266
+ "update_causes": "none"
1267
+ }
1268
+ },
1269
+ "path": "aws-resource-appstream-stack.html",
1270
+ "properties": [
1271
+ "ApplicationSettings",
1272
+ "AttributesToDelete",
1273
+ "DeleteStorageConnectors",
1274
+ "Description",
1275
+ "DisplayName",
1276
+ "FeedbackURL",
1277
+ "Name",
1278
+ "RedirectURL",
1279
+ "StorageConnectors",
1280
+ "UserSettings"
1281
+ ]
1282
+ },
1283
+ "AWS::AppStream::StackFleetAssociation": {
1284
+ "full_properties": {
1285
+ "FleetName": {
1286
+ "description": "The name of the fleet.",
1287
+ "required": true,
1288
+ "type": "String",
1289
+ "update_causes": "none"
1290
+ },
1291
+ "StackName": {
1292
+ "description": "The name of the stack.",
1293
+ "required": true,
1294
+ "type": "String",
1295
+ "update_causes": "none"
1296
+ }
1297
+ },
1298
+ "path": "aws-resource-appstream-stackfleetassociation.html",
1299
+ "properties": [
1300
+ "FleetName",
1301
+ "StackName"
1302
+ ]
1303
+ },
1304
+ "AWS::AppStream::StackUserAssociation": {
1305
+ "full_properties": {
1306
+ "AuthenticationType": {
1307
+ "description": "The authentication type for the user.",
1308
+ "required": true,
1309
+ "type": "String",
1310
+ "update_causes": "replacement"
1311
+ },
1312
+ "SendEmailNotification": {
1313
+ "description": "Specifies whether a welcome email is sent to a user after the user is created in the user pool.",
1314
+ "required": false,
1315
+ "type": "Boolean",
1316
+ "update_causes": "none"
1317
+ },
1318
+ "StackName": {
1319
+ "description": "The name of the stack.",
1320
+ "required": true,
1321
+ "type": "String",
1322
+ "update_causes": "replacement"
1323
+ },
1324
+ "Username": {
1325
+ "description": "The email address of the user.",
1326
+ "required": true,
1327
+ "type": "String",
1328
+ "update_causes": "replacement"
1329
+ }
1330
+ },
1331
+ "path": "aws-resource-appstream-stackuserassociation.html",
1332
+ "properties": [
1333
+ "AuthenticationType",
1334
+ "SendEmailNotification",
1335
+ "StackName",
1336
+ "Username"
1337
+ ]
1338
+ },
1339
+ "AWS::AppStream::User": {
1340
+ "full_properties": {
1341
+ "AuthenticationType": {
1342
+ "description": "The authentication type for the user. You must specify USERPOOL.",
1343
+ "required": true,
1344
+ "type": "String",
1345
+ "update_causes": "replacement"
1346
+ },
1347
+ "FirstName": {
1348
+ "description": "The first name, or given name, of the user.",
1349
+ "required": false,
1350
+ "type": "String",
1351
+ "update_causes": "replacement"
1352
+ },
1353
+ "LastName": {
1354
+ "description": "The last name, or surname, of the user.",
1355
+ "required": false,
1356
+ "type": "String",
1357
+ "update_causes": "replacement"
1358
+ },
1359
+ "MessageAction": {
1360
+ "description": "The action to take for the welcome email that is sent to a user after the user is created in the user pool. If you specify SUPPRESS, no email is sent. If you specify RESEND, do not specify the first name or last name of the user. If the value is null, the email is sent.",
1361
+ "required": false,
1362
+ "type": "String",
1363
+ "update_causes": "replacement"
1364
+ },
1365
+ "UserName": {
1366
+ "description": "The email address of the user.",
1367
+ "required": true,
1368
+ "type": "String",
1369
+ "update_causes": "replacement"
1370
+ }
1371
+ },
1372
+ "path": "aws-resource-appstream-user.html",
1373
+ "properties": [
1374
+ "AuthenticationType",
1375
+ "FirstName",
1376
+ "LastName",
1377
+ "MessageAction",
1378
+ "UserName"
1379
+ ]
1380
+ },
821
1381
  "AWS::AppSync::ApiKey": {
822
1382
  "full_properties": {
823
1383
  "ApiId": {
@@ -833,8 +1393,8 @@
833
1393
  "update_causes": "none"
834
1394
  },
835
1395
  "Expires": {
836
- "description": "Expiration time of the API Key in seconds (using Unix Epoch time), with a minimum of 1 day and a maximum of 365 days.",
837
- "required": true,
1396
+ "description": "Expiration time of the API Key in seconds (using Unix Epoch time), with a minimum of 1 day and a maximum of 365 days. The default value is 7 days.",
1397
+ "required": false,
838
1398
  "type": "Unknown",
839
1399
  "update_causes": "none"
840
1400
  }
@@ -866,47 +1426,131 @@
866
1426
  "type": "Unknown",
867
1427
  "update_causes": "none"
868
1428
  },
869
- "ElasticsearchConfig": {
870
- "description": "AwsRegion and Endpoints for an Amazon Elasticsearch Service domain in your account.",
1429
+ "ElasticsearchConfig": {
1430
+ "description": "AwsRegion and Endpoints for an Amazon Elasticsearch Service domain in your account.",
1431
+ "required": false,
1432
+ "type": "Unknown",
1433
+ "update_causes": "none"
1434
+ },
1435
+ "HttpConfig": {
1436
+ "description": "Endpoints for an HTTP DataSource.",
1437
+ "required": false,
1438
+ "type": "Unknown",
1439
+ "update_causes": "none"
1440
+ },
1441
+ "LambdaConfig": {
1442
+ "description": "A valid ARN of a Lambda function in your account.",
1443
+ "required": false,
1444
+ "type": "Unknown",
1445
+ "update_causes": "none"
1446
+ },
1447
+ "Name": {
1448
+ "description": "Friendly name for you to identify your AppSync data source after creation.",
1449
+ "required": true,
1450
+ "type": "String",
1451
+ "update_causes": "replacement"
1452
+ },
1453
+ "RelationalDatabaseConfig": {
1454
+ "description": "Relational Database configuration of the relational database data source.",
1455
+ "required": false,
1456
+ "type": "Unknown",
1457
+ "update_causes": "none"
1458
+ },
1459
+ "ServiceRoleArn": {
1460
+ "description": "The Amazon Resource Name (ARN) of the IAM role which the data source will use to connect to a resource.",
1461
+ "required": false,
1462
+ "type": "Unknown",
1463
+ "update_causes": "none"
1464
+ },
1465
+ "Type": {
1466
+ "description": "Mandatory resource to return data from in customer AWS account. For a complete list of values, see CreateDataSource in the AWS AppSync API Reference for more information.",
1467
+ "required": true,
1468
+ "type": "String",
1469
+ "update_causes": "none"
1470
+ }
1471
+ },
1472
+ "path": "aws-resource-appsync-datasource.html",
1473
+ "properties": [
1474
+ "Type",
1475
+ "Description",
1476
+ "ServiceRoleArn",
1477
+ "LambdaConfig",
1478
+ "ApiId",
1479
+ "Name",
1480
+ "DynamoDBConfig",
1481
+ "ElasticsearchConfig",
1482
+ "HttpConfig",
1483
+ "RelationalDatabaseConfig"
1484
+ ]
1485
+ },
1486
+ "AWS::AppSync::FunctionConfiguration": {
1487
+ "full_properties": {
1488
+ "ApiId": {
1489
+ "description": "The AWS AppSync GraphQL API which you will attach with this function.",
1490
+ "required": true,
1491
+ "type": "String",
1492
+ "update_causes": "replacement"
1493
+ },
1494
+ "DataSourceName": {
1495
+ "description": "The AWS AppSync data source that this function will run against in order to return data to the caller.",
1496
+ "required": false,
1497
+ "type": "String",
1498
+ "update_causes": "none"
1499
+ },
1500
+ "Description": {
1501
+ "description": "The Description of the function.",
1502
+ "required": false,
1503
+ "type": "String",
1504
+ "update_causes": "none"
1505
+ },
1506
+ "FunctionVersion": {
1507
+ "description": "The version of the function.",
1508
+ "required": false,
1509
+ "type": "String",
1510
+ "update_causes": "none"
1511
+ },
1512
+ "Name": {
1513
+ "description": "The Name of the function.",
871
1514
  "required": false,
872
- "type": "Unknown",
1515
+ "type": "String",
873
1516
  "update_causes": "none"
874
1517
  },
875
- "LambdaConfig": {
876
- "description": "A valid ARN of a Lambda function in your account.",
1518
+ "RequestMappingTemplate": {
1519
+ "description": "The function’s request mapping template, written in text within the CloudFormation template.",
877
1520
  "required": false,
878
- "type": "Unknown",
1521
+ "type": "String",
879
1522
  "update_causes": "none"
880
1523
  },
881
- "Name": {
882
- "description": "Friendly name for you to identify your AppSync data source after creation.",
883
- "required": true,
1524
+ "RequestMappingTemplateS3Location": {
1525
+ "description": "A location of a request mapping template on an S3 bucket if you wish to provision with the template file living in S3 rather than embedded in your CloudFormation template.",
1526
+ "required": false,
884
1527
  "type": "String",
885
- "update_causes": "replacement"
1528
+ "update_causes": "none"
886
1529
  },
887
- "ServiceRoleArn": {
888
- "description": "IAM role ARN which the data source will use to connect to a resource.",
1530
+ "ResponseMappingTemplate": {
1531
+ "description": "The function’s response mapping template, written in text within the CloudFormation template.",
889
1532
  "required": false,
890
1533
  "type": "String",
891
1534
  "update_causes": "none"
892
1535
  },
893
- "Type": {
894
- "description": "Mandatory resource to return data from in customer AWS account. You can also specify NONE to use Local Resolvers. See Local Resolvers Tutorial for more information.",
895
- "required": true,
1536
+ "ResponseMappingTemplateS3Location": {
1537
+ "description": "A location of a response mapping template on an S3 bucket if you wish to provision with the template file living in S3 rather than embedded in your CloudFormation template.",
1538
+ "required": false,
896
1539
  "type": "String",
897
1540
  "update_causes": "none"
898
1541
  }
899
1542
  },
900
- "path": "aws-resource-appsync-datasource.html",
1543
+ "path": "aws-resource-appsync-functionconfiguration.html",
901
1544
  "properties": [
902
- "Type",
903
- "Description",
904
- "ServiceRoleArn",
905
- "LambdaConfig",
906
1545
  "ApiId",
907
1546
  "Name",
908
- "DynamoDBConfig",
909
- "ElasticsearchConfig"
1547
+ "Description",
1548
+ "DataSourceName",
1549
+ "FunctionVersion",
1550
+ "RequestMappingTemplate",
1551
+ "RequestMappingTemplateS3Location",
1552
+ "ResponseMappingTemplate",
1553
+ "ResponseMappingTemplateS3Location"
910
1554
  ]
911
1555
  },
912
1556
  "AWS::AppSync::GraphQLApi": {
@@ -999,6 +1643,12 @@
999
1643
  "type": "String",
1000
1644
  "update_causes": "replacement"
1001
1645
  },
1646
+ "PipelineConfig": {
1647
+ "description": "Functions linked with the pipeline resolver.",
1648
+ "required": false,
1649
+ "type": "Unknown",
1650
+ "update_causes": "none"
1651
+ },
1002
1652
  "RequestMappingTemplate": {
1003
1653
  "description": "The resolver’s request mapping template, written in text within the CloudFormation template.",
1004
1654
  "required": false,
@@ -1039,7 +1689,8 @@
1039
1689
  "ResponseMappingTemplate",
1040
1690
  "RequestMappingTemplateS3Location",
1041
1691
  "ApiId",
1042
- "FieldName"
1692
+ "FieldName",
1693
+ "PipelineConfig"
1043
1694
  ]
1044
1695
  },
1045
1696
  "AWS::ApplicationAutoScaling::ScalableTarget": {
@@ -1081,7 +1732,7 @@
1081
1732
  "update_causes": "none"
1082
1733
  },
1083
1734
  "ServiceNamespace": {
1084
- "description": "The AWS service namespace of the scalable target. For a list of service namespaces, see AWS Service Namespaces in the AWS General Reference.",
1735
+ "description": "The namespace of the AWS service that provides the resource or custom-resource for a resource provided by your own application or service. For valid AWS service namespace values, see the RegisterScalableTarget action in the Application Auto Scaling API Reference.",
1085
1736
  "required": true,
1086
1737
  "type": "String",
1087
1738
  "update_causes": "replacement"
@@ -1185,7 +1836,7 @@
1185
1836
  "description": "The SQL query statements that comprise the query.",
1186
1837
  "required": true,
1187
1838
  "type": "String",
1188
- "update_causes": "none"
1839
+ "update_causes": "replacement"
1189
1840
  }
1190
1841
  },
1191
1842
  "path": "aws-resource-athena-namedquery.html",
@@ -1223,7 +1874,7 @@
1223
1874
  "update_causes": "none"
1224
1875
  },
1225
1876
  "HealthCheckGracePeriod": {
1226
- "description": "The length of time in seconds after a new EC2 instance comes into service that Auto Scaling starts checking its health.",
1877
+ "description": "The length of time in seconds after a new EC2 instance comes into service that Amazon EC2 Auto Scaling starts checking its health.",
1227
1878
  "required": false,
1228
1879
  "type": "Number",
1229
1880
  "update_causes": "none"
@@ -1253,13 +1904,13 @@
1253
1904
  "update_causes": "none"
1254
1905
  },
1255
1906
  "LifecycleHookSpecificationList": {
1256
- "description": "The lifecycle hooks for the group, which specify actions to perform when Auto Scaling launches or terminates instances. For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.",
1907
+ "description": "The lifecycle hooks for the group, which specify actions to perform when Amazon EC2 Auto Scaling launches or terminates instances. For more information, see Amazon EC2 Auto Scaling Lifecycle Hooks in the Amazon EC2 Auto Scaling User Guide.",
1257
1908
  "required": false,
1258
1909
  "type": "Array",
1259
1910
  "update_causes": "none"
1260
1911
  },
1261
1912
  "LoadBalancerNames": {
1262
- "description": "A list of Classic load balancers associated with this Auto Scaling group. To specify Application load balancers, use TargetGroupARNs.",
1913
+ "description": "A list of Classic load balancers associated with this Auto Scaling group. To specify Application Load Balancers, use TargetGroupARNs.",
1263
1914
  "required": false,
1264
1915
  "type": "Array",
1265
1916
  "update_causes": "none"
@@ -1282,6 +1933,12 @@
1282
1933
  "type": "String",
1283
1934
  "update_causes": "none"
1284
1935
  },
1936
+ "MixedInstancesPolicy": {
1937
+ "description": "The mixed instances policy to use to launch instances. This parameter, a launch template, a launch configuration, or an Amazon EC2 instance must be specified.",
1938
+ "required": false,
1939
+ "type": "Unknown",
1940
+ "update_causes": "none"
1941
+ },
1285
1942
  "NotificationConfigurations": {
1286
1943
  "description": "An embedded property that configures an Auto Scaling group to send notifications when specified events take place.",
1287
1944
  "required": false,
@@ -1301,7 +1958,7 @@
1301
1958
  "update_causes": "none"
1302
1959
  },
1303
1960
  "Tags": {
1304
- "description": "The Auto Scaling tags to attach to this resource. For more information about Auto Scaling tags, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.",
1961
+ "description": "The tags to attach to this resource. For more information, see Tagging Auto Scaling Groups and Instances in the Amazon EC2 Auto Scaling User Guide.",
1305
1962
  "required": false,
1306
1963
  "type": "Array",
1307
1964
  "update_causes": "none"
@@ -1341,6 +1998,7 @@
1341
1998
  "MaxSize",
1342
1999
  "MetricsCollection",
1343
2000
  "MinSize",
2001
+ "MixedInstancesPolicy",
1344
2002
  "NotificationConfigurations",
1345
2003
  "PlacementGroup",
1346
2004
  "ServiceLinkedRoleARN",
@@ -1353,7 +2011,7 @@
1353
2011
  "AWS::AutoScaling::LaunchConfiguration": {
1354
2012
  "full_properties": {
1355
2013
  "AssociatePublicIpAddress": {
1356
- "description": "For Amazon EC2 instances in a VPC, indicates whether instances in the Auto Scaling group receive public IP addresses. If you specify true, each instance in the Auto Scaling receives a unique public IP address.",
2014
+ "description": "For Amazon EC2 instances in a VPC, indicates whether instances in the Auto Scaling group receive public IP addresses. If you specify true, each instance in the Auto Scaling group receives a unique public IP address.",
1357
2015
  "required": false,
1358
2016
  "type": "Boolean",
1359
2017
  "update_causes": "replacement"
@@ -1498,7 +2156,7 @@
1498
2156
  "update_causes": "none"
1499
2157
  },
1500
2158
  "HeartbeatTimeout": {
1501
- "description": "The amount of time that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action that you specified in the DefaultResult property.",
2159
+ "description": "The amount of time (in seconds) that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Amazon EC2 Auto Scaling performs the action that you specified in the DefaultResult property.",
1502
2160
  "required": false,
1503
2161
  "type": "Number",
1504
2162
  "update_causes": "none"
@@ -1516,13 +2174,13 @@
1516
2174
  "update_causes": "none"
1517
2175
  },
1518
2176
  "NotificationMetadata": {
1519
- "description": "Additional information that you want to include when Auto Scaling sends a message to the notification target.",
2177
+ "description": "Additional information that you want to include when Amazon EC2 Auto Scaling sends a message to the notification target.",
1520
2178
  "required": false,
1521
2179
  "type": "String",
1522
2180
  "update_causes": "none"
1523
2181
  },
1524
2182
  "NotificationTargetARN": {
1525
- "description": "The Amazon resource name (ARN) of the notification target that Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. You can specify an Amazon SQS queue or an Amazon SNS topic. The notification message includes the following information: lifecycle action token, user account ID, Auto Scaling group name, lifecycle hook name, instance ID, lifecycle transition, and notification metadata.",
2183
+ "description": "The Amazon resource name (ARN) of the notification target that Amazon EC2 Auto Scaling uses to notify you when an instance is in the transition state for the lifecycle hook. You can specify an Amazon SQS queue or an Amazon SNS topic. The notification message includes the following information: lifecycle action token, user account ID, Auto Scaling group name, lifecycle hook name, instance ID, lifecycle transition, and notification metadata.",
1526
2184
  "required": false,
1527
2185
  "type": "String",
1528
2186
  "update_causes": "none"
@@ -1555,7 +2213,7 @@
1555
2213
  "update_causes": "none"
1556
2214
  },
1557
2215
  "AutoScalingGroupName": {
1558
- "description": "The name or Amazon Resource Name (ARN) of the Auto Scaling Group that you want to attach the policy to.",
2216
+ "description": "The name or Amazon Resource Name (ARN) of the Auto Scaling group that you want to attach the policy to.",
1559
2217
  "required": true,
1560
2218
  "type": "String",
1561
2219
  "update_causes": "none"
@@ -1567,7 +2225,7 @@
1567
2225
  "update_causes": "none"
1568
2226
  },
1569
2227
  "EstimatedInstanceWarmup": {
1570
- "description": "The estimated time, in seconds, until a newly launched instance can send metrics to CloudWatch. By default, Auto Scaling uses the cooldown period, as specified in the Cooldown property.",
2228
+ "description": "The estimated time, in seconds, until a newly launched instance can send metrics to CloudWatch. By default, Amazon EC2 Auto Scaling uses the cooldown period, as specified in the Cooldown property.",
1571
2229
  "required": false,
1572
2230
  "type": "Number",
1573
2231
  "update_causes": "none"
@@ -1706,31 +2364,31 @@
1706
2364
  "description": "The name of the compute environment.",
1707
2365
  "required": false,
1708
2366
  "type": "String",
1709
- "update_causes": "unknown"
2367
+ "update_causes": "replacement"
1710
2368
  },
1711
2369
  "ComputeResources": {
1712
2370
  "description": "The compute resources defined for the compute environment.",
1713
- "required": false,
2371
+ "required": true,
1714
2372
  "type": "Unknown",
1715
- "update_causes": "unknown"
2373
+ "update_causes": "none"
1716
2374
  },
1717
2375
  "ServiceRole": {
1718
2376
  "description": "The service role associated with the compute environment that allows AWS Batch to make calls to AWS API operations on your behalf.",
1719
- "required": false,
2377
+ "required": true,
1720
2378
  "type": "String",
1721
- "update_causes": "unknown"
2379
+ "update_causes": "none"
1722
2380
  },
1723
2381
  "State": {
1724
2382
  "description": "The state of the compute environment. The valid values are ENABLED or DISABLED. An ENABLED state indicates that you can register instances with the compute environment and that the associated instances can accept jobs.",
1725
2383
  "required": false,
1726
2384
  "type": "String",
1727
- "update_causes": "unknown"
2385
+ "update_causes": "none"
1728
2386
  },
1729
2387
  "Type": {
1730
2388
  "description": "The type of the compute environment.",
1731
- "required": false,
2389
+ "required": true,
1732
2390
  "type": "String",
1733
- "update_causes": "unknown"
2391
+ "update_causes": "replacement"
1734
2392
  }
1735
2393
  },
1736
2394
  "path": "aws-resource-batch-computeenvironment.html",
@@ -1746,7 +2404,7 @@
1746
2404
  "full_properties": {
1747
2405
  "ContainerProperties": {
1748
2406
  "description": "An object with various properties specific to container-based jobs.",
1749
- "required": false,
2407
+ "required": true,
1750
2408
  "type": "Unknown",
1751
2409
  "update_causes": "unknown"
1752
2410
  },
@@ -1756,8 +2414,14 @@
1756
2414
  "type": "String",
1757
2415
  "update_causes": "unknown"
1758
2416
  },
2417
+ "NodeProperties": {
2418
+ "description": "An object representing the node properties of a multi-node parallel job.",
2419
+ "required": false,
2420
+ "type": "Unknown",
2421
+ "update_causes": "interrupt"
2422
+ },
1759
2423
  "Parameters": {
1760
- "description": "Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping.",
2424
+ "description": "Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. For more information about specifying parameters, see Job Definition Parameters in the AWS Batch User Guide.",
1761
2425
  "required": false,
1762
2426
  "type": "Unknown",
1763
2427
  "update_causes": "unknown"
@@ -1768,9 +2432,15 @@
1768
2432
  "type": "Unknown",
1769
2433
  "update_causes": "unknown"
1770
2434
  },
2435
+ "Timeout": {
2436
+ "description": "Specifies a job timeout configuration.",
2437
+ "required": false,
2438
+ "type": "Unknown",
2439
+ "update_causes": "unknown"
2440
+ },
1771
2441
  "Type": {
1772
2442
  "description": "The type of job definition.",
1773
- "required": false,
2443
+ "required": true,
1774
2444
  "type": "String",
1775
2445
  "update_causes": "unknown"
1776
2446
  }
@@ -1779,8 +2449,10 @@
1779
2449
  "properties": [
1780
2450
  "Type",
1781
2451
  "Parameters",
2452
+ "NodeProperties",
1782
2453
  "JobDefinitionName",
1783
2454
  "ContainerProperties",
2455
+ "Timeout",
1784
2456
  "RetryStrategy"
1785
2457
  ]
1786
2458
  },
@@ -1865,6 +2537,12 @@
1865
2537
  "required": false,
1866
2538
  "type": "Unknown",
1867
2539
  "update_causes": "none"
2540
+ },
2541
+ "ValidationMethod": {
2542
+ "description": "The method you want to use if you are requesting a public certificate to validate that you own or control a domain. Valid values include EMAIL or DNS. We recommend that you use DNS validation. The default is EMAIL.",
2543
+ "required": false,
2544
+ "type": "String",
2545
+ "update_causes": "replacement"
1868
2546
  }
1869
2547
  },
1870
2548
  "path": "aws-resource-certificatemanager-certificate.html",
@@ -1872,7 +2550,8 @@
1872
2550
  "DomainName",
1873
2551
  "DomainValidationOptions",
1874
2552
  "SubjectAlternativeNames",
1875
- "Tags"
2553
+ "Tags",
2554
+ "ValidationMethod"
1876
2555
  ]
1877
2556
  },
1878
2557
  "AWS::Cloud9::EnvironmentEC2": {
@@ -2008,6 +2687,14 @@
2008
2687
  "ServiceToken"
2009
2688
  ]
2010
2689
  },
2690
+ "AWS::CloudFormation::Init": {
2691
+ "full_properties": {
2692
+ },
2693
+ "path": "aws-resource-init.html",
2694
+ "properties": [
2695
+
2696
+ ]
2697
+ },
2011
2698
  "AWS::CloudFormation::Interface": {
2012
2699
  "full_properties": {
2013
2700
  "ParameterGroups": {
@@ -2029,6 +2716,48 @@
2029
2716
  "ParameterLabels"
2030
2717
  ]
2031
2718
  },
2719
+ "AWS::CloudFormation::Macro": {
2720
+ "full_properties": {
2721
+ "Description": {
2722
+ "description": "A description of the macro.",
2723
+ "required": false,
2724
+ "type": "String",
2725
+ "update_causes": "none"
2726
+ },
2727
+ "FunctionName": {
2728
+ "description": "The Amazon Resource Name (ARN) of the underlying AWS Lambda function that you want AWS CloudFormation to invoke when the macro is run.",
2729
+ "required": true,
2730
+ "type": "String",
2731
+ "update_causes": "none"
2732
+ },
2733
+ "LogGroupName": {
2734
+ "description": "The Amazon CloudWatch log group to which AWS CloudFormation sends error logging information when invoking the macro's underlying AWS Lambda function.",
2735
+ "required": false,
2736
+ "type": "String",
2737
+ "update_causes": "none"
2738
+ },
2739
+ "LogRoleARN": {
2740
+ "description": "The ARN of the role AWS CloudFormation should assume when sending log entries to CloudWatch logs.",
2741
+ "required": false,
2742
+ "type": "String",
2743
+ "update_causes": "none"
2744
+ },
2745
+ "Name": {
2746
+ "description": "The name of the macro. The name of the macro must be unique across all macros in the account.",
2747
+ "required": true,
2748
+ "type": "String",
2749
+ "update_causes": "replacement"
2750
+ }
2751
+ },
2752
+ "path": "aws-resource-cloudformation-macro.html",
2753
+ "properties": [
2754
+ "Description",
2755
+ "FunctionName",
2756
+ "LogGroupName",
2757
+ "LogRoleARN",
2758
+ "Name"
2759
+ ]
2760
+ },
2032
2761
  "AWS::CloudFormation::Stack": {
2033
2762
  "full_properties": {
2034
2763
  "NotificationARNs": {
@@ -2099,6 +2828,14 @@
2099
2828
  "Timeout"
2100
2829
  ]
2101
2830
  },
2831
+ "AWS::CloudFormation::WaitConditionHandle": {
2832
+ "full_properties": {
2833
+ },
2834
+ "path": "aws-properties-waitconditionhandle.html",
2835
+ "properties": [
2836
+
2837
+ ]
2838
+ },
2102
2839
  "AWS::CloudFront::CloudFrontOriginAccessIdentity": {
2103
2840
  "full_properties": {
2104
2841
  "CloudFrontOriginAccessIdentityConfig": {
@@ -2285,6 +3022,12 @@
2285
3022
  "type": "String",
2286
3023
  "update_causes": "none"
2287
3024
  },
3025
+ "DatapointsToAlarm": {
3026
+ "description": "The number of datapoints that must be breaching to trigger the alarm. This is used only if you are setting an \"M out of N\" alarm. In that case, this value is the M. For more information, see Evaluating an Alarm in the Amazon CloudWatch User Guide.",
3027
+ "required": false,
3028
+ "type": "Number",
3029
+ "update_causes": "none"
3030
+ },
2288
3031
  "Dimensions": {
2289
3032
  "description": "The dimensions of the metric for the alarm.",
2290
3033
  "required": false,
@@ -2310,20 +3053,26 @@
2310
3053
  "update_causes": "none"
2311
3054
  },
2312
3055
  "InsufficientDataActions": {
2313
- "description": "The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state. Specify each action as an Amazon Resource Number (ARN). Currently, the only action supported is publishing to an Amazon SNS topic or an Auto Scaling policy.",
3056
+ "description": "The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state. Specify each action as an Amazon Resource Number (ARN). Currently, the only supported actions are publishing to an Amazon SNS topic and publishing to an Auto Scaling policy.",
2314
3057
  "required": false,
2315
3058
  "type": "Array",
2316
3059
  "update_causes": "none"
2317
3060
  },
2318
3061
  "MetricName": {
2319
3062
  "description": "The name of the metric associated with the alarm. For more information about the metrics that you can specify, see Amazon CloudWatch Namespaces, Dimensions, and Metrics Reference in the Amazon CloudWatch User Guide.",
2320
- "required": true,
3063
+ "required": false,
2321
3064
  "type": "String",
2322
3065
  "update_causes": "none"
2323
3066
  },
3067
+ "Metrics": {
3068
+ "description": "Specifies the metric data to return.",
3069
+ "required": false,
3070
+ "type": "Array",
3071
+ "update_causes": "none"
3072
+ },
2324
3073
  "Namespace": {
2325
3074
  "description": "The namespace of the metric that is associated with the alarm.",
2326
- "required": true,
3075
+ "required": false,
2327
3076
  "type": "String",
2328
3077
  "update_causes": "none"
2329
3078
  },
@@ -2335,7 +3084,7 @@
2335
3084
  },
2336
3085
  "Period": {
2337
3086
  "description": "The time over which the specified statistic is applied. Specify time in seconds, in multiples of 60.",
2338
- "required": true,
3087
+ "required": false,
2339
3088
  "type": "Number",
2340
3089
  "update_causes": "none"
2341
3090
  },
@@ -2371,12 +3120,14 @@
2371
3120
  "AlarmDescription",
2372
3121
  "AlarmName",
2373
3122
  "ComparisonOperator",
3123
+ "DatapointsToAlarm",
2374
3124
  "Dimensions",
2375
3125
  "EvaluateLowSampleCountPercentile",
2376
3126
  "EvaluationPeriods",
2377
3127
  "ExtendedStatistic",
2378
3128
  "InsufficientDataActions",
2379
3129
  "MetricName",
3130
+ "Metrics",
2380
3131
  "Namespace",
2381
3132
  "OKActions",
2382
3133
  "Period",
@@ -2445,12 +3196,30 @@
2445
3196
  "type": "Unknown",
2446
3197
  "update_causes": "none"
2447
3198
  },
3199
+ "LogsConfig": {
3200
+ "description": "Information about logs for this build project.",
3201
+ "required": false,
3202
+ "type": "Unknown",
3203
+ "update_causes": "none"
3204
+ },
2448
3205
  "Name": {
2449
3206
  "description": "A name for the project. The name must be unique across all of the projects in your AWS account.",
2450
3207
  "required": true,
2451
3208
  "type": "String",
2452
3209
  "update_causes": "replacement"
2453
3210
  },
3211
+ "SecondaryArtifacts": {
3212
+ "description": "An array of artifacts objects. Each artifacts object specifies output settings that the project generates during a build.",
3213
+ "required": false,
3214
+ "type": "Array",
3215
+ "update_causes": "none"
3216
+ },
3217
+ "SecondarySources": {
3218
+ "description": "An array of source objects. Each source object contains source code settings for the project.",
3219
+ "required": false,
3220
+ "type": "Array",
3221
+ "update_causes": "none"
3222
+ },
2454
3223
  "ServiceRole": {
2455
3224
  "description": "The ARN of the service role that AWS CodeBuild uses to interact with services on your behalf.",
2456
3225
  "required": true,
@@ -2496,7 +3265,10 @@
2496
3265
  "Description",
2497
3266
  "EncryptionKey",
2498
3267
  "Environment",
3268
+ "LogsConfig",
2499
3269
  "Name",
3270
+ "SecondaryArtifacts",
3271
+ "SecondarySources",
2500
3272
  "ServiceRole",
2501
3273
  "Source",
2502
3274
  "Tags",
@@ -2542,7 +3314,7 @@
2542
3314
  "update_causes": "unavailable"
2543
3315
  },
2544
3316
  "ComputePlatform": {
2545
- "description": "The compute platform that AWS CodeDeploy deploys the application to.",
3317
+ "description": "The compute platform that AWS CodeDeploy deploys the application to. For valid values see CreateApplication in the AWS CodeDeploy API Reference.",
2546
3318
  "required": false,
2547
3319
  "type": "String",
2548
3320
  "update_causes": "replacement"
@@ -2631,6 +3403,12 @@
2631
3403
  "type": "Array",
2632
3404
  "update_causes": "none"
2633
3405
  },
3406
+ "Ec2TagSet": {
3407
+ "description": "Specifies information about groups of tags applied to EC2 instances. The deployment group will include only EC2 instances identified by all the tag groups.",
3408
+ "required": false,
3409
+ "type": "Unknown",
3410
+ "update_causes": "none"
3411
+ },
2634
3412
  "LoadBalancerInfo": {
2635
3413
  "description": "Information about the load balancer used in the deployment. For more information, see Integrating AWS CodeDeploy with Elastic Load Balancing in the AWS CodeDeploy User Guide.",
2636
3414
  "required": false,
@@ -2643,6 +3421,12 @@
2643
3421
  "type": "Array",
2644
3422
  "update_causes": "none"
2645
3423
  },
3424
+ "OnPremisesInstanceTagSet": {
3425
+ "description": "Information about groups of tags applied to on-premises instances. The deployment group will include only on-premises instances identified by all the tag groups.",
3426
+ "required": false,
3427
+ "type": "Unknown",
3428
+ "update_causes": "none"
3429
+ },
2646
3430
  "ServiceRoleArn": {
2647
3431
  "description": "A service role Amazon Resource Name (ARN) that grants AWS CodeDeploy permission to make calls to AWS services on your behalf. For more information, see Create a Service Role for AWS CodeDeploy in the AWS CodeDeploy User Guide.",
2648
3432
  "required": true,
@@ -2667,8 +3451,10 @@
2667
3451
  "DeploymentGroupName",
2668
3452
  "DeploymentStyle",
2669
3453
  "Ec2TagFilters",
3454
+ "Ec2TagSet",
2670
3455
  "LoadBalancerInfo",
2671
3456
  "OnPremisesInstanceTagFilters",
3457
+ "OnPremisesInstanceTagSet",
2672
3458
  "ServiceRoleArn",
2673
3459
  "TriggerConfigurations"
2674
3460
  ]
@@ -2712,9 +3498,9 @@
2712
3498
  "update_causes": "replacement"
2713
3499
  },
2714
3500
  "Version": {
2715
- "description": "The version number of this custom action.",
2716
- "required": false,
2717
- "type": "String",
3501
+ "description": "The version number of this custom action. For length constraints, see the version parameter of the CreateCustomActionType action in the AWS CodePipeline API Reference.",
3502
+ "required": true,
3503
+ "type": "Unknown",
2718
3504
  "update_causes": "replacement"
2719
3505
  }
2720
3506
  },
@@ -2732,11 +3518,17 @@
2732
3518
  "AWS::CodePipeline::Pipeline": {
2733
3519
  "full_properties": {
2734
3520
  "ArtifactStore": {
2735
- "description": "The Amazon Simple Storage Service (Amazon S3) location where AWS CodePipeline stores pipeline artifacts. For more information, see Create an Amazon S3 Bucket for Your Application in the AWS CodePipeline User Guide.",
2736
- "required": true,
3521
+ "description": "The Amazon Simple Storage Service (Amazon S3) location where AWS CodePipeline stores pipeline artifacts. You can only use either ArtifactStore or ArtifactStores, not both. For more information, see Create an Amazon S3 Bucket for Your Application in the AWS CodePipeline User Guide.",
3522
+ "required": false,
2737
3523
  "type": "Unknown",
2738
3524
  "update_causes": "none"
2739
3525
  },
3526
+ "ArtifactStores": {
3527
+ "description": "Specifies a list of ArtifactStoreMap mappings. There must be an artifact store for the pipeline region and for each cross-region action within the pipeline. You can only use either ArtifactStore or ArtifactStores, not both.",
3528
+ "required": false,
3529
+ "type": "Array",
3530
+ "update_causes": "none"
3531
+ },
2740
3532
  "DisableInboundStageTransitions": {
2741
3533
  "description": "Prevents artifacts in a pipeline from transitioning to the stage that you specified. This enables you to manually control transitions.",
2742
3534
  "required": false,
@@ -2764,13 +3556,14 @@
2764
3556
  "Stages": {
2765
3557
  "description": "Defines the AWS CodePipeline pipeline stages.",
2766
3558
  "required": true,
2767
- "type": "Unknown",
3559
+ "type": "Array",
2768
3560
  "update_causes": "none"
2769
3561
  }
2770
3562
  },
2771
3563
  "path": "aws-resource-codepipeline-pipeline.html",
2772
3564
  "properties": [
2773
3565
  "ArtifactStore",
3566
+ "ArtifactStores",
2774
3567
  "DisableInboundStageTransitions",
2775
3568
  "Name",
2776
3569
  "RestartExecutionOnUpdate",
@@ -2778,6 +3571,69 @@
2778
3571
  "Stages"
2779
3572
  ]
2780
3573
  },
3574
+ "AWS::CodePipeline::Webhook": {
3575
+ "full_properties": {
3576
+ "Authentication": {
3577
+ "description": "The type of authentication scheme that allows the trigger request to be accepted. For more information, see Webhook Definition in the AWS CodePipeline API Reference.",
3578
+ "required": true,
3579
+ "type": "String",
3580
+ "update_causes": "none"
3581
+ },
3582
+ "AuthenticationConfiguration": {
3583
+ "description": "Properties that configure the authentication applied to incoming webhook trigger requests. For more information, see Webhook Definition in the AWS CodePipeline API Reference.",
3584
+ "required": true,
3585
+ "type": "Unknown",
3586
+ "update_causes": "none"
3587
+ },
3588
+ "Filters": {
3589
+ "description": "A list of rules applied to the body/payload sent in the POST request to a webhook URL. All defined rules must pass for the request to be accepted and the pipeline started.",
3590
+ "required": true,
3591
+ "type": "Array",
3592
+ "update_causes": "none"
3593
+ },
3594
+ "Name": {
3595
+ "description": "The name of the webhook to be created and, if applicable, to register with a supported third party.",
3596
+ "required": false,
3597
+ "type": "String",
3598
+ "update_causes": "replacement"
3599
+ },
3600
+ "RegisterWithThirdParty": {
3601
+ "description": "Indicates whether to register the webhook with a third party. Third party registration configures a connection between the webhook that was created and the external tool, such as GitHub, with events to be detected.",
3602
+ "required": false,
3603
+ "type": "Boolean",
3604
+ "update_causes": "none"
3605
+ },
3606
+ "TargetAction": {
3607
+ "description": "The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.",
3608
+ "required": true,
3609
+ "type": "String",
3610
+ "update_causes": "none"
3611
+ },
3612
+ "TargetPipeline": {
3613
+ "description": "The name of the pipeline you want to connect to the webhook.",
3614
+ "required": true,
3615
+ "type": "String",
3616
+ "update_causes": "none"
3617
+ },
3618
+ "TargetPipelineVersion": {
3619
+ "description": "The version number of the pipeline to be connected to the trigger request.",
3620
+ "required": true,
3621
+ "type": "Number",
3622
+ "update_causes": "none"
3623
+ }
3624
+ },
3625
+ "path": "aws-resource-codepipeline-webhook.html",
3626
+ "properties": [
3627
+ "Authentication",
3628
+ "AuthenticationConfiguration",
3629
+ "Filters",
3630
+ "Name",
3631
+ "RegisterWithThirdParty",
3632
+ "TargetAction",
3633
+ "TargetPipeline",
3634
+ "TargetPipelineVersion"
3635
+ ]
3636
+ },
2781
3637
  "AWS::Cognito::IdentityPool": {
2782
3638
  "full_properties": {
2783
3639
  "AllowUnauthenticatedIdentities": {
@@ -2892,13 +3748,13 @@
2892
3748
  "update_causes": "none"
2893
3749
  },
2894
3750
  "AliasAttributes": {
2895
- "description": "Attributes supported as an alias for this user pool. Possible values: phone_number, email, and/or preferred_username.",
3751
+ "description": "Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.",
2896
3752
  "required": false,
2897
3753
  "type": "Array",
2898
- "update_causes": "none"
3754
+ "update_causes": "replacement"
2899
3755
  },
2900
3756
  "AutoVerifiedAttributes": {
2901
- "description": "The attributes to be auto-verified. Possible values: email and/or phone_number.",
3757
+ "description": "The attributes to be auto-verified. Possible values: email or phone_number.",
2902
3758
  "required": false,
2903
3759
  "type": "Array",
2904
3760
  "update_causes": "none"
@@ -2980,6 +3836,12 @@
2980
3836
  "required": false,
2981
3837
  "type": "String",
2982
3838
  "update_causes": "none"
3839
+ },
3840
+ "UsernameAttributes": {
3841
+ "description": "Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up. Possible values: phone_number or email.",
3842
+ "required": false,
3843
+ "type": "Array",
3844
+ "update_causes": "replacement"
2983
3845
  }
2984
3846
  },
2985
3847
  "path": "aws-resource-cognito-userpool.html",
@@ -2994,11 +3856,12 @@
2994
3856
  "LambdaConfig",
2995
3857
  "MfaConfiguration",
2996
3858
  "Policies",
2997
- "UserPoolName",
2998
3859
  "Schema",
2999
3860
  "SmsAuthenticationMessage",
3000
3861
  "SmsConfiguration",
3001
3862
  "SmsVerificationMessage",
3863
+ "UsernameAttributes",
3864
+ "UserPoolName",
3002
3865
  "UserPoolTags"
3003
3866
  ]
3004
3867
  },
@@ -3011,7 +3874,7 @@
3011
3874
  "update_causes": "none"
3012
3875
  },
3013
3876
  "ExplicitAuthFlows": {
3014
- "description": "The explicit authentication flows, which can be one of the following: ADMIN_NO_SRP_AUTH or CUSTOM_AUTH_FLOW_ONLY.",
3877
+ "description": "The explicit authentication flows, which can be one of the following: ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, or USER_PASSWORD_AUTH.",
3015
3878
  "required": false,
3016
3879
  "type": "Array",
3017
3880
  "update_causes": "none"
@@ -3408,6 +4271,12 @@
3408
4271
  "type": "Number",
3409
4272
  "update_causes": "interrupt"
3410
4273
  },
4274
+ "SSESpecification": {
4275
+ "description": "Whether server-side encryption is enabled or not.",
4276
+ "required": false,
4277
+ "type": "Unknown",
4278
+ "update_causes": "replacement"
4279
+ },
3411
4280
  "SecurityGroupIds": {
3412
4281
  "description": "A list of security group IDs to be assigned to each node in the DAX cluster. (Each of the security group ID is system-generated.)",
3413
4282
  "required": false,
@@ -3439,6 +4308,7 @@
3439
4308
  "PreferredMaintenanceWindow",
3440
4309
  "ReplicationFactor",
3441
4310
  "SecurityGroupIds",
4311
+ "SSESpecification",
3442
4312
  "SubnetGroupName",
3443
4313
  "Tags"
3444
4314
  ]
@@ -3477,26 +4347,61 @@
3477
4347
  "description": "The description of the subnet group.",
3478
4348
  "required": false,
3479
4349
  "type": "String",
3480
- "update_causes": "none"
4350
+ "update_causes": "none"
4351
+ },
4352
+ "SubnetGroupName": {
4353
+ "description": "The name of the subnet group.",
4354
+ "required": false,
4355
+ "type": "String",
4356
+ "update_causes": "unavailable"
4357
+ },
4358
+ "SubnetIds": {
4359
+ "description": "A list of subnets associated with the subnet group.",
4360
+ "required": false,
4361
+ "type": "Array",
4362
+ "update_causes": "none"
4363
+ }
4364
+ },
4365
+ "path": "aws-resource-dax-subnetgroup.html",
4366
+ "properties": [
4367
+ "SubnetGroupName",
4368
+ "Description",
4369
+ "SubnetIds"
4370
+ ]
4371
+ },
4372
+ "AWS::DLM::LifecyclePolicy": {
4373
+ "full_properties": {
4374
+ "Description": {
4375
+ "description": "The description of the lifecycle policy.",
4376
+ "required": false,
4377
+ "type": "String",
4378
+ "update_causes": "interrupt"
4379
+ },
4380
+ "ExecutionRoleArn": {
4381
+ "description": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.",
4382
+ "required": false,
4383
+ "type": "String",
4384
+ "update_causes": "interrupt"
3481
4385
  },
3482
- "SubnetGroupName": {
3483
- "description": "The name of the subnet group.",
4386
+ "PolicyDetails": {
4387
+ "description": "The configuration of the lifecycle policy.",
3484
4388
  "required": false,
3485
- "type": "String",
3486
- "update_causes": "unavailable"
4389
+ "type": "Unknown",
4390
+ "update_causes": "interrupt"
3487
4391
  },
3488
- "SubnetIds": {
3489
- "description": "A list of subnets associated with the subnet group.",
4392
+ "State": {
4393
+ "description": "The activation state of the lifecycle policy.",
3490
4394
  "required": false,
3491
- "type": "Array",
3492
- "update_causes": "none"
4395
+ "type": "String",
4396
+ "update_causes": "interrupt"
3493
4397
  }
3494
4398
  },
3495
- "path": "aws-resource-dax-subnetgroup.html",
4399
+ "path": "aws-resource-dlm-lifecyclepolicy.html",
3496
4400
  "properties": [
3497
- "SubnetGroupName",
3498
4401
  "Description",
3499
- "SubnetIds"
4402
+ "ExecutionRoleArn",
4403
+ "PolicyDetails",
4404
+ "State"
3500
4405
  ]
3501
4406
  },
3502
4407
  "AWS::DMS::Certificate": {
@@ -3560,7 +4465,7 @@
3560
4465
  "update_causes": "none"
3561
4466
  },
3562
4467
  "EngineName": {
3563
- "description": "The type of engine for the endpoint. Valid values depend on the EndPointType and include MYSQL, ORACLE, POSTGRES, MARIADB, AURORA, REDSHIFT, S3, SYBASE, DYNAMODB, MONGODB, and SQLSERVER.",
4468
+ "description": "The type of engine for the endpoint. Valid values depend on the EndPointType and include mysql, oracle, postgres, mariadb, aurora, aurora-postgresql, redshift, s3, db2, azuredb, sybase, dynamodb, mongodb, and sqlserver.",
3564
4469
  "required": true,
3565
4470
  "type": "Unknown",
3566
4471
  "update_causes": "none"
@@ -3621,7 +4526,7 @@
3621
4526
  },
3622
4527
  "Username": {
3623
4528
  "description": "The user name to be used to login to the endpoint database.",
3624
- "required": true,
4529
+ "required": false,
3625
4530
  "type": "String",
3626
4531
  "update_causes": "none"
3627
4532
  }
@@ -4020,7 +4925,7 @@
4020
4925
  "AWS::DirectoryService::SimpleAD": {
4021
4926
  "full_properties": {
4022
4927
  "CreateAlias": {
4023
- "description": "A unique alias to assign to the directory. AWS Directory Service uses the alias to construct the access URL for the directory, such as http://alias.awsapps.com. By default, AWS CloudFormation does not create an alias.",
4928
+ "description": "If set to true, creates an alias for a directory and assigns the alias to the directory. AWS Directory Service uses the alias to construct the access URL for the directory, such as http://alias.awsapps.com. By default, this property is set to false.",
4024
4929
  "required": false,
4025
4930
  "type": "Boolean",
4026
4931
  "update_causes": "replacement"
@@ -4252,6 +5157,90 @@
4252
5157
  "Tags"
4253
5158
  ]
4254
5159
  },
5160
+ "AWS::EC2::EC2Fleet": {
5161
+ "full_properties": {
5162
+ "ExcessCapacityTerminationPolicy": {
5163
+ "description": "Indicates whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2 Fleet.",
5164
+ "required": false,
5165
+ "type": "String",
5166
+ "update_causes": "none"
5167
+ },
5168
+ "LaunchTemplateConfigs": {
5169
+ "description": "The configuration for the EC2 Fleet.",
5170
+ "required": true,
5171
+ "type": "Array",
5172
+ "update_causes": "replacement"
5173
+ },
5174
+ "OnDemandOptions": {
5175
+ "description": "The allocation strategy of On-Demand Instances in an EC2 Fleet.",
5176
+ "required": false,
5177
+ "type": "Unknown",
5178
+ "update_causes": "replacement"
5179
+ },
5180
+ "ReplaceUnhealthyInstances": {
5181
+ "description": "Indicates whether EC2 Fleet should replace unhealthy instances.",
5182
+ "required": false,
5183
+ "type": "Boolean",
5184
+ "update_causes": "replacement"
5185
+ },
5186
+ "SpotOptions": {
5187
+ "description": "Describes the configuration of Spot Instances in an EC2 Fleet.",
5188
+ "required": false,
5189
+ "type": "Unknown",
5190
+ "update_causes": "replacement"
5191
+ },
5192
+ "TagSpecifications": {
5193
+ "description": "The key-value pair for tagging the EC2 Fleet request on creation. The value for ResourceType must be fleet, otherwise the fleet request fails. To tag instances at launch, specify the tags in the launch template. For information about tagging after launch, see Tagging Your Resources.",
5194
+ "required": false,
5195
+ "type": "Unknown",
5196
+ "update_causes": "replacement"
5197
+ },
5198
+ "TargetCapacitySpecification": {
5199
+ "description": "The TotalTargetCapacity, OnDemandTargetCapacity, SpotTargetCapacity, and DefaultCapacityType structure.",
5200
+ "required": true,
5201
+ "type": "Unknown",
5202
+ "update_causes": "none"
5203
+ },
5204
+ "TerminateInstancesWithExpiration": {
5205
+ "description": "Indicates whether running instances should be terminated when the EC2 Fleet expires.",
5206
+ "required": false,
5207
+ "type": "Boolean",
5208
+ "update_causes": "replacement"
5209
+ },
5210
+ "Type": {
5211
+ "description": "The type of the request. By default, the EC2 Fleet places an asynchronous request for your desired capacity, and maintains it by replenishing interrupted Spot Instances (maintain). A value of instant places a synchronous one-time request, and returns errors for any instances that could not be launched. A value of request places an asynchronous one-time request without maintaining capacity or submitting requests in alternative capacity pools if capacity is unavailable. For more information, see EC2 Fleet Request Types in the Amazon EC2 User Guide for Linux Instances.",
5212
+ "required": false,
5213
+ "type": "Unknown",
5214
+ "update_causes": "replacement"
5215
+ },
5216
+ "ValidFrom": {
5217
+ "description": "The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.",
5218
+ "required": false,
5219
+ "type": "Number",
5220
+ "update_causes": "replacement"
5221
+ },
5222
+ "ValidUntil": {
5223
+ "description": "The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new EC2 Fleet requests are placed or able to fulfill the request. The default end date is 7 days from the current date.",
5224
+ "required": false,
5225
+ "type": "Number",
5226
+ "update_causes": "replacement"
5227
+ }
5228
+ },
5229
+ "path": "aws-resource-ec2-ec2fleet.html",
5230
+ "properties": [
5231
+ "ExcessCapacityTerminationPolicy",
5232
+ "LaunchTemplateConfigs",
5233
+ "OnDemandOptions",
5234
+ "ReplaceUnhealthyInstances",
5235
+ "SpotOptions",
5236
+ "TagSpecifications",
5237
+ "TargetCapacitySpecification",
5238
+ "TerminateInstancesWithExpiration",
5239
+ "Type",
5240
+ "ValidFrom",
5241
+ "ValidUntil"
5242
+ ]
5243
+ },
4255
5244
  "AWS::EC2::EIP": {
4256
5245
  "full_properties": {
4257
5246
  "Domain": {
@@ -4265,12 +5254,19 @@
4265
5254
  "required": false,
4266
5255
  "type": "String",
4267
5256
  "update_causes": "none"
5257
+ },
5258
+ "PublicIpv4Pool": {
5259
+ "description": "Specifies the ID of an address pool that you own to let Amazon EC2 select an address from the address pool.",
5260
+ "required": false,
5261
+ "type": "String",
5262
+ "update_causes": "none"
4268
5263
  }
4269
5264
  },
4270
5265
  "path": "aws-properties-ec2-eip.html",
4271
5266
  "properties": [
5267
+ "Domain",
4272
5268
  "InstanceId",
4273
- "Domain"
5269
+ "PublicIpv4Pool"
4274
5270
  ]
4275
5271
  },
4276
5272
  "AWS::EC2::EIPAssociation": {
@@ -4345,14 +5341,26 @@
4345
5341
  "full_properties": {
4346
5342
  "DeliverLogsPermissionArn": {
4347
5343
  "description": "The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that permits Amazon EC2 to publish flow logs to a CloudWatch Logs log group in your account.",
4348
- "required": true,
4349
- "type": "String",
5344
+ "required": false,
5345
+ "type": "Unknown",
5346
+ "update_causes": "replacement"
5347
+ },
5348
+ "LogDestination": {
5349
+ "description": "Specifies the destination to which the flow log data is to be published. Flow log data can be published to a CloudWatch Logs log group or an Amazon S3 bucket. The value specified for this parameter depends on the value specified for LogDestinationType.",
5350
+ "required": false,
5351
+ "type": "Unknown",
5352
+ "update_causes": "replacement"
5353
+ },
5354
+ "LogDestinationType": {
5355
+ "description": "Specifies the type of destination to which the flow log data is to be published. Flow log data can be published to CloudWatch Logs or Amazon S3. To publish flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow log data to Amazon S3, specify s3.",
5356
+ "required": false,
5357
+ "type": "Unknown",
4350
5358
  "update_causes": "replacement"
4351
5359
  },
4352
5360
  "LogGroupName": {
4353
5361
  "description": "The name of a new or existing CloudWatch Logs log group where Amazon EC2 publishes your flow logs.",
4354
- "required": true,
4355
- "type": "String",
5362
+ "required": false,
5363
+ "type": "Unknown",
4356
5364
  "update_causes": "replacement"
4357
5365
  },
4358
5366
  "ResourceId": {
@@ -4377,6 +5385,8 @@
4377
5385
  "path": "aws-resource-ec2-flowlog.html",
4378
5386
  "properties": [
4379
5387
  "DeliverLogsPermissionArn",
5388
+ "LogDestination",
5389
+ "LogDestinationType",
4380
5390
  "LogGroupName",
4381
5391
  "ResourceId",
4382
5392
  "ResourceType",
@@ -4495,7 +5505,7 @@
4495
5505
  "update_causes": "none"
4496
5506
  },
4497
5507
  "InstanceType": {
4498
- "description": "The instance type, such as t2.micro. The default type is \"m3.medium\". For a list of instance types, see Instance Families and Types.",
5508
+ "description": "The instance type, such as t2.micro. The default type is m1.small. For a list of instance types, see Instance Families and Types.",
4499
5509
  "required": false,
4500
5510
  "type": "Array",
4501
5511
  "update_causes": [
@@ -5093,7 +6103,7 @@
5093
6103
  "Tags": {
5094
6104
  "description": "The tags that you want to attach to the resource.",
5095
6105
  "required": false,
5096
- "type": "Unknown",
6106
+ "type": "Array",
5097
6107
  "update_causes": "none"
5098
6108
  },
5099
6109
  "VpcId": {
@@ -5227,6 +6237,12 @@
5227
6237
  "type": "String",
5228
6238
  "update_causes": "replacement"
5229
6239
  },
6240
+ "SourcePrefixListId": {
6241
+ "description": "The AWS service prefix of an Amazon VPC endpoint. For more information, see VPC Endpoints in the Amazon VPC User Guide.",
6242
+ "required": false,
6243
+ "type": "String",
6244
+ "update_causes": "replacement"
6245
+ },
5230
6246
  "SourceSecurityGroupId": {
5231
6247
  "description": "Specifies the ID of the source security group or uses the Ref intrinsic function to refer to the logical ID of a security group defined in the same template.",
5232
6248
  "required": false,
@@ -5261,6 +6277,7 @@
5261
6277
  "GroupId",
5262
6278
  "GroupName",
5263
6279
  "IpProtocol",
6280
+ "SourcePrefixListId",
5264
6281
  "SourceSecurityGroupId",
5265
6282
  "SourceSecurityGroupName",
5266
6283
  "SourceSecurityGroupOwnerId",
@@ -5494,25 +6511,49 @@
5494
6511
  "AWS::EC2::VPCEndpoint": {
5495
6512
  "full_properties": {
5496
6513
  "PolicyDocument": {
5497
- "description": "A policy to attach to the endpoint that controls access to the service. The policy must be valid JSON. The default policy allows full access to the AWS service. For more information, see Controlling Access to Services in the Amazon VPC User Guide.",
6514
+ "description": "[Gateway endpoint] A policy to attach to the endpoint that controls access to the service. The policy must be valid JSON. The default policy allows full access to the AWS service. For more information, see Controlling Access to Services in the Amazon VPC User Guide.",
5498
6515
  "required": false,
5499
6516
  "type": "Unknown",
5500
6517
  "update_causes": "none"
5501
6518
  },
6519
+ "PrivateDnsEnabled": {
6520
+ "description": "[Interface endpoint] Indicates whether to associate a private hosted zone with the specified VPC.",
6521
+ "required": false,
6522
+ "type": "Boolean",
6523
+ "update_causes": "none"
6524
+ },
5502
6525
  "RouteTableIds": {
5503
- "description": "One or more route table IDs that are used by the VPC to reach the endpoint.",
6526
+ "description": "[Gateway endpoint] One or more route table IDs that are used by the VPC to reach the endpoint.",
6527
+ "required": false,
6528
+ "type": "Array",
6529
+ "update_causes": "none"
6530
+ },
6531
+ "SecurityGroupIds": {
6532
+ "description": "[Interface endpoint] The ID of one or more security groups to associate with the endpoint network interface.",
5504
6533
  "required": false,
5505
6534
  "type": "Array",
5506
6535
  "update_causes": "none"
5507
6536
  },
5508
6537
  "ServiceName": {
5509
- "description": "The AWS service to which you want to establish a connection. Specify the service name in the form of com.amazonaws.region.service.",
6538
+ "description": "The name of the service. To get a list of available services, use DescribeVpcEndpointServices or get the name from the service provider.",
5510
6539
  "required": true,
5511
6540
  "type": "String",
5512
6541
  "update_causes": "replacement"
5513
6542
  },
6543
+ "SubnetIds": {
6544
+ "description": "[Interface endpoint] The ID of one or more subnets in which to create an endpoint network interface.",
6545
+ "required": false,
6546
+ "type": "Array",
6547
+ "update_causes": "none"
6548
+ },
6549
+ "VpcEndpointType": {
6550
+ "description": "The type of endpoint. Valid values are Interface and Gateway.",
6551
+ "required": false,
6552
+ "type": "String",
6553
+ "update_causes": "none"
6554
+ },
5514
6555
  "VpcId": {
5515
- "description": "The ID of the VPC in which the endpoint is used.",
6556
+ "description": "The ID of the VPC in which the endpoint will be used.",
5516
6557
  "required": true,
5517
6558
  "type": "String",
5518
6559
  "update_causes": "replacement"
@@ -5520,12 +6561,93 @@
5520
6561
  },
5521
6562
  "path": "aws-resource-ec2-vpcendpoint.html",
5522
6563
  "properties": [
6564
+ "PrivateDnsEnabled",
5523
6565
  "PolicyDocument",
5524
6566
  "RouteTableIds",
6567
+ "SecurityGroupIds",
5525
6568
  "ServiceName",
6569
+ "SubnetIds",
6570
+ "VpcEndpointType",
5526
6571
  "VpcId"
5527
6572
  ]
5528
6573
  },
6574
+ "AWS::EC2::VPCEndpointConnectionNotification": {
6575
+ "full_properties": {
6576
+ "ConnectionEvents": {
6577
+ "description": "One or more endpoint events for which to receive notifications. Valid values are Accept, Connect, Delete, and Reject.",
6578
+ "required": true,
6579
+ "type": "Array",
6580
+ "update_causes": "none"
6581
+ },
6582
+ "ConnectionNotificationArn": {
6583
+ "description": "The ARN of the SNS topic for the notifications.",
6584
+ "required": true,
6585
+ "type": "String",
6586
+ "update_causes": "none"
6587
+ },
6588
+ "ServiceId": {
6589
+ "description": "The ID of the endpoint service.",
6590
+ "required": false,
6591
+ "type": "String",
6592
+ "update_causes": "none"
6593
+ },
6594
+ "VPCEndpointId": {
6595
+ "description": "The ID of the endpoint.",
6596
+ "required": false,
6597
+ "type": "String",
6598
+ "update_causes": "none"
6599
+ }
6600
+ },
6601
+ "path": "aws-resource-ec2-vpcendpointconnectionnotification.html",
6602
+ "properties": [
6603
+ "ConnectionEvents",
6604
+ "ConnectionNotificationArn",
6605
+ "ServiceId",
6606
+ "VPCEndpointId"
6607
+ ]
6608
+ },
6609
+ "AWS::EC2::VPCEndpointService": {
6610
+ "full_properties": {
6611
+ "AcceptanceRequired": {
6612
+ "description": "Indicate whether requests from service consumers to create an endpoint to your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.",
6613
+ "required": false,
6614
+ "type": "Boolean",
6615
+ "update_causes": "none"
6616
+ },
6617
+ "NetworkLoadBalancerArns": {
6618
+ "description": "The Amazon Resource Names (ARNs) of one or more Network Load Balancers for your service.",
6619
+ "required": true,
6620
+ "type": "Array",
6621
+ "update_causes": "none"
6622
+ }
6623
+ },
6624
+ "path": "aws-resource-ec2-vpcendpointservice.html",
6625
+ "properties": [
6626
+ "AcceptanceRequired",
6627
+ "NetworkLoadBalancerArns"
6628
+ ]
6629
+ },
6630
+ "AWS::EC2::VPCEndpointServicePermissions": {
6631
+ "full_properties": {
6632
+ "AllowedPrincipals": {
6633
+ "description": "The Amazon Resource Names (ARN) of one or more principals (IAM users, IAM roles, and AWS accounts). Permissions are granted to the principals in this list. To grant permissions to all principals, specify an asterisk (*). Permissions are revoked for principals not in this list. If the list is empty, then all permissions are revoked.",
6634
+ "required": false,
6635
+ "type": "Array",
6636
+ "update_causes": "none"
6637
+ },
6638
+ "ServiceId": {
6639
+ "description": "The ID of the VPC endpoint service.",
6640
+ "required": true,
6641
+ "type": "String",
6642
+ "update_causes": "replacement"
6643
+ }
6644
+ },
6645
+ "path": "aws-resource-ec2-vpcendpointservicepermissions.html",
6646
+ "properties": [
6647
+ "AllowedPrincipals",
6648
+ "ServiceId"
6649
+ ]
6650
+ },
5529
6651
  "AWS::EC2::VPCGatewayAttachment": {
5530
6652
  "full_properties": {
5531
6653
  "InternetGatewayId": {
@@ -5562,6 +6684,12 @@
5562
6684
  "type": "String",
5563
6685
  "update_causes": "replacement"
5564
6686
  },
6687
+ "PeerRegion": {
6688
+ "description": "The region code for the accepter VPC, if the accepter VPC is located in a region other than the region in which you make the request. The default is the region in which you make the request.",
6689
+ "required": false,
6690
+ "type": "String",
6691
+ "update_causes": "replacement"
6692
+ },
5565
6693
  "PeerRoleArn": {
5566
6694
  "description": "The Amazon Resource Name (ARN) of the VPC peer role for the peering connection in another AWS account.",
5567
6695
  "required": false,
@@ -5593,6 +6721,7 @@
5593
6721
  "Tags",
5594
6722
  "VpcId",
5595
6723
  "PeerOwnerId",
6724
+ "PeerRegion",
5596
6725
  "PeerRoleArn"
5597
6726
  ]
5598
6727
  },
@@ -5672,7 +6801,7 @@
5672
6801
  "description": "The private Autonomous System Number (ASN) for the Amazon side of a BGP session.",
5673
6802
  "required": false,
5674
6803
  "type": "Unknown",
5675
- "update_causes": "none"
6804
+ "update_causes": "replacement"
5676
6805
  },
5677
6806
  "Tags": {
5678
6807
  "description": "An arbitrary set of tags (key–value pairs) for this resource.",
@@ -5923,6 +7052,12 @@
5923
7052
  "type": "String",
5924
7053
  "update_causes": "replacement"
5925
7054
  },
7055
+ "SchedulingStrategy": {
7056
+ "description": "The scheduling strategy to use for the service.",
7057
+ "required": false,
7058
+ "type": "String",
7059
+ "update_causes": "replacement"
7060
+ },
5926
7061
  "ServiceName": {
5927
7062
  "description": "The name of your service. The name is limited to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a region or across multiple regions.",
5928
7063
  "required": false,
@@ -5933,7 +7068,7 @@
5933
7068
  "description": "Details of the service registry.",
5934
7069
  "required": false,
5935
7070
  "type": "Unknown",
5936
- "update_causes": "none"
7071
+ "update_causes": "replacement"
5937
7072
  },
5938
7073
  "TaskDefinition": {
5939
7074
  "description": "The ARN of the task definition (including the revision number) that you want to run on the cluster, such as arn:aws:ecs:us-east-1:123456789012:task-definition/mytask:3. You can't use :latest to specify a revision because it's ambiguous. For example, if AWS CloudFormation needed to roll back an update, it wouldn't know which revision to roll back to.",
@@ -5955,6 +7090,7 @@
5955
7090
  "PlacementStrategies",
5956
7091
  "PlatformVersion",
5957
7092
  "Role",
7093
+ "SchedulingStrategy",
5958
7094
  "ServiceName",
5959
7095
  "ServiceRegistries",
5960
7096
  "TaskDefinition"
@@ -5969,7 +7105,7 @@
5969
7105
  "update_causes": "replacement"
5970
7106
  },
5971
7107
  "Cpu": {
5972
- "description": "The number of cpu units used by the task. If using the EC2 launch type, this field is optional and any value can be used. If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter:",
7108
+ "description": "The number of cpu units used by the task. If using the EC2 launch type, this field is optional. Supported values are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). If you are using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter:",
5973
7109
  "required": false,
5974
7110
  "type": "String",
5975
7111
  "update_causes": "replacement"
@@ -6062,6 +7198,18 @@
6062
7198
  "required": false,
6063
7199
  "type": "String",
6064
7200
  "update_causes": "replacement"
7201
+ },
7202
+ "ProvisionedThroughputInMibps": {
7203
+ "description": "The throughput, measured in MiB/s, that you want to provision for a file system that you're creating. The limit on throughput is 1024 MiB/s. You can get these limits increased by contacting AWS Support. For more information, see Amazon EFS Limits That You Can Increase in the Amazon Elastic File System User Guide.",
7204
+ "required": false,
7205
+ "type": "Unknown",
7206
+ "update_causes": "none"
7207
+ },
7208
+ "ThroughputMode": {
7209
+ "description": "The throughput mode for the file system to be created. There are two throughput modes to choose from for your file system: bursting and provisioned. You can decrease your file system's throughput in Provisioned Throughput mode or change between the throughput modes as long as it’s been more than 24 hours since the last decrease or throughput mode change.",
7210
+ "required": false,
7211
+ "type": "String",
7212
+ "update_causes": "none"
6065
7213
  }
6066
7214
  },
6067
7215
  "path": "aws-resource-efs-filesystem.html",
@@ -6069,7 +7217,9 @@
6069
7217
  "FileSystemTags",
6070
7218
  "Encrypted",
6071
7219
  "KmsKeyId",
6072
- "PerformanceMode"
7220
+ "PerformanceMode",
7221
+ "ProvisionedThroughputInMibps",
7222
+ "ThroughputMode"
6073
7223
  ]
6074
7224
  },
6075
7225
  "AWS::EFS::MountTarget": {
@@ -6198,6 +7348,12 @@
6198
7348
  "type": "String",
6199
7349
  "update_causes": "replacement"
6200
7350
  },
7351
+ "KerberosAttributes": {
7352
+ "description": "Attributes for Kerberos configuration when Kerberos authentication is enabled using a security configuration.",
7353
+ "required": false,
7354
+ "type": "Unknown",
7355
+ "update_causes": "replacement"
7356
+ },
6201
7357
  "LogUri": {
6202
7358
  "description": "An S3 bucket location that Amazon EMR writes logs files to from a job flow. If you don't specify a value, Amazon EMR doesn't write any log files.",
6203
7359
  "required": false,
@@ -6234,6 +7390,12 @@
6234
7390
  "type": "String",
6235
7391
  "update_causes": "replacement"
6236
7392
  },
7393
+ "Steps": {
7394
+ "description": "The cluster (job flow) steps.",
7395
+ "required": false,
7396
+ "type": "Array",
7397
+ "update_causes": "replacement"
7398
+ },
6237
7399
  "Tags": {
6238
7400
  "description": "An arbitrary set of tags (key–value pairs) to help you identify the Amazon EMR cluster.",
6239
7401
  "required": false,
@@ -6258,12 +7420,14 @@
6258
7420
  "EbsRootVolumeSize",
6259
7421
  "Instances",
6260
7422
  "JobFlowRole",
7423
+ "KerberosAttributes",
6261
7424
  "LogUri",
6262
7425
  "Name",
6263
7426
  "ReleaseLabel",
6264
7427
  "ScaleDownBehavior",
6265
7428
  "SecurityConfiguration",
6266
7429
  "ServiceRole",
7430
+ "Steps",
6267
7431
  "Tags",
6268
7432
  "VisibleToAllUsers"
6269
7433
  ]
@@ -6697,7 +7861,7 @@
6697
7861
  },
6698
7862
  "Engine": {
6699
7863
  "description": "The name of the cache engine to use for the cache clusters in this replication group. Currently, you can specify only redis.",
6700
- "required": true,
7864
+ "required": false,
6701
7865
  "type": "String",
6702
7866
  "update_causes": "none"
6703
7867
  },
@@ -6711,7 +7875,7 @@
6711
7875
  "description": "Configuration options for the node group (shard).",
6712
7876
  "required": false,
6713
7877
  "type": "Array",
6714
- "update_causes": "replacement"
7878
+ "update_causes": "interrupt"
6715
7879
  },
6716
7880
  "NotificationTopicArn": {
6717
7881
  "description": "The Amazon Resource Name (ARN) of the Amazon Simple Notification Service topic to which notifications are sent.",
@@ -6726,10 +7890,10 @@
6726
7890
  "update_causes": "none"
6727
7891
  },
6728
7892
  "NumNodeGroups": {
6729
- "description": "The number of node groups (shards) for this Redis (clustered mode enabled) replication group. For Redis (clustered mode disabled), omit this property.",
7893
+ "description": "The number of node groups (shards) for this Redis (clustered mode enabled) replication group. For Redis (clustered mode disabled), either omit this property or set it to 1.",
6730
7894
  "required": false,
6731
7895
  "type": "Number",
6732
- "update_causes": "replacement"
7896
+ "update_causes": "interrupt"
6733
7897
  },
6734
7898
  "Port": {
6735
7899
  "description": "The port number on which each member of the replication group accepts connections.",
@@ -7240,8 +8404,8 @@
7240
8404
  "HealthCheck",
7241
8405
  "Instances",
7242
8406
  "LBCookieStickinessPolicy",
7243
- "LoadBalancerName",
7244
8407
  "Listeners",
8408
+ "LoadBalancerName",
7245
8409
  "Policies",
7246
8410
  "Scheme",
7247
8411
  "SecurityGroups",
@@ -7413,6 +8577,7 @@
7413
8577
  },
7414
8578
  "path": "aws-resource-elasticloadbalancingv2-loadbalancer.html",
7415
8579
  "properties": [
8580
+ "IpAddressType",
7416
8581
  "LoadBalancerAttributes",
7417
8582
  "Name",
7418
8583
  "Scheme",
@@ -7420,8 +8585,7 @@
7420
8585
  "SubnetMappings",
7421
8586
  "Subnets",
7422
8587
  "Tags",
7423
- "Type",
7424
- "IpAddressType"
8588
+ "Type"
7425
8589
  ]
7426
8590
  },
7427
8591
  "AWS::ElasticLoadBalancingV2::TargetGroup": {
@@ -7433,7 +8597,7 @@
7433
8597
  "update_causes": "none"
7434
8598
  },
7435
8599
  "HealthCheckPath": {
7436
- "description": "The ping path destination where Elastic Load Balancing sends health check requests.",
8600
+ "description": "[HTTP/HTTPS health checks] The ping path destination where Elastic Load Balancing sends health check requests. The default is /.",
7437
8601
  "required": false,
7438
8602
  "type": "String",
7439
8603
  "update_causes": "none"
@@ -7451,7 +8615,7 @@
7451
8615
  "update_causes": "none"
7452
8616
  },
7453
8617
  "HealthCheckTimeoutSeconds": {
7454
- "description": "The number of seconds to wait for a response before considering that a health check has failed.",
8618
+ "description": "The number of seconds to wait for a response before considering that a health check has failed. For Application Load Balancers, the range is 2–60 seconds and the default is 5 seconds. For Network Load Balancers, this value is 10 seconds for TCP and HTTPS health checks and 6 seconds for HTTP health checks.",
7455
8619
  "required": false,
7456
8620
  "type": "Number",
7457
8621
  "update_causes": "none"
@@ -7463,7 +8627,7 @@
7463
8627
  "update_causes": "none"
7464
8628
  },
7465
8629
  "Matcher": {
7466
- "description": "The HTTP codes that a healthy target uses when responding to a health check.",
8630
+ "description": "[HTTP/HTTPS health checks] The HTTP codes that a healthy target uses when responding to a health check.",
7467
8631
  "required": false,
7468
8632
  "type": "Unknown",
7469
8633
  "update_causes": "none"
@@ -7620,6 +8784,41 @@
7620
8784
  "VPCOptions"
7621
8785
  ]
7622
8786
  },
8787
+ "AWS::Events::EventBusPolicy": {
8788
+ "full_properties": {
8789
+ "Action": {
8790
+ "description": "The action that you are enabling the other account to perform. Currently, this must be events:PutEvents.",
8791
+ "required": true,
8792
+ "type": "String",
8793
+ "update_causes": "none"
8794
+ },
8795
+ "Condition": {
8796
+ "description": "A JSON string which you can use to limit the event bus permissions you are granting to only accounts that fulfill the condition. Currently, the only supported condition is membership in a certain AWS organization. The string must contain Type, Key, and Value fields.",
8797
+ "required": false,
8798
+ "type": "Unknown",
8799
+ "update_causes": "none"
8800
+ },
8801
+ "Principal": {
8802
+ "description": "The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify * to permit any account to put events to your default event bus, or if you are specifying an organization ID in the Condition object.",
8803
+ "required": true,
8804
+ "type": "String",
8805
+ "update_causes": "none"
8806
+ },
8807
+ "StatementId": {
8808
+ "description": "An identifier string for the external account to which you are granting permissions. To later revoke the permission for this external account, you need to know this string.",
8809
+ "required": true,
8810
+ "type": "String",
8811
+ "update_causes": "replacement"
8812
+ }
8813
+ },
8814
+ "path": "aws-resource-events-eventbuspolicy.html",
8815
+ "properties": [
8816
+ "Action",
8817
+ "Condition",
8818
+ "Principal",
8819
+ "StatementId"
8820
+ ]
8821
+ },
7623
8822
  "AWS::Events::Rule": {
7624
8823
  "full_properties": {
7625
8824
  "Description": {
@@ -7816,11 +9015,25 @@
7816
9015
  "required": false,
7817
9016
  "type": "Unknown",
7818
9017
  "update_causes": "none"
9018
+ },
9019
+ "JsonClassifier": {
9020
+ "description": "A classifier for JSON content.",
9021
+ "required": false,
9022
+ "type": "Unknown",
9023
+ "update_causes": "none"
9024
+ },
9025
+ "XMLClassifier": {
9026
+ "description": "A classifier for XML content.",
9027
+ "required": false,
9028
+ "type": "Unknown",
9029
+ "update_causes": "none"
7819
9030
  }
7820
9031
  },
7821
9032
  "path": "aws-resource-glue-classifier.html",
7822
9033
  "properties": [
7823
- "GrokClassifier"
9034
+ "GrokClassifier",
9035
+ "JsonClassifier",
9036
+ "XMLClassifier"
7824
9037
  ]
7825
9038
  },
7826
9039
  "AWS::Glue::Connection": {
@@ -7852,6 +9065,12 @@
7852
9065
  "type": "Array",
7853
9066
  "update_causes": "none"
7854
9067
  },
9068
+ "Configuration": {
9069
+ "description": "Crawler configuration information. This versioned JSON string allows users to specify aspects of a crawler's behavior. For more information, see Configuring a Crawler..",
9070
+ "required": false,
9071
+ "type": "String",
9072
+ "update_causes": "none"
9073
+ },
7855
9074
  "DatabaseName": {
7856
9075
  "description": "The name of the database where the crawler's output is stored.",
7857
9076
  "required": true,
@@ -7905,6 +9124,7 @@
7905
9124
  "properties": [
7906
9125
  "Role",
7907
9126
  "Classifiers",
9127
+ "Configuration",
7908
9128
  "Description",
7909
9129
  "SchemaChangePolicy",
7910
9130
  "Schedule",
@@ -8022,7 +9242,7 @@
8022
9242
  "description": "UTF-8 string–to–UTF-8 string key-value pairs that specify the default parameters for the job.",
8023
9243
  "required": false,
8024
9244
  "type": "Unknown",
8025
- "update_causes": "none"
9245
+ "update_causes": "interrupt"
8026
9246
  },
8027
9247
  "Description": {
8028
9248
  "description": "The description of the job.",
@@ -8194,11 +9414,18 @@
8194
9414
  "required": true,
8195
9415
  "type": "Boolean",
8196
9416
  "update_causes": "interrupt"
9417
+ },
9418
+ "FindingPublishingFrequency": {
9419
+ "description": "Specifies the frequency of notifications sent about the subsequent finding occurrences. Valid values include only the following: FIFTEEN_MINUTES, ONE_HOUR, SIX_HOURS.",
9420
+ "required": false,
9421
+ "type": "String",
9422
+ "update_causes": "interrupt"
8197
9423
  }
8198
9424
  },
8199
9425
  "path": "aws-resource-guardduty-detector.html",
8200
9426
  "properties": [
8201
- "Enable"
9427
+ "Enable",
9428
+ "FindingPublishingFrequency"
8202
9429
  ]
8203
9430
  },
8204
9431
  "AWS::GuardDuty::Filter": {
@@ -8353,7 +9580,7 @@
8353
9580
  "update_causes": "interrupt"
8354
9581
  },
8355
9582
  "Status": {
8356
- "description": "You can use this property to update the status of the relationship between the member account and its master account. Valid values are CREATED | INVITED | DISABLED | ENABLED | REMOVED | RESIGNED. If the value for this property is not provided or set to CREATED, a member account is only created. If the value of this property is set to INVITED, a member account is created and invited.",
9583
+ "description": "You can use this property to update the status of the relationship between the member account and its master account. Valid values are Created | Invited | Disabled | Enabled | Removed | Resigned. If the value for this property is not provided or set to Created, a member account is only created. If the value of this property is set to Invited, a member account is created and invited.",
8357
9584
  "required": false,
8358
9585
  "type": "String",
8359
9586
  "update_causes": "interrupt"
@@ -8626,6 +9853,12 @@
8626
9853
  "type": "String",
8627
9854
  "update_causes": "replacement"
8628
9855
  },
9856
+ "PermissionsBoundary": {
9857
+ "description": "The ARN of the policy that is used to set the permissions boundary for the role. Minimum length of 20. Maximum length of 2048.",
9858
+ "required": false,
9859
+ "type": "String",
9860
+ "update_causes": "none"
9861
+ },
8629
9862
  "Policies": {
8630
9863
  "description": "The policies to associate with this role. For sample templates, see Template Examples.",
8631
9864
  "required": false,
@@ -8645,10 +9878,39 @@
8645
9878
  "ManagedPolicyArns",
8646
9879
  "MaxSessionDuration",
8647
9880
  "Path",
9881
+ "PermissionsBoundary",
8648
9882
  "Policies",
8649
9883
  "RoleName"
8650
9884
  ]
8651
9885
  },
9886
+ "AWS::IAM::ServiceLinkedRole": {
9887
+ "full_properties": {
9888
+ "AWSServiceName": {
9889
+ "description": "The service principal for the AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com.",
9890
+ "required": true,
9891
+ "type": "String",
9892
+ "update_causes": "replacement"
9893
+ },
9894
+ "CustomSuffix": {
9895
+ "description": "A string that you provide, which is combined with the service-provided prefix to form the complete role name. If you make multiple requests for the same service, then you must supply a different CustomSuffix for each request. Otherwise the request fails with a duplicate role name error. For example, you could add -1 or -debug to the suffix.",
9896
+ "required": false,
9897
+ "type": "String",
9898
+ "update_causes": "replacement"
9899
+ },
9900
+ "Description": {
9901
+ "description": "The description of the role.",
9902
+ "required": false,
9903
+ "type": "String",
9904
+ "update_causes": "none"
9905
+ }
9906
+ },
9907
+ "path": "aws-resource-iam-servicelinkedrole.html",
9908
+ "properties": [
9909
+ "AWSServiceName",
9910
+ "CustomSuffix",
9911
+ "Description"
9912
+ ]
9913
+ },
8652
9914
  "AWS::IAM::User": {
8653
9915
  "full_properties": {
8654
9916
  "Groups": {
@@ -8675,6 +9937,12 @@
8675
9937
  "type": "String",
8676
9938
  "update_causes": "none"
8677
9939
  },
9940
+ "PermissionsBoundary": {
9941
+ "description": "The ARN of the policy that is used to set the permissions boundary for the user. Minimum length of 20. Maximum length of 2048.",
9942
+ "required": false,
9943
+ "type": "String",
9944
+ "update_causes": "none"
9945
+ },
8678
9946
  "Policies": {
8679
9947
  "description": "The policies to associate with this user. For information about policies, see Overview of IAM Policies in the IAM User Guide.",
8680
9948
  "required": false,
@@ -8694,6 +9962,7 @@
8694
9962
  "LoginProfile",
8695
9963
  "ManagedPolicyArns",
8696
9964
  "Path",
9965
+ "PermissionsBoundary",
8697
9966
  "Policies",
8698
9967
  "UserName"
8699
9968
  ]
@@ -8796,6 +10065,90 @@
8796
10065
  "ResourceGroupTags"
8797
10066
  ]
8798
10067
  },
10068
+ "AWS::IoT1Click::Device": {
10069
+ "full_properties": {
10070
+ "DeviceId": {
10071
+ "description": "The unique identifier of the device.",
10072
+ "required": true,
10073
+ "type": "String",
10074
+ "update_causes": "replacement"
10075
+ },
10076
+ "Enabled": {
10077
+ "description": "A Boolean value indicating whether the device is enabled (true) or not (false).",
10078
+ "required": true,
10079
+ "type": "Boolean",
10080
+ "update_causes": "interrupt"
10081
+ }
10082
+ },
10083
+ "path": "aws-resource-iot1click-device.html",
10084
+ "properties": [
10085
+ "DeviceId",
10086
+ "Enabled"
10087
+ ]
10088
+ },
10089
+ "AWS::IoT1Click::Placement": {
10090
+ "full_properties": {
10091
+ "AssociatedDevices": {
10092
+ "description": "The device(s) to associate with the placement, as defined by a mapping of zero or more key/value pairs wherein the key is a template name and the value is a device ID.",
10093
+ "required": false,
10094
+ "type": "Unknown",
10095
+ "update_causes": "replacement"
10096
+ },
10097
+ "Attributes": {
10098
+ "description": "User specified attribute(s) in the form of key/value pairs.",
10099
+ "required": false,
10100
+ "type": "Unknown",
10101
+ "update_causes": "interrupt"
10102
+ },
10103
+ "PlacementName": {
10104
+ "description": "The name of this placement.",
10105
+ "required": false,
10106
+ "type": "String",
10107
+ "update_causes": "replacement"
10108
+ },
10109
+ "ProjectName": {
10110
+ "description": "The name of the project that will contain this placement.",
10111
+ "required": true,
10112
+ "type": "String",
10113
+ "update_causes": "replacement"
10114
+ }
10115
+ },
10116
+ "path": "aws-resource-iot1click-placement.html",
10117
+ "properties": [
10118
+ "AssociatedDevices",
10119
+ "Attributes",
10120
+ "PlacementName",
10121
+ "ProjectName"
10122
+ ]
10123
+ },
10124
+ "AWS::IoT1Click::Project": {
10125
+ "full_properties": {
10126
+ "Description": {
10127
+ "description": "An optional description for the project.",
10128
+ "required": false,
10129
+ "type": "String",
10130
+ "update_causes": "interrupt"
10131
+ },
10132
+ "PlacementTemplate": {
10133
+ "description": "The template defining the placement to be created. A placement template defines placement default attributes and device templates. You cannot add or remove device templates after the project has been created. However, you can update callbackOverrides for the device templates using the UpdateProject API.",
10134
+ "required": true,
10135
+ "type": "Unknown",
10136
+ "update_causes": "interrupt"
10137
+ },
10138
+ "ProjectName": {
10139
+ "description": "The name of the project to create.",
10140
+ "required": false,
10141
+ "type": "String",
10142
+ "update_causes": "replacement"
10143
+ }
10144
+ },
10145
+ "path": "aws-resource-iot1click-project.html",
10146
+ "properties": [
10147
+ "Description",
10148
+ "PlacementTemplate",
10149
+ "ProjectName"
10150
+ ]
10151
+ },
8799
10152
  "AWS::IoT::Certificate": {
8800
10153
  "full_properties": {
8801
10154
  "CertificateSigningRequest": {
@@ -8969,6 +10322,18 @@
8969
10322
  "type": "Unknown",
8970
10323
  "update_causes": "none"
8971
10324
  },
10325
+ "KeyUsage": {
10326
+ "description": "The intended use of the key. You can use CMKs only for symmetric encryption and decryption.",
10327
+ "required": false,
10328
+ "type": "String",
10329
+ "update_causes": "replacement"
10330
+ },
10331
+ "PendingWindowInDays": {
10332
+ "description": "The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the customer master key (CMK).",
10333
+ "required": false,
10334
+ "type": "Number",
10335
+ "update_causes": "none"
10336
+ },
8972
10337
  "Tags": {
8973
10338
  "description": "Specifies an arbitrary set of tags (key–value pairs) to associate with this key. Use tags to manage your resources.",
8974
10339
  "required": false,
@@ -8982,6 +10347,8 @@
8982
10347
  "Enabled",
8983
10348
  "EnableKeyRotation",
8984
10349
  "KeyPolicy",
10350
+ "KeyUsage",
10351
+ "PendingWindowInDays",
8985
10352
  "Tags"
8986
10353
  ]
8987
10354
  },
@@ -9027,6 +10394,27 @@
9027
10394
  "Tags"
9028
10395
  ]
9029
10396
  },
10397
+ "AWS::Kinesis::StreamConsumer": {
10398
+ "full_properties": {
10399
+ "ConsumerName": {
10400
+ "description": "The name of the consumer is something you choose when you register the consumer.",
10401
+ "required": true,
10402
+ "type": "String",
10403
+ "update_causes": "replacement"
10404
+ },
10405
+ "StreamARN": {
10406
+ "description": "The ARN of the Kinesis data stream that you want to register the consumer with.",
10407
+ "required": true,
10408
+ "type": "String",
10409
+ "update_causes": "replacement"
10410
+ }
10411
+ },
10412
+ "path": "aws-resource-kinesis-streamconsumer.html",
10413
+ "properties": [
10414
+ "ConsumerName",
10415
+ "StreamARN"
10416
+ ]
10417
+ },
9030
10418
  "AWS::KinesisAnalytics::Application": {
9031
10419
  "full_properties": {
9032
10420
  "ApplicationCode": {
@@ -9137,7 +10525,7 @@
9137
10525
  ]
9138
10526
  },
9139
10527
  "KinesisStreamSourceConfiguration": {
9140
- "description": "When a Kinesis stream is used as the source for the delivery stream, a Kinesis Data Firehose DeliveryStream KinesisStreamSourceConfiguration containing the Kinesis stream ARN and the role ARN for the source stream.",
10528
+ "description": "When a Kinesis stream is used as the source for the delivery stream, a KinesisStreamSourceConfiguration containing the Kinesis stream ARN and the role ARN for the source stream.",
9141
10529
  "required": false,
9142
10530
  "type": "Unknown",
9143
10531
  "update_causes": "none"
@@ -9236,7 +10624,7 @@
9236
10624
  "update_causes": "none"
9237
10625
  },
9238
10626
  "EventSourceArn": {
9239
- "description": "The Amazon Resource Name (ARN) of the Kinesis or DynamoDB stream that is the source of events. Any record added to this stream can invoke the Lambda function. For more information, see CreateEventSourceMapping in the AWS Lambda Developer Guide.",
10627
+ "description": "The Amazon Resource Name (ARN) of the event source. Any record added to this stream can invoke the Lambda function. For more information, see CreateEventSourceMapping in the AWS Lambda Developer Guide.",
9240
10628
  "required": true,
9241
10629
  "type": "String",
9242
10630
  "update_causes": "replacement"
@@ -9248,7 +10636,7 @@
9248
10636
  "update_causes": "none"
9249
10637
  },
9250
10638
  "StartingPosition": {
9251
- "description": "The position in the stream where Lambda starts reading. For valid values, see CreateEventSourceMapping in the AWS Lambda Developer Guide.",
10639
+ "description": "The position in a DynamoDB or Kinesis stream where Lambda starts reading. Not required if you set an Amazon SQS queue as the event source. The AT_TIMESTAMP value is supported only for Kinesis streams. For valid values, see CreateEventSourceMapping in the AWS Lambda Developer Guide.",
9252
10640
  "required": false,
9253
10641
  "type": "String",
9254
10642
  "update_causes": "replacement"
@@ -9595,13 +10983,13 @@
9595
10983
  "AWS::Neptune::DBCluster": {
9596
10984
  "full_properties": {
9597
10985
  "AvailabilityZones": {
9598
- "description": "A list of Availability Zones (AZs) in which DB instances in the cluster can be created.",
10986
+ "description": "A list of Availability Zones in which DB instances in the cluster can be created.",
9599
10987
  "required": false,
9600
10988
  "type": "String",
9601
10989
  "update_causes": "replacement"
9602
10990
  },
9603
10991
  "BackupRetentionPeriod": {
9604
- "description": "The number of days for which automatic backups are retained. For more information, see CreateDBCluster.",
10992
+ "description": "The number of days for which automatic backups are retained. For more information, see CreateDBCluster in the Amazon Neptune User Guide.",
9605
10993
  "required": false,
9606
10994
  "type": "Number",
9607
10995
  "update_causes": [
@@ -9628,13 +11016,13 @@
9628
11016
  "update_causes": "replacement"
9629
11017
  },
9630
11018
  "IamAuthEnabled": {
9631
- "description": "Enable IAM authentication and authoriation on this cluster.",
11019
+ "description": "Enable IAM authentication and authorization on this cluster.",
9632
11020
  "required": false,
9633
11021
  "type": "Boolean",
9634
11022
  "update_causes": "none"
9635
11023
  },
9636
11024
  "KmsKeyId": {
9637
- "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service master key that is used to encrypt the database instances in the DB cluster, such as arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If you enable the StorageEncrypted property but don't specify this property, the default master key is used. If you specify this property, you must set the StorageEncrypted property to true.",
11025
+ "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS) master key that is used to encrypt the database instances in the DB cluster, such as arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. If you enable the StorageEncrypted property but don't specify this property, the default master key is used. If you specify this property, you must set the StorageEncrypted property to true.",
9638
11026
  "required": false,
9639
11027
  "type": "String",
9640
11028
  "update_causes": "replacement"
@@ -9646,7 +11034,7 @@
9646
11034
  "update_causes": "none"
9647
11035
  },
9648
11036
  "PreferredBackupWindow": {
9649
- "description": "if automated backups are enabled (see the BackupRetentionPeriod property), the daily time range in UTC during which you want to create automated backups.",
11037
+ "description": "If automated backups are enabled (see the BackupRetentionPeriod property), the daily time range in UTC during which you want to create automated backups.",
9650
11038
  "required": false,
9651
11039
  "type": "String",
9652
11040
  "update_causes": "none"
@@ -9799,19 +11187,19 @@
9799
11187
  ]
9800
11188
  },
9801
11189
  "DBSnapshotIdentifier": {
9802
- "description": "The name or Amazon Resource Name (ARN) of the DB snapshot that's used to restore the DB instance. If you're restoring from a shared manual DB snapshot, you must specify the ARN of the snapshot.",
11190
+ "description": "This parameter is not supported.",
9803
11191
  "required": false,
9804
11192
  "type": "String",
9805
11193
  "update_causes": "replacement"
9806
11194
  },
9807
11195
  "DBSubnetGroupName": {
9808
- "description": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new VPC.",
11196
+ "description": "A DB subnet group to associate with the DB instance. If you update this value, the new subnet group must be a subnet group in a new virtual private cloud (VPC).",
9809
11197
  "required": false,
9810
11198
  "type": "String",
9811
11199
  "update_causes": "replacement"
9812
11200
  },
9813
11201
  "PreferredMaintenanceWindow": {
9814
- "description": "The weekly time range (in UTC) during which system maintenance can occur. For valid values, see the PreferredMaintenanceWindow parameter for the CreateDBInstance action in the .",
11202
+ "description": "The weekly time range (in UTC) during which system maintenance can occur. For valid values, see the PreferredMaintenanceWindow parameter for the CreateDBInstance action in the Amazon Neptune User Guide.",
9815
11203
  "required": false,
9816
11204
  "type": "String",
9817
11205
  "update_causes": [
@@ -9896,25 +11284,25 @@
9896
11284
  "AWS::Neptune::DBSubnetGroup": {
9897
11285
  "full_properties": {
9898
11286
  "DBSubnetGroupDescription": {
9899
- "description": "The description for the DB Subnet Group.",
11287
+ "description": "The description for the DB subnet group.",
9900
11288
  "required": true,
9901
11289
  "type": "String",
9902
11290
  "update_causes": "none"
9903
11291
  },
9904
11292
  "DBSubnetGroupName": {
9905
- "description": "The name for the DB Subnet Group. This value is stored as a lowercase string.",
11293
+ "description": "The name for the DB subnet group. This value is stored as a lowercase string.",
9906
11294
  "required": false,
9907
11295
  "type": "String",
9908
11296
  "update_causes": "replacement"
9909
11297
  },
9910
11298
  "SubnetIds": {
9911
- "description": "The EC2 Subnet IDs for the DB Subnet Group.",
11299
+ "description": "The Amazon EC2 subnet IDs for the DB subnet group.",
9912
11300
  "required": true,
9913
11301
  "type": "Array",
9914
11302
  "update_causes": "none"
9915
11303
  },
9916
11304
  "Tags": {
9917
- "description": "The tags that you want to attach to the RDS database subnet group.",
11305
+ "description": "The tags that you want to attach to the Amazon RDS database subnet group.",
9918
11306
  "required": false,
9919
11307
  "type": "Array",
9920
11308
  "update_causes": "none"
@@ -10584,17 +11972,20 @@
10584
11972
  "AvailabilityZones": {
10585
11973
  "description": "A list of Availability Zones (AZs) in which DB instances in the cluster can be created.",
10586
11974
  "required": false,
10587
- "type": "String",
11975
+ "type": "Array",
10588
11976
  "update_causes": "replacement"
10589
11977
  },
11978
+ "BacktrackWindow": {
11979
+ "description": "The target backtrack window, in seconds. To disable backtracking, specify 0. If specified, this property must be set to a number from 0 to 259,200 (72 hours).",
11980
+ "required": false,
11981
+ "type": "Unknown",
11982
+ "update_causes": "none"
11983
+ },
10590
11984
  "BackupRetentionPeriod": {
10591
- "description": "The number of days for which automatic backups are retained. For more information, see CreateDBCluster in the Amazon Relational Database Service API Reference.",
11985
+ "description": "The number of days for which automatic backups are retained. For more information, see CreateDBCluster in the Amazon RDS API Reference.",
10592
11986
  "required": false,
10593
11987
  "type": "Number",
10594
- "update_causes": [
10595
- "none",
10596
- "interrupt"
10597
- ]
11988
+ "update_causes": "none"
10598
11989
  },
10599
11990
  "DBClusterIdentifier": {
10600
11991
  "description": "The DB cluster identifier. This parameter is stored as a lowercase string.",
@@ -10603,7 +11994,7 @@
10603
11994
  "update_causes": "replacement"
10604
11995
  },
10605
11996
  "DBClusterParameterGroupName": {
10606
- "description": "The name of the DB cluster parameter group to associate with this DB cluster. For the default value, see the DBClusterParameterGroupName parameter of the CreateDBCluster action in the Amazon Relational Database Service API Reference.",
11997
+ "description": "The name of the DB cluster parameter group to associate with this DB cluster.",
10607
11998
  "required": false,
10608
11999
  "type": "String",
10609
12000
  "update_causes": "interrupt"
@@ -10615,17 +12006,41 @@
10615
12006
  "update_causes": "replacement"
10616
12007
  },
10617
12008
  "DatabaseName": {
10618
- "description": "The name of your database. If you don't provide a name, Amazon Relational Database Service (Amazon RDS) won't create a database in this DB cluster. For naming constraints, see Naming Constraints in Amazon RDS in the Amazon Relational Database Service User Guide.",
12009
+ "description": "The name of your database. If you don't provide a name, Amazon Relational Database Service (Amazon RDS) won't create a database in this DB cluster. For naming constraints, see Naming Constraints in Amazon RDS in the Amazon RDS User Guide.",
10619
12010
  "required": false,
10620
12011
  "type": "String",
10621
12012
  "update_causes": "replacement"
10622
12013
  },
12014
+ "DeletionProtection": {
12015
+ "description": "Indicates whether the DB cluster should have deletion protection enabled. The database can't be deleted when this value is set to true. If you want to delete a stack with a protected cluster, update this value to false before you delete the stack.",
12016
+ "required": false,
12017
+ "type": "Boolean",
12018
+ "update_causes": "none"
12019
+ },
12020
+ "EnableCloudwatchLogsExports": {
12021
+ "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. Log types that are excluded or removed from this list during updates are disabled. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Aurora User Guide.",
12022
+ "required": false,
12023
+ "type": "Array",
12024
+ "update_causes": "none"
12025
+ },
12026
+ "EnableIAMDatabaseAuthentication": {
12027
+ "description": "If set to true, enables mapping of AWS Identity and Access Management (IAM) accounts to database accounts.",
12028
+ "required": false,
12029
+ "type": "Boolean",
12030
+ "update_causes": "none"
12031
+ },
10623
12032
  "Engine": {
10624
12033
  "description": "The name of the database engine that you want to use for this DB cluster.",
10625
12034
  "required": true,
10626
12035
  "type": "String",
10627
12036
  "update_causes": "replacement"
10628
12037
  },
12038
+ "EngineMode": {
12039
+ "description": "The DB engine mode of the DB cluster. Valid values include provisioned or serverless.",
12040
+ "required": false,
12041
+ "type": "String",
12042
+ "update_causes": "replacement"
12043
+ },
10629
12044
  "EngineVersion": {
10630
12045
  "description": "The version number of the database engine that you want to use.",
10631
12046
  "required": false,
@@ -10651,13 +12066,13 @@
10651
12066
  "update_causes": "replacement"
10652
12067
  },
10653
12068
  "Port": {
10654
- "description": "The port number on which the DB instances in the cluster can accept connections.",
12069
+ "description": "The port number on which the DB instances in the cluster can accept connections. If this argument is omitted, 3306 is used.",
10655
12070
  "required": false,
10656
12071
  "type": "Number",
10657
12072
  "update_causes": "none"
10658
12073
  },
10659
12074
  "PreferredBackupWindow": {
10660
- "description": "if automated backups are enabled (see the BackupRetentionPeriod property), the daily time range in UTC during which you want to create automated backups.",
12075
+ "description": "If automated backups are enabled (see the BackupRetentionPeriod property), the daily time range in UTC during which you want to create automated backups.",
10661
12076
  "required": false,
10662
12077
  "type": "String",
10663
12078
  "update_causes": "none"
@@ -10672,11 +12087,17 @@
10672
12087
  ]
10673
12088
  },
10674
12089
  "ReplicationSourceIdentifier": {
10675
- "description": "The Amazon Resource Name (ARN) of the source Amazon RDS MySQL DB instance or DB cluster, if this DB cluster is created as a Read Replica.",
12090
+ "description": "The Amazon Resource Name (ARN) of the source Amazon RDS DB instance or DB cluster, if this DB cluster is created as a Read Replica.",
10676
12091
  "required": false,
10677
12092
  "type": "String",
10678
12093
  "update_causes": "none"
10679
12094
  },
12095
+ "ScalingConfiguration": {
12096
+ "description": "For DB clusters in serverless DB engine mode, the scaling properties of the DB cluster.",
12097
+ "required": false,
12098
+ "type": "Unknown",
12099
+ "update_causes": "none"
12100
+ },
10680
12101
  "SnapshotIdentifier": {
10681
12102
  "description": "The identifier for the DB cluster snapshot from which you want to restore.",
10682
12103
  "required": false,
@@ -10705,12 +12126,17 @@
10705
12126
  "path": "aws-resource-rds-dbcluster.html",
10706
12127
  "properties": [
10707
12128
  "AvailabilityZones",
12129
+ "BacktrackWindow",
10708
12130
  "BackupRetentionPeriod",
10709
12131
  "DatabaseName",
10710
12132
  "DBClusterIdentifier",
10711
12133
  "DBClusterParameterGroupName",
10712
12134
  "DBSubnetGroupName",
12135
+ "DeletionProtection",
12136
+ "EnableCloudwatchLogsExports",
12137
+ "EnableIAMDatabaseAuthentication",
10713
12138
  "Engine",
12139
+ "EngineMode",
10714
12140
  "EngineVersion",
10715
12141
  "KmsKeyId",
10716
12142
  "MasterUsername",
@@ -10719,6 +12145,7 @@
10719
12145
  "PreferredBackupWindow",
10720
12146
  "PreferredMaintenanceWindow",
10721
12147
  "ReplicationSourceIdentifier",
12148
+ "ScalingConfiguration",
10722
12149
  "SnapshotIdentifier",
10723
12150
  "StorageEncrypted",
10724
12151
  "Tags",
@@ -10740,7 +12167,7 @@
10740
12167
  "update_causes": "replacement"
10741
12168
  },
10742
12169
  "Parameters": {
10743
- "description": "The parameters to set for this DB cluster parameter group. For a list of parameter keys, see Appendix: DB Cluster and DB Instance Parameters in the Amazon Relational Database Service User Guide.",
12170
+ "description": "The parameters to set for this DB cluster parameter group. For a list of parameter keys, see Appendix: DB Cluster and DB Instance Parameters in the Amazon RDS User Guide.",
10744
12171
  "required": true,
10745
12172
  "type": "Unknown",
10746
12173
  "update_causes": [
@@ -10752,7 +12179,7 @@
10752
12179
  "description": "The tags that you want to attach to this parameter group.",
10753
12180
  "required": false,
10754
12181
  "type": "Array",
10755
- "update_causes": "unavailable"
12182
+ "update_causes": "none"
10756
12183
  }
10757
12184
  },
10758
12185
  "path": "aws-resource-rds-dbclusterparametergroup.html",
@@ -10772,7 +12199,7 @@
10772
12199
  "update_causes": "none"
10773
12200
  },
10774
12201
  "AllowMajorVersionUpgrade": {
10775
- "description": "If you update the EngineVersion property to a version that's different from the DB instance's current major version, set this property to true. For more information, see ModifyDBInstance in the Amazon Relational Database Service API Reference.",
12202
+ "description": "If you update the EngineVersion property to a version that's different from the DB instance's current major version, set this property to true. For more information, see ModifyDBInstance in the Amazon RDS API Reference.",
10776
12203
  "required": false,
10777
12204
  "type": "Boolean",
10778
12205
  "update_causes": "none"
@@ -10802,7 +12229,7 @@
10802
12229
  ]
10803
12230
  },
10804
12231
  "CharacterSetName": {
10805
- "description": "For supported engines, specifies the character set to associate with the DB instance. For more information, see Appendix: Oracle Character Sets Supported in Amazon RDS in the Amazon Relational Database Service User Guide.",
12232
+ "description": "For supported engines, specifies the character set to associate with the DB instance. For more information, see Appendix: Oracle Character Sets Supported in Amazon RDS in the Amazon RDS User Guide.",
10806
12233
  "required": false,
10807
12234
  "type": "String",
10808
12235
  "update_causes": "replacement"
@@ -10864,8 +12291,20 @@
10864
12291
  "type": "String",
10865
12292
  "update_causes": "replacement"
10866
12293
  },
12294
+ "DeleteAutomatedBackups": {
12295
+ "description": "Indicates whether automated backups should be deleted (true) or retained (false) when you delete a DB instance. The default is true.",
12296
+ "required": false,
12297
+ "type": "Boolean",
12298
+ "update_causes": "none"
12299
+ },
12300
+ "DeletionProtection": {
12301
+ "description": "Indicates whether the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. If you want to delete a stack with a protected instance, update this value to false before you delete the stack.",
12302
+ "required": false,
12303
+ "type": "Boolean",
12304
+ "update_causes": "none"
12305
+ },
10867
12306
  "Domain": {
10868
- "description": "For an Amazon RDS DB instance that's running Microsoft SQL Server, the Active Directory directory ID to create the instance in. Amazon RDS uses Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon Relational Database Service User Guide.",
12307
+ "description": "For an Amazon RDS DB instance that's running Microsoft SQL Server, the Active Directory directory ID to create the instance in. Amazon RDS uses Windows Authentication to authenticate users that connect to the DB instance. For more information, see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft SQL Server in the Amazon RDS User Guide.",
10869
12308
  "required": false,
10870
12309
  "type": "String",
10871
12310
  "update_causes": "none"
@@ -10876,6 +12315,24 @@
10876
12315
  "type": "String",
10877
12316
  "update_causes": "none"
10878
12317
  },
12318
+ "EnableCloudwatchLogsExports": {
12319
+ "description": "The list of log types that need to be enabled for exporting to CloudWatch Logs. The values in the list depend on the DB engine being used. Log types that are excluded or removed from this list during updates are disabled. For more information, see Publishing Database Logs to Amazon CloudWatch Logs in the Amazon Relational Database Service User Guide.",
12320
+ "required": false,
12321
+ "type": "String",
12322
+ "update_causes": "none"
12323
+ },
12324
+ "EnableIAMDatabaseAuthentication": {
12325
+ "description": "If set to true, enables mapping of AWS Identity and Access Management (IAM) accounts to database accounts.",
12326
+ "required": false,
12327
+ "type": "Boolean",
12328
+ "update_causes": "none"
12329
+ },
12330
+ "EnablePerformanceInsights": {
12331
+ "description": "If set to true, enables Performance Insights for the DB instance.",
12332
+ "required": false,
12333
+ "type": "Boolean",
12334
+ "update_causes": "none"
12335
+ },
10879
12336
  "Engine": {
10880
12337
  "description": "The database engine that the DB instance uses. This property is optional when you specify the DBSnapshotIdentifier property to create DB instances.",
10881
12338
  "required": false,
@@ -10904,7 +12361,7 @@
10904
12361
  "description": "The license model of the DB instance.",
10905
12362
  "required": false,
10906
12363
  "type": "String",
10907
- "update_causes": "none"
12364
+ "update_causes": "interrupt"
10908
12365
  },
10909
12366
  "MasterUserPassword": {
10910
12367
  "description": "The master password for the DB instance.",
@@ -10928,7 +12385,7 @@
10928
12385
  ]
10929
12386
  },
10930
12387
  "MonitoringRoleArn": {
10931
- "description": "The ARN of the AWS Identity and Access Management (IAM) role that permits Amazon RDS to send enhanced monitoring metrics to Amazon CloudWatch, for example, arn:aws:iam::123456789012:role/emaccess. For information on creating a monitoring role, see To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon Relational Database Service User Guide.",
12388
+ "description": "The ARN of the AWS Identity and Access Management (IAM) role that permits Amazon RDS to send enhanced monitoring metrics to Amazon CloudWatch, for example, arn:aws:iam::123456789012:role/emaccess. For information on creating a monitoring role, see To create an IAM role for Amazon RDS Enhanced Monitoring in the Amazon RDS User Guide.",
10932
12389
  "required": false,
10933
12390
  "type": "String",
10934
12391
  "update_causes": "none"
@@ -10945,6 +12402,22 @@
10945
12402
  "type": "String",
10946
12403
  "update_causes": "none"
10947
12404
  },
12405
+ "PerformanceInsightsKMSKeyId": {
12406
+ "description": "The AWS KMS key identifier for encryption of Performance Insights data. The AWS KMS key ID is the Amazon Resource Name (ARN), AWS KMS key identifier, or the AWS KMS key alias for the AWS KMS encryption key.",
12407
+ "required": false,
12408
+ "type": "String",
12409
+ "update_causes": [
12410
+ "replacement",
12411
+ "none",
12412
+ "interrupt"
12413
+ ]
12414
+ },
12415
+ "PerformanceInsightsRetentionPeriod": {
12416
+ "description": "The amount of time, in days, to retain Performance Insights data. Valid values are 7 or 731 (2 years).",
12417
+ "required": false,
12418
+ "type": "Number",
12419
+ "update_causes": "none"
12420
+ },
10948
12421
  "Port": {
10949
12422
  "description": "The port for the instance.",
10950
12423
  "required": false,
@@ -10952,13 +12425,13 @@
10952
12425
  "update_causes": "replacement"
10953
12426
  },
10954
12427
  "PreferredBackupWindow": {
10955
- "description": "The daily time range during which automated backups are performed if automated backups are enabled, as determined by the BackupRetentionPeriod property. For valid values, see the PreferredBackupWindow parameter for the CreateDBInstance action in the Amazon Relational Database Service API Reference.",
12428
+ "description": "The daily time range during which automated backups are performed if automated backups are enabled, as determined by the BackupRetentionPeriod property. For valid values, see the PreferredBackupWindow parameter for the CreateDBInstance action in the Amazon RDS API Reference.",
10956
12429
  "required": false,
10957
12430
  "type": "String",
10958
12431
  "update_causes": "none"
10959
12432
  },
10960
12433
  "PreferredMaintenanceWindow": {
10961
- "description": "The weekly time range (in UTC) during which system maintenance can occur. For valid values, see the PreferredMaintenanceWindow parameter for the CreateDBInstance action in the Amazon Relational Database Service API Reference.",
12434
+ "description": "The weekly time range (in UTC) during which system maintenance can occur. For valid values, see the PreferredMaintenanceWindow parameter for the CreateDBInstance action in the Amazon RDS API Reference.",
10962
12435
  "required": false,
10963
12436
  "type": "String",
10964
12437
  "update_causes": [
@@ -10966,6 +12439,18 @@
10966
12439
  "interrupt"
10967
12440
  ]
10968
12441
  },
12442
+ "ProcessorFeatures": {
12443
+ "description": "The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.",
12444
+ "required": false,
12445
+ "type": "Array",
12446
+ "update_causes": "none"
12447
+ },
12448
+ "PromotionTier": {
12449
+ "description": "A value that specifies the order in which an Aurora Replica is promoted to the primary instance after a failure of the existing primary instance. For more information, see Fault Tolerance for an Aurora DB Cluster in the Amazon Aurora User Guide.",
12450
+ "required": false,
12451
+ "type": "Number",
12452
+ "update_causes": "none"
12453
+ },
10969
12454
  "PubliclyAccessible": {
10970
12455
  "description": "Indicates whether the DB instance is an internet-facing instance. If you specify true, AWS CloudFormation creates an instance with a publicly resolvable DNS name, which resolves to a public IP address. If you specify false, AWS CloudFormation creates an internal instance with a DNS name that resolves to a private IP address.",
10971
12456
  "required": false,
@@ -10999,11 +12484,11 @@
10999
12484
  "Tags": {
11000
12485
  "description": "An arbitrary set of tags (key–value pairs) for this DB instance.",
11001
12486
  "required": false,
11002
- "type": "Unknown",
12487
+ "type": "Array",
11003
12488
  "update_causes": "none"
11004
12489
  },
11005
12490
  "Timezone": {
11006
- "description": "The time zone of the DB instance, which you can specify to match the time zone of your applications. To see which engines support time zones, see the Timezone parameter for the CreateDBInstance action in the Amazon Relational Database Service API Reference.",
12491
+ "description": "The time zone of the DB instance, which you can specify to match the time zone of your applications. To see which engines support time zones, see the Timezone parameter for the CreateDBInstance action in the Amazon RDS API Reference.",
11007
12492
  "required": false,
11008
12493
  "type": "String",
11009
12494
  "update_causes": "replacement"
@@ -11032,8 +12517,13 @@
11032
12517
  "DBSecurityGroups",
11033
12518
  "DBSnapshotIdentifier",
11034
12519
  "DBSubnetGroupName",
12520
+ "DeleteAutomatedBackups",
12521
+ "DeletionProtection",
11035
12522
  "Domain",
11036
12523
  "DomainIAMRoleName",
12524
+ "EnableCloudwatchLogsExports",
12525
+ "EnableIAMDatabaseAuthentication",
12526
+ "EnablePerformanceInsights",
11037
12527
  "Engine",
11038
12528
  "EngineVersion",
11039
12529
  "Iops",
@@ -11045,9 +12535,13 @@
11045
12535
  "MonitoringRoleArn",
11046
12536
  "MultiAZ",
11047
12537
  "OptionGroupName",
12538
+ "PerformanceInsightsKMSKeyId",
12539
+ "PerformanceInsightsRetentionPeriod",
11048
12540
  "Port",
11049
12541
  "PreferredBackupWindow",
11050
12542
  "PreferredMaintenanceWindow",
12543
+ "ProcessorFeatures",
12544
+ "PromotionTier",
11051
12545
  "PubliclyAccessible",
11052
12546
  "SourceDBInstanceIdentifier",
11053
12547
  "SourceRegion",
@@ -11217,7 +12711,7 @@
11217
12711
  "update_causes": "none"
11218
12712
  },
11219
12713
  "EventCategories": {
11220
- "description": "A list of event categories that you want to subscribe to for a given source type. If you don't specify this property, you are notified about all event categories. For more information, see Using Amazon RDS Event Notification in the Amazon Relational Database Service User Guide.",
12714
+ "description": "A list of event categories that you want to subscribe to for a given source type. If you don't specify this property, you are notified about all event categories. For more information, see Using Amazon RDS Event Notification in the Amazon RDS User Guide.",
11221
12715
  "required": false,
11222
12716
  "type": "Array",
11223
12717
  "update_causes": "none"
@@ -11235,7 +12729,7 @@
11235
12729
  "update_causes": "none"
11236
12730
  },
11237
12731
  "SourceType": {
11238
- "description": "The type of source for which Amazon RDS provides notification events. For example, if you want to be notified of events generated by a database instance, set this parameter to db-instance. If you don't specify a value, notifications are provided for all source types. For valid values, see the SourceType parameter for the CreateEventSubscription action in the Amazon Relational Database Service API Reference.",
12732
+ "description": "The type of source for which Amazon RDS provides notification events. For example, if you want to be notified of events generated by a database instance, set this parameter to db-instance. If you don't specify a value, notifications are provided for all source types. For valid values, see the SourceType parameter for the CreateEventSubscription action in the Amazon RDS API Reference.",
11239
12733
  "required": false,
11240
12734
  "type": "Unknown",
11241
12735
  "update_causes": [
@@ -11445,7 +12939,7 @@
11445
12939
  "description": "Indicates whether the cluster can be accessed from a public network.",
11446
12940
  "required": false,
11447
12941
  "type": "Boolean",
11448
- "update_causes": "replacement"
12942
+ "update_causes": "interrupt"
11449
12943
  },
11450
12944
  "SnapshotClusterIdentifier": {
11451
12945
  "description": "The name of the cluster that the source snapshot was created from. For more information about restoring from a snapshot, see the RestoreFromClusterSnapshot action in the Amazon Redshift API Reference.",
@@ -11699,7 +13193,7 @@
11699
13193
  "update_causes": "none"
11700
13194
  },
11701
13195
  "Comment": {
11702
- "description": "Any comments that you want to include about the hosted zone.",
13196
+ "description": "Any comments that you want to include about the change batch.",
11703
13197
  "required": false,
11704
13198
  "type": "String",
11705
13199
  "update_causes": "none"
@@ -11734,6 +13228,12 @@
11734
13228
  "type": "String",
11735
13229
  "update_causes": "replacement"
11736
13230
  },
13231
+ "MultiValueAnswer": {
13232
+ "description": "Multivalue answer resource record sets only: To route traffic approximately randomly to multiple resources, such as web servers, create one multivalue answer record for each resource and specify true for MultiValueAnswer.",
13233
+ "required": false,
13234
+ "type": "Boolean",
13235
+ "update_causes": "none"
13236
+ },
11737
13237
  "Name": {
11738
13238
  "description": "The name of the domain. You must specify a fully qualified domain name that ends with a period as the last label indication. If you omit the final period, Route 53 adds it.",
11739
13239
  "required": true,
@@ -11786,6 +13286,7 @@
11786
13286
  "HealthCheckId",
11787
13287
  "HostedZoneId",
11788
13288
  "HostedZoneName",
13289
+ "MultiValueAnswer",
11789
13290
  "Name",
11790
13291
  "Region",
11791
13292
  "ResourceRecords",
@@ -11798,7 +13299,7 @@
11798
13299
  "AWS::Route53::RecordSetGroup": {
11799
13300
  "full_properties": {
11800
13301
  "Comment": {
11801
- "description": "Any comments you want to include about the hosted zone.",
13302
+ "description": "Any comments you want to include about the change batch.",
11802
13303
  "required": false,
11803
13304
  "type": "String",
11804
13305
  "update_causes": "none"
@@ -11830,6 +13331,97 @@
11830
13331
  "RecordSets"
11831
13332
  ]
11832
13333
  },
13334
+ "AWS::Route53Resolver::ResolverEndpoint": {
13335
+ "full_properties": {
13336
+ "Direction": {
13337
+ "description": "Indicates whether the resolver endpoint allows inbound or outbound DNS queries:",
13338
+ "required": true,
13339
+ "type": "String",
13340
+ "update_causes": "replacement"
13341
+ },
13342
+ "IpAddresses": {
13343
+ "description": "The subnets and IP addresses in your VPC that you want DNS queries to pass through on the way from your VPCs to your network (for outbound endpoints) or on the way from your network to your VPCs (for inbound resolver endpoints).",
13344
+ "required": true,
13345
+ "type": "Array",
13346
+ "update_causes": "none"
13347
+ },
13348
+ "Name": {
13349
+ "description": "A friendly name that lets you easily find a configuration in the Resolver dashboard in the Route 53 console.",
13350
+ "required": false,
13351
+ "type": "String",
13352
+ "update_causes": "none"
13353
+ },
13354
+ "SecurityGroupIds": {
13355
+ "description": "The ID of one or more security groups that you want to use to control access to this VPC. The security group that you specify must include one or more inbound rules (for inbound resolver endpoints) or outbound rules (for outbound resolver endpoints).",
13356
+ "required": true,
13357
+ "type": "Array",
13358
+ "update_causes": "replacement"
13359
+ },
13360
+ "Tags": {
13361
+ "description": "A list of the tag keys and values that you want to associate with the endpoint.",
13362
+ "required": false,
13363
+ "type": "Array",
13364
+ "update_causes": "none"
13365
+ }
13366
+ },
13367
+ "path": "aws-resource-route53resolver-resolverendpoint.html",
13368
+ "properties": [
13369
+ "Direction",
13370
+ "IpAddresses",
13371
+ "Name",
13372
+ "SecurityGroupIds",
13373
+ "Tags"
13374
+ ]
13375
+ },
13376
+ "AWS::Route53Resolver::ResolverRule": {
13377
+ "full_properties": {
13378
+ "DomainName": {
13379
+ "description": "DNS queries for this domain name are forwarded to the IP addresses that are specified in TargetIps. If a query matches multiple resolver rules (example.com and www.example.com), the query is routed using the resolver rule that contains the most specific domain name (www.example.com).",
13380
+ "required": true,
13381
+ "type": "String",
13382
+ "update_causes": "replacement"
13383
+ },
13384
+ "Name": {
13385
+ "description": "A friendly name that lets you easily find a rule in the Resolver dashboard in the Route 53 console.",
13386
+ "required": false,
13387
+ "type": "String",
13388
+ "update_causes": "none"
13389
+ },
13390
+ "ResolverEndpointId": {
13391
+ "description": "The ID of the outbound endpoint that the rule is associated with.",
13392
+ "required": false,
13393
+ "type": "String",
13394
+ "update_causes": "none"
13395
+ },
13396
+ "RuleType": {
13397
+ "description": "When you want to forward DNS queries for specified domain name to resolvers on your network, specify FORWARD.",
13398
+ "required": true,
13399
+ "type": "Unknown",
13400
+ "update_causes": "replacement"
13401
+ },
13402
+ "Tags": {
13403
+ "description": "A list of the tag keys and values that you want to associate with the rule.",
13404
+ "required": false,
13405
+ "type": "Array",
13406
+ "update_causes": "none"
13407
+ },
13408
+ "TargetIps": {
13409
+ "description": "When a DNS query matches the name that you specify in DomainName, the outbound endpoint forwards the query to the IP addresses that you specify here, typically the IP addresses for DNS resolvers on your network. Specify IPv4 addresses. IPv6 is not supported.",
13410
+ "required": false,
13411
+ "type": "Array",
13412
+ "update_causes": "none"
13413
+ }
13414
+ },
13415
+ "path": "aws-resource-route53resolver-resolverrule.html",
13416
+ "properties": [
13417
+ "DomainName",
13418
+ "Name",
13419
+ "ResolverEndpointId",
13420
+ "RuleType",
13421
+ "Tags",
13422
+ "TargetIps"
13423
+ ]
13424
+ },
11833
13425
  "AWS::S3::Bucket": {
11834
13426
  "full_properties": {
11835
13427
  "AccelerateConfiguration": {
@@ -11851,7 +13443,7 @@
11851
13443
  "update_causes": "none"
11852
13444
  },
11853
13445
  "BucketEncryption": {
11854
- "description": "Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys SSE-S3 or AWS KMS-managed Keys (SSE-KMS) bucket..",
13446
+ "description": "Specifies default encryption for a bucket using server-side encryption with either Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS).",
11855
13447
  "required": false,
11856
13448
  "type": "Unknown",
11857
13449
  "update_causes": "none"
@@ -11887,7 +13479,7 @@
11887
13479
  "update_causes": "none"
11888
13480
  },
11889
13481
  "MetricsConfigurations": {
11890
- "description": "Settings that define a metrics configuration for the CloudWatch request metrics from the bucket.",
13482
+ "description": "Settings that define a metrics configuration for the CloudWatch request metrics from the bucket. For a list of request metrics, see Amazon S3 CloudWatch Request Metrics in the Amazon Simple Storage Service Developer Guide.",
11891
13483
  "required": false,
11892
13484
  "type": "Array",
11893
13485
  "update_causes": "none"
@@ -11898,6 +13490,12 @@
11898
13490
  "type": "Unknown",
11899
13491
  "update_causes": "none"
11900
13492
  },
13493
+ "PublicAccessBlockConfiguration": {
13494
+ "description": "Configuration that defines how Amazon S3 handles public access.",
13495
+ "required": false,
13496
+ "type": "Unknown",
13497
+ "update_causes": "none"
13498
+ },
11901
13499
  "ReplicationConfiguration": {
11902
13500
  "description": "Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the VersioningConfiguration property.",
11903
13501
  "required": false,
@@ -11936,6 +13534,7 @@
11936
13534
  "LoggingConfiguration",
11937
13535
  "MetricsConfigurations",
11938
13536
  "NotificationConfiguration",
13537
+ "PublicAccessBlockConfiguration",
11939
13538
  "ReplicationConfiguration",
11940
13539
  "Tags",
11941
13540
  "VersioningConfiguration",
@@ -11945,7 +13544,7 @@
11945
13544
  "AWS::S3::BucketPolicy": {
11946
13545
  "full_properties": {
11947
13546
  "Bucket": {
11948
- "description": "The Amazon S3 bucket that the policy applies to.",
13547
+ "description": "The name of the Amazon S3 bucket to which the policy applies.",
11949
13548
  "required": true,
11950
13549
  "type": "String",
11951
13550
  "update_causes": "unavailable"
@@ -12084,18 +13683,42 @@
12084
13683
  },
12085
13684
  "AWS::SNS::Subscription": {
12086
13685
  "full_properties": {
13686
+ "DeliveryPolicy": {
13687
+ "description": "The JSON serialization of the subscription's delivery policy. For more information, see GetSubscriptionAttributes in the Amazon Simple Notification Service API Reference.",
13688
+ "required": false,
13689
+ "type": "Unknown",
13690
+ "update_causes": "none"
13691
+ },
12087
13692
  "Endpoint": {
12088
13693
  "description": "The endpoint that receives notifications from the Amazon SNS topic. The endpoint value depends on the protocol that you specify. For more information, see the Subscribe Endpoint parameter in the Amazon Simple Notification Service API Reference.",
12089
13694
  "required": false,
12090
13695
  "type": "String",
12091
13696
  "update_causes": "replacement"
12092
13697
  },
13698
+ "FilterPolicy": {
13699
+ "description": "The filter policy JSON that is assigned to the subscription. For more information, see GetSubscriptionAttributes in the Amazon Simple Notification Service API Reference.",
13700
+ "required": false,
13701
+ "type": "Unknown",
13702
+ "update_causes": "none"
13703
+ },
12093
13704
  "Protocol": {
12094
13705
  "description": "The subscription's protocol. For more information, see the Subscribe Protocol parameter in the Amazon Simple Notification Service API Reference.",
12095
13706
  "required": true,
12096
13707
  "type": "String",
12097
13708
  "update_causes": "replacement"
12098
13709
  },
13710
+ "RawMessageDelivery": {
13711
+ "description": "true if raw message delivery is enabled for the subscription. Raw messages are free of JSON formatting and can be sent to HTTP/S and Amazon SQS endpoints. For more information, see GetSubscriptionAttributes in the Amazon Simple Notification Service API Reference.",
13712
+ "required": false,
13713
+ "type": "Boolean",
13714
+ "update_causes": "none"
13715
+ },
13716
+ "Region": {
13717
+ "description": "The region in which the topic resides.",
13718
+ "required": false,
13719
+ "type": "String",
13720
+ "update_causes": "replacement"
13721
+ },
12099
13722
  "TopicArn": {
12100
13723
  "description": "The Amazon Resource Name (ARN) of the topic to subscribe to.",
12101
13724
  "required": true,
@@ -12105,8 +13728,12 @@
12105
13728
  },
12106
13729
  "path": "aws-resource-sns-subscription.html",
12107
13730
  "properties": [
13731
+ "DeliveryPolicy",
12108
13732
  "Endpoint",
13733
+ "FilterPolicy",
12109
13734
  "Protocol",
13735
+ "RawMessageDelivery",
13736
+ "Region",
12110
13737
  "TopicArn"
12111
13738
  ]
12112
13739
  },
@@ -12118,6 +13745,12 @@
12118
13745
  "type": "String",
12119
13746
  "update_causes": "none"
12120
13747
  },
13748
+ "KmsMasterKeyId": {
13749
+ "description": "An AWS KMS key identifier. This can be a key ID, key ARN, or key alias.",
13750
+ "required": false,
13751
+ "type": "String",
13752
+ "update_causes": "none"
13753
+ },
12121
13754
  "Subscription": {
12122
13755
  "description": "The SNS subscriptions (endpoints) for this topic.",
12123
13756
  "required": false,
@@ -12134,6 +13767,7 @@
12134
13767
  "path": "aws-properties-sns-topic.html",
12135
13768
  "properties": [
12136
13769
  "DisplayName",
13770
+ "KmsMasterKeyId",
12137
13771
  "Subscription",
12138
13772
  "TopicName"
12139
13773
  ]
@@ -12174,7 +13808,7 @@
12174
13808
  "update_causes": "none"
12175
13809
  },
12176
13810
  "FifoQueue": {
12177
- "description": "Indicates whether this queue is a FIFO queue. For more information, see FIFO (First-In-First-Out) Queues in the Amazon Simple Queue Service Developer Guide.",
13811
+ "description": "If set to true, creates a FIFO queue. If you don't specify this property, Amazon SQS creates a standard queue. For more information, see FIFO (First-In-First-Out) Queues in the Amazon Simple Queue Service Developer Guide.",
12178
13812
  "required": false,
12179
13813
  "type": "Boolean",
12180
13814
  "update_causes": "replacement"
@@ -12221,6 +13855,12 @@
12221
13855
  "type": "Unknown",
12222
13856
  "update_causes": "none"
12223
13857
  },
13858
+ "Tags": {
13859
+ "description": "The tags that you want to attach to this queue.",
13860
+ "required": false,
13861
+ "type": "Array",
13862
+ "update_causes": "none"
13863
+ },
12224
13864
  "VisibilityTimeout": {
12225
13865
  "description": "The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue.",
12226
13866
  "required": false,
@@ -12240,6 +13880,7 @@
12240
13880
  "QueueName",
12241
13881
  "ReceiveMessageWaitTimeSeconds",
12242
13882
  "RedrivePolicy",
13883
+ "Tags",
12243
13884
  "VisibilityTimeout"
12244
13885
  ]
12245
13886
  },
@@ -12381,6 +14022,12 @@
12381
14022
  "type": "Number",
12382
14023
  "update_causes": "interrupt"
12383
14024
  },
14025
+ "EndDate": {
14026
+ "description": "The date and time, in ISO-8601 Extended format, for when you want the Maintenance Window to become inactive. EndDate allows you to set a date and time in the future when the Maintenance Window will no longer run.",
14027
+ "required": false,
14028
+ "type": "String",
14029
+ "update_causes": "interrupt"
14030
+ },
12384
14031
  "Name": {
12385
14032
  "description": "The name of the Maintenance Window.",
12386
14033
  "required": true,
@@ -12392,16 +14039,31 @@
12392
14039
  "required": true,
12393
14040
  "type": "String",
12394
14041
  "update_causes": "interrupt"
14042
+ },
14043
+ "ScheduleTimezone": {
14044
+ "description": "The time zone that the scheduled Maintenance Window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"etc/UTC\", or \"Asia/Seoul\". For more information, see the Time Zone Database on the IANA website.",
14045
+ "required": false,
14046
+ "type": "String",
14047
+ "update_causes": "interrupt"
14048
+ },
14049
+ "StartDate": {
14050
+ "description": "The date and time, in ISO-8601 Extended format, for when you want the Maintenance Window to become active. StartDate allows you to delay activation of the Maintenance Window until the specified future date.",
14051
+ "required": false,
14052
+ "type": "String",
14053
+ "update_causes": "interrupt"
12395
14054
  }
12396
14055
  },
12397
14056
  "path": "aws-resource-ssm-maintenancewindow.html",
12398
14057
  "properties": [
14058
+ "Name",
12399
14059
  "Description",
12400
14060
  "AllowUnassociatedTargets",
12401
- "Cutoff",
12402
14061
  "Schedule",
12403
14062
  "Duration",
12404
- "Name"
14063
+ "Cutoff",
14064
+ "StartDate",
14065
+ "EndDate",
14066
+ "ScheduleTimezone"
12405
14067
  ]
12406
14068
  },
12407
14069
  "AWS::SSM::MaintenanceWindowTarget": {
@@ -12566,7 +14228,7 @@
12566
14228
  "update_causes": "none"
12567
14229
  },
12568
14230
  "Name": {
12569
- "description": "The name of the parameter. Names must not be prefixed with aws or ssm.",
14231
+ "description": "The name of the parameter.",
12570
14232
  "required": false,
12571
14233
  "type": "String",
12572
14234
  "update_causes": "replacement"
@@ -12586,11 +14248,11 @@
12586
14248
  },
12587
14249
  "path": "aws-resource-ssm-parameter.html",
12588
14250
  "properties": [
12589
- "Name",
14251
+ "AllowedPattern",
12590
14252
  "Description",
14253
+ "Name",
12591
14254
  "Type",
12592
- "Value",
12593
- "AllowedPattern"
14255
+ "Value"
12594
14256
  ]
12595
14257
  },
12596
14258
  "AWS::SSM::PatchBaseline": {
@@ -12599,40 +14261,46 @@
12599
14261
  "description": "A set of rules that are used to include patches in the baseline.",
12600
14262
  "required": false,
12601
14263
  "type": "Unknown",
12602
- "update_causes": "interrupt"
14264
+ "update_causes": "none"
12603
14265
  },
12604
14266
  "ApprovedPatches": {
12605
14267
  "description": "A list of explicitly approved patches for the baseline.",
12606
14268
  "required": false,
12607
14269
  "type": "Array",
12608
- "update_causes": "interrupt"
14270
+ "update_causes": "none"
12609
14271
  },
12610
14272
  "ApprovedPatchesComplianceLevel": {
12611
14273
  "description": "The compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid compliance severity levels include the following: CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, and UNSPECIFIED. The default value is UNSPECIFIED.",
12612
14274
  "required": false,
12613
14275
  "type": "String",
12614
- "update_causes": "interrupt"
14276
+ "update_causes": "none"
14277
+ },
14278
+ "ApprovedPatchesEnableNonSecurity": {
14279
+ "description": "Indicates whether the list of approved patches includes non-security updates that should be applied to the instances. The default value is 'false'. Applies to Linux instances only.",
14280
+ "required": false,
14281
+ "type": "Boolean",
14282
+ "update_causes": "none"
12615
14283
  },
12616
14284
  "Description": {
12617
14285
  "description": "A description of the patch baseline.",
12618
14286
  "required": false,
12619
14287
  "type": "String",
12620
- "update_causes": "interrupt"
14288
+ "update_causes": "none"
12621
14289
  },
12622
14290
  "GlobalFilters": {
12623
14291
  "description": "A set of global filters that are used to exclude patches from the baseline.",
12624
14292
  "required": false,
12625
14293
  "type": "Unknown",
12626
- "update_causes": "interrupt"
14294
+ "update_causes": "none"
12627
14295
  },
12628
14296
  "Name": {
12629
14297
  "description": "The name of the patch baseline.",
12630
14298
  "required": true,
12631
14299
  "type": "String",
12632
- "update_causes": "interrupt"
14300
+ "update_causes": "none"
12633
14301
  },
12634
14302
  "OperatingSystem": {
12635
- "description": "Defines the operating system that the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, and CENTOS. The default value is WINDOWS.",
14303
+ "description": "Defines the operating system that the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, and CENTOS. The default value is WINDOWS.",
12636
14304
  "required": false,
12637
14305
  "type": "String",
12638
14306
  "update_causes": "replacement"
@@ -12641,26 +14309,90 @@
12641
14309
  "description": "The names of the patch groups to register with the patch baseline.",
12642
14310
  "required": false,
12643
14311
  "type": "Array",
12644
- "update_causes": "interrupt"
14312
+ "update_causes": "none"
12645
14313
  },
12646
14314
  "RejectedPatches": {
12647
14315
  "description": "A list of explicitly rejected patches for the baseline.",
12648
14316
  "required": false,
12649
14317
  "type": "Array",
12650
- "update_causes": "interrupt"
14318
+ "update_causes": "none"
14319
+ },
14320
+ "RejectedPatchesAction": {
14321
+ "description": "The action for Patch Manager to take on patches included in the RejectedPackages list.",
14322
+ "required": false,
14323
+ "type": "Array",
14324
+ "update_causes": "none"
14325
+ },
14326
+ "Sources": {
14327
+ "description": "Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.",
14328
+ "required": false,
14329
+ "type": "Unknown",
14330
+ "update_causes": "none"
12651
14331
  }
12652
14332
  },
12653
14333
  "path": "aws-resource-ssm-patchbaseline.html",
12654
14334
  "properties": [
14335
+ "Name",
12655
14336
  "OperatingSystem",
12656
- "ApprovedPatches",
12657
- "PatchGroups",
12658
14337
  "Description",
12659
- "ApprovedPatchesComplianceLevel",
14338
+ "PatchGroups",
12660
14339
  "ApprovalRules",
14340
+ "ApprovedPatches",
14341
+ "ApprovedPatchesComplianceLevel",
14342
+ "ApprovedPatchesEnableNonSecurity",
14343
+ "RejectedPatches",
14344
+ "RejectedPatchesAction",
12661
14345
  "GlobalFilters",
12662
- "Name",
12663
- "RejectedPatches"
14346
+ "Sources"
14347
+ ]
14348
+ },
14349
+ "AWS::SSM::ResourceDataSync": {
14350
+ "full_properties": {
14351
+ "BucketName": {
14352
+ "description": "The name of the Amazon S3 bucket where the aggregated data is stored.",
14353
+ "required": true,
14354
+ "type": "String",
14355
+ "update_causes": "replacement"
14356
+ },
14357
+ "BucketPrefix": {
14358
+ "description": "An Amazon S3 prefix for the bucket.",
14359
+ "required": false,
14360
+ "type": "String",
14361
+ "update_causes": "replacement"
14362
+ },
14363
+ "BucketRegion": {
14364
+ "description": "The AWS Region with the Amazon S3 bucket targeted by the Resource Data Sync.",
14365
+ "required": true,
14366
+ "type": "String",
14367
+ "update_causes": "replacement"
14368
+ },
14369
+ "KMSKeyArn": {
14370
+ "description": "The ARN of an encryption key for a destination in Amazon S3. You can use a KMS key to encrypt inventory data in Amazon S3. You must specify a key that exist in the same region as the destination Amazon S3 bucket.",
14371
+ "required": false,
14372
+ "type": "String",
14373
+ "update_causes": "replacement"
14374
+ },
14375
+ "SyncFormat": {
14376
+ "description": "The format in which Resource Data Sync output will be stored in Amazon S3. The following format is currently supported: JsonSerDe",
14377
+ "required": true,
14378
+ "type": "String",
14379
+ "update_causes": "replacement"
14380
+ },
14381
+ "SyncName": {
14382
+ "description": "A name for the Resource Data Sync.",
14383
+ "required": true,
14384
+ "type": "String",
14385
+ "update_causes": "replacement"
14386
+ }
14387
+ },
14388
+ "path": "aws-resource-ssm-resourcedatasync.html",
14389
+ "properties": [
14390
+ "KMSKeyArn",
14391
+ "BucketName",
14392
+ "BucketRegion",
14393
+ "SyncFormat",
14394
+ "SyncName",
14395
+ "BucketPrefix"
12664
14396
  ]
12665
14397
  },
12666
14398
  "AWS::SageMaker::Endpoint": {
@@ -12866,6 +14598,132 @@
12866
14598
  "OnCreate"
12867
14599
  ]
12868
14600
  },
14601
+ "AWS::SecretsManager::ResourcePolicy": {
14602
+ "full_properties": {
14603
+ "ResourcePolicy": {
14604
+ "description": "Specifies a JSON object that's constructed according to the grammar and syntax for an AWSresource-based policy. The policy identifies who can access or manage this secret and its versions. For information on how to format a JSON object as a parameter for this resource type, see Using Resource-based Policies for Secrets Manager in the AWS Secrets Manager User Guide. Those same rules apply here.",
14605
+ "required": true,
14606
+ "type": "Unknown",
14607
+ "update_causes": "interrupt"
14608
+ },
14609
+ "SecretId": {
14610
+ "description": "Specifies the Amazon Resource Name (ARN) or the friendly name of the secret that you want to attach a resource-based permissions policy to. To reference a secret that's also created in this template, use the Ref function with the secret's logical ID.",
14611
+ "required": true,
14612
+ "type": "String",
14613
+ "update_causes": "replacement"
14614
+ }
14615
+ },
14616
+ "path": "aws-resource-secretsmanager-resourcepolicy.html",
14617
+ "properties": [
14618
+ "SecretId",
14619
+ "ResourcePolicy"
14620
+ ]
14621
+ },
14622
+ "AWS::SecretsManager::RotationSchedule": {
14623
+ "full_properties": {
14624
+ "RotationLambdaARN": {
14625
+ "description": "Specifies the ARN of the Lambda function that can rotate the secret. If you don't specify this parameter, then the secret must already have the ARN of a Lambda function configured. To reference a Lambda function that's also created in this template, use the Ref function with the function's logical ID.",
14626
+ "required": false,
14627
+ "type": "String",
14628
+ "update_causes": "interrupt"
14629
+ },
14630
+ "RotationRules": {
14631
+ "description": "Specifies a structure that defines the rotation schedule for this secret.",
14632
+ "required": false,
14633
+ "type": "Unknown",
14634
+ "update_causes": "interrupt"
14635
+ },
14636
+ "SecretId": {
14637
+ "description": "Specifies the Amazon Resource Name (ARN) or the friendly name of the secret that you want to rotate. To reference a secret also that's created in this template, use the Ref function with the secret's logical ID.",
14638
+ "required": true,
14639
+ "type": "String",
14640
+ "update_causes": "replacement"
14641
+ }
14642
+ },
14643
+ "path": "aws-resource-secretsmanager-rotationschedule.html",
14644
+ "properties": [
14645
+ "SecretId",
14646
+ "RotationLambdaARN",
14647
+ "RotationRules"
14648
+ ]
14649
+ },
14650
+ "AWS::SecretsManager::Secret": {
14651
+ "full_properties": {
14652
+ "Description": {
14653
+ "description": "Specifies a user-provided description of the secret.",
14654
+ "required": false,
14655
+ "type": "String",
14656
+ "update_causes": "interrupt"
14657
+ },
14658
+ "GenerateSecretString": {
14659
+ "description": "A structure that specifies how to generate a random password by using the functionality of the GetRandomPassword API. You can return that string directly to use as the secret value, or you can alternatively also specify both the SecretStringTemplate and the GenerateSecretKey parameters. Secrets Manager uses the value in GenerateSecretKey as the key name and combines it with the randomly generated password to make a JSON key-value pair. It then inserts that pair into the JSON structure that's specified in the SecretStringTemplate parameter. Secrets Manager stores the completed string as the secret value in the initial version of the secret. For more information about how to use this property, see Secrets Manager Secret GenerateSecretString and the first example in the following Examples section.",
14660
+ "required": false,
14661
+ "type": "Unknown",
14662
+ "update_causes": "interrupt"
14663
+ },
14664
+ "KmsKeyId": {
14665
+ "description": "Specifies the ARN, Key ID, or alias of the AWS KMS customer master key (CMK) that's used to encrypt the secret values for versions of this secret. If you don't specify this value, then Secrets Manager defaults to the AWS account's default CMK (the one named aws/secretsmanager). If an AWS KMS CMK with that name doesn't yet exist, Secrets Manager creates it for you automatically the first time it needs to encrypt a version's secret value fields.",
14666
+ "required": false,
14667
+ "type": "String",
14668
+ "update_causes": "interrupt"
14669
+ },
14670
+ "Name": {
14671
+ "description": "Specifies the friendly name of the new secret. If a Name parameter isn't specified, then Secrets Manager generates a name based on the logical resource ID of the secret in the AWS CloudFormation template.",
14672
+ "required": false,
14673
+ "type": "String",
14674
+ "update_causes": "replacement"
14675
+ },
14676
+ "SecretString": {
14677
+ "description": "Specifies a literal string to use as the secret value in the initial version of this secret. You can specify any text you like, but remember that Lambda rotation functions require a specific JSON structure to be present in this field.",
14678
+ "required": false,
14679
+ "type": "String",
14680
+ "update_causes": "interrupt"
14681
+ },
14682
+ "Tags": {
14683
+ "description": "Specifies an arbitrary set of tags (key–value pairs) to associate with this secret. Use tags to manage your AWS resources.",
14684
+ "required": false,
14685
+ "type": "Array",
14686
+ "update_causes": "interrupt"
14687
+ }
14688
+ },
14689
+ "path": "aws-resource-secretsmanager-secret.html",
14690
+ "properties": [
14691
+ "Description",
14692
+ "KmsKeyId",
14693
+ "SecretString",
14694
+ "GenerateSecretString",
14695
+ "Tags",
14696
+ "Name"
14697
+ ]
14698
+ },
14699
+ "AWS::SecretsManager::SecretTargetAttachment": {
14700
+ "full_properties": {
14701
+ "SecretId": {
14702
+ "description": "The Amazon Resource Name (ARN) or the friendly name of the secret that contains the credentials that you want to use with the specified service or database. To reference a secret that's also created in this template, use the Ref function with the secret's logical ID.",
14703
+ "required": true,
14704
+ "type": "String",
14705
+ "update_causes": "interrupt"
14706
+ },
14707
+ "TargetId": {
14708
+ "description": "The ARN of the service or database whose credentials are stored in the specified secret. To reference a service or database that's also created in this template, use the Ref function with the service or database's logical ID.",
14709
+ "required": true,
14710
+ "type": "String",
14711
+ "update_causes": "interrupt"
14712
+ },
14713
+ "TargetType": {
14714
+ "description": "A string that defines the type of service or database that's being associated with the secret. This value instructs Secrets Manager how to update the secret with the details of the service or database. This value must be one of the following:",
14715
+ "required": true,
14716
+ "type": "String",
14717
+ "update_causes": "interrupt"
14718
+ }
14719
+ },
14720
+ "path": "aws-resource-secretsmanager-secrettargetattachment.html",
14721
+ "properties": [
14722
+ "SecretId",
14723
+ "TargetId",
14724
+ "TargetType"
14725
+ ]
14726
+ },
12869
14727
  "AWS::ServiceCatalog::AcceptedPortfolioShare": {
12870
14728
  "full_properties": {
12871
14729
  "AcceptLanguage": {
@@ -13003,13 +14861,13 @@
13003
14861
  "update_causes": "replacement"
13004
14862
  },
13005
14863
  "ProvisioningArtifactId": {
13006
- "description": "The identifier of the provisioning artifact. You must specify either the ID or the name of the provisioning artifact, but not both.",
14864
+ "description": "The identifier of the provisioning artifact (also known as a version) for the product. You must specify either the ID or the name of the provisioning artifact, but not both.",
13007
14865
  "required": false,
13008
14866
  "type": "String",
13009
14867
  "update_causes": "none"
13010
14868
  },
13011
14869
  "ProvisioningArtifactName": {
13012
- "description": "The name of the provisioning artifact. This name must be unique for the product. You must specify either the name or the ID of the provisioning artifact, but not both.",
14870
+ "description": "The name of the provisioning artifact (also known as a version) for the product. This name must be unique for the product. You must specify either the name or the ID of the provisioning artifact, but not both.",
13013
14871
  "required": false,
13014
14872
  "type": "String",
13015
14873
  "update_causes": "none"
@@ -13282,13 +15140,13 @@
13282
15140
  "AWS::ServiceCatalog::PortfolioShare": {
13283
15141
  "full_properties": {
13284
15142
  "AcceptLanguage": {
13285
- "description": "The AWS account ID.",
15143
+ "description": "The language code.",
13286
15144
  "required": false,
13287
15145
  "type": "String",
13288
15146
  "update_causes": "replacement"
13289
15147
  },
13290
15148
  "AccountId": {
13291
- "description": "The language code.",
15149
+ "description": "The AWS account ID.",
13292
15150
  "required": true,
13293
15151
  "type": "String",
13294
15152
  "update_causes": "replacement"
@@ -13453,6 +15311,12 @@
13453
15311
  "type": "Unknown",
13454
15312
  "update_causes": "none"
13455
15313
  },
15314
+ "HealthCheckCustomConfig": {
15315
+ "description": "Specifies information about an optional custom health check.",
15316
+ "required": false,
15317
+ "type": "Unknown",
15318
+ "update_causes": "none"
15319
+ },
13456
15320
  "Name": {
13457
15321
  "description": "The name that you want to assign to the service.",
13458
15322
  "required": false,
@@ -13465,6 +15329,7 @@
13465
15329
  "Description",
13466
15330
  "DnsConfig",
13467
15331
  "HealthCheckConfig",
15332
+ "HealthCheckCustomConfig",
13468
15333
  "Name"
13469
15334
  ]
13470
15335
  },
@@ -13534,7 +15399,7 @@
13534
15399
  "AWS::WAF::IPSet": {
13535
15400
  "full_properties": {
13536
15401
  "IPSetDescriptors": {
13537
- "description": "The IP address type and IP address range (in CIDR notation) from which web requests originate. If you associate the IPSet with a web ACL that is associated with a Amazon CloudFront (CloudFront) distribution, this descriptor is the value of one of the following fields in the CloudFront access logs:",
15402
+ "description": "The IP address type and IP address range (in CIDR notation) from which web requests originate. If you associate the IPSet with a web ACL that is associated with an Amazon CloudFront (CloudFront) distribution and the viewer did not use an HTTP proxy or a load balancer to send the request, this descriptor is the value of the c-ip field in the CloudFront access logs.",
13538
15403
  "required": false,
13539
15404
  "type": "Array",
13540
15405
  "update_causes": "none"
@@ -13887,6 +15752,12 @@
13887
15752
  "type": "Boolean",
13888
15753
  "update_causes": "unavailable"
13889
15754
  },
15755
+ "Tags": {
15756
+ "description": "The tags (key-value pairs) for the WorkSpace.",
15757
+ "required": false,
15758
+ "type": "Array",
15759
+ "update_causes": "interrupt"
15760
+ },
13890
15761
  "UserName": {
13891
15762
  "description": "The name of the user to which the workspace is assigned. This user name must exist in the specified AWS Directory Service directory.",
13892
15763
  "required": true,
@@ -13904,16 +15775,66 @@
13904
15775
  "required": false,
13905
15776
  "type": "String",
13906
15777
  "update_causes": "unavailable"
15778
+ },
15779
+ "WorkspaceProperties": {
15780
+ "description": "The WorkSpace properties.",
15781
+ "required": false,
15782
+ "type": "Unknown",
15783
+ "update_causes": "none"
13907
15784
  }
13908
15785
  },
13909
15786
  "path": "aws-resource-workspaces-workspace.html",
13910
15787
  "properties": [
13911
15788
  "BundleId",
13912
15789
  "DirectoryId",
13913
- "UserName",
13914
15790
  "RootVolumeEncryptionEnabled",
15791
+ "Tags",
15792
+ "UserName",
13915
15793
  "UserVolumeEncryptionEnabled",
13916
- "VolumeEncryptionKey"
15794
+ "VolumeEncryptionKey",
15795
+ "WorkspaceProperties"
15796
+ ]
15797
+ },
15798
+ "Alexa::ASK::Skill": {
15799
+ "full_properties": {
15800
+ "AuthenticationConfiguration": {
15801
+ "description": "Login with Amazon (LWA) configuration used to authenticate with the Alexa service. Only Login with Amazon clients created through the Amazon Developer Console are supported. The Client ID, Client Secret, and Refresh Token are required.",
15802
+ "required": true,
15803
+ "type": "Unknown",
15804
+ "update_causes": "interrupt"
15805
+ },
15806
+ "SkillPackage": {
15807
+ "description": "Configuration for the skill package that contains the components of the Alexa Skill. Skill packages are retrieved from an Amazon S3 bucket and key and used to create and update the skill. More details about the skill package format are located in the Skill Package API Reference.",
15808
+ "required": true,
15809
+ "type": "Unknown",
15810
+ "update_causes": "interrupt"
15811
+ },
15812
+ "VendorId": {
15813
+ "description": "The vendor ID associated with the Amazon developer account that will host the skill. Details for retrieving the vendor ID are in How to get your vendor ID. The provided LWA credentials must be linked to the developer account associated with this vendor ID.",
15814
+ "required": true,
15815
+ "type": "String",
15816
+ "update_causes": "replacement"
15817
+ }
15818
+ },
15819
+ "path": "aws-resource-ask-skill.html",
15820
+ "properties": [
15821
+ "AuthenticationConfiguration",
15822
+ "SkillPackage",
15823
+ "VendorId"
15824
+ ]
15825
+ },
15826
+ "PatchSource": {
15827
+ "full_properties": {
15828
+ "Configuration": {
15829
+ "description": "The value of the yum repo configuration.",
15830
+ "required": true,
15831
+ "type": "String",
15832
+ "update_causes": "unknown"
15833
+ }
15834
+ },
15835
+ "path": "aws-properties-ssm-patchbaseline-patchsource.html",
15836
+ "properties": [
15837
+ "Configuration"
13917
15838
  ]
13918
15839
  }
13919
15840
  }