sparkle_formation 3.0.34 → 3.0.36

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 293b1c77830e469c22f535db4db409a49fbc2d8d3aff9e9c3cdecc7a72545cf4
4
- data.tar.gz: d405b0d75c0ad6a1d952b76ce343fb53055048167f3264528be5fb15a94e32cc
3
+ metadata.gz: 354d57e9781c395c6cecaedf6e80e602db3d29afc063dcd240bb82a19a9b6e13
4
+ data.tar.gz: 4b34ece3ddb9f5514d0a59ea4bfe74f8fe4dd9e763dd082b95b996283ef95a8a
5
5
  SHA512:
6
- metadata.gz: f09e6d8d9b25b6f6b3ab0cfbfd73c7187450f0d2883e212e2af2f8df0532bb5b06746d58a73b108a69b3b9996c0b55ac0825339c96361d6b02e6bc28af46968a
7
- data.tar.gz: 78885c873526c7c4ed6b9a4919391cadf117142382dab4d665a1d30c81c9f74a781f6033921601fe451b6953e77ba6de449c05090f844bd88daccb5e0f3dd374
6
+ metadata.gz: cda465c5335a6092926f91b069b0e1745e76b54e59ea1786747e408e7b185304540a69a132eaaccb8482e54f37a4e70eeeb7258823f67b87427b579823b0c8ea
7
+ data.tar.gz: 628a65f847c332c73ee6bb8c4658901552adf6a94b60c49cb4dd1e1ac880c6904d0f7f80c704fe7b1fc7131e299c3d93018cd649f1b89082eb3239c444297b94
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # v3.0.36
2
+ * Add audit log feature to record template construction
3
+
1
4
  # v3.0.34
2
5
  * Allow mapped provider name when loading resources
3
6
  * Support natural terraform format when applying reformat
@@ -5,6 +5,7 @@ require "attribute_struct"
5
5
  # Unicorns and rainbows
6
6
  class SparkleFormation
7
7
  autoload :Aws, "sparkle_formation/aws"
8
+ autoload :AuditLog, "sparkle_formation/audit_log"
8
9
  autoload :AzureVariableStruct, "sparkle_formation/function_struct"
9
10
  autoload :Composition, "sparkle_formation/composition"
10
11
  autoload :Error, "sparkle_formation/error"
@@ -0,0 +1,98 @@
1
+ class SparkleFormation
2
+ class AuditLog
3
+ include Enumerable
4
+
5
+ class SourcePoint
6
+ attr_reader :line
7
+ attr_reader :path
8
+
9
+ def initialize(*args)
10
+ if args.last.is_a?(Hash)
11
+ opts = args.pop.to_smash
12
+ else
13
+ opts = Smash.new
14
+ end
15
+ @path, @line = args
16
+ @path = opts[:path] if opts[:path]
17
+ @line = opts[:line] if opts[:line]
18
+ @line = @line.to_i
19
+ unless @path
20
+ raise ArgumentError,
21
+ "Missing expected value for `path`"
22
+ end
23
+ if !@path.is_a?(String) && !@path.is_a?(Symbol)
24
+ raise TypeError,
25
+ "Expected `String` or `Symbol` for path but received `#{@path.class}`"
26
+ end
27
+ end
28
+ end
29
+
30
+ class Record
31
+ # @return [AuditLog]
32
+ attr_reader :audit_log
33
+ # @return [SourcePoint] path and line of location
34
+ attr_reader :location
35
+ # @return [String] name of record
36
+ attr_reader :name
37
+ # @return [Symbol] type of record
38
+ attr_reader :type
39
+ # @return [SourcePoint] path and line of caller
40
+ attr_reader :caller
41
+
42
+ def initialize(*args)
43
+ if args.last.is_a?(Hash)
44
+ opts = args.pop.to_smash
45
+ else
46
+ opts = Smash.new
47
+ end
48
+ @name, @type, @location, @caller = args
49
+ @caller = opts[:caller] if opts[:caller]
50
+ @name = opts[:name] if opts[:name]
51
+ @type = opts[:type] if opts[:type]
52
+ @location = opts[:location] if opts[:location]
53
+
54
+ [[@name, :name], [@location, :location], [@type, :type], [@caller, :caller]].each do |v, n|
55
+ raise ArgumentError, "Missing required argument `#{n}`" unless v
56
+ end
57
+
58
+ @audit_log = AuditLog.new
59
+ @caller = SourcePoint.new(*@caller)
60
+ @location = SourcePoint.new(*@location)
61
+ @type = @type.to_sym
62
+ end
63
+ end
64
+
65
+ attr_reader :list
66
+
67
+ def initialize
68
+ @list = []
69
+ end
70
+
71
+ def <<(item)
72
+ case item
73
+ when Array
74
+ item = Record.new(*item)
75
+ when Hash
76
+ item = Record.new(item)
77
+ end
78
+ add_item(item)
79
+ item
80
+ end
81
+
82
+ alias_method :push, :<<
83
+
84
+ def each(&block)
85
+ list.each(&block)
86
+ end
87
+
88
+ private
89
+
90
+ def add_item(item)
91
+ if !item.is_a?(Record)
92
+ raise TypeError, "Expected #{Record.class.name} but " \
93
+ "received #{item.class.name}"
94
+ end
95
+ list.push(item)
96
+ end
97
+ end
98
+ end
@@ -73,6 +73,12 @@
73
73
  "type": "Array",
74
74
  "update_causes": "replacement"
75
75
  },
76
+ "Tags": {
77
+ "description": "An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.",
78
+ "required": false,
79
+ "type": "Array",
80
+ "update_causes": "interrupt"
81
+ },
76
82
  "Users": {
77
83
  "description": "The list of all ActiveMQ usernames for the specified broker.",
78
84
  "required": true,
@@ -94,7 +100,8 @@
94
100
  "MaintenanceWindowStartTime",
95
101
  "PubliclyAccessible",
96
102
  "SecurityGroups",
97
- "SubnetIds"
103
+ "SubnetIds",
104
+ "Tags"
98
105
  ]
99
106
  },
100
107
  "AWS::AmazonMQ::Configuration": {
@@ -128,6 +135,12 @@
128
135
  "required": true,
129
136
  "type": "String",
130
137
  "update_causes": "replacement"
138
+ },
139
+ "Tags": {
140
+ "description": "An array of key-value pairs. For more information, see Using Cost Allocation Tags in the AWS Billing and Cost Management User Guide.",
141
+ "required": false,
142
+ "type": "Array",
143
+ "update_causes": "interrupt"
131
144
  }
132
145
  },
133
146
  "path": "aws-resource-amazonmq-configuration.html",
@@ -136,7 +149,29 @@
136
149
  "Description",
137
150
  "EngineType",
138
151
  "EngineVersion",
139
- "Name"
152
+ "Name",
153
+ "Tags"
154
+ ]
155
+ },
156
+ "AWS::AmazonMQ::ConfigurationAssociation": {
157
+ "full_properties": {
158
+ "Broker": {
159
+ "description": "The broker to associate with a configuration.",
160
+ "required": true,
161
+ "type": "String",
162
+ "update_causes": "replacement"
163
+ },
164
+ "Configuration": {
165
+ "description": "The configuration to associate with a broker.",
166
+ "required": true,
167
+ "type": "Unknown",
168
+ "update_causes": "none"
169
+ }
170
+ },
171
+ "path": "aws-resource-amazonmq-configurationassociation.html",
172
+ "properties": [
173
+ "Broker",
174
+ "Configuration"
140
175
  ]
141
176
  },
142
177
  "AWS::ApiGateway::Account": {
@@ -288,7 +323,7 @@
288
323
  "update_causes": "replacement"
289
324
  },
290
325
  "DomainName": {
291
- "description": "The domain name of a DomainName resource.",
326
+ "description": "The DomainName of an AWS::ApiGateway::DomainName resource.",
292
327
  "required": true,
293
328
  "type": "String",
294
329
  "update_causes": "replacement"
@@ -435,7 +470,7 @@
435
470
  "update_causes": "none"
436
471
  },
437
472
  "DomainName": {
438
- "description": "The custom domain name for your API in Amazon API Gateway.",
473
+ "description": "The custom domain name for your API in Amazon API Gateway. Uppercase letters are not supported.",
439
474
  "required": true,
440
475
  "type": "String",
441
476
  "update_causes": "replacement"
@@ -1643,6 +1678,12 @@
1643
1678
  "type": "String",
1644
1679
  "update_causes": "replacement"
1645
1680
  },
1681
+ "Kind": {
1682
+ "description": "The kind of the resolver.",
1683
+ "required": false,
1684
+ "type": "String",
1685
+ "update_causes": "replacement"
1686
+ },
1646
1687
  "PipelineConfig": {
1647
1688
  "description": "Functions linked with the pipeline resolver.",
1648
1689
  "required": false,
@@ -1690,6 +1731,7 @@
1690
1731
  "RequestMappingTemplateS3Location",
1691
1732
  "ApiId",
1692
1733
  "FieldName",
1734
+ "Kind",
1693
1735
  "PipelineConfig"
1694
1736
  ]
1695
1737
  },
@@ -1910,7 +1952,7 @@
1910
1952
  "update_causes": "none"
1911
1953
  },
1912
1954
  "LoadBalancerNames": {
1913
- "description": "A list of Classic load balancers associated with this Auto Scaling group. To specify Application Load Balancers, use TargetGroupARNs.",
1955
+ "description": "A list of Classic Load Balancers associated with this Auto Scaling group. To specify Application Load Balancers or Network Load Balancers, use TargetGroupARNs instead.",
1914
1956
  "required": false,
1915
1957
  "type": "Array",
1916
1958
  "update_causes": "none"
@@ -1934,7 +1976,7 @@
1934
1976
  "update_causes": "none"
1935
1977
  },
1936
1978
  "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.",
1979
+ "description": "The mixed instances policy to use to launch instances.",
1938
1980
  "required": false,
1939
1981
  "type": "Unknown",
1940
1982
  "update_causes": "none"
@@ -2404,7 +2446,7 @@
2404
2446
  "full_properties": {
2405
2447
  "ContainerProperties": {
2406
2448
  "description": "An object with various properties specific to container-based jobs.",
2407
- "required": true,
2449
+ "required": false,
2408
2450
  "type": "Unknown",
2409
2451
  "update_causes": "unknown"
2410
2452
  },
@@ -3204,7 +3246,7 @@
3204
3246
  },
3205
3247
  "Name": {
3206
3248
  "description": "A name for the project. The name must be unique across all of the projects in your AWS account.",
3207
- "required": true,
3249
+ "required": false,
3208
3250
  "type": "String",
3209
3251
  "update_causes": "replacement"
3210
3252
  },
@@ -4379,7 +4421,7 @@
4379
4421
  },
4380
4422
  "ExecutionRoleArn": {
4381
4423
  "description": "The Amazon Resource Name (ARN) of the IAM role used to run the operations specified by the lifecycle policy.",
4382
- "required": false,
4424
+ "required": true,
4383
4425
  "type": "String",
4384
4426
  "update_causes": "interrupt"
4385
4427
  },
@@ -4391,7 +4433,7 @@
4391
4433
  },
4392
4434
  "State": {
4393
4435
  "description": "The activation state of the lifecycle policy.",
4394
- "required": false,
4436
+ "required": true,
4395
4437
  "type": "String",
4396
4438
  "update_causes": "interrupt"
4397
4439
  }
@@ -4586,7 +4628,7 @@
4586
4628
  "SubscriptionName": {
4587
4629
  "description": "The subscription name.",
4588
4630
  "required": false,
4589
- "type": "Array",
4631
+ "type": "String",
4590
4632
  "update_causes": "replacement"
4591
4633
  },
4592
4634
  "Tags": {
@@ -4752,7 +4794,7 @@
4752
4794
  "description": "The migration type.",
4753
4795
  "required": true,
4754
4796
  "type": "String",
4755
- "update_causes": "none"
4797
+ "update_causes": "unavailable"
4756
4798
  },
4757
4799
  "ReplicationInstanceArn": {
4758
4800
  "description": "The Amazon Resource Name (ARN) of the replication instance.",
@@ -4985,6 +5027,258 @@
4985
5027
  "VpcSettings"
4986
5028
  ]
4987
5029
  },
5030
+ "AWS::DocDB::DBCluster": {
5031
+ "full_properties": {
5032
+ "AvailabilityZones": {
5033
+ "description": "A list of Availability Zones (AZs) in which DB instances in the cluster can be created.",
5034
+ "required": false,
5035
+ "type": "Array",
5036
+ "update_causes": "replacement"
5037
+ },
5038
+ "BackupRetentionPeriod": {
5039
+ "description": "The number of days for which automatic backups are retained. For more information, see Comparing Automatic and Manual Snapshots in the Amazon DocumentDB Developer Guide.",
5040
+ "required": false,
5041
+ "type": "Number",
5042
+ "update_causes": "none"
5043
+ },
5044
+ "DBClusterIdentifier": {
5045
+ "description": "The DB cluster identifier. This parameter is stored as a lowercase string.",
5046
+ "required": false,
5047
+ "type": "String",
5048
+ "update_causes": "replacement"
5049
+ },
5050
+ "DBClusterParameterGroupName": {
5051
+ "description": "The name of the DB cluster parameter group to associate with this DB cluster.",
5052
+ "required": false,
5053
+ "type": "String",
5054
+ "update_causes": "none"
5055
+ },
5056
+ "DBSubnetGroupName": {
5057
+ "description": "A DB subnet group that you want to associate with this DB cluster.",
5058
+ "required": false,
5059
+ "type": "String",
5060
+ "update_causes": "replacement"
5061
+ },
5062
+ "EngineVersion": {
5063
+ "description": "The version number of the database engine that you want to use.",
5064
+ "required": false,
5065
+ "type": "String",
5066
+ "update_causes": "replacement"
5067
+ },
5068
+ "KmsKeyId": {
5069
+ "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service master key that is used to encrypt the DB 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.",
5070
+ "required": false,
5071
+ "type": "String",
5072
+ "update_causes": "replacement"
5073
+ },
5074
+ "MasterUserPassword": {
5075
+ "description": "The password for the master database user.",
5076
+ "required": false,
5077
+ "type": "String",
5078
+ "update_causes": "none"
5079
+ },
5080
+ "MasterUsername": {
5081
+ "description": "The master user name for the DB instance.",
5082
+ "required": false,
5083
+ "type": "String",
5084
+ "update_causes": "replacement"
5085
+ },
5086
+ "Port": {
5087
+ "description": "The port number on which the DB instances in the cluster can accept connections. If this argument is omitted, 27017 is used.",
5088
+ "required": false,
5089
+ "type": "Number",
5090
+ "update_causes": "none"
5091
+ },
5092
+ "PreferredBackupWindow": {
5093
+ "description": "If automated backups are enabled (see the BackupRetentionPeriod property), the daily time range in UTC during which automated backups are created.",
5094
+ "required": false,
5095
+ "type": "String",
5096
+ "update_causes": "none"
5097
+ },
5098
+ "PreferredMaintenanceWindow": {
5099
+ "description": "The weekly time range (in UTC) during which system maintenance can occur.",
5100
+ "required": false,
5101
+ "type": "String",
5102
+ "update_causes": "none"
5103
+ },
5104
+ "SnapshotIdentifier": {
5105
+ "description": "The identifier for the DB cluster snapshot from which you want to restore.",
5106
+ "required": false,
5107
+ "type": "String",
5108
+ "update_causes": "replacement"
5109
+ },
5110
+ "StorageEncrypted": {
5111
+ "description": "Indicates whether the DB instances in the cluster are encrypted.",
5112
+ "required": false,
5113
+ "type": "Boolean",
5114
+ "update_causes": "replacement"
5115
+ },
5116
+ "Tags": {
5117
+ "description": "A list of up to 50 tags. A tag is metadata assigned to an Amazon DocumentDB resource consisting of a key-value pair.",
5118
+ "required": false,
5119
+ "type": "Array",
5120
+ "update_causes": "none"
5121
+ },
5122
+ "VpcSecurityGroupIds": {
5123
+ "description": "A list of VPC security groups to associate with this DB cluster.",
5124
+ "required": false,
5125
+ "type": "Array",
5126
+ "update_causes": "none"
5127
+ }
5128
+ },
5129
+ "path": "aws-resource-docdb-dbcluster.html",
5130
+ "properties": [
5131
+ "AvailabilityZones",
5132
+ "BackupRetentionPeriod",
5133
+ "DBClusterIdentifier",
5134
+ "DBClusterParameterGroupName",
5135
+ "DBSubnetGroupName",
5136
+ "EngineVersion",
5137
+ "KmsKeyId",
5138
+ "MasterUsername",
5139
+ "MasterUserPassword",
5140
+ "Port",
5141
+ "PreferredBackupWindow",
5142
+ "PreferredMaintenanceWindow",
5143
+ "SnapshotIdentifier",
5144
+ "StorageEncrypted",
5145
+ "Tags",
5146
+ "VpcSecurityGroupIds"
5147
+ ]
5148
+ },
5149
+ "AWS::DocDB::DBClusterParameterGroup": {
5150
+ "full_properties": {
5151
+ "Description": {
5152
+ "description": "Provides the customer-specified description for this DB cluster parameter group.",
5153
+ "required": true,
5154
+ "type": "String",
5155
+ "update_causes": "replacement"
5156
+ },
5157
+ "Family": {
5158
+ "description": "The DB cluster parameter group from which user created DB cluster parameter groups are created. For example, default.docdb3.6.",
5159
+ "required": true,
5160
+ "type": "String",
5161
+ "update_causes": "replacement"
5162
+ },
5163
+ "Name": {
5164
+ "description": "Provides the name of the DB parameter group family that this DB cluster parameter group is compatible with.",
5165
+ "required": false,
5166
+ "type": "String",
5167
+ "update_causes": "replacement"
5168
+ },
5169
+ "Parameters": {
5170
+ "description": "Provides the name of the DB cluster parameter group.",
5171
+ "required": true,
5172
+ "type": "Unknown",
5173
+ "update_causes": "none"
5174
+ },
5175
+ "Tags": {
5176
+ "description": "A list of up to 50 tags. A tag is metadata assigned to an Amazon DocumentDB resource consisting of a key-value pair.",
5177
+ "required": false,
5178
+ "type": "Array",
5179
+ "update_causes": "none"
5180
+ }
5181
+ },
5182
+ "path": "aws-resource-docdb-dbclusterparametergroup.html",
5183
+ "properties": [
5184
+ "Description",
5185
+ "Family",
5186
+ "Name",
5187
+ "Parameters",
5188
+ "Tags"
5189
+ ]
5190
+ },
5191
+ "AWS::DocDB::DBInstance": {
5192
+ "full_properties": {
5193
+ "AutoMinorVersionUpgrade": {
5194
+ "description": "Indicates that minor version patches are applied automatically.",
5195
+ "required": false,
5196
+ "type": "Boolean",
5197
+ "update_causes": "none"
5198
+ },
5199
+ "AvailabilityZone": {
5200
+ "description": "Specifies the name of the Availability Zone the DB instance is located in.",
5201
+ "required": false,
5202
+ "type": "String",
5203
+ "update_causes": "replacement"
5204
+ },
5205
+ "DBClusterIdentifier": {
5206
+ "description": "Specifies the DB cluster this DB instance is a member of.",
5207
+ "required": true,
5208
+ "type": "String",
5209
+ "update_causes": "replacement"
5210
+ },
5211
+ "DBInstanceClass": {
5212
+ "description": "Contains the name of the compute and memory capacity class of the DB instance.",
5213
+ "required": true,
5214
+ "type": "String",
5215
+ "update_causes": "interrupt"
5216
+ },
5217
+ "DBInstanceIdentifier": {
5218
+ "description": "The unique identifier for this DB instance.",
5219
+ "required": false,
5220
+ "type": "String",
5221
+ "update_causes": "replacement"
5222
+ },
5223
+ "PreferredMaintenanceWindow": {
5224
+ "description": "Specifies the weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).",
5225
+ "required": false,
5226
+ "type": "String",
5227
+ "update_causes": "none"
5228
+ },
5229
+ "Tags": {
5230
+ "description": "A list of up to 50 tags. A tag is metadata assigned to an Amazon DocumentDB (with MongoDB compatibility) resource consisting of a key-value pair.",
5231
+ "required": false,
5232
+ "type": "Array",
5233
+ "update_causes": "none"
5234
+ }
5235
+ },
5236
+ "path": "aws-resource-docdb-dbinstance.html",
5237
+ "properties": [
5238
+ "AutoMinorVersionUpgrade",
5239
+ "AvailabilityZone",
5240
+ "DBClusterIdentifier",
5241
+ "DBInstanceClass",
5242
+ "DBInstanceIdentifier",
5243
+ "PreferredMaintenanceWindow",
5244
+ "Tags"
5245
+ ]
5246
+ },
5247
+ "AWS::DocDB::DBSubnetGroup": {
5248
+ "full_properties": {
5249
+ "DBSubnetGroupDescription": {
5250
+ "description": "The description of the DB subnet group.",
5251
+ "required": true,
5252
+ "type": "String",
5253
+ "update_causes": "none"
5254
+ },
5255
+ "DBSubnetGroupName": {
5256
+ "description": "The name of the DB subnet group.",
5257
+ "required": false,
5258
+ "type": "String",
5259
+ "update_causes": "replacement"
5260
+ },
5261
+ "SubnetIds": {
5262
+ "description": "List of subnet identifiers.",
5263
+ "required": true,
5264
+ "type": "Array",
5265
+ "update_causes": "none"
5266
+ },
5267
+ "Tags": {
5268
+ "description": "A list of up to 50 tags. A tag is metadata assigned to an Amazon DocumentDB (with MongoDB compatibility) resource consisting of a key-value pair.",
5269
+ "required": false,
5270
+ "type": "Array",
5271
+ "update_causes": "none"
5272
+ }
5273
+ },
5274
+ "path": "aws-resource-docdb-dbsubnetgroup.html",
5275
+ "properties": [
5276
+ "DBSubnetGroupDescription",
5277
+ "DBSubnetGroupName",
5278
+ "SubnetIds",
5279
+ "Tags"
5280
+ ]
5281
+ },
4988
5282
  "AWS::DynamoDB::Table": {
4989
5283
  "full_properties": {
4990
5284
  "AttributeDefinitions": {
@@ -4993,8 +5287,14 @@
4993
5287
  "type": "Array",
4994
5288
  "update_causes": "interrupt"
4995
5289
  },
5290
+ "BillingMode": {
5291
+ "description": "Specify how you are charged for read and write throughput and how you manage capacity.",
5292
+ "required": false,
5293
+ "type": "String",
5294
+ "update_causes": "none"
5295
+ },
4996
5296
  "GlobalSecondaryIndexes": {
4997
- "description": "Global secondary indexes to be created on the table. You can create up to 5 global secondary indexes.",
5297
+ "description": "Global secondary indexes to be created on the table. You can create up to 20 global secondary indexes.",
4998
5298
  "required": false,
4999
5299
  "type": "Array",
5000
5300
  "update_causes": [
@@ -5023,7 +5323,7 @@
5023
5323
  },
5024
5324
  "ProvisionedThroughput": {
5025
5325
  "description": "Throughput for the specified table, which consists of values for ReadCapacityUnits and WriteCapacityUnits. For more information about the contents of a provisioned throughput structure, see Amazon DynamoDB Table ProvisionedThroughput.",
5026
- "required": true,
5326
+ "required": false,
5027
5327
  "type": "Unknown",
5028
5328
  "update_causes": "none"
5029
5329
  },
@@ -5061,6 +5361,7 @@
5061
5361
  "path": "aws-resource-dynamodb-table.html",
5062
5362
  "properties": [
5063
5363
  "AttributeDefinitions",
5364
+ "BillingMode",
5064
5365
  "GlobalSecondaryIndexes",
5065
5366
  "KeySchema",
5066
5367
  "LocalSecondaryIndexes",
@@ -5216,13 +5517,13 @@
5216
5517
  "ValidFrom": {
5217
5518
  "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
5519
  "required": false,
5219
- "type": "Number",
5520
+ "type": "String",
5220
5521
  "update_causes": "replacement"
5221
5522
  },
5222
5523
  "ValidUntil": {
5223
5524
  "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
5525
  "required": false,
5225
- "type": "Number",
5526
+ "type": "String",
5226
5527
  "update_causes": "replacement"
5227
5528
  }
5228
5529
  },
@@ -5480,6 +5781,12 @@
5480
5781
  "type": "Array",
5481
5782
  "update_causes": "replacement"
5482
5783
  },
5784
+ "ElasticInferenceAccelerators": {
5785
+ "description": "Specify a list of elastic inference accelerators for an instance. Elastic Inference (EI) accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.",
5786
+ "required": false,
5787
+ "type": "Array",
5788
+ "update_causes": "replacement"
5789
+ },
5483
5790
  "HostId": {
5484
5791
  "description": "If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances.",
5485
5792
  "required": false,
@@ -5546,6 +5853,12 @@
5546
5853
  "type": "Unknown",
5547
5854
  "update_causes": "replacement"
5548
5855
  },
5856
+ "LicenseSpecifications": {
5857
+ "description": "Associate a list of license configurations with the instance.",
5858
+ "required": false,
5859
+ "type": "Array",
5860
+ "update_causes": "replacement"
5861
+ },
5549
5862
  "Monitoring": {
5550
5863
  "description": "Specifies whether detailed monitoring is enabled for the instance.",
5551
5864
  "required": false,
@@ -5652,6 +5965,7 @@
5652
5965
  "DisableApiTermination",
5653
5966
  "EbsOptimized",
5654
5967
  "ElasticGpuSpecifications",
5968
+ "ElasticInferenceAccelerators",
5655
5969
  "HostId",
5656
5970
  "IamInstanceProfile",
5657
5971
  "ImageId",
@@ -5662,6 +5976,7 @@
5662
5976
  "KernelId",
5663
5977
  "KeyName",
5664
5978
  "LaunchTemplate",
5979
+ "LicenseSpecifications",
5665
5980
  "Monitoring",
5666
5981
  "NetworkInterfaces",
5667
5982
  "PlacementGroupName",
@@ -6345,76 +6660,272 @@
6345
6660
  },
6346
6661
  "path": "aws-resource-ec2-subnet.html",
6347
6662
  "properties": [
6348
- "AssignIpv6AddressOnCreation",
6349
- "AvailabilityZone",
6350
- "CidrBlock",
6351
- "Ipv6CidrBlock",
6352
- "MapPublicIpOnLaunch",
6353
- "Tags",
6354
- "VpcId"
6663
+ "AssignIpv6AddressOnCreation",
6664
+ "AvailabilityZone",
6665
+ "CidrBlock",
6666
+ "Ipv6CidrBlock",
6667
+ "MapPublicIpOnLaunch",
6668
+ "Tags",
6669
+ "VpcId"
6670
+ ]
6671
+ },
6672
+ "AWS::EC2::SubnetCidrBlock": {
6673
+ "full_properties": {
6674
+ "Ipv6CidrBlock": {
6675
+ "description": "The IPv6 CIDR block for the subnet. The CIDR block must have a prefix length of /64.",
6676
+ "required": true,
6677
+ "type": "String",
6678
+ "update_causes": "replacement"
6679
+ },
6680
+ "SubnetId": {
6681
+ "description": "The ID of the subnet to associate the IPv6 CIDR block with.",
6682
+ "required": true,
6683
+ "type": "String",
6684
+ "update_causes": "replacement"
6685
+ }
6686
+ },
6687
+ "path": "aws-resource-ec2-subnetcidrblock.html",
6688
+ "properties": [
6689
+ "Ipv6CidrBlock",
6690
+ "SubnetId"
6691
+ ]
6692
+ },
6693
+ "AWS::EC2::SubnetNetworkAclAssociation": {
6694
+ "full_properties": {
6695
+ "NetworkAclId": {
6696
+ "description": "The ID of the new ACL to associate with the subnet.",
6697
+ "required": true,
6698
+ "type": "String",
6699
+ "update_causes": "replacement"
6700
+ },
6701
+ "SubnetId": {
6702
+ "description": "The ID representing the current association between the original network ACL and the subnet.",
6703
+ "required": true,
6704
+ "type": "String",
6705
+ "update_causes": "replacement"
6706
+ }
6707
+ },
6708
+ "path": "aws-resource-ec2-subnet-network-acl-assoc.html",
6709
+ "properties": [
6710
+ "SubnetId",
6711
+ "NetworkAclId"
6712
+ ]
6713
+ },
6714
+ "AWS::EC2::SubnetRouteTableAssociation": {
6715
+ "full_properties": {
6716
+ "RouteTableId": {
6717
+ "description": "The ID of the route table. This is commonly written as a reference to a route table declared elsewhere in the template. For example:",
6718
+ "required": true,
6719
+ "type": "String",
6720
+ "update_causes": "none"
6721
+ },
6722
+ "SubnetId": {
6723
+ "description": "The ID of the subnet. This is commonly written as a reference to a subnet declared elsewhere in the template. For example:",
6724
+ "required": true,
6725
+ "type": "String",
6726
+ "update_causes": "replacement"
6727
+ }
6728
+ },
6729
+ "path": "aws-resource-ec2-subnet-route-table-assoc.html",
6730
+ "properties": [
6731
+ "RouteTableId",
6732
+ "SubnetId"
6733
+ ]
6734
+ },
6735
+ "AWS::EC2::TransitGateway": {
6736
+ "full_properties": {
6737
+ "AmazonSideAsn": {
6738
+ "description": "A private Autonomous System Number (ASN) for the Amazon side of a BGP session. The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for 32-bit ASNs.",
6739
+ "required": false,
6740
+ "type": "Number",
6741
+ "update_causes": "replacement"
6742
+ },
6743
+ "AutoAcceptSharedAttachments": {
6744
+ "description": "Indicates whether attachment requests are automatically accepted. The default is disable.",
6745
+ "required": false,
6746
+ "type": "String",
6747
+ "update_causes": "replacement"
6748
+ },
6749
+ "DefaultRouteTableAssociation": {
6750
+ "description": "Enable or disable automatic association with the default association route table. The default is enable.",
6751
+ "required": false,
6752
+ "type": "String",
6753
+ "update_causes": "replacement"
6754
+ },
6755
+ "DefaultRouteTablePropagation": {
6756
+ "description": "Enable or disable automatic propagation of routes to the default propagation route table. The default is enable.",
6757
+ "required": false,
6758
+ "type": "String",
6759
+ "update_causes": "replacement"
6760
+ },
6761
+ "Description": {
6762
+ "description": "A description of the transit gateway.",
6763
+ "required": false,
6764
+ "type": "String",
6765
+ "update_causes": "replacement"
6766
+ },
6767
+ "DnsSupport": {
6768
+ "description": "Enable or disable DNS support. The default is enable.",
6769
+ "required": false,
6770
+ "type": "String",
6771
+ "update_causes": "replacement"
6772
+ },
6773
+ "Tags": {
6774
+ "description": "The tags to apply to the transit gateway.",
6775
+ "required": false,
6776
+ "type": "Array",
6777
+ "update_causes": "replacement"
6778
+ },
6779
+ "VpnEcmpSupport": {
6780
+ "description": "Enable or disable Equal Cost Multipath Protocol. The default is enable.",
6781
+ "required": false,
6782
+ "type": "String",
6783
+ "update_causes": "replacement"
6784
+ }
6785
+ },
6786
+ "path": "aws-resource-ec2-transitgateway.html",
6787
+ "properties": [
6788
+ "AmazonSideAsn",
6789
+ "AutoAcceptSharedAttachments",
6790
+ "DefaultRouteTableAssociation",
6791
+ "DefaultRouteTablePropagation",
6792
+ "Description",
6793
+ "DnsSupport",
6794
+ "Tags",
6795
+ "VpnEcmpSupport"
6796
+ ]
6797
+ },
6798
+ "AWS::EC2::TransitGatewayAttachment": {
6799
+ "full_properties": {
6800
+ "SubnetIds": {
6801
+ "description": "The IDs of one or more subnets. You can specify only one subnet per Availability Zone. You must specify at least one subnet, but we recommend that you specify two subnets for better availability. The transit gateway uses one IP address from each specified subnet.",
6802
+ "required": true,
6803
+ "type": "Array",
6804
+ "update_causes": "replacement"
6805
+ },
6806
+ "Tags": {
6807
+ "description": "The tags to apply to the VPC attachment.",
6808
+ "required": false,
6809
+ "type": "Array",
6810
+ "update_causes": "replacement"
6811
+ },
6812
+ "TransitGatewayId": {
6813
+ "description": "The ID of the transit gateway.",
6814
+ "required": true,
6815
+ "type": "String",
6816
+ "update_causes": "replacement"
6817
+ },
6818
+ "VpcId": {
6819
+ "description": "The ID of the VPC.",
6820
+ "required": true,
6821
+ "type": "String",
6822
+ "update_causes": "replacement"
6823
+ }
6824
+ },
6825
+ "path": "aws-resource-ec2-transitgatewayattachment.html",
6826
+ "properties": [
6827
+ "SubnetIds",
6828
+ "Tags",
6829
+ "TransitGatewayId",
6830
+ "VpcId"
6831
+ ]
6832
+ },
6833
+ "AWS::EC2::TransitGatewayRoute": {
6834
+ "full_properties": {
6835
+ "Blackhole": {
6836
+ "description": "Indicates whether to drop traffic if the target isn't available.",
6837
+ "required": false,
6838
+ "type": "Boolean",
6839
+ "update_causes": "replacement"
6840
+ },
6841
+ "DestinationCidrBlock": {
6842
+ "description": "The CIDR range used for destination matches. Routing decisions are based on the most specific match.",
6843
+ "required": false,
6844
+ "type": "String",
6845
+ "update_causes": "replacement"
6846
+ },
6847
+ "TransitGatewayAttachmentId": {
6848
+ "description": "The ID of the attachment.",
6849
+ "required": false,
6850
+ "type": "String",
6851
+ "update_causes": "replacement"
6852
+ },
6853
+ "TransitGatewayRouteTableId": {
6854
+ "description": "The ID of the transit gateway route table.",
6855
+ "required": true,
6856
+ "type": "String",
6857
+ "update_causes": "replacement"
6858
+ }
6859
+ },
6860
+ "path": "aws-resource-ec2-transitgatewayroute.html",
6861
+ "properties": [
6862
+ "Blackhole",
6863
+ "DestinationCidrBlock",
6864
+ "TransitGatewayAttachmentId",
6865
+ "TransitGatewayRouteTableId"
6355
6866
  ]
6356
6867
  },
6357
- "AWS::EC2::SubnetCidrBlock": {
6868
+ "AWS::EC2::TransitGatewayRouteTable": {
6358
6869
  "full_properties": {
6359
- "Ipv6CidrBlock": {
6360
- "description": "The IPv6 CIDR block for the subnet. The CIDR block must have a prefix length of /64.",
6361
- "required": true,
6362
- "type": "String",
6870
+ "Tags": {
6871
+ "description": "The tags to apply to the transit gateway route table.",
6872
+ "required": false,
6873
+ "type": "Array",
6363
6874
  "update_causes": "replacement"
6364
6875
  },
6365
- "SubnetId": {
6366
- "description": "The ID of the subnet to associate the IPv6 CIDR block with.",
6876
+ "TransitGatewayId": {
6877
+ "description": "The ID of the transit gateway.",
6367
6878
  "required": true,
6368
6879
  "type": "String",
6369
6880
  "update_causes": "replacement"
6370
6881
  }
6371
6882
  },
6372
- "path": "aws-resource-ec2-subnetcidrblock.html",
6883
+ "path": "aws-resource-ec2-transitgatewayroutetable.html",
6373
6884
  "properties": [
6374
- "Ipv6CidrBlock",
6375
- "SubnetId"
6885
+ "Tags",
6886
+ "TransitGatewayId"
6376
6887
  ]
6377
6888
  },
6378
- "AWS::EC2::SubnetNetworkAclAssociation": {
6889
+ "AWS::EC2::TransitGatewayRouteTableAssociation": {
6379
6890
  "full_properties": {
6380
- "NetworkAclId": {
6381
- "description": "The ID of the new ACL to associate with the subnet.",
6891
+ "TransitGatewayAttachmentId": {
6892
+ "description": "The ID of the attachment.",
6382
6893
  "required": true,
6383
6894
  "type": "String",
6384
6895
  "update_causes": "replacement"
6385
6896
  },
6386
- "SubnetId": {
6387
- "description": "The ID representing the current association between the original network ACL and the subnet.",
6897
+ "TransitGatewayRouteTableId": {
6898
+ "description": "The ID of the transit gateway route table.",
6388
6899
  "required": true,
6389
6900
  "type": "String",
6390
6901
  "update_causes": "replacement"
6391
6902
  }
6392
6903
  },
6393
- "path": "aws-resource-ec2-subnet-network-acl-assoc.html",
6904
+ "path": "aws-resource-ec2-transitgatewayroutetableassociation.html",
6394
6905
  "properties": [
6395
- "SubnetId",
6396
- "NetworkAclId"
6906
+ "TransitGatewayAttachmentId",
6907
+ "TransitGatewayRouteTableId"
6397
6908
  ]
6398
6909
  },
6399
- "AWS::EC2::SubnetRouteTableAssociation": {
6910
+ "AWS::EC2::TransitGatewayRouteTablePropagation": {
6400
6911
  "full_properties": {
6401
- "RouteTableId": {
6402
- "description": "The ID of the route table. This is commonly written as a reference to a route table declared elsewhere in the template. For example:",
6912
+ "TransitGatewayAttachmentId": {
6913
+ "description": "The ID of the attachment.",
6403
6914
  "required": true,
6404
6915
  "type": "String",
6405
- "update_causes": "none"
6916
+ "update_causes": "replacement"
6406
6917
  },
6407
- "SubnetId": {
6408
- "description": "The ID of the subnet. This is commonly written as a reference to a subnet declared elsewhere in the template. For example:",
6918
+ "TransitGatewayRouteTableId": {
6919
+ "description": "The ID of the propagation route table.",
6409
6920
  "required": true,
6410
6921
  "type": "String",
6411
6922
  "update_causes": "replacement"
6412
6923
  }
6413
6924
  },
6414
- "path": "aws-resource-ec2-subnet-route-table-assoc.html",
6925
+ "path": "aws-resource-ec2-transitgatewayroutetablepropagation.html",
6415
6926
  "properties": [
6416
- "RouteTableId",
6417
- "SubnetId"
6927
+ "TransitGatewayAttachmentId",
6928
+ "TransitGatewayRouteTableId"
6418
6929
  ]
6419
6930
  },
6420
6931
  "AWS::EC2::VPC": {
@@ -7031,13 +7542,13 @@
7031
7542
  "PlacementConstraints": {
7032
7543
  "description": "The placement constraints for the tasks in the service.",
7033
7544
  "required": false,
7034
- "type": "Unknown",
7545
+ "type": "Array",
7035
7546
  "update_causes": "replacement"
7036
7547
  },
7037
7548
  "PlacementStrategies": {
7038
7549
  "description": "The placement strategies that determine how tasks for the service are placed.",
7039
7550
  "required": false,
7040
- "type": "Unknown",
7551
+ "type": "Array",
7041
7552
  "update_causes": "replacement"
7042
7553
  },
7043
7554
  "PlatformVersion": {
@@ -7067,7 +7578,7 @@
7067
7578
  "ServiceRegistries": {
7068
7579
  "description": "Details of the service registry.",
7069
7580
  "required": false,
7070
- "type": "Unknown",
7581
+ "type": "Array",
7071
7582
  "update_causes": "replacement"
7072
7583
  },
7073
7584
  "TaskDefinition": {
@@ -9997,8 +10508,8 @@
9997
10508
  "update_causes": "replacement"
9998
10509
  },
9999
10510
  "ResourceGroupArn": {
10000
- "description": "The ARN that specifies the resource group that is associated with the assessment target.",
10001
- "required": true,
10511
+ "description": "The ARN that specifies the resource group that is associated with the assessment target. If unspecified, all Amazon EC2 instances in your AWS account in the current region will be included in the assessment target.",
10512
+ "required": false,
10002
10513
  "type": "String",
10003
10514
  "update_causes": "interrupt"
10004
10515
  }
@@ -10275,6 +10786,132 @@
10275
10786
  "TopicRulePayload"
10276
10787
  ]
10277
10788
  },
10789
+ "AWS::IoTAnalytics::Channel": {
10790
+ "full_properties": {
10791
+ "ChannelName": {
10792
+ "description": "The name of the channel.",
10793
+ "required": false,
10794
+ "type": "String",
10795
+ "update_causes": "replacement"
10796
+ },
10797
+ "RetentionPeriod": {
10798
+ "description": "How long, in days, message data is kept for the channel.",
10799
+ "required": false,
10800
+ "type": "Unknown",
10801
+ "update_causes": "none"
10802
+ },
10803
+ "Tags": {
10804
+ "description": "Metadata which can be used to manage the channel.",
10805
+ "required": false,
10806
+ "type": "Array",
10807
+ "update_causes": "none"
10808
+ }
10809
+ },
10810
+ "path": "aws-resource-iotanalytics-channel.html",
10811
+ "properties": [
10812
+ "ChannelName",
10813
+ "RetentionPeriod",
10814
+ "Tags"
10815
+ ]
10816
+ },
10817
+ "AWS::IoTAnalytics::Dataset": {
10818
+ "full_properties": {
10819
+ "Actions": {
10820
+ "description": "A list of actions that create the data set contents.",
10821
+ "required": true,
10822
+ "type": "Array",
10823
+ "update_causes": "none"
10824
+ },
10825
+ "DatasetName": {
10826
+ "description": "The name of the data set.",
10827
+ "required": false,
10828
+ "type": "String",
10829
+ "update_causes": "replacement"
10830
+ },
10831
+ "RetentionPeriod": {
10832
+ "description": "How long, in days, message data is kept for the data set.",
10833
+ "required": false,
10834
+ "type": "Unknown",
10835
+ "update_causes": "none"
10836
+ },
10837
+ "Tags": {
10838
+ "description": "Metadata which can be used to manage the data set.",
10839
+ "required": false,
10840
+ "type": "Array",
10841
+ "update_causes": "none"
10842
+ },
10843
+ "Triggers": {
10844
+ "description": "A list of triggers. A trigger causes data set contents to be populated at a specified time interval or when another data set's contents are created. The list of triggers can be empty or contain up to five objects.",
10845
+ "required": false,
10846
+ "type": "Array",
10847
+ "update_causes": "none"
10848
+ }
10849
+ },
10850
+ "path": "aws-resource-iotanalytics-dataset.html",
10851
+ "properties": [
10852
+ "Actions",
10853
+ "DatasetName",
10854
+ "RetentionPeriod",
10855
+ "Tags",
10856
+ "Triggers"
10857
+ ]
10858
+ },
10859
+ "AWS::IoTAnalytics::Datastore": {
10860
+ "full_properties": {
10861
+ "DatastoreName": {
10862
+ "description": "The name of the data store.",
10863
+ "required": false,
10864
+ "type": "String",
10865
+ "update_causes": "replacement"
10866
+ },
10867
+ "RetentionPeriod": {
10868
+ "description": "How long, in days, message data is kept for the data store.",
10869
+ "required": false,
10870
+ "type": "Unknown",
10871
+ "update_causes": "none"
10872
+ },
10873
+ "Tags": {
10874
+ "description": "Metadata which can be used to manage the data store.",
10875
+ "required": false,
10876
+ "type": "Array",
10877
+ "update_causes": "none"
10878
+ }
10879
+ },
10880
+ "path": "aws-resource-iotanalytics-datastore.html",
10881
+ "properties": [
10882
+ "DatastoreName",
10883
+ "RetentionPeriod",
10884
+ "Tags"
10885
+ ]
10886
+ },
10887
+ "AWS::IoTAnalytics::Pipeline": {
10888
+ "full_properties": {
10889
+ "PipelineActivities": {
10890
+ "description": "A list of pipeline activities which perform transformations on your messages, such as removing, renaming, or adding message attributes; filtering messages based on attribute value; invoking your Lambda functions on messages for advanced processing; or performing mathematical transformation to normalize device data.",
10891
+ "required": true,
10892
+ "type": "Array",
10893
+ "update_causes": "none"
10894
+ },
10895
+ "PipelineName": {
10896
+ "description": "The name of the pipeline.",
10897
+ "required": false,
10898
+ "type": "String",
10899
+ "update_causes": "replacement"
10900
+ },
10901
+ "Tags": {
10902
+ "description": "Metadata which can be used to manage the pipeline.",
10903
+ "required": false,
10904
+ "type": "Array",
10905
+ "update_causes": "none"
10906
+ }
10907
+ },
10908
+ "path": "aws-resource-iotanalytics-pipeline.html",
10909
+ "properties": [
10910
+ "PipelineActivities",
10911
+ "PipelineName",
10912
+ "Tags"
10913
+ ]
10914
+ },
10278
10915
  "AWS::KMS::Alias": {
10279
10916
  "full_properties": {
10280
10917
  "AliasName": {
@@ -10612,31 +11249,31 @@
10612
11249
  "AWS::Lambda::EventSourceMapping": {
10613
11250
  "full_properties": {
10614
11251
  "BatchSize": {
10615
- "description": "The largest number of records that Lambda retrieves from your event source when invoking your function. Your function receives an event with all the retrieved records. For the default and valid values, see CreateEventSourceMapping in the AWS Lambda Developer Guide.",
11252
+ "description": "The maximum number of items to retrieve in a single batch.",
10616
11253
  "required": false,
10617
11254
  "type": "Number",
10618
11255
  "update_causes": "none"
10619
11256
  },
10620
11257
  "Enabled": {
10621
- "description": "Indicates whether Lambda begins polling the event source.",
11258
+ "description": "Set to false to pause polling and invocation.",
10622
11259
  "required": false,
10623
11260
  "type": "Boolean",
10624
11261
  "update_causes": "none"
10625
11262
  },
10626
11263
  "EventSourceArn": {
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.",
11264
+ "description": "The Amazon Resource Name (ARN) of the event source.",
10628
11265
  "required": true,
10629
11266
  "type": "String",
10630
11267
  "update_causes": "replacement"
10631
11268
  },
10632
11269
  "FunctionName": {
10633
- "description": "The name or ARN of a Lambda function to invoke when Lambda detects an event on the stream.",
11270
+ "description": "The name of the Lambda function.",
10634
11271
  "required": true,
10635
11272
  "type": "String",
10636
11273
  "update_causes": "none"
10637
11274
  },
10638
11275
  "StartingPosition": {
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.",
11276
+ "description": "The position in a stream from which to start reading. Required for Amazon Kinesis and Amazon DynamoDB Streams sources. AT_TIMESTAMP is only supported for Kinesis streams.",
10640
11277
  "required": false,
10641
11278
  "type": "String",
10642
11279
  "update_causes": "replacement"
@@ -10654,13 +11291,13 @@
10654
11291
  "AWS::Lambda::Function": {
10655
11292
  "full_properties": {
10656
11293
  "Code": {
10657
- "description": "The source code of your Lambda function. You can point to a file in an Amazon Simple Storage Service (Amazon S3) bucket or specify your source code as inline text.",
11294
+ "description": "The code for the function.",
10658
11295
  "required": true,
10659
11296
  "type": "Unknown",
10660
11297
  "update_causes": "none"
10661
11298
  },
10662
11299
  "DeadLetterConfig": {
10663
- "description": "Configures how Lambda handles events that it can't process. If you don't specify a Dead Letter Queue (DLQ) configuration, Lambda discards events after the maximum number of retries. For more information, see Dead Letter Queues in the AWS Lambda Developer Guide.",
11300
+ "description": "A dead letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see Dead Letter Queues.",
10664
11301
  "required": false,
10665
11302
  "type": "Unknown",
10666
11303
  "update_causes": "none"
@@ -10672,73 +11309,79 @@
10672
11309
  "update_causes": "none"
10673
11310
  },
10674
11311
  "Environment": {
10675
- "description": "Key-value pairs that Lambda caches and makes available for your Lambda functions. Use environment variables to apply configuration changes, such as test and production environment configurations, without changing your Lambda function source code.",
11312
+ "description": "Environment variables that are accessible from function code during execution.",
10676
11313
  "required": false,
10677
11314
  "type": "Unknown",
10678
11315
  "update_causes": "none"
10679
11316
  },
10680
11317
  "FunctionName": {
10681
- "description": "A name for the function. If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the function's name. For more information, see Name Type.",
11318
+ "description": "The name of the Lambda function. If you don't specify a name, AWS CloudFormation generates one. For more information, see Name Type.",
10682
11319
  "required": false,
10683
11320
  "type": "Unknown",
10684
11321
  "update_causes": "replacement"
10685
11322
  },
10686
11323
  "Handler": {
10687
- "description": "The name of the function (within your source code) that Lambda calls to start running your code. For more information, see the Handler property in the AWS Lambda Developer Guide.",
11324
+ "description": "The name of the method within your code that Lambda calls to execute your function. The format includes the filename and can also include namespaces and other qualifiers, depending on the runtime. For more information, see Programming Model.",
10688
11325
  "required": true,
10689
11326
  "type": "String",
10690
11327
  "update_causes": "none"
10691
11328
  },
10692
11329
  "KmsKeyArn": {
10693
- "description": "The Amazon Resource Name (ARN) of an AWS Key Management Service (AWS KMS) key that Lambda uses to encrypt and decrypt environment variable values.",
11330
+ "description": "The Amazon Resource Name (ARN) of the AWS Key Management Service key used to encrypt your function's environment variables. If not provided, Lambda uses a default service key.",
10694
11331
  "required": false,
10695
11332
  "type": "String",
10696
11333
  "update_causes": "none"
10697
11334
  },
11335
+ "Layers": {
11336
+ "description": "A list of function layers to add to the function's execution environment. Specify each layer by ARN, including the version.",
11337
+ "required": false,
11338
+ "type": "Array",
11339
+ "update_causes": "none"
11340
+ },
10698
11341
  "MemorySize": {
10699
- "description": "The amount of memory, in MB, that is allocated to your Lambda function. Lambda uses this value to proportionally allocate the amount of CPU power. For more information, see Resource Model in the AWS Lambda Developer Guide.",
11342
+ "description": "The amount of memory that your function has access to. Increasing the function's memory also increases it's CPU allocation. The default value is 128 MB. The value must be a multiple of 64 MB.",
10700
11343
  "required": false,
10701
11344
  "type": "Number",
10702
11345
  "update_causes": "none"
10703
11346
  },
10704
11347
  "ReservedConcurrentExecutions": {
10705
- "description": "The maximum of concurrent executions you want reserved for the function. For more information on reserved concurrency limits, see Managing Concurrency in the AWS Lambda Developer Guide.",
11348
+ "description": "The maximum number of instances of your function that process events simultaneously. This option both sets the maximum concurrency for your function and reserves concurrency to ensure that it is available. For more information, see Managing Concurrency in the AWS Lambda Developer Guide.",
10706
11349
  "required": false,
10707
11350
  "type": "Number",
10708
11351
  "update_causes": "none"
10709
11352
  },
10710
11353
  "Role": {
10711
- "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) execution role that Lambda assumes when it runs your code to access AWS services.",
11354
+ "description": "The ARN of the function's execution role.",
10712
11355
  "required": true,
10713
11356
  "type": "String",
10714
11357
  "update_causes": "none"
10715
11358
  },
10716
11359
  "Runtime": {
10717
- "description": "The runtime environment for the Lambda function that you are uploading. For valid values, see the Runtime property in the AWS Lambda Developer Guide.",
11360
+ "description": "The identifier of the function's runtime.",
10718
11361
  "required": true,
10719
11362
  "type": "String",
10720
11363
  "update_causes": "none"
10721
11364
  },
10722
11365
  "Tags": {
10723
- "description": "An arbitrary set of tags (key–value pairs) for this Lambda function.",
11366
+ "description": "A list of tags to apply to the function.",
10724
11367
  "required": false,
10725
11368
  "type": "Unknown",
10726
11369
  "update_causes": "none"
10727
11370
  },
10728
11371
  "Timeout": {
10729
- "description": "The function execution time (in seconds) after which Lambda terminates the function. Because the execution time affects cost, set this value based on the function's expected execution time. By default, Timeout is set to 3 seconds. For more information, see the FAQs.",
11372
+ "description": "The amount of time that Lambda allows a function to run before terminating it. The default is 3 seconds. The maximum allowed value is 900 seconds.",
10730
11373
  "required": false,
10731
11374
  "type": "Number",
10732
11375
  "update_causes": "none"
10733
11376
  },
10734
11377
  "TracingConfig": {
10735
- "description": "The parent object that contains your Lambda function's tracing settings. By default, the Mode property is set to PassThrough. For valid values, see the TracingConfig data type in the AWS Lambda Developer Guide.",
11378
+ "description": "Set Mode to Active to sample and trace a subset of incoming requests with AWS X-Ray.",
10736
11379
  "required": false,
10737
11380
  "type": "Unknown",
10738
11381
  "update_causes": "none"
10739
11382
  },
10740
11383
  "VpcConfig": {
10741
- "description": "If the Lambda function requires access to resources in a VPC, specify a VPC configuration that Lambda uses to set up an elastic network interface (ENI). The ENI enables your function to connect to other resources in your VPC, but it doesn't provide public Internet access. If your function requires Internet access (for example, to access AWS services that don't have VPC endpoints), configure a Network Address Translation (NAT) instance inside your VPC or use an Amazon Virtual Private Cloud (Amazon VPC) NAT gateway. For more information, see NAT Gateways in the Amazon VPC User Guide.",
11384
+ "description": "For network connectivity to AWS resources in a VPC, specify a list of security groups and subnets in the VPC. When you connect a function to a VPC, it can only access resources and the internet through that VPC. For more information, see VPC Settings.",
10742
11385
  "required": false,
10743
11386
  "type": "Unknown",
10744
11387
  "update_causes": "none"
@@ -10753,6 +11396,7 @@
10753
11396
  "FunctionName",
10754
11397
  "Handler",
10755
11398
  "KmsKeyArn",
11399
+ "Layers",
10756
11400
  "MemorySize",
10757
11401
  "ReservedConcurrentExecutions",
10758
11402
  "Role",
@@ -10763,6 +11407,83 @@
10763
11407
  "Tags"
10764
11408
  ]
10765
11409
  },
11410
+ "AWS::Lambda::LayerVersion": {
11411
+ "full_properties": {
11412
+ "CompatibleRuntimes": {
11413
+ "description": "A list of compatible function runtimes.",
11414
+ "required": false,
11415
+ "type": "Array",
11416
+ "update_causes": "replacement"
11417
+ },
11418
+ "Content": {
11419
+ "description": "The function layer archive.",
11420
+ "required": true,
11421
+ "type": "Unknown",
11422
+ "update_causes": "replacement"
11423
+ },
11424
+ "Description": {
11425
+ "description": "The description of the version.",
11426
+ "required": false,
11427
+ "type": "String",
11428
+ "update_causes": "replacement"
11429
+ },
11430
+ "LayerName": {
11431
+ "description": "The name of the layer.",
11432
+ "required": false,
11433
+ "type": "String",
11434
+ "update_causes": "replacement"
11435
+ },
11436
+ "LicenseInfo": {
11437
+ "description": "The layer's software license. It can be either of the following:",
11438
+ "required": false,
11439
+ "type": "String",
11440
+ "update_causes": "replacement"
11441
+ }
11442
+ },
11443
+ "path": "aws-resource-lambda-layerversion.html",
11444
+ "properties": [
11445
+ "CompatibleRuntimes",
11446
+ "Content",
11447
+ "Description",
11448
+ "LayerName",
11449
+ "LicenseInfo"
11450
+ ]
11451
+ },
11452
+ "AWS::Lambda::LayerVersionPermission": {
11453
+ "full_properties": {
11454
+ "Action": {
11455
+ "description": "The API action that grants access to the layer. For example, lambda:GetLayerVersion.",
11456
+ "required": true,
11457
+ "type": "String",
11458
+ "update_causes": "replacement"
11459
+ },
11460
+ "LayerVersionArn": {
11461
+ "description": "The ARN of the layer version.",
11462
+ "required": true,
11463
+ "type": "String",
11464
+ "update_causes": "replacement"
11465
+ },
11466
+ "OrganizationId": {
11467
+ "description": "With the principal set to *, grant permission to all accounts in the specified organization.",
11468
+ "required": false,
11469
+ "type": "String",
11470
+ "update_causes": "replacement"
11471
+ },
11472
+ "Principal": {
11473
+ "description": "An account ID, or * to grant permission to all AWS accounts.",
11474
+ "required": true,
11475
+ "type": "String",
11476
+ "update_causes": "replacement"
11477
+ }
11478
+ },
11479
+ "path": "aws-resource-lambda-layerversionpermission.html",
11480
+ "properties": [
11481
+ "Action",
11482
+ "LayerVersionArn",
11483
+ "OrganizationId",
11484
+ "Principal"
11485
+ ]
11486
+ },
10766
11487
  "AWS::Lambda::Permission": {
10767
11488
  "full_properties": {
10768
11489
  "Action": {
@@ -10843,7 +11564,7 @@
10843
11564
  "AWS::Logs::Destination": {
10844
11565
  "full_properties": {
10845
11566
  "DestinationName": {
10846
- "description": "The name of the CloudWatch Logs destination.",
11567
+ "description": "The name of the CloudWatch Logs destination that you will reference in the DestinationPolicy property.",
10847
11568
  "required": true,
10848
11569
  "type": "String",
10849
11570
  "update_causes": "replacement"
@@ -11154,7 +11875,7 @@
11154
11875
  ]
11155
11876
  },
11156
11877
  "AvailabilityZone": {
11157
- "description": "The name of the Availability Zone where the DB instance is located. You can't set the AvailabilityZone parameter if the MultiAZ parameter is set to true.",
11878
+ "description": "The name of the Availability Zone where the DB instance is located.",
11158
11879
  "required": false,
11159
11880
  "type": "String",
11160
11881
  "update_causes": "replacement"
@@ -13334,7 +14055,7 @@
13334
14055
  "AWS::Route53Resolver::ResolverEndpoint": {
13335
14056
  "full_properties": {
13336
14057
  "Direction": {
13337
- "description": "Indicates whether the resolver endpoint allows inbound or outbound DNS queries:",
14058
+ "description": "Indicates whether the resolver endpoint allows inbound or outbound DNS queries.",
13338
14059
  "required": true,
13339
14060
  "type": "String",
13340
14061
  "update_causes": "replacement"
@@ -13422,6 +14143,34 @@
13422
14143
  "TargetIps"
13423
14144
  ]
13424
14145
  },
14146
+ "AWS::Route53Resolver::ResolverRuleAssociation": {
14147
+ "full_properties": {
14148
+ "Name": {
14149
+ "description": "The name of an association between a resolver rule and a VPC.",
14150
+ "required": false,
14151
+ "type": "String",
14152
+ "update_causes": "replacement"
14153
+ },
14154
+ "ResolverRuleId": {
14155
+ "description": "The ID of the resolver rule that you associated with the VPC that is specified by VPCId.",
14156
+ "required": true,
14157
+ "type": "String",
14158
+ "update_causes": "replacement"
14159
+ },
14160
+ "VPCId": {
14161
+ "description": "The ID of the VPC that you associated the resolver rule with.",
14162
+ "required": true,
14163
+ "type": "String",
14164
+ "update_causes": "replacement"
14165
+ }
14166
+ },
14167
+ "path": "aws-resource-route53resolver-resolverruleassociation.html",
14168
+ "properties": [
14169
+ "Name",
14170
+ "ResolverRuleId",
14171
+ "VPCId"
14172
+ ]
14173
+ },
13425
14174
  "AWS::S3::Bucket": {
13426
14175
  "full_properties": {
13427
14176
  "AccelerateConfiguration": {
@@ -14460,6 +15209,12 @@
14460
15209
  },
14461
15210
  "AWS::SageMaker::Model": {
14462
15211
  "full_properties": {
15212
+ "Containers": {
15213
+ "description": "Specifies the containers in the inference pipeline.",
15214
+ "required": false,
15215
+ "type": "Array",
15216
+ "update_causes": "replacement"
15217
+ },
14463
15218
  "ExecutionRoleArn": {
14464
15219
  "description": "The Amazon Resource Name (ARN) of the IAM role that Amazon SageMaker can assume to access model artifacts and docker image for deployment on ML compute instances. Deploying on ML compute instances is part of model hosting. For more information, see Amazon SageMaker Roles.",
14465
15220
  "required": true,
@@ -14495,6 +15250,7 @@
14495
15250
  "properties": [
14496
15251
  "ExecutionRoleArn",
14497
15252
  "PrimaryContainer",
15253
+ "Containers",
14498
15254
  "ModelName",
14499
15255
  "VpcConfig",
14500
15256
  "Tags"
@@ -14846,13 +15602,13 @@
14846
15602
  "description": "The product identifier. You must specify either the ID or the name of the product, but not both.",
14847
15603
  "required": false,
14848
15604
  "type": "String",
14849
- "update_causes": "replacement"
15605
+ "update_causes": "none"
14850
15606
  },
14851
15607
  "ProductName": {
14852
15608
  "description": "The product name. This name must be unique for the user. You must specify either the name or the ID of the product, but not both.",
14853
15609
  "required": false,
14854
15610
  "type": "String",
14855
- "update_causes": "replacement"
15611
+ "update_causes": "none"
14856
15612
  },
14857
15613
  "ProvisionedProductName": {
14858
15614
  "description": "A user-friendly name for the provisioned product. This name must be unique for the AWS account and cannot be updated after the product is provisioned.",
@@ -15214,6 +15970,27 @@
15214
15970
  "TagOptionId"
15215
15971
  ]
15216
15972
  },
15973
+ "AWS::ServiceDiscovery::HttpNamespace": {
15974
+ "full_properties": {
15975
+ "Description": {
15976
+ "description": "A description of the namespace.",
15977
+ "required": false,
15978
+ "type": "String",
15979
+ "update_causes": "replacement"
15980
+ },
15981
+ "Name": {
15982
+ "description": "A name for the namespace.",
15983
+ "required": true,
15984
+ "type": "String",
15985
+ "update_causes": "replacement"
15986
+ }
15987
+ },
15988
+ "path": "aws-resource-servicediscovery-httpnamespace.html",
15989
+ "properties": [
15990
+ "Description",
15991
+ "Name"
15992
+ ]
15993
+ },
15217
15994
  "AWS::ServiceDiscovery::Instance": {
15218
15995
  "full_properties": {
15219
15996
  "InstanceAttributes": {
@@ -15229,7 +16006,7 @@
15229
16006
  "update_causes": "replacement"
15230
16007
  },
15231
16008
  "ServiceId": {
15232
- "description": "The ID of the service that you want to use for settings for the resource record sets and health check that Route 53 will create.",
16009
+ "description": "The ID of the service that you want to use for settings when you register an instance.",
15233
16010
  "required": true,
15234
16011
  "type": "String",
15235
16012
  "update_causes": "replacement"
@@ -15251,7 +16028,7 @@
15251
16028
  "update_causes": "replacement"
15252
16029
  },
15253
16030
  "Name": {
15254
- "description": "The name that you want to assign to this namespace. When you create a namespace, Route 53 automatically creates a hosted zone that has the same name as the namespace.",
16031
+ "description": "The name that you want to assign to this namespace. When you create a namespace, AWS Cloud Map automatically creates a hosted zone that has the same name as the namespace.",
15255
16032
  "required": true,
15256
16033
  "type": "String",
15257
16034
  "update_causes": "replacement"
@@ -15279,7 +16056,7 @@
15279
16056
  "update_causes": "replacement"
15280
16057
  },
15281
16058
  "Name": {
15282
- "description": "The name that you want to assign to this namespace. When you create a namespace, Route 53 automatically creates a hosted zone that has the same name as the namespace.",
16059
+ "description": "The name that you want to assign to this namespace. When you create a namespace, AWS Cloud Map automatically creates a hosted zone that has the same name as the namespace.",
15283
16060
  "required": true,
15284
16061
  "type": "String",
15285
16062
  "update_causes": "replacement"
@@ -15300,13 +16077,13 @@
15300
16077
  "update_causes": "none"
15301
16078
  },
15302
16079
  "DnsConfig": {
15303
- "description": "A complex type that contains information about the resource record sets that you want Route 53 to create when you register an instance.",
16080
+ "description": "An optional complex type that contains information about the DNS records that you want AWS Cloud Map to create when you register an instance.",
15304
16081
  "required": true,
15305
16082
  "type": "Unknown",
15306
16083
  "update_causes": "none"
15307
16084
  },
15308
16085
  "HealthCheckConfig": {
15309
- "description": "A complex type that contains settings for an optional health check. If you specify settings for a health check, Route 53 associates the health check with all the resource record sets that you specify in DnsConfig.",
16086
+ "description": "A complex type that contains settings for an optional Route 53 health check. If you specify settings for a health check, AWS Cloud Map associates the health check with all the records that you specify in DnsConfig.",
15310
16087
  "required": false,
15311
16088
  "type": "Unknown",
15312
16089
  "update_causes": "none"
@@ -15322,6 +16099,12 @@
15322
16099
  "required": false,
15323
16100
  "type": "String",
15324
16101
  "update_causes": "replacement"
16102
+ },
16103
+ "NamespaceId": {
16104
+ "description": "The ID of the namespace that you want to use to create the service.",
16105
+ "required": false,
16106
+ "type": "String",
16107
+ "update_causes": "replacement"
15325
16108
  }
15326
16109
  },
15327
16110
  "path": "aws-resource-servicediscovery-service.html",
@@ -15330,7 +16113,8 @@
15330
16113
  "DnsConfig",
15331
16114
  "HealthCheckConfig",
15332
16115
  "HealthCheckCustomConfig",
15333
- "Name"
16116
+ "Name",
16117
+ "NamespaceId"
15334
16118
  ]
15335
16119
  },
15336
16120
  "AWS::StepFunctions::Activity": {
@@ -15822,19 +16606,5 @@
15822
16606
  "SkillPackage",
15823
16607
  "VendorId"
15824
16608
  ]
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"
15838
- ]
15839
16609
  }
15840
16610
  }