@awboost/cfn-resource-types 0.1.59 → 0.1.61

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.
@@ -22,7 +22,7 @@ export type AppIntegrationsApplicationProperties = {
22
22
  * The name of the application.
23
23
  * @minLength `1`
24
24
  * @maxLength `255`
25
- * @pattern `^[a-zA-Z0-9/\._\-]+$`
25
+ * @pattern `^[a-zA-Z0-9\/\._ \-]+$`
26
26
  */
27
27
  Name: string;
28
28
  /**
@@ -32,6 +32,12 @@ export type AppIntegrationsApplicationProperties = {
32
32
  * @pattern `^[a-zA-Z0-9/\._\-]+$`
33
33
  */
34
34
  Namespace?: string;
35
+ /**
36
+ * The configuration of events or requests that the application has access to.
37
+ * @minLength `0`
38
+ * @maxLength `150`
39
+ */
40
+ Permissions?: string[];
35
41
  /**
36
42
  * The tags (keys and values) associated with the application.
37
43
  * @minLength `0`
@@ -48,6 +54,7 @@ export type AppIntegrationsApplicationAttributes = {
48
54
  * The Amazon Resource Name (ARN) of the application.
49
55
  * @minLength `1`
50
56
  * @maxLength `2048`
57
+ * @pattern `^arn:aws[-a-z0-9]*:app-integrations:[-a-z0-9]*:[0-9]{12}:application/[-a-zA-Z0-9]*`
51
58
  */
52
59
  ApplicationArn: string;
53
60
  /**
@@ -73,7 +80,7 @@ export type ExternalUrlConfig = {
73
80
  * @minLength `0`
74
81
  * @maxLength `50`
75
82
  */
76
- ApprovedOrigins: string[];
83
+ ApprovedOrigins?: string[];
77
84
  };
78
85
  /**
79
86
  * Type definition for `AWS::AppIntegrations::Application.Tag`.
@@ -1,7 +1,8 @@
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
- * Definition of AWS::DataZone::DataSource Resource Type
4
+ * Resource type definition for `AWS::DataZone::DataSource`.
5
+ * A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone.
5
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html}
6
7
  */
