@awboost/cfn-resource-types 0.1.26 → 0.1.28

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.
@@ -1,7 +1,9 @@
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::RouteTable
4
+ * Resource type definition for `AWS::EC2::RouteTable`.
5
+ * Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.
6
+ For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*.
5
7
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html}
6
8
  */
7
9
  export type EC2RouteTableProperties = {
@@ -19,21 +21,27 @@ export type EC2RouteTableProperties = {
19
21
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html#aws-resource-ec2-routetable-return-values}
20
22
  */
21
23
  export type EC2RouteTableAttributes = {
22
- /**
23
- * The route table ID.
24
- */
25
24
  RouteTableId: string;
26
25
  };
27
26
  /**
28
27
  * Type definition for `AWS::EC2::RouteTable.Tag`.
28
+ * 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).
29
29
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-routetable-tag.html}
30
30
  */
31
31
  export type Tag = {
32
+ /**
33
+ * The tag key.
34
+ */
32
35
  Key: string;
36
+ /**
37
+ * The tag value.
38
+ */
33
39
  Value: string;
34
40
  };
35
41
  /**
36
- * Resource Type definition for AWS::EC2::RouteTable
42
+ * Resource type definition for `AWS::EC2::RouteTable`.
43
+ * Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.
44
+ For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*.
37
45
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html}
38
46
  */
39
47
  export declare class EC2RouteTable extends $Resource<"AWS::EC2::RouteTable", EC2RouteTableProperties, EC2RouteTableAttributes> {
@@ -1,6 +1,8 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
- * Resource Type definition for AWS::EC2::RouteTable
3
+ * Resource type definition for `AWS::EC2::RouteTable`.
4
+ * Specifies a route table for the specified VPC. After you create a route table, you can add routes and associate the table with a subnet.
5
+ For more information, see [Route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) in the *Amazon VPC User Guide*.
4
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html}
5
7
  */
6
8
  export class EC2RouteTable extends $Resource {
@@ -15,7 +15,6 @@ export type ElastiCacheParameterGroupProperties = {
15
15
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html#aws-resource-elasticache-parametergroup-return-values}
16
16
  */
17
17
  export type ElastiCacheParameterGroupAttributes = {
18
- CacheParameterGroupName: string;
19
18
  Id: string;
20
19
  };
21
20
  /**
@@ -1,17 +1,45 @@
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::ElasticLoadBalancingV2::Listener
4
+ * Resource type definition for `AWS::ElasticLoadBalancingV2::Listener`.
5
+ * Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.
5
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html}
6
7
  */
7
8
  export type ElasticLoadBalancingV2ListenerProperties = {
9
+ /**
10
+ * [TLS listener] The name of the Application-Layer Protocol Negotiation (ALPN) policy.
11
+ */
8
12
  AlpnPolicy?: string[];
13
+ /**
14
+ * The default SSL server certificate for a secure listener. You must provide exactly one certificate if the listener protocol is HTTPS or TLS.
15
+ To create a certificate list for a secure listener, use [AWS::ElasticLoadBalancingV2::ListenerCertificate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenercertificate.html).
16
+ */
9
17
  Certificates?: Certificate[];
18
+ /**
19
+ * The actions for the default rule. You cannot define a condition for a default rule.
20
+ To create additional rules for an Application Load Balancer, use [AWS::ElasticLoadBalancingV2::ListenerRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listenerrule.html).
21
+ */
10
22
  DefaultActions: Action[];
23
+ /**
24
+ * The Amazon Resource Name (ARN) of the load balancer.
25
+ */
11
26
  LoadBalancerArn: string;
27
+ /**
28
+ * The mutual authentication configuration information.
29
+ */
12
30
  MutualAuthentication?: MutualAuthentication;
31
+ /**
32
+ * The port on which the load balancer is listening. You cannot specify a port for a Gateway Load Balancer.
33
+ */
13
34
  Port?: number;
35
+ /**
36
+ * The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You cannot specify a protocol for a Gateway Load Balancer.
37
+ */
14
38
  Protocol?: string;
39
+ /**
40
+ * [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.
41
+ For more information, see [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) in the *Application Load Balancers Guide* and [Security policies](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies) in the *Network Load Balancers Guide*.
42
+ */
15
43
  SslPolicy?: string;
16
44
  };
17
45
  /**
@@ -23,113 +51,283 @@ export type ElasticLoadBalancingV2ListenerAttributes = {
23
51
  };
24
52
  /**
25
53
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.Action`.
54
+ * Specifies an action for a listener rule.
26
55
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-action.html}
27
56
  */
28
57
  export type Action = {
58
+ /**
59
+ * [HTTPS listeners] Information for using Amazon Cognito to authenticate users. Specify only when ``Type`` is ``authenticate-cognito``.
60
+ */
29
61
  AuthenticateCognitoConfig?: AuthenticateCognitoConfig;
62
+ /**
63
+ * [HTTPS listeners] Information about an identity provider that is compliant with OpenID Connect (OIDC). Specify only when ``Type`` is ``authenticate-oidc``.
64
+ */
30
65
  AuthenticateOidcConfig?: AuthenticateOidcConfig;
66
+ /**
67
+ * [Application Load Balancer] Information for creating an action that returns a custom HTTP response. Specify only when ``Type`` is ``fixed-response``.
68
+ */
31
69
  FixedResponseConfig?: FixedResponseConfig;
70
+ /**
71
+ * Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.
72
+ */
32
73
  ForwardConfig?: ForwardConfig;
74
+ /**
75
+ * The order for the action. This value is required for rules with multiple actions. The action with the lowest value for order is performed first.
76
+ */
33
77
  Order?: number;
78
+ /**
79
+ * [Application Load Balancer] Information for creating a redirect action. Specify only when ``Type`` is ``redirect``.
80
+ */
34
81
  RedirectConfig?: RedirectConfig;
82
+ /**
83
+ * The Amazon Resource Name (ARN) of the target group. Specify only when ``Type`` is ``forward`` and you want to route to a single target group. To route to one or more target groups, use ``ForwardConfig`` instead.
84
+ */
35
85
  TargetGroupArn?: string;
86
+ /**
87
+ * The type of action.
88
+ */
36
89
  Type: string;
37
90
  };
38
91
  /**
39
92
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.AuthenticateCognitoConfig`.
93
+ * Specifies information required when integrating with Amazon Cognito to authenticate users.
40
94
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticatecognitoconfig.html}
41
95
  */
42
96
  export type AuthenticateCognitoConfig = {
97
+ /**
98
+ * The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
99
+ */
43
100
  AuthenticationRequestExtraParams?: Record<string, string>;
101
+ /**
102
+ * The behavior if the user is not authenticated. The following are possible values:
103
+ + deny```` - Return an HTTP 401 Unauthorized error.
104
+ + allow```` - Allow the request to be forwarded to the target.
105
+ + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value.
106
+ */
44
107
  OnUnauthenticatedRequest?: string;
108
+ /**
109
+ * The set of user claims to be requested from the IdP. The default is ``openid``.
110
+ To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.
111
+ */
45
112
  Scope?: string;
113
+ /**
114
+ * The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.
115
+ */
46
116
  SessionCookieName?: string;
117
+ /**
118
+ * The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).
119
+ */
47
120
  SessionTimeout?: string;
121
+ /**
122
+ * The Amazon Resource Name (ARN) of the Amazon Cognito user pool.
123
+ */
48
124
  UserPoolArn: string;
125
+ /**
126
+ * The ID of the Amazon Cognito user pool client.
127
+ */
49
128
  UserPoolClientId: string;
129
+ /**
130
+ * The domain prefix or fully-qualified domain name of the Amazon Cognito user pool.
131
+ */
50
132
  UserPoolDomain: string;
51
133
  };
52
134
  /**
53
135
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.AuthenticateOidcConfig`.
136
+ * Specifies information required using an identity provide (IdP) that is compliant with OpenID Connect (OIDC) to authenticate users.
54
137
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-authenticateoidcconfig.html}
55
138
  */
56
139
  export type AuthenticateOidcConfig = {
140
+ /**
141
+ * The query parameters (up to 10) to include in the redirect request to the authorization endpoint.
142
+ */
57
143
  AuthenticationRequestExtraParams?: Record<string, string>;
144
+ /**
145
+ * The authorization endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
146
+ */
58
147
  AuthorizationEndpoint: string;
148
+ /**
149
+ * The OAuth 2.0 client identifier.
150
+ */
59
151
  ClientId: string;
152
+ /**
153
+ * The OAuth 2.0 client secret. This parameter is required if you are creating a rule. If you are modifying a rule, you can omit this parameter if you set ``UseExistingClientSecret`` to true.
154
+ */
60
155
  ClientSecret?: string;
156
+ /**
157
+ * The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
158
+ */
61
159
  Issuer: string;
160
+ /**
161
+ * The behavior if the user is not authenticated. The following are possible values:
162
+ + deny```` - Return an HTTP 401 Unauthorized error.
163
+ + allow```` - Allow the request to be forwarded to the target.
164
+ + authenticate```` - Redirect the request to the IdP authorization endpoint. This is the default value.
165
+ */
62
166
  OnUnauthenticatedRequest?: string;
167
+ /**
168
+ * The set of user claims to be requested from the IdP. The default is ``openid``.
169
+ To verify which scope values your IdP supports and how to separate multiple values, see the documentation for your IdP.
170
+ */
63
171
  Scope?: string;
172
+ /**
173
+ * The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.
174
+ */
64
175
  SessionCookieName?: string;
176
+ /**
177
+ * The maximum duration of the authentication session, in seconds. The default is 604800 seconds (7 days).
178
+ */
65
179
  SessionTimeout?: string;
180
+ /**
181
+ * The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
182
+ */
66
183
  TokenEndpoint: string;
184
+ /**
185
+ * Indicates whether to use the existing client secret when modifying a rule. If you are creating a rule, you can omit this parameter or set it to false.
186
+ */
67
187
  UseExistingClientSecret?: boolean;
188
+ /**
189
+ * The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol, the domain, and the path.
190
+ */
68
191
  UserInfoEndpoint: string;
69
192
  };
70
193
  /**
71
194
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.Certificate`.
195
+ * Specifies an SSL server certificate to use as the default certificate for a secure listener.
72
196
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-certificate.html}
73
197
  */
74
198
  export type Certificate = {
199
+ /**
200
+ * The Amazon Resource Name (ARN) of the certificate.
201
+ */
75
202
  CertificateArn?: string;
76
203
  };
77
204
  /**
78
205
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.FixedResponseConfig`.
206
+ * Specifies information required when returning a custom HTTP response.
79
207
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-fixedresponseconfig.html}
80
208
  */
81
209
  export type FixedResponseConfig = {
210
+ /**
211
+ * The content type.
212
+ Valid Values: text/plain | text/css | text/html | application/javascript | application/json
213
+ */
82
214
  ContentType?: string;
215
+ /**
216
+ * The message.
217
+ */
83
218
  MessageBody?: string;
219
+ /**
220
+ * The HTTP response code (2XX, 4XX, or 5XX).
221
+ */
84
222
  StatusCode: string;
85
223
  };
86
224
  /**
87
225
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.ForwardConfig`.
226
+ * Information for creating an action that distributes requests among one or more target groups. For Network Load Balancers, you can specify a single target group. Specify only when ``Type`` is ``forward``. If you specify both ``ForwardConfig`` and ``TargetGroupArn``, you can specify only one target group using ``ForwardConfig`` and it must be the same target group specified in ``TargetGroupArn``.
88
227
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-forwardconfig.html}
89
228
  */
90
229
  export type ForwardConfig = {
230
+ /**
231
+ * Information about the target group stickiness for a rule.
232
+ */
91
233
  TargetGroupStickinessConfig?: TargetGroupStickinessConfig;
234
+ /**
235
+ * Information about how traffic will be distributed between multiple target groups in a forward rule.
236
+ */
92
237
  TargetGroups?: TargetGroupTuple[];
93
238
  };
94
239
  /**
95
240
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.MutualAuthentication`.
241
+ * Specifies the configuration information for mutual authentication.
96
242
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-mutualauthentication.html}
97
243
  */
98
244
  export type MutualAuthentication = {
245
+ /**
246
+ * Indicates whether expired client certificates are ignored.
247
+ */
99
248
  IgnoreClientCertificateExpiry?: boolean;
249
+ /**
250
+ * The client certificate handling method. Options are ``off``, ``passthrough`` or ``verify``. The default value is ``off``.
251
+ */
100
252
  Mode?: string;
253
+ /**
254
+ * The Amazon Resource Name (ARN) of the trust store.
255
+ */
101
256
  TrustStoreArn?: string;
102
257
  };
103
258
  /**
104
259
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.RedirectConfig`.
260
+ * Information about a redirect action.
261
+ A URI consists of the following components: protocol://hostname:port/path?query. You must modify at least one of the following components to avoid a redirect loop: protocol, hostname, port, or path. Any components that you do not modify retain their original values.
262
+ You can reuse URI components using the following reserved keywords:
263
+ + #{protocol}
264
+ + #{host}
265
+ + #{port}
266
+ + #{path} (the leading "/" is removed)
267
+ + #{query}
268
+
269
+ For example, you can change the path to "/new/#{path}", the hostname to "example.#{host}", or the query to "#{query}&value=xyz".
105
270
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html}
106
271
  */
107
272
  export type RedirectConfig = {
273
+ /**
274
+ * The hostname. This component is not percent-encoded. The hostname can contain #{host}.
275
+ */
108
276
  Host?: string;
277
+ /**
278
+ * The absolute path, starting with the leading "/". This component is not percent-encoded. The path can contain #{host}, #{path}, and #{port}.
279
+ */
109
280
  Path?: string;
281
+ /**
282
+ * The port. You can specify a value from 1 to 65535 or #{port}.
283
+ */
110
284
  Port?: string;
285
+ /**
286
+ * The protocol. You can specify HTTP, HTTPS, or #{protocol}. You can redirect HTTP to HTTP, HTTP to HTTPS, and HTTPS to HTTPS. You cannot redirect HTTPS to HTTP.
287
+ */
111
288
  Protocol?: string;
289
+ /**
290
+ * The query parameters, URL-encoded when necessary, but not percent-encoded. Do not include the leading "?", as it is automatically added. You can specify any of the reserved keywords.
291
+ */
112
292
  Query?: string;
293
+ /**
294
+ * The HTTP redirect code. The redirect is either permanent (HTTP 301) or temporary (HTTP 302).
295
+ */
113
296
  StatusCode: string;
114
297
  };
115
298
  /**
116
299
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.TargetGroupStickinessConfig`.
300
+ * Information about the target group stickiness for a rule.
117
301
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgroupstickinessconfig.html}
118
302
  */
119
303
  export type TargetGroupStickinessConfig = {
304
+ /**
305
+ * The time period, in seconds, during which requests from a client should be routed to the same target group. The range is 1-604800 seconds (7 days).
306
+ */
120
307
  DurationSeconds?: number;
308
+ /**
309
+ * Indicates whether target group stickiness is enabled.
310
+ */
121
311
  Enabled?: boolean;
122
312
  };
123
313
  /**
124
314
  * Type definition for `AWS::ElasticLoadBalancingV2::Listener.TargetGroupTuple`.
315
+ * Information about how traffic will be distributed between multiple target groups in a forward rule.
125
316
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-targetgrouptuple.html}
126
317
  */
127
318
  export type TargetGroupTuple = {
319
+ /**
320
+ * The Amazon Resource Name (ARN) of the target group.
321
+ */
128
322
  TargetGroupArn?: string;
323
+ /**
324
+ * The weight. The range is 0 to 999.
325
+ */
129
326
  Weight?: number;
130
327
  };
131
328
  /**
132
- * Resource Type definition for AWS::ElasticLoadBalancingV2::Listener
329
+ * Resource type definition for `AWS::ElasticLoadBalancingV2::Listener`.
330
+ * Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.
133
331
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html}
134
332
  */
135
333
  export declare class ElasticLoadBalancingV2Listener extends $Resource<"AWS::ElasticLoadBalancingV2::Listener", ElasticLoadBalancingV2ListenerProperties, ElasticLoadBalancingV2ListenerAttributes> {
@@ -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::ElasticLoadBalancingV2::Listener
3
+ * Resource type definition for `AWS::ElasticLoadBalancingV2::Listener`.
4
+ * Specifies a listener for an Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.
4
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html}
5
6
  */
6
7
  export class ElasticLoadBalancingV2Listener extends $Resource {
@@ -1,16 +1,17 @@
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::ElasticLoadBalancingV2::LoadBalancer
4
+ * Resource type definition for `AWS::ElasticLoadBalancingV2::LoadBalancer`.
5
+ * Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
5
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html}
6
7
  */
7
8
  export type ElasticLoadBalancingV2LoadBalancerProperties = {
8
9
  /**
9
- * Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through PrivateLink
10
+ * Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through privatelink.
10
11
  */
11
12
  EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic?: string;
12
13
  /**
13
- * The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).
14
+ * The IP address type. The possible values are ``ipv4`` (for IPv4 addresses) and ``dualstack`` (for IPv4 and IPv6 addresses). You can’t specify ``dualstack`` for a load balancer with a UDP or TCP_UDP listener.
14
15
  */
15
16
  IpAddressType?: string;
16
17
  /**
@@ -18,31 +19,45 @@ export type ElasticLoadBalancingV2LoadBalancerProperties = {
18
19
  */
19
20
  LoadBalancerAttributes?: LoadBalancerAttribute[];
20
21
  /**
21
- * The name of the load balancer.
22
- */
22
+ * The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-".
23
+ If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
24
+ */
23
25
  Name?: string;
24
26
  /**
25
- * The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer.
26
- */
27
+ * The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet.
28
+ The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer.
29
+ The default is an Internet-facing load balancer.
30
+ You cannot specify a scheme for a Gateway Load Balancer.
31
+ */
27
32
  Scheme?: string;
28
33
  /**
29
- * The IDs of the security groups for the load balancer.
34
+ * [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
30
35
  */
31
36
  SecurityGroups?: string[];
32
37
  /**
33
- * The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.
34
- */
38
+ * The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both.
39
+ [Application Load Balancers] You must specify subnets from at least two Availability Zones. You cannot specify Elastic IP addresses for your subnets.
40
+ [Application Load Balancers on Outposts] You must specify one Outpost subnet.
41
+ [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.
42
+ [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet.
43
+ [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You cannot specify Elastic IP
44
+ */
35
45
  SubnetMappings?: SubnetMapping[];
36
46
  /**
37
- * The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.
38
- */
47
+ * The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings, but not both. To specify an Elastic IP address, specify subnet mappings instead of subnets.
48
+ [Application Load Balancers] You must specify subnets from at least two Availability Zones.
49
+ [Application Load Balancers on Outposts] You must specify one Outpost subnet.
50
+ [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones.
51
+ [Network Load Balancers] You can specify subnets from one or more Availability Zones.
52
+ [Gateway Load Balancers] You can specify subnets from one or more Availability Zones.
53
+ */
39
54
  Subnets?: string[];
40
55
  /**
41
56
  * The tags to assign to the load balancer.
42
57
  */
43
58
  Tags?: Tag[];
44
59
  /**
45
- * The type of load balancer. The default is application.
60
+ * The type of load balancer. The default is ``application``.
46
61
  */
47
62
  Type?: string;
48
63
  };
@@ -51,55 +66,75 @@ export type ElasticLoadBalancingV2LoadBalancerProperties = {
51
66
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html}
52
67
  */
53
68
  export type ElasticLoadBalancingV2LoadBalancerAttributes = {
54
- /**
55
- * The ID of the Amazon Route 53 hosted zone associated with the load balancer.
56
- */
57
69
  CanonicalHostedZoneID: string;
58
- /**
59
- * The public DNS name of the load balancer.
60
- */
61
70
  DNSName: string;
62
- /**
63
- * The Amazon Resource Name (ARN) of the load balancer.
64
- */
65
71
  LoadBalancerArn: string;
66
- /**
67
- * The full name of the load balancer.
68
- */
69
72
  LoadBalancerFullName: string;
70
- /**
71
- * The name of the load balancer.
72
- */
73
73
  LoadBalancerName: string;
74
74
  };
75
75
  /**
76
76
  * Type definition for `AWS::ElasticLoadBalancingV2::LoadBalancer.LoadBalancerAttribute`.
77
+ * Specifies an attribute for an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
77
78
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-loadbalancerattribute.html}
78
79
  */
79
80
  export type LoadBalancerAttribute = {
81
+ /**
82
+ * The name of the attribute.
83
+ The following attributes are supported by all load balancers:
84
+ + ``deletion_protection.enabled`` - Indicates whether deletion protection is enabled. The value is ``true`` or ``false``. The default is ``false``.
85
+ + ``load_balancing.cross_zone.enabled`` - Indicates whether cross-zone load balancing is enabled. The possible values are ``true`` and ``false``. The default for Network Load Balancers and Gateway Load Balancers is ``false``. The default for Application Load Balancers is ``true``, and cannot be changed.
86
+
87
+ The following attributes are supported by both Application Load Balancers and Network Load Balancers:
88
+ + ``access_logs.s3.enabled`` - Indicates whether access logs are enabled. The value is ``true`` or ``false``. The default is ``false``.
89
+ + ``access_logs.s3.bucket`` - The name of the S3 bucket for the access logs. This attribute is required if access logs are enabled. The bucket must exist in the same region as the load balancer and h
90
+ */
80
91
  Key?: string;
92
+ /**
93
+ * The value of the attribute.
94
+ */
81
95
  Value?: string;
82
96
  };
83
97
  /**
84
98
  * Type definition for `AWS::ElasticLoadBalancingV2::LoadBalancer.SubnetMapping`.
99
+ * Specifies a subnet for a load balancer.
85
100
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-subnetmapping.html}
86
101
  */
87
102
  export type SubnetMapping = {
103
+ /**
104
+ * [Network Load Balancers] The allocation ID of the Elastic IP address for an internet-facing load balancer.
105
+ */
88
106
  AllocationId?: string;
107
+ /**
108
+ * [Network Load Balancers] The IPv6 address.
109
+ */
89
110
  IPv6Address?: string;
111
+ /**
112
+ * [Network Load Balancers] The private IPv4 address for an internal load balancer.
113
+ */
90
114
  PrivateIPv4Address?: string;
115
+ /**
116
+ * The ID of the subnet.
117
+ */
91
118
  SubnetId: string;
92
119
  };
93
120
  /**
94
121
  * Type definition for `AWS::ElasticLoadBalancingV2::LoadBalancer.Tag`.
122
+ * Information about a tag.
95
123
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-tag.html}
96
124
  */
97
125
  export type Tag = {
126
+ /**
127
+ * The key of the tag.
128
+ */
98
129
  Key: string;
130
+ /**
131
+ * The value of the tag.
132
+ */
99
133
  Value?: string;
100
134
  };
101
135
  /**
102
- * Resource Type definition for AWS::ElasticLoadBalancingV2::LoadBalancer
136
+ * Resource type definition for `AWS::ElasticLoadBalancingV2::LoadBalancer`.
137
+ * Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
103
138
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html}
104
139
  */
105
140
  export declare class ElasticLoadBalancingV2LoadBalancer extends $Resource<"AWS::ElasticLoadBalancingV2::LoadBalancer", ElasticLoadBalancingV2LoadBalancerProperties, ElasticLoadBalancingV2LoadBalancerAttributes> {
@@ -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::ElasticLoadBalancingV2::LoadBalancer
3
+ * Resource type definition for `AWS::ElasticLoadBalancingV2::LoadBalancer`.
4
+ * Specifies an Application Load Balancer, a Network Load Balancer, or a Gateway Load Balancer.
4
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html}
5
6
  */
6
7
  export class ElasticLoadBalancingV2LoadBalancer extends $Resource {
@@ -2,26 +2,37 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
2
2
  import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-builder/template";
3
3
  /**
4
4
  * Resource type definition for `AWS::IAM::RolePolicy`.
5
- * Schema for IAM Role Policy
5
+ * Adds or updates an inline policy document that is embedded in the specified IAM role.
6
+ When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.
7
+ A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-i
6
8
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html}
7
9
  */
8
10
  export type IAMRolePolicyProperties = {
9
11
  /**
10
- * The policy document.
11
- */
12
+ * The policy document.
13
+ You must provide policies in JSON format in IAM. However, for CFN templates formatted in YAML, you can provide the policy in JSON or YAML format. CFN always converts a YAML policy to JSON format before submitting it to IAM.
14
+ The [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex) used to validate this parameter is a string of characters consisting of the following:
15
+ + Any printable ASCII character ranging from the space character (``\u0020``) through the end of the ASCII character range
16
+ + The printable characters in the Basic Latin and Latin-1 Supplement character set (through ``\u00FF``)
17
+ + The special characters tab (``\u0009``), line feed (``\u000A``), and carriage return (``\u000D``)
18
+ */
12
19
  PolicyDocument?: Record<string, any>;
13
20
  /**
14
- * The friendly name (not ARN) identifying the policy.
15
- */
21
+ * The name of the policy document.
22
+ This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-
23
+ */
16
24
  PolicyName: string;
17
25
  /**
18
- * The name of the policy document.
19
- */
26
+ * The name of the role to associate the policy with.
27
+ This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-
28
+ */
20
29
  RoleName: string;
21
30
  };
22
31
  /**
23
32
  * Resource type definition for `AWS::IAM::RolePolicy`.
24
- * Schema for IAM Role Policy
33
+ * Adds or updates an inline policy document that is embedded in the specified IAM role.
34
+ When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.
35
+ A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-i
25
36
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html}
26
37
  */
27
38
  export declare class IAMRolePolicy extends $Resource<"AWS::IAM::RolePolicy", IAMRolePolicyProperties, Record<string, never>> {
@@ -1,7 +1,9 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
3
  * Resource type definition for `AWS::IAM::RolePolicy`.
4
- * Schema for IAM Role Policy
4
+ * Adds or updates an inline policy document that is embedded in the specified IAM role.
5
+ When you embed an inline policy in a role, the inline policy is used as part of the role's access (permissions) policy. The role's trust policy is created at the same time as the role, using [CreateRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html). You can update a role's trust policy using [UpdateAssumeRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateAssumeRolePolicy.html). For information about roles, see [roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html) in the *IAM User Guide*.
6
+ A role can also have a managed policy attached to it. To attach a managed policy to a role, use [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). To create a new managed policy, use [AWS::IAM::ManagedPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-i
5
7
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-rolepolicy.html}
6
8
  */
7
9
  export class IAMRolePolicy extends $Resource {
@@ -107,7 +107,7 @@ export type RDSDBInstanceProperties = {
107
107
  */
108
108
  DBClusterIdentifier?: string;
109
109
  /**
110
- * The identifier for the RDS for MySQL Multi-AZ DB cluster snapshot to restore from.
110
+ * The identifier for the Multi-AZ DB cluster snapshot to restore from.
111
111
  For more information on Multi-AZ DB clusters, see [Multi-AZ DB cluster deployments](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html) in the *Amazon RDS User Guide*.
112
112
  Constraints:
113
113
  + Must match the identifier of an existing Multi-AZ DB cluster snapshot.
@@ -115,7 +115,6 @@ export type RDSDBInstanceProperties = {
115
115
  + Must be specified when ``DBSnapshotIdentifier`` isn't specified.
116
116
  + If you are restoring from a shared manual Multi-AZ DB cluster snapshot, the ``DBClusterSnapshotIdentifier`` must be the ARN of the shared snapshot.
117
117
  + Can't be the identifier of an Aurora DB cluster snapshot.
118
- + Can't be the identifier of an RDS for PostgreSQL Multi-AZ DB cluster snapshot.
119
118
  */
120
119
  DBClusterSnapshotIdentifier?: string;
121
120
  /**
@@ -5,32 +5,53 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
5
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshiftserverless-workgroup.html}
6
6
  */
7
7
  export type RedshiftServerlessWorkgroupProperties = {
8
+ /**
9
+ * The base compute capacity of the workgroup in Redshift Processing Units (RPUs).
10
+ */
8
11
  BaseCapacity?: number;
12
+ /**
13
+ * The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.
14
+ */
9
15
  EnhancedVpcRouting?: boolean;
10
16
  /**
17
+ * The max compute capacity of the workgroup in Redshift Processing Units (RPUs).
18
+ */
19
+ MaxCapacity?: number;
20
+ /**
21
+ * The namespace the workgroup is associated with.
11
22
  * @minLength `3`
12
23
  * @maxLength `64`
13
24
  * @pattern `^(?=^[a-z0-9-]+$).{3,64}$`
14
25
  */
15
26
  NamespaceName?: string;
27
+ /**
28
+ * The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.
29
+ */
16
30
  Port?: number;
31
+ /**
32
+ * A value that specifies whether the workgroup can be accessible from a public network.
33
+ */
17
34
  PubliclyAccessible?: boolean;
18
35
  /**
36
+ * A list of security group IDs to associate with the workgroup.
19
37
  * @minLength `1`
20
38
  * @maxLength `32`
21
39
  */
22
40
  SecurityGroupIds?: string[];
23
41
  /**
42
+ * A list of subnet IDs the workgroup is associated with.
24
43
  * @minLength `1`
25
44
  * @maxLength `32`
26
45
  */
27
46
  SubnetIds?: string[];
28
47
  /**
48
+ * The map of the key-value pairs used to tag the workgroup.
29
49
  * @minLength `0`
30
50
  * @maxLength `200`
31
51
  */
32
52
  Tags?: Tag[];
33
53
  /**
54
+ * The name of the workgroup.
34
55
  * @minLength `3`
35
56
  * @maxLength `64`
36
57
  * @pattern `^(?=^[a-z0-9-]+$).{3,64}$`
@@ -43,6 +64,7 @@ export type RedshiftServerlessWorkgroupProperties = {
43
64
  */
44
65
  export type RedshiftServerlessWorkgroupAttributes = {
45
66
  /**
67
+ * A list of parameters to set for finer control over a database. Available options are datestyle, enable_user_activity_logging, query_group, search_path, max_query_execution_time, and require_ssl.
46
68
  * @minLength `1`
47
69
  */
48
70
  ConfigParameters: {
@@ -57,6 +79,9 @@ export type RedshiftServerlessWorkgroupAttributes = {
57
79
  */
58
80
  ParameterValue: string;
59
81
  }[];
82
+ /**
83
+ * Definition for workgroup resource
84
+ */
60
85
  Workgroup: {
61
86
  BaseCapacity: number;
62
87
  ConfigParameters: {
@@ -87,6 +112,7 @@ export type RedshiftServerlessWorkgroupAttributes = {
87
112
  }[];
88
113
  };
89
114
  EnhancedVpcRouting: boolean;
115
+ MaxCapacity: number;
90
116
  /**
91
117
  * @minLength `3`
92
118
  * @maxLength `64`
@@ -47,7 +47,7 @@ export type SSMPatchBaselineProperties = {
47
47
  /**
48
48
  * Defines the operating system the patch baseline applies to. The Default value is WINDOWS.
49
49
  */
50
- OperatingSystem?: "WINDOWS" | "AMAZON_LINUX" | "AMAZON_LINUX_2" | "AMAZON_LINUX_2022" | "AMAZON_LINUX_2023" | "UBUNTU" | "REDHAT_ENTERPRISE_LINUX" | "SUSE" | "CENTOS" | "ORACLE_LINUX" | "DEBIAN" | "MACOS" | "RASPBIAN" | "ROCKY_LINUX";
50
+ OperatingSystem?: "WINDOWS" | "AMAZON_LINUX" | "AMAZON_LINUX_2" | "AMAZON_LINUX_2022" | "AMAZON_LINUX_2023" | "UBUNTU" | "REDHAT_ENTERPRISE_LINUX" | "SUSE" | "CENTOS" | "ORACLE_LINUX" | "DEBIAN" | "MACOS" | "RASPBIAN" | "ROCKY_LINUX" | "ALMA_LINUX";
51
51
  /**
52
52
  * PatchGroups is used to associate instances with a specific patch baseline
53
53
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awboost/cfn-resource-types",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },