@awboost/cfn-resource-types 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/lib/AWS-AppSync-ApiCache.d.ts +1 -0
  2. package/lib/AWS-AppSync-DataSource.d.ts +1 -0
  3. package/lib/AWS-AppSync-GraphQLApi.d.ts +10 -0
  4. package/lib/AWS-AppSync-Resolver.d.ts +1 -0
  5. package/lib/AWS-Batch-JobDefinition.d.ts +8 -0
  6. package/lib/AWS-CodePipeline-Pipeline.d.ts +29 -0
  7. package/lib/AWS-Cognito-UserPoolRiskConfigurationAttachment.d.ts +1 -8
  8. package/lib/AWS-ControlTower-EnabledBaseline.d.ts +80 -0
  9. package/lib/AWS-ControlTower-EnabledBaseline.js +12 -0
  10. package/lib/AWS-DynamoDB-Table.d.ts +9 -0
  11. package/lib/AWS-EC2-InstanceConnectEndpoint.d.ts +1 -1
  12. package/lib/AWS-EC2-NatGateway.d.ts +46 -4
  13. package/lib/AWS-EC2-NatGateway.js +5 -1
  14. package/lib/AWS-EC2-PrefixList.d.ts +1 -1
  15. package/lib/AWS-EC2-Subnet.d.ts +6 -0
  16. package/lib/AWS-EC2-SubnetRouteTableAssociation.d.ts +11 -2
  17. package/lib/AWS-EC2-SubnetRouteTableAssociation.js +2 -1
  18. package/lib/AWS-EC2-VPC.d.ts +30 -31
  19. package/lib/AWS-EC2-VPC.js +4 -1
  20. package/lib/AWS-ECS-TaskDefinition.d.ts +641 -25
  21. package/lib/AWS-ECS-TaskDefinition.js +3 -1
  22. package/lib/AWS-EMR-Cluster.d.ts +1 -0
  23. package/lib/AWS-GuardDuty-Master.d.ts +14 -9
  24. package/lib/AWS-GuardDuty-Master.js +2 -1
  25. package/lib/AWS-IAM-User.d.ts +43 -25
  26. package/lib/AWS-IAM-User.js +3 -1
  27. package/lib/AWS-IoTWireless-WirelessDevice.d.ts +34 -0
  28. package/lib/AWS-KMS-Alias.d.ts +25 -11
  29. package/lib/AWS-KMS-Alias.js +3 -1
  30. package/lib/AWS-KMS-Key.d.ts +62 -28
  31. package/lib/AWS-KMS-Key.js +3 -1
  32. package/lib/AWS-Route53-RecordSet.d.ts +19 -0
  33. package/lib/AWS-Route53-RecordSetGroup.d.ts +19 -0
  34. package/lib/AWS-S3-Bucket.d.ts +381 -139
  35. package/lib/AWS-S3-Bucket.js +3 -1
  36. package/lib/AWS-S3-BucketPolicy.d.ts +15 -3
  37. package/lib/AWS-S3-BucketPolicy.js +7 -1
  38. package/lib/AWS-SageMaker-AppImageConfig.d.ts +1 -1
  39. package/package.json +1 -1
@@ -8,6 +8,7 @@ export type AppSyncApiCacheProperties = {
8
8
  ApiCachingBehavior: string;
9
9
  ApiId: string;
10
10
  AtRestEncryptionEnabled?: boolean;
11
+ HealthMetricsConfig?: string;
11
12
  TransitEncryptionEnabled?: boolean;
12
13
  Ttl: number;
13
14
  Type: string;
@@ -12,6 +12,7 @@ export type AppSyncDataSourceProperties = {
12
12
  EventBridgeConfig?: EventBridgeConfig;
13
13
  HttpConfig?: HttpConfig;
14
14
  LambdaConfig?: LambdaConfig;
15
+ MetricsConfig?: string;
15
16
  Name: string;
16
17
  OpenSearchServiceConfig?: OpenSearchServiceConfig;
17
18
  RelationalDatabaseConfig?: RelationalDatabaseConfig;
@@ -8,6 +8,7 @@ export type AppSyncGraphQLApiProperties = {
8
8
  AdditionalAuthenticationProviders?: AdditionalAuthenticationProvider[];
9
9
  ApiType?: string;
10
10
  AuthenticationType: string;
11
+ EnhancedMetricsConfig?: EnhancedMetricsConfig;
11
12
  EnvironmentVariables?: Record<string, any>;
12
13
  IntrospectionConfig?: string;
13
14
  LambdaAuthorizerConfig?: LambdaAuthorizerConfig;
@@ -56,6 +57,15 @@ export type CognitoUserPoolConfig = {
56
57
  AwsRegion?: string;
57
58
  UserPoolId?: string;
58
59
  };
60
+ /**
61
+ * Type definition for `AWS::AppSync::GraphQLApi.EnhancedMetricsConfig`.
62
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-enhancedmetricsconfig.html}
63
+ */
64
+ export type EnhancedMetricsConfig = {
65
+ DataSourceLevelMetricsBehavior: string;
66
+ OperationLevelMetricsConfig: string;
67
+ ResolverLevelMetricsBehavior: string;
68
+ };
59
69
  /**
60
70
  * Type definition for `AWS::AppSync::GraphQLApi.LambdaAuthorizerConfig`.
61
71
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html}
@@ -41,6 +41,7 @@ export type AppSyncResolverProperties = {
41
41
  * The maximum number of resolver request inputs that will be sent to a single LAMlong function in a ``BatchInvoke`` operation.
42
42
  */
43
43
  MaxBatchSize?: number;
44
+ MetricsConfig?: "ENABLED" | "DISABLED";
44
45
  /**
45
46
  * Functions linked with the pipeline resolver.
46
47
  */
@@ -53,6 +53,7 @@ export type ContainerProperties = {
53
53
  NetworkConfiguration?: NetworkConfiguration;
54
54
  Privileged?: boolean;
55
55
  ReadonlyRootFilesystem?: boolean;
56
+ RepositoryCredentials?: RepositoryCredentials;
56
57
  ResourceRequirements?: ResourceRequirement[];
57
58
  RuntimePlatform?: RuntimePlatform;
58
59
  Secrets?: Secret[];
@@ -277,6 +278,13 @@ export type PodProperties = {
277
278
  ServiceAccountName?: string;
278
279
  Volumes?: EksVolume[];
279
280
  };
281
+ /**
282
+ * Type definition for `AWS::Batch::JobDefinition.RepositoryCredentials`.
283
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-repositorycredentials.html}
284
+ */
285
+ export type RepositoryCredentials = {
286
+ CredentialsParameter: string;
287
+ };
280
288
  /**
281
289
  * Type definition for `AWS::Batch::JobDefinition.ResourceRequirement`.
282
290
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-resourcerequirement.html}
@@ -8,6 +8,7 @@ export type CodePipelinePipelineProperties = {
8
8
  ArtifactStore?: ArtifactStore;
9
9
  ArtifactStores?: ArtifactStoreMap[];
10
10
  DisableInboundStageTransitions?: StageTransition[];
11
+ ExecutionMode?: string;
11
12
  Name?: string;
12
13
  PipelineType?: string;
13
14
  RestartExecutionOnUpdate?: boolean;
@@ -83,19 +84,47 @@ export type EncryptionKey = {
83
84
  Id: string;
84
85
  Type: string;
85
86
  };
87
+ /**
88
+ * Type definition for `AWS::CodePipeline::Pipeline.GitBranchFilterCriteria`.
89
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitbranchfiltercriteria.html}
90
+ */
91
+ export type GitBranchFilterCriteria = {
92
+ Excludes?: string[];
93
+ Includes?: string[];
94
+ };
86
95
  /**
87
96
  * Type definition for `AWS::CodePipeline::Pipeline.GitConfiguration`.
88
97
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitconfiguration.html}
89
98
  */
90
99
  export type GitConfiguration = {
100
+ PullRequest?: GitPullRequestFilter[];
91
101
  Push?: GitPushFilter[];
92
102
  SourceActionName: string;
93
103
  };
104
+ /**
105
+ * Type definition for `AWS::CodePipeline::Pipeline.GitFilePathFilterCriteria`.
106
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitfilepathfiltercriteria.html}
107
+ */
108
+ export type GitFilePathFilterCriteria = {
109
+ Excludes?: string[];
110
+ Includes?: string[];
111
+ };
112
+ /**
113
+ * Type definition for `AWS::CodePipeline::Pipeline.GitPullRequestFilter`.
114
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpullrequestfilter.html}
115
+ */
116
+ export type GitPullRequestFilter = {
117
+ Branches?: GitBranchFilterCriteria;
118
+ Events?: string[];
119
+ FilePaths?: GitFilePathFilterCriteria;
120
+ };
94
121
  /**
95
122
  * Type definition for `AWS::CodePipeline::Pipeline.GitPushFilter`.
96
123
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-gitpushfilter.html}
97
124
  */
98
125
  export type GitPushFilter = {
126
+ Branches?: GitBranchFilterCriteria;
127
+ FilePaths?: GitFilePathFilterCriteria;
99
128
  Tags?: GitTagFilterCriteria;
100
129
  };
101
130
  /**
@@ -11,13 +11,6 @@ export type CognitoUserPoolRiskConfigurationAttachmentProperties = {
11
11
  RiskExceptionConfiguration?: RiskExceptionConfigurationType;
12
12
  UserPoolId: string;
13
13
  };
14
- /**
15
- * Attribute type definition for `AWS::Cognito::UserPoolRiskConfigurationAttachment`.
16
- * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#aws-resource-cognito-userpoolriskconfigurationattachment-return-values}
17
- */
18
- export type CognitoUserPoolRiskConfigurationAttachmentAttributes = {
19
- Id: string;
20
- };
21
14
  /**
22
15
  * Type definition for `AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType`.
23
16
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html}
@@ -91,7 +84,7 @@ export type RiskExceptionConfigurationType = {
91
84
  * Resource Type definition for AWS::Cognito::UserPoolRiskConfigurationAttachment
92
85
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html}
93
86
  */
94
- export declare class CognitoUserPoolRiskConfigurationAttachment extends $Resource<"AWS::Cognito::UserPoolRiskConfigurationAttachment", CognitoUserPoolRiskConfigurationAttachmentProperties, CognitoUserPoolRiskConfigurationAttachmentAttributes> {
87
+ export declare class CognitoUserPoolRiskConfigurationAttachment extends $Resource<"AWS::Cognito::UserPoolRiskConfigurationAttachment", CognitoUserPoolRiskConfigurationAttachmentProperties, Record<string, never>> {
95
88
  static readonly Type = "AWS::Cognito::UserPoolRiskConfigurationAttachment";
96
89
  constructor(logicalId: string, properties: CognitoUserPoolRiskConfigurationAttachmentProperties, options?: $ResourceOptions);
97
90
  }
@@ -0,0 +1,80 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
+ /**
4
+ * Definition of AWS::ControlTower::EnabledBaseline Resource Type
5
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html}
6
+ */
7
+ export type ControlTowerEnabledBaselineProperties = {
8
+ /**
9
+ * @minLength `20`
10
+ * @maxLength `2048`
11
+ * @pattern `^arn:aws[0-9a-zA-Z_\-:\/]+$`
12
+ */
13
+ BaselineIdentifier: string;
14
+ /**
15
+ * @pattern `^\d+(?:\.\d+){0,2}$`
16
+ */
17
+ BaselineVersion: string;
18
+ Parameters?: Parameter[];
19
+ Tags?: Tag[];
20
+ /**
21
+ * @minLength `20`
22
+ * @maxLength `2048`
23
+ * @pattern `^arn:aws[0-9a-zA-Z_\-:\/]+$`
24
+ */
25
+ TargetIdentifier: string;
26
+ };
27
+ /**
28
+ * Attribute type definition for `AWS::ControlTower::EnabledBaseline`.
29
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html#aws-resource-controltower-enabledbaseline-return-values}
30
+ */
31
+ export type ControlTowerEnabledBaselineAttributes = {
32
+ /**
33
+ * @minLength `20`
34
+ * @maxLength `2048`
35
+ * @pattern `^arn:aws[0-9a-zA-Z_\-:\/]+$`
36
+ */
37
+ EnabledBaselineIdentifier: string;
38
+ };
39
+ /**
40
+ * Type definition for `AWS::ControlTower::EnabledBaseline.AnyType`.
41
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledbaseline-anytype.html}
42
+ */
43
+ export type AnyType = string | Record<string, any> | number | (boolean | number | Record<string, any> | string)[] | boolean;
44
+ /**
45
+ * Type definition for `AWS::ControlTower::EnabledBaseline.Parameter`.
46
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledbaseline-parameter.html}
47
+ */
48
+ export type Parameter = {
49
+ /**
50
+ * @minLength `1`
51
+ * @maxLength `256`
52
+ */
53
+ Key?: string;
54
+ Value?: AnyType;
55
+ };
56
+ /**
57
+ * Type definition for `AWS::ControlTower::EnabledBaseline.Tag`.
58
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-controltower-enabledbaseline-tag.html}
59
+ */
60
+ export type Tag = {
61
+ /**
62
+ * @minLength `1`
63
+ * @maxLength `256`
64
+ */
65
+ Key?: string;
66
+ /**
67
+ * @minLength `0`
68
+ * @maxLength `256`
69
+ */
70
+ Value?: string;
71
+ };
72
+ /**
73
+ * Definition of AWS::ControlTower::EnabledBaseline Resource Type
74
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html}
75
+ */
76
+ export declare class ControlTowerEnabledBaseline extends $Resource<"AWS::ControlTower::EnabledBaseline", ControlTowerEnabledBaselineProperties, ControlTowerEnabledBaselineAttributes> {
77
+ static readonly Type = "AWS::ControlTower::EnabledBaseline";
78
+ constructor(logicalId: string, properties: ControlTowerEnabledBaselineProperties, options?: $ResourceOptions);
79
+ }
80
+ //# sourceMappingURL=AWS-ControlTower-EnabledBaseline.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ /**
3
+ * Definition of AWS::ControlTower::EnabledBaseline Resource Type
4
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-controltower-enabledbaseline.html}
5
+ */
6
+ export class ControlTowerEnabledBaseline extends $Resource {
7
+ static Type = "AWS::ControlTower::EnabledBaseline";
8
+ constructor(logicalId, properties, options) {
9
+ super(logicalId, ControlTowerEnabledBaseline.Type, properties, options);
10
+ }
11
+ }
12
+ //# sourceMappingURL=AWS-ControlTower-EnabledBaseline.js.map
@@ -16,6 +16,7 @@ export type DynamoDBTableProperties = {
16
16
  LocalSecondaryIndexes?: LocalSecondaryIndex[];
17
17
  PointInTimeRecoverySpecification?: PointInTimeRecoverySpecification;
18
18
  ProvisionedThroughput?: ProvisionedThroughput;
19
+ ResourcePolicy?: ResourcePolicy;
19
20
  SSESpecification?: SSESpecification;
20
21
  StreamSpecification?: StreamSpecification;
21
22
  TableClass?: string;
@@ -130,6 +131,13 @@ export type ProvisionedThroughput = {
130
131
  ReadCapacityUnits: number;
131
132
  WriteCapacityUnits: number;
132
133
  };
134
+ /**
135
+ * Type definition for `AWS::DynamoDB::Table.ResourcePolicy`.
136
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html}
137
+ */
138
+ export type ResourcePolicy = {
139
+ PolicyDocument: Record<string, any>;
140
+ };
133
141
  /**
134
142
  * Type definition for `AWS::DynamoDB::Table.S3BucketSource`.
135
143
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-s3bucketsource.html}
@@ -153,6 +161,7 @@ export type SSESpecification = {
153
161
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-streamspecification.html}
154
162
  */
155
163
  export type StreamSpecification = {
164
+ ResourcePolicy?: ResourcePolicy;
156
165
  StreamViewType: string;
157
166
  };
158
167
  /**
@@ -10,7 +10,7 @@ export type EC2InstanceConnectEndpointProperties = {
10
10
  */
11
11
  ClientToken?: string;
12
12
  /**
13
- * If true, the address of the loki client is preserved when connecting to the end resource
13
+ * If true, the address of the instance connect endpoint client is preserved when connecting to the end resource
14
14
  */
15
15
  PreserveClientIp?: boolean;
16
16
  /**
@@ -1,21 +1,52 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
- * Resource Type definition for AWS::EC2::NatGateway
4
+ * Resource type definition for `AWS::EC2::NatGateway`.
5
+ * Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.
6
+ With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.
7
+ If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.
8
+ When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the N
5
9
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html}
6
10
  */
7
11
  export type EC2NatGatewayProperties = {
12
+ /**
13
+ * [Public NAT gateway only] The allocation ID of the Elastic IP address that's associated with the NAT gateway. This property is required for a public NAT gateway and cannot be specified with a private NAT gateway.
14
+ */
8
15
  AllocationId?: string;
16
+ /**
17
+ * Indicates whether the NAT gateway supports public or private connectivity. The default is public connectivity.
18
+ */
9
19
  ConnectivityType?: string;
20
+ /**
21
+ * The maximum amount of time to wait (in seconds) before forcibly releasing the IP addresses if connections are still in progress. Default value is 350 seconds.
22
+ */
10
23
  MaxDrainDurationSeconds?: number;
24
+ /**
25
+ * The private IPv4 address to assign to the NAT gateway. If you don't provide an address, a private IPv4 address will be automatically assigned.
26
+ */
11
27
  PrivateIpAddress?: string;
12
- SecondaryAllocationIds?: string[];
13
28
  /**
14
- * @min `1`
29
+ * Secondary EIP allocation IDs. For more information, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon VPC User Guide*.
15
30
  */
31
+ SecondaryAllocationIds?: string[];
32
+ /**
33
+ * [Private NAT gateway only] The number of secondary private IPv4 addresses you want to assign to the NAT gateway. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide*.
34
+ ``SecondaryPrivateIpAddressCount`` and ``SecondaryPrivateIpAddresses`` cannot be set at the same time.
35
+ * @min `1`
36
+ */
16
37
  SecondaryPrivateIpAddressCount?: number;
38
+ /**
39
+ * Secondary private IPv4 addresses. For more information about secondary addresses, see [Create a NAT gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-creating) in the *Amazon Virtual Private Cloud User Guide*.
40
+ ``SecondaryPrivateIpAddressCount`` and ``SecondaryPrivateIpAddresses`` cannot be set at the same time.
41
+ */
17
42
  SecondaryPrivateIpAddresses?: string[];
43
+ /**
44
+ * The ID of the subnet in which the NAT gateway is located.
45
+ */
18
46
  SubnetId: string;
47
+ /**
48
+ * The tags for the NAT gateway.
49
+ */
19
50
  Tags?: Tag[];
20
51
  };
21
52
  /**
@@ -27,14 +58,25 @@ export type EC2NatGatewayAttributes = {
27
58
  };
28
59
  /**
29
60
  * Type definition for `AWS::EC2::NatGateway.Tag`.
61
+ * Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).
30
62
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-natgateway-tag.html}
31
63
  */
32
64
  export type Tag = {
65
+ /**
66
+ * The tag key.
67
+ */
33
68
  Key: string;
69
+ /**
70
+ * The tag value.
71
+ */
34
72
  Value: string;
35
73
  };
36
74
  /**
37
- * Resource Type definition for AWS::EC2::NatGateway
75
+ * Resource type definition for `AWS::EC2::NatGateway`.
76
+ * Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.
77
+ With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.
78
+ If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.
79
+ When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the N
38
80
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html}
39
81
  */
40
82
  export declare class EC2NatGateway extends $Resource<"AWS::EC2::NatGateway", EC2NatGatewayProperties, EC2NatGatewayAttributes> {
@@ -1,6 +1,10 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
- * Resource Type definition for AWS::EC2::NatGateway
3
+ * Resource type definition for `AWS::EC2::NatGateway`.
4
+ * Specifies a network address translation (NAT) gateway in the specified subnet. You can create either a public NAT gateway or a private NAT gateway. The default is a public NAT gateway. If you create a public NAT gateway, you must specify an elastic IP address.
5
+ With a NAT gateway, instances in a private subnet can connect to the internet, other AWS services, or an on-premises network using the IP address of the NAT gateway. For more information, see [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) in the *Amazon VPC User Guide*.
6
+ If you add a default route (``AWS::EC2::Route`` resource) that points to a NAT gateway, specify the NAT gateway ID for the route's ``NatGatewayId`` property.
7
+ When you associate an Elastic IP address or secondary Elastic IP address with a public NAT gateway, the network border group of the Elastic IP address must match the network border group of the Availability Zone (AZ) that the public NAT gateway is in. Otherwise, the N
4
8
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html}
5
9
  */
6
10
  export class EC2NatGateway extends $Resource {
@@ -17,7 +17,7 @@ export type EC2PrefixListProperties = {
17
17
  * Max Entries of Prefix List.
18
18
  * @min `1`
19
19
  */
20
- MaxEntries: number;
20
+ MaxEntries?: number;
21
21
  /**
22
22
  * Name of Prefix List.
23
23
  * @minLength `1`
@@ -44,7 +44,13 @@ export type EC2SubnetProperties = {
44
44
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#aws-resource-ec2-subnet-return-values}
45
45
  */
46
46
  export type EC2SubnetAttributes = {
47
+ /**
48
+ * The ID of the network ACL that is associated with the subnet's VPC
49
+ */
47
50
  NetworkAclAssociationId: string;
51
+ /**
52
+ * The ID of the subnet
53
+ */
48
54
  SubnetId: string;
49
55
  };
50
56
  /**
@@ -1,11 +1,19 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
- * Resource Type definition for AWS::EC2::SubnetRouteTableAssociation
4
+ * Resource type definition for `AWS::EC2::SubnetRouteTableAssociation`.
5
+ * Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html).
5
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html}
6
7
  */
7
8
  export type EC2SubnetRouteTableAssociationProperties = {
9
+ /**
10
+ * The ID of the route table.
11
+ The physical ID changes when the route table ID is changed.
12
+ */
8
13
  RouteTableId: string;
14
+ /**
15
+ * The ID of the subnet.
16
+ */
9
17
  SubnetId: string;
10
18
  };
11
19
  /**
@@ -16,7 +24,8 @@ export type EC2SubnetRouteTableAssociationAttributes = {
16
24
  Id: string;
17
25
  };
18
26
  /**
19
- * Resource Type definition for AWS::EC2::SubnetRouteTableAssociation
27
+ * Resource type definition for `AWS::EC2::SubnetRouteTableAssociation`.
28
+ * Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html).
20
29
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html}
21
30
  */
22
31
  export declare class EC2SubnetRouteTableAssociation extends $Resource<"AWS::EC2::SubnetRouteTableAssociation", EC2SubnetRouteTableAssociationProperties, EC2SubnetRouteTableAssociationAttributes> {
@@ -1,6 +1,7 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
- * Resource Type definition for AWS::EC2::SubnetRouteTableAssociation
3
+ * Resource type definition for `AWS::EC2::SubnetRouteTableAssociation`.
4
+ * Associates a subnet with a route table. The subnet and route table must be in the same VPC. This association causes traffic originating from the subnet to be routed according to the routes in the route table. A route table can be associated with multiple subnets. To create a route table, see [AWS::EC2::RouteTable](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html).
4
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html}
5
6
  */
6
7
  export class EC2SubnetRouteTableAssociation extends $Resource {
@@ -1,38 +1,42 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
- * Resource Type definition for AWS::EC2::VPC
4
+ * Resource type definition for `AWS::EC2::VPC`.
5
+ * Specifies a virtual private cloud (VPC).
6
+ You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).
7
+ For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*.
5
8
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html}
6
9
  */
7
10
  export type EC2VPCProperties = {
8
11
  /**
9
- * The primary IPv4 CIDR block for the VPC.
10
- */
12
+ * The IPv4 network range for the VPC, in CIDR notation. For example, ``10.0.0.0/16``. We modify the specified CIDR block to its canonical form; for example, if you specify ``100.68.0.18/18``, we modify it to ``100.68.0.0/18``.
13
+ You must specify either``CidrBlock`` or ``Ipv4IpamPoolId``.
14
+ */
11
15
  CidrBlock?: string;
12
16
  /**
13
- * Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs.
14
- */
17
+ * Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not. Disabled by default for nondefault VPCs. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support).
18
+ You can only enable DNS hostnames if you've enabled DNS support.
19
+ */
15
20
  EnableDnsHostnames?: boolean;
16
21
  /**
17
- * Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default.
22
+ * Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range "plus two" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled. Enabled by default. For more information, see [DNS attributes in your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-support).
18
23
  */
19
24
  EnableDnsSupport?: boolean;
20
25
  /**
21
26
  * The allowed tenancy of instances launched into the VPC.
22
-
23
- "default": An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.
24
-
25
- "dedicated": An instance launched into the VPC is a Dedicated Instance by default, unless you explicitly specify a tenancy of host during instance launch. You cannot specify a tenancy of default during instance launch.
26
-
27
- Updating InstanceTenancy requires no replacement only if you are updating its value from "dedicated" to "default". Updating InstanceTenancy from "default" to "dedicated" requires replacement.
27
+ + ``default``: An instance launched into the VPC runs on shared hardware by default, unless you explicitly specify a different tenancy during instance launch.
28
+ + ``dedicated``: An instance launched into the VPC runs on dedicated hardware by default, unless you explicitly specify a tenancy of ``host`` during instance launch. You cannot specify a tenancy of ``default`` during instance launch.
29
+
30
+ Updating ``InstanceTenancy`` requires no replacement only if you are updating its value from ``dedicated`` to ``default``. Updating ``InstanceTenancy`` from ``default`` to ``dedicated`` requires replacement.
28
31
  */
29
32
  InstanceTenancy?: string;
30
33
  /**
31
- * The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR
32
- */
34
+ * The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. For more information, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide*.
35
+ You must specify either``CidrBlock`` or ``Ipv4IpamPoolId``.
36
+ */
33
37
  Ipv4IpamPoolId?: string;
34
38
  /**
35
- * The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool
39
+ * The netmask length of the IPv4 CIDR you want to allocate to this VPC from an Amazon VPC IP Address Manager (IPAM) pool. For more information about IPAM, see [What is IPAM?](https://docs.aws.amazon.com//vpc/latest/ipam/what-is-it-ipam.html) in the *Amazon VPC IPAM User Guide*.
36
40
  */
37
41
  Ipv4NetmaskLength?: number;
38
42
  /**
@@ -45,37 +49,32 @@ export type EC2VPCProperties = {
45
49
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#aws-resource-ec2-vpc-return-values}
46
50
  */
47
51
  export type EC2VPCAttributes = {
48
- /**
49
- * A list of IPv4 CIDR block association IDs for the VPC.
50
- */
51
52
  CidrBlockAssociations: string[];
52
- /**
53
- * The default network ACL ID that is associated with the VPC.
54
- */
55
53
  DefaultNetworkAcl: string;
56
- /**
57
- * The default security group ID that is associated with the VPC.
58
- */
59
54
  DefaultSecurityGroup: string;
60
- /**
61
- * A list of IPv6 CIDR blocks that are associated with the VPC.
62
- */
63
55
  Ipv6CidrBlocks: string[];
64
- /**
65
- * The Id for the model.
66
- */
67
56
  VpcId: string;
68
57
  };
69
58
  /**
70
59
  * Type definition for `AWS::EC2::VPC.Tag`.
60
+ * Specifies a tag. For more information, see [Add tags to a resource](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#cloudformation-add-tag-specifications).
71
61
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpc-tag.html}
72
62
  */
73
63
  export type Tag = {
64
+ /**
65
+ * The tag key.
66
+ */
74
67
  Key: string;
68
+ /**
69
+ * The tag value.
70
+ */
75
71
  Value: string;
76
72
  };
77
73
  /**
78
- * Resource Type definition for AWS::EC2::VPC
74
+ * Resource type definition for `AWS::EC2::VPC`.
75
+ * Specifies a virtual private cloud (VPC).
76
+ You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).
77
+ For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*.
79
78
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html}
80
79
  */
81
80
  export declare class EC2VPC extends $Resource<"AWS::EC2::VPC", EC2VPCProperties, EC2VPCAttributes> {
@@ -1,6 +1,9 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
- * Resource Type definition for AWS::EC2::VPC
3
+ * Resource type definition for `AWS::EC2::VPC`.
4
+ * Specifies a virtual private cloud (VPC).
5
+ You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses, or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses (BYOIP).
6
+ For more information, see [Virtual private clouds (VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/configure-your-vpc.html) in the *Amazon VPC User Guide*.
4
7
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html}
5
8
  */
6
9
  export class EC2VPC extends $Resource {