7
8
  export type DataZoneDataSourceProperties = {
@@ -196,6 +197,10 @@ export type FormInput = {
196
197
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-datasource-gluerunconfigurationinput.html}
197
198
  */
198
199
  export type GlueRunConfigurationInput = {
200
+ /**
201
+ * Specifies whether to automatically import data quality metrics as part of the data source run.
202
+ */
203
+ AutoImportDataQualityResult?: boolean;
199
204
  /**
200
205
  * The data access role included in the configuration details of the AWS Glue data source.
201
206
  * @pattern `^arn:aws[^:]*:iam::\d{12}:(role|role/service-role)/[\w+=,.@-]{1,128}$`
@@ -340,7 +345,8 @@ export type ScheduleConfiguration = {
340
345
  Timezone?: string;
341
346
  };
342
347
  /**
343
- * Definition of AWS::DataZone::DataSource Resource Type
348
+ * Resource type definition for `AWS::DataZone::DataSource`.
349
+ * A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone.
344
350
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html}
345
351
  */
346
352
  export declare class DataZoneDataSource extends $Resource<"AWS::DataZone::DataSource", DataZoneDataSourceProperties, DataZoneDataSourceAttributes> {
@@ -1,6 +1,7 @@
1
1
  import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
2
  /**
3
- * Definition of AWS::DataZone::DataSource Resource Type
3
+ * Resource type definition for `AWS::DataZone::DataSource`.
4
+ * A data source is used to import technical metadata of assets (data) from the source databases or data warehouses into Amazon DataZone.
4
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-datasource.html}
5
6
  */
6
7
  export class DataZoneDataSource extends $Resource {
@@ -10,7 +10,12 @@ export type EC2CustomerGatewayProperties = {
10
10
  * For devices that support BGP, the customer gateway's BGP ASN.
11
11
  Default: 65000
12
12
  */
13
- BgpAsn: number;
13
+ BgpAsn?: number;
14
+ /**
15
+ * @min `2147483648`
16
+ * @max `4294967294`
17
+ */
18
+ BgpAsnExtended?: number;
14
19
  /**
15
20
  * @pattern `^arn:(aws[a-zA-Z-]*)?:acm:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1}:\d{12}:certificate\/[a-zA-Z0-9-_]+$`
16
21
  */
@@ -0,0 +1,123 @@
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
+ * AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template.
5
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html}
6
+ */
7
+ export type ECRRepositoryCreationTemplateProperties = {
8
+ /**
9
+ * A list of enumerable Strings representing the repository creation scenarios that the template will apply towards.
10
+ */
11
+ AppliedFor: AppliedForItem[];
12
+ /**
13
+ * The description of the template.
14
+ * @minLength `0`
15
+ * @maxLength `256`
16
+ */
17
+ Description?: string;
18
+ /**
19
+ * The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest. By default, when no encryption configuration is set or the AES256 encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts your data at rest using an AES-256 encryption algorithm. This does not require any action on your part.
20
+
21
+ For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html
22
+ */
23
+ EncryptionConfiguration?: EncryptionConfiguration;
24
+ /**
25
+ * The image tag mutability setting for the repository.
26
+ */
27
+ ImageTagMutability?: "MUTABLE" | "IMMUTABLE";
28
+ /**
29
+ * The JSON lifecycle policy text to apply to the repository. For information about lifecycle policy syntax, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
30
+ * @minLength `100`
31
+ * @maxLength `30720`
32
+ */
33
+ LifecyclePolicy?: string;
34
+ /**
35
+ * The prefix use to match the repository name and apply the template.
36
+ * @minLength `1`
37
+ * @maxLength `256`
38
+ * @pattern `^((?:[a-z0-9]+(?:[._-][a-z0-9]+)/‍*)*[a-z0-9]+(?:[._-][a-z0-9]+)/‍*?|ROOT)$`
39
+ */
40
+ Prefix: string;
41
+ /**
42
+ * The JSON repository policy text to apply to the repository. For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/RepositoryPolicyExamples.html
43
+ */
44
+ RepositoryPolicy?: string;
45
+ /**
46
+ * An array of key-value pairs to apply to this resource.
47
+ * @maxLength `50`
48
+ */
49
+ ResourceTags?: Tag[];
50
+ };
51
+ /**
52
+ * Attribute type definition for `AWS::ECR::RepositoryCreationTemplate`.
53
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html#aws-resource-ecr-repositorycreationtemplate-return-values}
54
+ */
55
+ export type ECRRepositoryCreationTemplateAttributes = {
56
+ /**
57
+ * Create timestamp of the template.
58
+ */
59
+ CreatedAt: string;
60
+ /**
61
+ * Update timestamp of the template.
62
+ */
63
+ UpdatedAt: string;
64
+ };
65
+ /**
66
+ * Type definition for `AWS::ECR::RepositoryCreationTemplate.AppliedForItem`.
67
+ * Enumerable Strings representing the repository creation scenarios that the template will apply towards.
68
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-appliedforitem.html}
69
+ */
70
+ export type AppliedForItem = "REPLICATION" | "PULL_THROUGH_CACHE";
71
+ /**
72
+ * Type definition for `AWS::ECR::RepositoryCreationTemplate.EncryptionConfiguration`.
73
+ * The encryption configuration for the repository. This determines how the contents of your repository are encrypted at rest. By default, when no encryption configuration is set or the AES256 encryption type is used, Amazon ECR uses server-side encryption with Amazon S3-managed encryption keys which encrypts your data at rest using an AES-256 encryption algorithm. This does not require any action on your part.
74
+
75
+ For more information, see https://docs.aws.amazon.com/AmazonECR/latest/userguide/encryption-at-rest.html
76
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptionconfiguration.html}
77
+ */
78
+ export type EncryptionConfiguration = {
79
+ /**
80
+ * The encryption type to use.
81
+ */
82
+ EncryptionType: EncryptionType;
83
+ /**
84
+ * If you use the KMS encryption type, specify the CMK to use for encryption. The alias, key ID, or full ARN of the CMK can be specified. The key must exist in the same Region as the repository. If no key is specified, the default AWS managed CMK for Amazon ECR will be used.
85
+ * @minLength `1`
86
+ * @maxLength `2048`
87
+ */
88
+ KmsKey?: string;
89
+ };
90
+ /**
91
+ * Type definition for `AWS::ECR::RepositoryCreationTemplate.EncryptionType`.
92
+ * The encryption type to use.
93
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-encryptiontype.html}
94
+ */
95
+ export type EncryptionType = "AES256" | "KMS";
96
+ /**
97
+ * Type definition for `AWS::ECR::RepositoryCreationTemplate.Tag`.
98
+ * An array of key-value pairs to apply to this resource.
99
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecr-repositorycreationtemplate-tag.html}
100
+ */
101
+ export type Tag = {
102
+ /**
103
+ * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.
104
+ * @minLength `1`
105
+ * @maxLength `128`
106
+ */
107
+ Key: string;
108
+ /**
109
+ * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.
110
+ * @minLength `0`
111
+ * @maxLength `256`
112
+ */
113
+ Value: string;
114
+ };
115
+ /**
116
+ * AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template.
117
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html}
118
+ */
119
+ export declare class ECRRepositoryCreationTemplate extends $Resource<"AWS::ECR::RepositoryCreationTemplate", ECRRepositoryCreationTemplateProperties, ECRRepositoryCreationTemplateAttributes> {
120
+ static readonly Type = "AWS::ECR::RepositoryCreationTemplate";
121
+ constructor(logicalId: string, properties: ECRRepositoryCreationTemplateProperties, options?: $ResourceOptions);
122
+ }
123
+ //# sourceMappingURL=AWS-ECR-RepositoryCreationTemplate.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ /**
3
+ * AWS::ECR::RepositoryCreationTemplate is used to create repository with configuration from a pre-defined template.
4
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html}
5
+ */
6
+ export class ECRRepositoryCreationTemplate extends $Resource {
7
+ static Type = "AWS::ECR::RepositoryCreationTemplate";
8
+ constructor(logicalId, properties, options) {
9
+ super(logicalId, ECRRepositoryCreationTemplate.Type, properties, options);
10
+ }
11
+ }
12
+ //# sourceMappingURL=AWS-ECR-RepositoryCreationTemplate.js.map
@@ -3,7 +3,14 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
3
3
  /**
4
4
  * The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.
5
5
  If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.
6
- KMS replaced th
6
+ KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
7
+ You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.
8
+ You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.
9
+ You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.
10
+ You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.
11
+ You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
12
+ *Regions*
13
+ KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region.
7
14
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html}
8
15
  */
9
16
  export type KMSKeyProperties = {
@@ -24,7 +31,7 @@ export type KMSKeyProperties = {
24
31
  * Enables automatic rotation of the key material for the specified KMS key. By default, automatic key rotation is not enabled.
25
32
  KMS supports automatic rotation only for symmetric encryption KMS keys (``KeySpec`` = ``SYMMETRIC_DEFAULT``). For asymmetric KMS keys, HMAC KMS keys, and KMS keys with Origin ``EXTERNAL``, omit the ``EnableKeyRotation`` property or set it to ``false``.
26
33
  To enable automatic key rotation of the key material for a multi-Region KMS key, set ``EnableKeyRotation`` to ``true`` on the primary key (created by using ``AWS::KMS::Key``). KMS copies the rotation status to all replica keys. For details, see [Rotating multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-manage.html#multi-region-rotate) in the *Developer Guide*.
27
- When you enable automatic rotation, KMS automatically creates new key material for the KMS key one year after the enable date and every year thereafter. KMS retains all key material until you delete the KMS key. Fo
34
+ When you enable automatic rotation, KMS automatically creates new key material for the KMS key one year after the enable date and every year thereafter. KMS retains all key material until you delete the KMS key. For detailed information about automatic key rotation, see [Rotating KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html) in the *Developer Guide*.
28
35
  */
29
36
  EnableKeyRotation?: boolean;
30
37
  /**
@@ -38,13 +45,48 @@ export type KMSKeyProperties = {
38
45
  * The key policy to attach to the KMS key.
39
46
  If you provide a key policy, it must meet the following criteria:
40
47
  + The key policy must allow the caller to make a subsequent [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) request on the KMS key. This reduces the risk that the KMS key becomes unmanageable. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) in the *Developer Guide*. (To omit this condition, set ``BypassPolicyLockoutSafetyCheck`` to true.)
41
- + Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to KMS. For more information, see [
48
+ + Each statement in the key policy must contain one or more principals. The principals in the key policy must exist and be visible to KMS. When you create a new AWS principal (for example, an IAM user or role), you might need to enforce a delay before including the new principal in a key policy because the new principal might not be immediately visible to KMS. For more information, see [Changes that I make are not always immediately visible](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_general.html#troubleshoot_general_eventual-consistency) in the *User Guide*.
49
+
50
+ If you do not provide a key policy, KMS attaches a default key policy to the KMS key. For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default) in the *Developer Guide*.
51
+ A key policy document can include only the following characters:
52
+ + Printable ASCII characters
53
+ + Printable characters in the Basic Latin and Latin-1 Supplement character set
54
+ + The tab (``\u0009``), line feed (``\u000A``), and carriage return (``\u000D``) special characters
55
+
56
+ *Minimum*: ``1``
57
+ *Maximum*: ``32768``
42
58
  */
43
59
  KeyPolicy?: Record<string, any> | string;
44
60
  /**
45
61
  * Specifies the type of KMS key to create. The default value, ``SYMMETRIC_DEFAULT``, creates a KMS key with a 256-bit symmetric key for encryption and decryption. In China Regions, ``SYMMETRIC_DEFAULT`` creates a 128-bit symmetric key that uses SM4 encryption. You can't change the ``KeySpec`` value after the KMS key is created. For help choosing a key spec for your KMS key, see [Choosing a KMS key type](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html) in the *Developer Guide*.
46
62
  The ``KeySpec`` property determines the type of key material in the KMS key and the algorithms that the KMS key supports. To further restrict the algorithms that can be used with the KMS key, use a condition key in its key policy or IAM policy. For more information, see [condition keys](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms) in the *Developer Guide*.
47
- If you change the value of the ``KeySpec`` property on an existing KMS key, the u
63
+ If you change the value of the ``KeySpec`` property on an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing an immutable property value.
64
+ [services that are integrated with](https://docs.aws.amazon.com/kms/features/#AWS_Service_Integration) use symmetric encryption KMS keys to protect your data. These services do not support encryption with asymmetric KMS keys. For help determining whether a KMS key is asymmetric, see [Identifying asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html) in the *Developer Guide*.
65
+ KMS supports the following key specs for KMS keys:
66
+ + Symmetric encryption key (default)
67
+ + ``SYMMETRIC_DEFAULT`` (AES-256-GCM)
68
+
69
+ + HMAC keys (symmetric)
70
+ + ``HMAC_224``
71
+ + ``HMAC_256``
72
+ + ``HMAC_384``
73
+ + ``HMAC_512``
74
+
75
+ + Asymmetric RSA key pairs
76
+ + ``RSA_2048``
77
+ + ``RSA_3072``
78
+ + ``RSA_4096``
79
+
80
+ + Asymmetric NIST-recommended elliptic curve key pairs
81
+ + ``ECC_NIST_P256`` (secp256r1)
82
+ + ``ECC_NIST_P384`` (secp384r1)
83
+ + ``ECC_NIST_P521`` (secp521r1)
84
+
85
+ + Other asymmetric elliptic curve key pairs
86
+ + ``ECC_SECG_P256K1`` (secp256k1), commonly used for cryptocurrencies.
87
+
88
+ + SM2 key pairs (China Regions only)
89
+ + ``SM2``
48
90
  */
49
91
  KeySpec?: "SYMMETRIC_DEFAULT" | "RSA_2048" | "RSA_3072" | "RSA_4096" | "ECC_NIST_P256" | "ECC_NIST_P384" | "ECC_NIST_P521" | "ECC_SECG_P256K1" | "HMAC_224" | "HMAC_256" | "HMAC_384" | "HMAC_512" | "SM2";
50
92
  /**
@@ -53,7 +95,9 @@ export type KMSKeyProperties = {
53
95
  Select only one valid value.
54
96
  + For symmetric encryption KMS keys, omit the property or specify ``ENCRYPT_DECRYPT``.
55
97
  + For asymmetric KMS keys with RSA key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.
56
- + For asymmetric KMS keys with ECC key material, specify
98
+ + For asymmetric KMS keys with ECC key material, specify ``SIGN_VERIFY``.
99
+ + For asymmetric KMS keys with SM2 (China Regions only) key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.
100
+ + For HMAC KMS keys, specify ``GENERATE_VERIFY_MAC``.
57
101
  */
58
102
  KeyUsage?: "ENCRYPT_DECRYPT" | "SIGN_VERIFY" | "GENERATE_VERIFY_MAC";
59
103
  /**
@@ -61,7 +105,9 @@ export type KMSKeyProperties = {
61
105
  For a list of AWS-Regions in which multi-Region keys are supported, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the **.
62
106
  If you change the value of the ``MultiRegion`` property on an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing an immutable property value.
63
107
  For a multi-Region key, set to this property to ``true``. For a single-Region key, omit this property or set it to ``false``. The default value is ``false``.
64
- *Multi-Region keys* are an KMS feature that lets you create multiple interoperable KMS keys in different AWS-Regions. Bec
108
+ *Multi-Region keys* are an KMS feature that lets you create multiple interoperable KMS keys in different AWS-Regions. Because these KMS keys have the same key ID, key material, and other metadata, you can use them to encrypt data in one AWS-Region and decrypt it in a different AWS-Region without making a cross-Region call or exposing the plaintext data. For more information, see [Multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.
109
+ You can create a symmetric encryption, HMAC, or asymmetric multi-Region KMS key, and you can create a multi-Region key with imported key material. However, you cannot create a multi-Region key in a custom key store.
110
+ To create a replica of this primary key in a different AWS-Region , create an [AWS::KMS::ReplicaKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-replicakey.html) resource in a CloudFormation stack in the replica Region. Specify the key ARN of this primary key.
65
111
  */
66
112
  MultiRegion?: boolean;
67
113
  /**
@@ -74,11 +120,18 @@ export type KMSKeyProperties = {
74
120
  /**
75
121
  * Specifies the number of days in the waiting period before KMS deletes a KMS key that has been removed from a CloudFormation stack. Enter a value between 7 and 30 days. The default value is 30 days.
76
122
  When you remove a KMS key from a CloudFormation stack, KMS schedules the KMS key for deletion and starts the mandatory waiting period. The ``PendingWindowInDays`` property determines the length of waiting period. During the waiting period, the key state of KMS key is ``Pending Deletion`` or ``Pending Replica Deletion``, which prevents the KMS key from being used in cryptographic operations. When the waiting period expires, KMS permanently deletes the KMS key.
77
- KMS will not delete a [multi-Region primary key](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) that has replica keys. If you remove a multi-Region primary key from a CloudFormation stack, its key state changes to ``PendingReplicaDeletion`` so it cannot be replicated or used in cryptographic ope
123
+ KMS will not delete a [multi-Region primary key](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) that has replica keys. If you remove a multi-Region primary key from a CloudFormation stack, its key state changes to ``PendingReplicaDeletion`` so it cannot be replicated or used in cryptographic operations. This state can persist indefinitely. When the last of its replica keys is deleted, the key state of the primary key changes to ``PendingDeletion`` and the waiting period specified by ``PendingWindowInDays`` begins. When this waiting period expires, KMS deletes the primary key. For details, see [Deleting multi-Region keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-delete.html) in the *Developer Guide*.
124
+ You cannot use a CloudFormation template to cancel deletion of the KMS key after you remove it from the stack, regardless of the waiting period. If you specify a KMS key in your template, even one with the same name, CloudFormation creates a new KMS key. To cancel deletion of a KMS key, use the KMS console or the [CancelKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_CancelKeyDeletion.html) operation.
125
+ For information about the ``Pending Deletion`` and ``Pending Replica Deletion`` key states, see [Key state: Effect on your KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the *Developer Guide*. For more information about deleting KMS keys, see the [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) operation in the *API Reference* and [Deleting KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/deleting-keys.html) in the *Developer Guide*.
78
126
  * @min `7`
79
127
  * @max `30`
80
128
  */
81
129
  PendingWindowInDays?: number;
130
+ /**
131
+ * @min `90`
132
+ * @max `2560`
133
+ */
134
+ RotationPeriodInDays?: number;
82
135
  /**
83
136
  * Assigns one or more tags to the replica key.
84
137
  Tagging or untagging a KMS key can allow or deny permission to the KMS key. For details, see [ABAC for](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) in the *Developer Guide*.
@@ -116,7 +169,14 @@ export type Tag = {
116
169
  /**
117
170
  * The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.
118
171
  If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.
119
- KMS replaced th
172
+ KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
173
+ You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.
174
+ You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.
175
+ You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.
176
+ You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.
177
+ You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
178
+ *Regions*
179
+ KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region.
120
180
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html}
121
181
  */
122
182
  export declare class KMSKey extends $Resource<"AWS::KMS::Key", KMSKeyProperties, KMSKeyAttributes> {
@@ -2,7 +2,14 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
2
2
  /**
3
3
  * The ``AWS::KMS::Key`` resource specifies an [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) in KMSlong. You can use this resource to create symmetric encryption KMS keys, asymmetric KMS keys for encryption or signing, and symmetric HMAC KMS keys. You can use ``AWS::KMS::Key`` to create [multi-Region primary keys](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html#mrk-primary-key) of all supported types. To replicate a multi-Region key, use the ``AWS::KMS::ReplicaKey`` resource.
4
4
  If you change the value of the ``KeySpec``, ``KeyUsage``, ``Origin``, or ``MultiRegion`` properties of an existing KMS key, the update request fails, regardless of the value of the [UpdateReplacePolicy attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html). This prevents you from accidentally deleting a KMS key by changing any of its immutable property values.
5
- KMS replaced th
5
+ KMS replaced the term *customer master key (CMK)* with ** and *KMS key*. The concept has not changed. To prevent breaking changes, KMS is keeping some variations of this term.
6
+ You can use symmetric encryption KMS keys to encrypt and decrypt small amounts of data, but they are more commonly used to generate data keys and data key pairs. You can also use a symmetric encryption KMS key to encrypt data stored in AWS services that are [integrated with](https://docs.aws.amazon.com//kms/features/#AWS_Service_Integration). For more information, see [Symmetric encryption KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#symmetric-cmks) in the *Developer Guide*.
7
+ You can use asymmetric KMS keys to encrypt and decrypt data or sign messages and verify signatures. To create an asymmetric key, you must specify an asymmetric ``KeySpec`` value and a ``KeyUsage`` value. For details, see [Asymmetric keys in](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the *Developer Guide*.
8
+ You can use HMAC KMS keys (which are also symmetric keys) to generate and verify hash-based message authentication codes. To create an HMAC key, you must specify an HMAC ``KeySpec`` value and a ``KeyUsage`` value of ``GENERATE_VERIFY_MAC``. For details, see [HMAC keys in](https://docs.aws.amazon.com/kms/latest/developerguide/hmac.html) in the *Developer Guide*.
9
+ You can also create symmetric encryption, asymmetric, and HMAC multi-Region primary keys. To create a multi-Region primary key, set the ``MultiRegion`` property to ``true``. For information about multi-Region keys, see [Multi-Region keys in](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html) in the *Developer Guide*.
10
+ You cannot use the ``AWS::KMS::Key`` resource to specify a KMS key with [imported key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) or a KMS key in a [custom key store](https://docs.aws.amazon.com/kms/latest/developerguide/custom-key-store-overview.html).
11
+ *Regions*
12
+ KMS CloudFormation resources are available in all Regions in which KMS and CFN are supported. You can use the ``AWS::KMS::Key`` resource to create and manage all KMS key types that are supported in a Region.
6
13
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html}
7
14
  */
8
15
  export class KMSKey extends $Resource {
@@ -5,11 +5,29 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
5
5
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html}
6
6
  */
7
7
  export type LambdaAliasProperties = {
8
+ /**
9
+ * A description of the alias.
10
+ */
8
11
  Description?: string;
12
+ /**
13
+ * The name of the Lambda function.
14
+ */
9
15
  FunctionName: string;
16
+ /**
17
+ * The function version that the alias invokes.
18
+ */
10
19
  FunctionVersion: string;
20
+ /**
21
+ * The name of the alias.
22
+ */
11
23
  Name: string;
24
+ /**
25
+ * Specifies a provisioned concurrency configuration for a function's alias.
26
+ */
12
27
  ProvisionedConcurrencyConfig?: ProvisionedConcurrencyConfiguration;
28
+ /**
29
+ * The routing configuration of the alias.
30
+ */
13
31
  RoutingConfig?: AliasRoutingConfiguration;
14
32
  };
15
33
  /**
@@ -17,28 +35,46 @@ export type LambdaAliasProperties = {
17
35
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#aws-resource-lambda-alias-return-values}
18
36
  */
19
37
  export type LambdaAliasAttributes = {
20
- Id: string;
38
+ /**
39
+ * Lambda Alias ARN generated by the service.
40
+ */
41
+ AliasArn: string;
21
42
  };
22
43
  /**
23
44
  * Type definition for `AWS::Lambda::Alias.AliasRoutingConfiguration`.
45
+ * The traffic-shifting configuration of a Lambda function alias.
24
46
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-aliasroutingconfiguration.html}
25
47
  */
26
48
  export type AliasRoutingConfiguration = {
49
+ /**
50
+ * The second version, and the percentage of traffic that's routed to it.
51
+ */
27
52
  AdditionalVersionWeights: VersionWeight[];
28
53
  };
29
54
  /**
30
55
  * Type definition for `AWS::Lambda::Alias.ProvisionedConcurrencyConfiguration`.
56
+ * A provisioned concurrency configuration for a function's alias.
31
57
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-provisionedconcurrencyconfiguration.html}
32
58
  */
33
59
  export type ProvisionedConcurrencyConfiguration = {
60
+ /**
61
+ * The amount of provisioned concurrency to allocate for the alias.
62
+ */
34
63
  ProvisionedConcurrentExecutions: number;
35
64
  };
36
65
  /**
37
66
  * Type definition for `AWS::Lambda::Alias.VersionWeight`.
67
+ * The traffic-shifting configuration of a Lambda function alias.
38
68
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-alias-versionweight.html}
39
69
  */
40
70
  export type VersionWeight = {
71
+ /**
72
+ * The qualifier of the second version.
73
+ */
41
74
  FunctionVersion: string;
75
+ /**
76
+ * The percentage of traffic that the alias routes to the second version.
77
+ */
42
78
  FunctionWeight: number;
43
79
  };
44
80
  /**
@@ -10,6 +10,7 @@ export type OamLinkProperties = {
10
10
  * @maxLength `64`
11
11
  */
12
12
  LabelTemplate?: string;
13
+ LinkConfiguration?: LinkConfiguration;
13
14
  /**
14
15
  * @minLength `1`
15
16
  * @maxLength `50`
@@ -36,6 +37,25 @@ export type OamLinkAttributes = {
36
37
  Arn: string;
37
38
  Label: string;
38
39
  };
40
+ /**
41
+ * Type definition for `AWS::Oam::Link.LinkConfiguration`.
42
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-oam-link-linkconfiguration.html}
43
+ */
44
+ export type LinkConfiguration = {
45
+ LogGroupConfiguration?: LinkFilter;
46
+ MetricConfiguration?: LinkFilter;
47
+ };
48
+ /**
49
+ * Type definition for `AWS::Oam::Link.LinkFilter`.
50
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-oam-link-linkfilter.html}
51
+ */
52
+ export type LinkFilter = {
53
+ /**
54
+ * @minLength `1`
55
+ * @maxLength `2000`
56
+ */
57
+ Filter: string;
58
+ };
39
59
  /**
40
60
  * Type definition for `AWS::Oam::Link.ResourceType`.
41
61
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-oam-link-resourcetype.html}
@@ -74,6 +74,12 @@ export type RedshiftServerlessNamespaceProperties = {
74
74
  * The ARN for the Redshift application that integrates with IAM Identity Center.
75
75
  */
76
76
  RedshiftIdcApplicationArn?: string;
77
+ /**
78
+ * The snapshot copy configurations for the namespace.
79
+ * @minLength `0`
80
+ * @maxLength `1`
81
+ */
82
+ SnapshotCopyConfigurations?: SnapshotCopyConfiguration[];
77
83
  /**
78
84
  * The list of tags for the namespace.
79
85
  * @minLength `0`
@@ -135,6 +141,15 @@ export type Namespace = {
135
141
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-namespacestatus.html}
136
142
  */
137
143
  export type NamespaceStatus = "AVAILABLE" | "MODIFYING" | "DELETING";
144
+ /**
145
+ * Type definition for `AWS::RedshiftServerless::Namespace.SnapshotCopyConfiguration`.
146
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-snapshotcopyconfiguration.html}
147
+ */
148
+ export type SnapshotCopyConfiguration = {
149
+ DestinationKmsKeyId?: string;
150
+ DestinationRegion: string;
151
+ SnapshotRetentionPeriod?: number;
152
+ };
138
153
  /**
139
154
  * Type definition for `AWS::RedshiftServerless::Namespace.Tag`.
140
155
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-redshiftserverless-namespace-tag.html}
@@ -29,9 +29,6 @@ export type S3BucketProperties = {
29
29
  /**
30
30
  * A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html). For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide*.
31
31
  If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
32
- * @minLength `3`
33
- * @maxLength `63`
34
- * @pattern `^[a-z0-9][a-z0-9//.//-]*[a-z0-9]$`
35
32
  */
36
33
  BucketName?: string;
37
34
  /**
@@ -106,24 +103,12 @@ export type S3BucketProperties = {
106
103
  */
107
104
  export type S3BucketAttributes = {
108
105
  /**
109
- * The Amazon Resource Name (ARN) of the specified bucket.
106
+ * the Amazon Resource Name (ARN) of the specified bucket.
110
107
  */
111
108
  Arn: string;
112
- /**
113
- * The IPv4 DNS name of the specified bucket.
114
- */
115
109
  DomainName: string;
116
- /**
117
- * The IPv6 DNS name of the specified bucket. For more information about dual-stack endpoints, see [Using Amazon S3 Dual-Stack Endpoints](https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html).
118
- */
119
110
  DualStackDomainName: string;
120
- /**
121
- * Returns the regional domain name of the specified bucket.
122
- */
123
111
  RegionalDomainName: string;
124
- /**
125
- * The Amazon S3 website endpoint for the specified bucket.
126
- */
127
112
  WebsiteURL: string;
128
113
  };
129
114
  /**
@@ -7,7 +7,8 @@ import type { ResourceOptions as $ResourceOptions } from "@awboost/cfn-template-
7
7
  As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.
8
8
  For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).
9
9
  The following operations are related to ``PutBucketPolicy``:
10
- + [Create
10
+ + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
11
+ + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
11
12
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html}
12
13
  */
13
14
  export type S3BucketPolicyProperties = {
@@ -27,7 +28,8 @@ export type S3BucketPolicyProperties = {
27
28
  As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.
28
29
  For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).
29
30
  The following operations are related to ``PutBucketPolicy``:
30
- + [Create
31
+ + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
32
+ + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
31
33
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html}
32
34
  */
33
35
  export declare class S3BucketPolicy extends $Resource<"AWS::S3::BucketPolicy", S3BucketPolicyProperties, Record<string, never>> {
@@ -6,7 +6,8 @@ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/re
6
6
  As a security precaution, the root user of the AWS-account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.
7
7
  For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).
8
8
  The following operations are related to ``PutBucketPolicy``:
9
- + [Create
9
+ + [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
10
+ + [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
10
11
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-bucketpolicy.html}
11
12
  */
12
13
  export class S3BucketPolicy extends $Resource {
@@ -0,0 +1,178 @@
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
+ * The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance.
5
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html}
6
+ */
7
+ export type TimestreamInfluxDBInstanceProperties = {
8
+ /**
9
+ * The allocated storage for the InfluxDB instance.
10
+ * @min `20`
11
+ * @max `16384`
12
+ */
13
+ AllocatedStorage?: number;
14
+ /**
15
+ * The bucket for the InfluxDB instance.
16
+ * @minLength `2`
17
+ * @maxLength `64`
18
+ * @pattern `^[^_][^"]*$`
19
+ */
20
+ Bucket?: string;
21
+ /**
22
+ * The compute instance of the InfluxDB instance.
23
+ */
24
+ DbInstanceType?: "db.influx.medium" | "db.influx.large" | "db.influx.xlarge" | "db.influx.2xlarge" | "db.influx.4xlarge" | "db.influx.8xlarge" | "db.influx.12xlarge" | "db.influx.16xlarge";
25
+ /**
26
+ * The name of an existing InfluxDB parameter group.
27
+ * @minLength `3`
28
+ * @maxLength `64`
29
+ * @pattern `^[a-zA-Z0-9]+$`
30
+ */
31
+ DbParameterGroupIdentifier?: string;
32
+ /**
33
+ * The storage type of the InfluxDB instance.
34
+ */
35
+ DbStorageType?: "InfluxIOIncludedT1" | "InfluxIOIncludedT2" | "InfluxIOIncludedT3";
36
+ /**
37
+ * Deployment type of the InfluxDB Instance.
38
+ */
39
+ DeploymentType?: "SINGLE_AZ" | "WITH_MULTIAZ_STANDBY";
40
+ /**
41
+ * Configuration for sending logs to customer account from the InfluxDB instance.
42
+ */
43
+ LogDeliveryConfiguration?: {
44
+ /**
45
+ * S3 configuration for sending logs to customer account from the InfluxDB instance.
46
+ */
47
+ S3Configuration: {
48
+ /**
49
+ * The bucket name for logs to be sent from the InfluxDB instance
50
+ * @minLength `3`
51
+ * @maxLength `63`
52
+ * @pattern `^[0-9a-z]+[0-9a-z\.\-]*[0-9a-z]+$`
53
+ */
54
+ BucketName: string;
55
+ /**
56
+ * Specifies whether logging to customer specified bucket is enabled.
57
+ */
58
+ Enabled: boolean;
59
+ };
60
+ };
61
+ /**
62
+ * The unique name that is associated with the InfluxDB instance.
63
+ * @minLength `3`
64
+ * @maxLength `40`
65
+ * @pattern `^[a-zA-z][a-zA-Z0-9]*(-[a-zA-Z0-9]+)*$`
66
+ */
67
+ Name?: string;
68
+ /**
69
+ * The organization for the InfluxDB instance.
70
+ * @minLength `1`
71
+ * @maxLength `64`
72
+ */
73
+ Organization?: string;
74
+ /**
75
+ * The password for the InfluxDB instance.
76
+ * @minLength `8`
77
+ * @maxLength `64`
78
+ * @pattern `^[a-zA-Z0-9]+$`
79
+ */
80
+ Password?: string;
81
+ /**
82
+ * Attach a public IP to the customer ENI.
83
+ */
84
+ PubliclyAccessible?: boolean;
85
+ /**
86
+ * An arbitrary set of tags (key-value pairs) for this DB instance.
87
+ * @minLength `1`
88
+ * @maxLength `200`
89
+ */
90
+ Tags?: Tag[];
91
+ /**
92
+ * The username for the InfluxDB instance.
93
+ * @minLength `1`
94
+ * @maxLength `64`
95
+ */
96
+ Username?: string;
97
+ /**
98
+ * A list of Amazon EC2 VPC security groups to associate with this InfluxDB instance.
99
+ * @minLength `1`
100
+ * @maxLength `5`
101
+ */
102
+ VpcSecurityGroupIds?: string[];
103
+ /**
104
+ * A list of EC2 subnet IDs for this InfluxDB instance.
105
+ * @minLength `1`
106
+ * @maxLength `3`
107
+ */
108
+ VpcSubnetIds?: string[];
109
+ };
110
+ /**
111
+ * Attribute type definition for `AWS::Timestream::InfluxDBInstance`.
112
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html#aws-resource-timestream-influxdbinstance-return-values}
113
+ */
114
+ export type TimestreamInfluxDBInstanceAttributes = {
115
+ /**
116
+ * The Amazon Resource Name (ARN) that is associated with the InfluxDB instance.
117
+ * @minLength `1`
118
+ * @maxLength `1011`
119
+ * @pattern `^arn:aws[a-z\-]*:timestream\-influxdb:[a-z0-9\-]+:[0-9]{12}:(db\-instance)/[a-zA-Z0-9]{3,64}$`
120
+ */
121
+ Arn: string;
122
+ /**
123
+ * The Availability Zone (AZ) where the InfluxDB instance is created.
124
+ */
125
+ AvailabilityZone: string;
126
+ /**
127
+ * The connection endpoint for the InfluxDB instance.
128
+ */
129
+ Endpoint: string;
130
+ /**
131
+ * The service generated unique identifier for InfluxDB instance.
132
+ * @minLength `3`
133
+ * @maxLength `64`
134
+ * @pattern `^[a-zA-Z0-9]+$`
135
+ */
136
+ Id: string;
137
+ /**
138
+ * The Auth parameters secret Amazon Resource name (ARN) that is associated with the InfluxDB instance.
139
+ * @pattern `^arn:[a-z]*:secretsmanager:[a-z\-0-9]*:[0-9]*:secret:[a-zA-Z0-9\-]*`
140
+ */
141
+ InfluxAuthParametersSecretArn: string;
142
+ /**
143
+ * The Secondary Availability Zone (AZ) where the InfluxDB instance is created, if DeploymentType is set as WITH_MULTIAZ_STANDBY.
144
+ */
145
+ SecondaryAvailabilityZone: string;
146
+ /**
147
+ * Status of the InfluxDB Instance.
148
+ */
149
+ Status: "CREATING" | "AVAILABLE" | "DELETING" | "MODIFYING" | "UPDATING" | "DELETED" | "FAILED";
150
+ };
151
+ /**
152
+ * Type definition for `AWS::Timestream::InfluxDBInstance.Tag`.
153
+ * A key-value pair to associate with a resource.
154
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-timestream-influxdbinstance-tag.html}
155
+ */
156
+ export type Tag = {
157
+ /**
158
+ * The key name of the tag. You can specify a value that is 1 to 128 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.
159
+ * @minLength `1`
160
+ * @maxLength `128`
161
+ */
162
+ Key: string;
163
+ /**
164
+ * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -.
165
+ * @minLength `0`
166
+ * @maxLength `256`
167
+ */
168
+ Value?: string;
169
+ };
170
+ /**
171
+ * The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance.
172
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html}
173
+ */
174
+ export declare class TimestreamInfluxDBInstance extends $Resource<"AWS::Timestream::InfluxDBInstance", TimestreamInfluxDBInstanceProperties, TimestreamInfluxDBInstanceAttributes> {
175
+ static readonly Type = "AWS::Timestream::InfluxDBInstance";
176
+ constructor(logicalId: string, properties: TimestreamInfluxDBInstanceProperties, options?: $ResourceOptions);
177
+ }
178
+ //# sourceMappingURL=AWS-Timestream-InfluxDBInstance.d.ts.map
@@ -0,0 +1,12 @@
1
+ import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
2
+ /**
3
+ * The AWS::Timestream::InfluxDBInstance resource creates an InfluxDB instance.
4
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-timestream-influxdbinstance.html}
5
+ */
6
+ export class TimestreamInfluxDBInstance extends $Resource {
7
+ static Type = "AWS::Timestream::InfluxDBInstance";
8
+ constructor(logicalId, properties, options) {
9
+ super(logicalId, TimestreamInfluxDBInstance.Type, properties, options);
10
+ }
11
+ }
12
+ //# sourceMappingURL=AWS-Timestream-InfluxDBInstance.js.map
@@ -87,7 +87,7 @@ export type FixedResponse = {
87
87
  export type Forward = {
88
88
  /**
89
89
  * @minLength `1`
90
- * @maxLength `2`
90
+ * @maxLength `10`
91
91
  */
92
92
  TargetGroups: WeightedTargetGroup[];
93
93
  };
@@ -81,7 +81,7 @@ export type FixedResponse = {
81
81
  export type Forward = {
82
82
  /**
83
83
  * @minLength `1`
84
- * @maxLength `2`
84
+ * @maxLength `10`
85
85
  */
86
86
  TargetGroups: WeightedTargetGroup[];
87
87
  };
@@ -80,7 +80,7 @@ export type HealthCheckConfig = {
80
80
  */
81
81
  Port?: number;
82
82
  Protocol?: "HTTP" | "HTTPS";
83
- ProtocolVersion?: "HTTP1" | "HTTP2" | "GRPC";
83
+ ProtocolVersion?: "HTTP1" | "HTTP2";
84
84
  /**
85
85
  * @min `2`
86
86
  * @max `10`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awboost/cfn-resource-types",
3
- "version": "0.1.59",
3
+ "version": "0.1.61",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },