@awboost/cfn-resource-types 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/AWS-AppSync-ApiCache.d.ts +1 -0
- package/lib/AWS-AppSync-DataSource.d.ts +1 -0
- package/lib/AWS-AppSync-GraphQLApi.d.ts +10 -0
- package/lib/AWS-AppSync-Resolver.d.ts +1 -0
- package/lib/AWS-Batch-JobDefinition.d.ts +8 -0
- package/lib/AWS-CodePipeline-Pipeline.d.ts +29 -0
- package/lib/AWS-Cognito-UserPoolRiskConfigurationAttachment.d.ts +1 -8
- package/lib/AWS-ControlTower-EnabledBaseline.d.ts +80 -0
- package/lib/AWS-ControlTower-EnabledBaseline.js +12 -0
- package/lib/AWS-DynamoDB-Table.d.ts +9 -0
- package/lib/AWS-EC2-InstanceConnectEndpoint.d.ts +1 -1
- package/lib/AWS-EC2-NatGateway.d.ts +46 -4
- package/lib/AWS-EC2-NatGateway.js +5 -1
- package/lib/AWS-EC2-PrefixList.d.ts +1 -1
- package/lib/AWS-EC2-Subnet.d.ts +6 -0
- package/lib/AWS-EC2-SubnetRouteTableAssociation.d.ts +11 -2
- package/lib/AWS-EC2-SubnetRouteTableAssociation.js +2 -1
- package/lib/AWS-EC2-VPC.d.ts +30 -31
- package/lib/AWS-EC2-VPC.js +4 -1
- package/lib/AWS-ECS-TaskDefinition.d.ts +641 -25
- package/lib/AWS-ECS-TaskDefinition.js +3 -1
- package/lib/AWS-EMR-Cluster.d.ts +1 -0
- package/lib/AWS-GuardDuty-Master.d.ts +14 -9
- package/lib/AWS-GuardDuty-Master.js +2 -1
- package/lib/AWS-IAM-User.d.ts +43 -25
- package/lib/AWS-IAM-User.js +3 -1
- package/lib/AWS-IoTWireless-WirelessDevice.d.ts +34 -0
- package/lib/AWS-KMS-Alias.d.ts +25 -11
- package/lib/AWS-KMS-Alias.js +3 -1
- package/lib/AWS-KMS-Key.d.ts +62 -28
- package/lib/AWS-KMS-Key.js +3 -1
- package/lib/AWS-Route53-RecordSet.d.ts +19 -0
- package/lib/AWS-Route53-RecordSetGroup.d.ts +19 -0
- package/lib/AWS-S3-Bucket.d.ts +381 -139
- package/lib/AWS-S3-Bucket.js +3 -1
- package/lib/AWS-S3-BucketPolicy.d.ts +15 -3
- package/lib/AWS-S3-BucketPolicy.js +7 -1
- package/lib/AWS-SageMaker-AppImageConfig.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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::ECS::TaskDefinition`.
|
|
4
|
-
*
|
|
4
|
+
* Registers a new task definition from the supplied ``family`` and ``containerDefinitions``. Optionally, you can add data volumes to your containers with the ``volumes`` parameter. For more information about task definition parameters and defaults, see [Amazon ECS Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon Elastic Container Service Developer Guide*.
|
|
5
|
+
You can specify a role for your task with the ``taskRoleArn`` parameter. When you specify a role for a task, its containers can then use the latest versions of the CLI or SDKs to make API requests to the AWS services that are specified in the policy that's associated with the role. For more information, see [IAM Roles for Tasks](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) in the *Amazon Elastic Container Service Developer Guide*.
|
|
6
|
+
You can specify a Docker networking mode for the containers in your task definition with the ``networkMod
|
|
5
7
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html}
|
|
6
8
|
*/
|
|
7
9
|
export class ECSTaskDefinition extends $Resource {
|
package/lib/AWS-EMR-Cluster.d.ts
CHANGED
|
@@ -205,6 +205,7 @@ export type JobFlowInstancesConfig = {
|
|
|
205
205
|
TaskInstanceFleets?: InstanceFleetConfig[];
|
|
206
206
|
TaskInstanceGroups?: InstanceGroupConfig[];
|
|
207
207
|
TerminationProtected?: boolean;
|
|
208
|
+
UnhealthyNodeReplacement?: boolean;
|
|
208
209
|
};
|
|
209
210
|
/**
|
|
210
211
|
* Type definition for `AWS::EMR::Cluster.KerberosAttributes`.
|
|
@@ -1,25 +1,30 @@
|
|
|
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
|
|
4
|
+
* Resource type definition for `AWS::GuardDuty::Master`.
|
|
5
|
+
* GuardDuty Master resource schema
|
|
5
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html}
|
|
6
7
|
*/
|
|
7
8
|
export type GuardDutyMasterProperties = {
|
|
9
|
+
/**
|
|
10
|
+
* Unique ID of the detector of the GuardDuty member account.
|
|
11
|
+
*/
|
|
8
12
|
DetectorId: string;
|
|
13
|
+
/**
|
|
14
|
+
* Value used to validate the master account to the member account.
|
|
15
|
+
*/
|
|
9
16
|
InvitationId?: string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html#aws-resource-guardduty-master-return-values}
|
|
14
|
-
*/
|
|
15
|
-
export type GuardDutyMasterAttributes = {
|
|
17
|
+
/**
|
|
18
|
+
* ID of the account used as the master account.
|
|
19
|
+
*/
|
|
16
20
|
MasterId: string;
|
|
17
21
|
};
|
|
18
22
|
/**
|
|
19
|
-
* Resource
|
|
23
|
+
* Resource type definition for `AWS::GuardDuty::Master`.
|
|
24
|
+
* GuardDuty Master resource schema
|
|
20
25
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html}
|
|
21
26
|
*/
|
|
22
|
-
export declare class GuardDutyMaster extends $Resource<"AWS::GuardDuty::Master", GuardDutyMasterProperties,
|
|
27
|
+
export declare class GuardDutyMaster extends $Resource<"AWS::GuardDuty::Master", GuardDutyMasterProperties, Record<string, never>> {
|
|
23
28
|
static readonly Type = "AWS::GuardDuty::Master";
|
|
24
29
|
constructor(logicalId: string, properties: GuardDutyMasterProperties, options?: $ResourceOptions);
|
|
25
30
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
* Resource
|
|
3
|
+
* Resource type definition for `AWS::GuardDuty::Master`.
|
|
4
|
+
* GuardDuty Master resource schema
|
|
4
5
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-guardduty-master.html}
|
|
5
6
|
*/
|
|
6
7
|
export class GuardDutyMaster extends $Resource {
|
package/lib/AWS-IAM-User.d.ts
CHANGED
|
@@ -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
|
|
4
|
+
* Resource type definition for `AWS::IAM::User`.
|
|
5
|
+
* Creates a new IAM user for your AWS-account.
|
|
6
|
+
For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*.
|
|
5
7
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html}
|
|
6
8
|
*/
|
|
7
9
|
export type IAMUserProperties = {
|
|
@@ -10,32 +12,46 @@ export type IAMUserProperties = {
|
|
|
10
12
|
*/
|
|
11
13
|
Groups?: string[];
|
|
12
14
|
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
* Creates a password for the specified IAM user. A password allows an IAM user to access AWS services through the console.
|
|
16
|
+
You can use the CLI, the AWS API, or the *Users* page in the IAM console to create a password for any IAM user. Use [ChangePassword](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ChangePassword.html) to update your own existing password in the *My Security Credentials* page in the console.
|
|
17
|
+
For more information about managing passwords, see [Managing passwords](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) in the *User Guide*.
|
|
18
|
+
*/
|
|
15
19
|
LoginProfile?: LoginProfile;
|
|
16
20
|
/**
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
* A list of Amazon Resource Names (ARNs) of the IAM managed policies that you want to attach to the user.
|
|
22
|
+
For more information about ARNs, see [Amazon Resource Names (ARNs) and Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) in the *General Reference*.
|
|
23
|
+
*/
|
|
19
24
|
ManagedPolicyArns?: string[];
|
|
20
25
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
* The path for the user name. For more information about paths, see [IAM identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the *IAM User Guide*.
|
|
27
|
+
This parameter is optional. If it is not included, it defaults to a slash (/).
|
|
28
|
+
This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (``\u0021``) through the DEL character (``\u007F``), including most punctuation characters, digits, and upper and lowercased letters.
|
|
29
|
+
*/
|
|
23
30
|
Path?: string;
|
|
24
31
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
32
|
+
* The ARN of the managed policy that is used to set the permissions boundary for the user.
|
|
33
|
+
A permissions boundary policy defines the maximum permissions that identity-based policies can grant to an entity, but does not grant permissions. Permissions boundaries do not define the maximum permissions that a resource-based policy can grant to an entity. To learn more, see [Permissions boundaries for IAM entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) in the *IAM User Guide*.
|
|
34
|
+
For more information about policy types, see [Policy types](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policy-types) in the *IAM User Guide*.
|
|
35
|
+
*/
|
|
27
36
|
PermissionsBoundary?: string;
|
|
28
37
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
38
|
+
* Adds or updates an inline policy document that is embedded in the specified IAM user. To view AWS::IAM::User snippets, see [Declaring an User Resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-iam-user).
|
|
39
|
+
The name of each policy for a role, user, or group must be unique. If you don't choose unique names, updates to the IAM identity will fail.
|
|
40
|
+
For information about limits on the number of inline policies that you can embed in a user, see [Limitations on Entities](https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html) in the *User Guide*.
|
|
41
|
+
*/
|
|
31
42
|
Policies?: Policy[];
|
|
32
43
|
/**
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
* A list of tags that you want to attach to the new user. Each tag consists of a key name and an associated value. For more information about tagging, see [Tagging IAM resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) in the *IAM User Guide*.
|
|
45
|
+
If any one of the tags is invalid or if you exceed the allowed maximum number of tags, then the entire request fails and the resource is not created.
|
|
46
|
+
*/
|
|
35
47
|
Tags?: Tag[];
|
|
36
48
|
/**
|
|
37
|
-
|
|
38
|
-
|
|
49
|
+
* The name of the user to create. Do not include the path in this value.
|
|
50
|
+
This parameter allows (per 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: _+=,.@-. The user name must be unique within the account. User names are not distinguished by case. For example, you cannot create users named both "John" and "john".
|
|
51
|
+
If you don't specify a name, CFN generates a unique physical ID and uses that ID for the user name.
|
|
52
|
+
If you specify a name, you must specify the ``CAPABILITY_NAMED_IAM`` value to acknowledge your template's capabilities. For more information, see [Acknowledging Resources in Templates](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities).
|
|
53
|
+
Naming an IAM resource can cause an unrecoverable error if you reuse the same template in multiple Regions. To prevent this, we recommend using ``Fn::Join`` and ``AWS::Region`` to create a Region-specific name, as in the following example: ``{"Fn::Join": ["", [{"Ref": "AWS::Region"}, {"Ref": "MyResourceName"}]]}``.
|
|
54
|
+
*/
|
|
39
55
|
UserName?: string;
|
|
40
56
|
};
|
|
41
57
|
/**
|
|
@@ -43,14 +59,11 @@ export type IAMUserProperties = {
|
|
|
43
59
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html#aws-resource-iam-user-return-values}
|
|
44
60
|
*/
|
|
45
61
|
export type IAMUserAttributes = {
|
|
46
|
-
/**
|
|
47
|
-
* The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the IAM User Guide.
|
|
48
|
-
*/
|
|
49
62
|
Arn: string;
|
|
50
63
|
};
|
|
51
64
|
/**
|
|
52
65
|
* Type definition for `AWS::IAM::User.LoginProfile`.
|
|
53
|
-
*
|
|
66
|
+
* Creates a password for the specified user, giving the user the ability to access AWS services through the console. For more information about managing passwords, see [Managing Passwords](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingLogins.html) in the *User Guide*.
|
|
54
67
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-loginprofile.html}
|
|
55
68
|
*/
|
|
56
69
|
export type LoginProfile = {
|
|
@@ -66,11 +79,13 @@ export type LoginProfile = {
|
|
|
66
79
|
/**
|
|
67
80
|
* Type definition for `AWS::IAM::User.Policy`.
|
|
68
81
|
* Contains information about an attached policy.
|
|
82
|
+
An attached policy is a managed policy that has been attached to a user, group, or role.
|
|
83
|
+
For more information about managed policies, refer to [Managed Policies and Inline Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies-managed-vs-inline.html) in the *User Guide*.
|
|
69
84
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-policy.html}
|
|
70
85
|
*/
|
|
71
86
|
export type Policy = {
|
|
72
87
|
/**
|
|
73
|
-
* The policy
|
|
88
|
+
* The entire contents of the policy that defines permissions. For more information, see [Overview of JSON policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json).
|
|
74
89
|
*/
|
|
75
90
|
PolicyDocument: Record<string, any> | string;
|
|
76
91
|
/**
|
|
@@ -80,21 +95,24 @@ export type Policy = {
|
|
|
80
95
|
};
|
|
81
96
|
/**
|
|
82
97
|
* Type definition for `AWS::IAM::User.Tag`.
|
|
83
|
-
* A
|
|
98
|
+
* A structure that represents user-provided metadata that can be associated with an IAM resource. For more information about tagging, see [Tagging IAM resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) in the *IAM User Guide*.
|
|
84
99
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-user-tag.html}
|
|
85
100
|
*/
|
|
86
101
|
export type Tag = {
|
|
87
102
|
/**
|
|
88
|
-
* The key name
|
|
103
|
+
* The key name that can be used to look up or retrieve the associated value. For example, ``Department`` or ``Cost Center`` are common choices.
|
|
89
104
|
*/
|
|
90
105
|
Key: string;
|
|
91
106
|
/**
|
|
92
|
-
|
|
93
|
-
|
|
107
|
+
* The value associated with this tag. For example, tags with a key name of ``Department`` could have values such as ``Human Resources``, ``Accounting``, and ``Support``. Tags with a key name of ``Cost Center`` might have values that consist of the number associated with the different cost centers in your company. Typically, many resources have tags with the same key name but with different values.
|
|
108
|
+
AWS always interprets the tag ``Value`` as a single string. If you need to store an array, you can store comma-separated values in the string. However, you must interpret the value in your code.
|
|
109
|
+
*/
|
|
94
110
|
Value: string;
|
|
95
111
|
};
|
|
96
112
|
/**
|
|
97
|
-
* Resource
|
|
113
|
+
* Resource type definition for `AWS::IAM::User`.
|
|
114
|
+
* Creates a new IAM user for your AWS-account.
|
|
115
|
+
For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*.
|
|
98
116
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html}
|
|
99
117
|
*/
|
|
100
118
|
export declare class IAMUser extends $Resource<"AWS::IAM::User", IAMUserProperties, IAMUserAttributes> {
|
package/lib/AWS-IAM-User.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
* Resource
|
|
3
|
+
* Resource type definition for `AWS::IAM::User`.
|
|
4
|
+
* Creates a new IAM user for your AWS-account.
|
|
5
|
+
For information about quotas for the number of IAM users you can create, see [IAM and quotas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html) in the *IAM User Guide*.
|
|
4
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-user.html}
|
|
5
7
|
*/
|
|
6
8
|
export class IAMUser extends $Resource {
|
|
@@ -84,6 +84,39 @@ export type AbpV11 = {
|
|
|
84
84
|
DevAddr: string;
|
|
85
85
|
SessionKeys: SessionKeysAbpV11;
|
|
86
86
|
};
|
|
87
|
+
/**
|
|
88
|
+
* Type definition for `AWS::IoTWireless::WirelessDevice.Application`.
|
|
89
|
+
* LoRaWAN application configuration, which can be used to perform geolocation.
|
|
90
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-application.html}
|
|
91
|
+
*/
|
|
92
|
+
export type Application = {
|
|
93
|
+
/**
|
|
94
|
+
* The name of the position data destination that describes the AWS IoT rule that processes the device's position data for use by AWS IoT Core for LoRaWAN.
|
|
95
|
+
* @maxLength `128`
|
|
96
|
+
* @pattern `[a-zA-Z0-9-_]+`
|
|
97
|
+
*/
|
|
98
|
+
DestinationName?: string;
|
|
99
|
+
/**
|
|
100
|
+
* The Fport value.
|
|
101
|
+
* @min `1`
|
|
102
|
+
* @max `223`
|
|
103
|
+
*/
|
|
104
|
+
FPort?: number;
|
|
105
|
+
/**
|
|
106
|
+
* Application type, which can be specified to obtain real-time position information of your LoRaWAN device.
|
|
107
|
+
*/
|
|
108
|
+
Type?: "SemtechGeolocation";
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Type definition for `AWS::IoTWireless::WirelessDevice.FPorts`.
|
|
112
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-fports.html}
|
|
113
|
+
*/
|
|
114
|
+
export type FPorts = {
|
|
115
|
+
/**
|
|
116
|
+
* A list of optional LoRaWAN application information, which can be used for geolocation.
|
|
117
|
+
*/
|
|
118
|
+
Applications?: Application[];
|
|
119
|
+
};
|
|
87
120
|
/**
|
|
88
121
|
* Type definition for `AWS::IoTWireless::WirelessDevice.LoRaWANDevice`.
|
|
89
122
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotwireless-wirelessdevice-lorawandevice.html}
|
|
@@ -99,6 +132,7 @@ export type LoRaWANDevice = {
|
|
|
99
132
|
* @maxLength `256`
|
|
100
133
|
*/
|
|
101
134
|
DeviceProfileId?: string;
|
|
135
|
+
FPorts?: FPorts;
|
|
102
136
|
OtaaV10x?: OtaaV10x;
|
|
103
137
|
OtaaV11?: OtaaV11;
|
|
104
138
|
/**
|
package/lib/AWS-KMS-Alias.d.ts
CHANGED
|
@@ -1,26 +1,40 @@
|
|
|
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
|
-
* The AWS::KMS::Alias resource specifies a display name for
|
|
4
|
+
* The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).
|
|
5
|
+
Adding, deleting, or updating an alias 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*.
|
|
6
|
+
Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys i
|
|
5
7
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html}
|
|
6
8
|
*/
|
|
7
9
|
export type KMSAliasProperties = {
|
|
8
10
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
* Specifies the alias name. This value must begin with ``alias/`` followed by a name, such as ``alias/ExampleAlias``.
|
|
12
|
+
If you change the value of the ``AliasName`` property, the existing alias is deleted and a new alias is created for the specified KMS key. This change can disrupt applications that use the alias. It can also allow or deny access to a KMS key affected by attribute-based access control (ABAC).
|
|
13
|
+
The alias must be string of 1-256 characters. It can contain only alphanumeric characters, forward slashes (/), underscores (_), and dashes (-). The alias name cannot begin with ``alias/aws/``. The ``alias/aws/`` prefix is reserved for [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk).
|
|
14
|
+
* @minLength `1`
|
|
15
|
+
* @maxLength `256`
|
|
16
|
+
* @pattern `^(alias/)[a-zA-Z0-9:/_-]+$`
|
|
17
|
+
*/
|
|
14
18
|
AliasName: string;
|
|
15
19
|
/**
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
* Associates the alias with the specified [](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk). The KMS key must be in the same AWS-account and Region.
|
|
21
|
+
A valid key ID is required. If you supply a null or empty string value, this operation returns an error.
|
|
22
|
+
For help finding the key ID and ARN, see [Finding the key ID and ARN](https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html#find-cmk-id-arn) in the *Developer Guide*.
|
|
23
|
+
Specify the key ID or the key ARN of the KMS key.
|
|
24
|
+
For example:
|
|
25
|
+
+ Key ID: ``1234abcd-12ab-34cd-56ef-1234567890ab``
|
|
26
|
+
+ Key ARN: ``arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab``
|
|
27
|
+
|
|
28
|
+
To get the key ID and key ARN for a KMS key, use [ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html) or [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html).
|
|
29
|
+
* @minLength `1`
|
|
30
|
+
* @maxLength `256`
|
|
31
|
+
*/
|
|
20
32
|
TargetKeyId: string;
|
|
21
33
|
};
|
|
22
34
|
/**
|
|
23
|
-
* The AWS::KMS::Alias resource specifies a display name for
|
|
35
|
+
* The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).
|
|
36
|
+
Adding, deleting, or updating an alias 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*.
|
|
37
|
+
Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys i
|
|
24
38
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html}
|
|
25
39
|
*/
|
|
26
40
|
export declare class KMSAlias extends $Resource<"AWS::KMS::Alias", KMSAliasProperties, Record<string, never>> {
|
package/lib/AWS-KMS-Alias.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
* The AWS::KMS::Alias resource specifies a display name for
|
|
3
|
+
* The ``AWS::KMS::Alias`` resource specifies a display name for a [KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys). You can use an alias to identify a KMS key in the KMS console, in the [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) operation, and in [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations), such as [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) and [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).
|
|
4
|
+
Adding, deleting, or updating an alias 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*.
|
|
5
|
+
Using an alias to refer to a KMS key can help you simplify key management. For example, an alias in your code can be associated with different KMS keys i
|
|
4
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-alias.html}
|
|
5
7
|
*/
|
|
6
8
|
export class KMSAlias extends $Resource {
|
package/lib/AWS-KMS-Key.d.ts
CHANGED
|
@@ -1,57 +1,89 @@
|
|
|
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
|
-
* The AWS::KMS::Key resource specifies an
|
|
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
|
+
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
|
|
5
7
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html}
|
|
6
8
|
*/
|
|
7
9
|
export type KMSKeyProperties = {
|
|
8
10
|
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
* Skips ("bypasses") the key policy lockout safety check. The default value is false.
|
|
12
|
+
Setting this value to true increases the risk that the KMS key becomes unmanageable. Do not set this value to true indiscriminately.
|
|
13
|
+
For more information, see [Default key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html#prevent-unmanageable-key) in the *Developer Guide*.
|
|
14
|
+
Use this parameter only when you intend to prevent the principal that is making the request from making a subsequent [PutKeyPolicy](https://docs.aws.amazon.com/kms/latest/APIReference/API_PutKeyPolicy.html) request on the KMS key.
|
|
15
|
+
*/
|
|
11
16
|
BypassPolicyLockoutSafetyCheck?: boolean;
|
|
12
17
|
/**
|
|
13
|
-
* A description of the
|
|
18
|
+
* A description of the KMS key. Use a description that helps you to distinguish this KMS key from others in the account, such as its intended use.
|
|
14
19
|
* @minLength `0`
|
|
15
20
|
* @maxLength `8192`
|
|
16
21
|
*/
|
|
17
22
|
Description?: string;
|
|
18
23
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
* Enables automatic rotation of the key material for the specified KMS key. By default, automatic key rotation is not enabled.
|
|
25
|
+
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
|
+
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
|
|
28
|
+
*/
|
|
21
29
|
EnableKeyRotation?: boolean;
|
|
22
30
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
* Specifies whether the KMS key is enabled. Disabled KMS keys cannot be used in cryptographic operations.
|
|
32
|
+
When ``Enabled`` is ``true``, the *key state* of the KMS key is ``Enabled``. When ``Enabled`` is ``false``, the key state of the KMS key is ``Disabled``. The default value is ``true``.
|
|
33
|
+
The actual key state of the KMS key might be affected by actions taken outside of CloudFormation, such as running the [EnableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_EnableKey.html), [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html), or [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) operations.
|
|
34
|
+
For information about the key states of a KMS key, see [Key state: Effect on your KMS key](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) in the *Developer Guide*.
|
|
35
|
+
*/
|
|
25
36
|
Enabled?: boolean;
|
|
26
37
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
* The key policy to attach to the KMS key.
|
|
39
|
+
If you provide a key policy, it must meet the following criteria:
|
|
40
|
+
+ 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 [
|
|
42
|
+
*/
|
|
29
43
|
KeyPolicy?: Record<string, any> | string;
|
|
30
44
|
/**
|
|
31
|
-
|
|
32
|
-
|
|
45
|
+
* 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
|
+
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
|
|
48
|
+
*/
|
|
33
49
|
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";
|
|
34
50
|
/**
|
|
35
|
-
|
|
36
|
-
|
|
51
|
+
* Determines the [cryptographic operations](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations) for which you can use the KMS key. The default value is ``ENCRYPT_DECRYPT``. This property is required for asymmetric KMS keys and HMAC KMS keys. You can't change the ``KeyUsage`` value after the KMS key is created.
|
|
52
|
+
If you change the value of the ``KeyUsage`` 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.
|
|
53
|
+
Select only one valid value.
|
|
54
|
+
+ For symmetric encryption KMS keys, omit the property or specify ``ENCRYPT_DECRYPT``.
|
|
55
|
+
+ For asymmetric KMS keys with RSA key material, specify ``ENCRYPT_DECRYPT`` or ``SIGN_VERIFY``.
|
|
56
|
+
+ For asymmetric KMS keys with ECC key material, specify
|
|
57
|
+
*/
|
|
37
58
|
KeyUsage?: "ENCRYPT_DECRYPT" | "SIGN_VERIFY" | "GENERATE_VERIFY_MAC";
|
|
38
59
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
60
|
+
* Creates a multi-Region primary key that you can replicate in other AWS-Regions. You can't change the ``MultiRegion`` value after the KMS key is created.
|
|
61
|
+
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
|
+
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
|
+
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
|
|
65
|
+
*/
|
|
41
66
|
MultiRegion?: boolean;
|
|
42
67
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
68
|
+
* The source of the key material for the KMS key. You cannot change the origin after you create the KMS key. The default is ``AWS_KMS``, which means that KMS creates the key material.
|
|
69
|
+
To [create a KMS key with no key material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys-create-cmk.html) (for imported key material), set this value to ``EXTERNAL``. For more information about importing key material into KMS, see [Importing Key Material](https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html) in the *Developer Guide*.
|
|
70
|
+
You can ignore ``ENABLED`` when Origin is ``EXTERNAL``. When a KMS key with Origin ``EXTERNAL`` is created, the key state is ``PENDING_IMPORT`` and ``ENABLED`` is ``false``. After you import the key material, ``ENABLED`` updated to ``true``. The KMS key can then be used for Cryptographic Operations.
|
|
71
|
+
CFN doesn't support creating an ``Origin`` parameter of the ``AWS_CLOUDHSM`` or ``EXTERNAL_KEY_STORE`` values.
|
|
72
|
+
*/
|
|
45
73
|
Origin?: "AWS_KMS" | "EXTERNAL";
|
|
46
74
|
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
75
|
+
* 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
|
+
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
|
|
78
|
+
* @min `7`
|
|
79
|
+
* @max `30`
|
|
80
|
+
*/
|
|
51
81
|
PendingWindowInDays?: number;
|
|
52
82
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
83
|
+
* Assigns one or more tags to the replica key.
|
|
84
|
+
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*.
|
|
85
|
+
For information about tags in KMS, see [Tagging keys](https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html) in the *Developer Guide*. For information about tags in CloudFormation, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).
|
|
86
|
+
*/
|
|
55
87
|
Tags?: Tag[];
|
|
56
88
|
};
|
|
57
89
|
/**
|
|
@@ -64,25 +96,27 @@ export type KMSKeyAttributes = {
|
|
|
64
96
|
};
|
|
65
97
|
/**
|
|
66
98
|
* Type definition for `AWS::KMS::Key.Tag`.
|
|
67
|
-
* A key-value pair
|
|
99
|
+
* A key-value pair. A tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty (null) strings.
|
|
100
|
+
Do not include confidential or sensitive information in this field. This field may be displayed in plaintext in CloudTrail logs and other output.
|
|
101
|
+
For information about the rules that apply to tag keys and tag values, see [User-Defined Tag Restrictions](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) in the *Billing and Cost Management User Guide*.
|
|
68
102
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-kms-key-tag.html}
|
|
69
103
|
*/
|
|
70
104
|
export type Tag = {
|
|
71
105
|
/**
|
|
72
|
-
* 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 -.
|
|
73
106
|
* @minLength `1`
|
|
74
107
|
* @maxLength `128`
|
|
75
108
|
*/
|
|
76
109
|
Key: string;
|
|
77
110
|
/**
|
|
78
|
-
* 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 -.
|
|
79
111
|
* @minLength `0`
|
|
80
112
|
* @maxLength `256`
|
|
81
113
|
*/
|
|
82
114
|
Value: string;
|
|
83
115
|
};
|
|
84
116
|
/**
|
|
85
|
-
* The AWS::KMS::Key resource specifies an
|
|
117
|
+
* 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
|
+
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
|
|
86
120
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html}
|
|
87
121
|
*/
|
|
88
122
|
export declare class KMSKey extends $Resource<"AWS::KMS::Key", KMSKeyProperties, KMSKeyAttributes> {
|
package/lib/AWS-KMS-Key.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { Resource as $Resource } from "@awboost/cfn-template-builder/template/resource";
|
|
2
2
|
/**
|
|
3
|
-
* The AWS::KMS::Key resource specifies an
|
|
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
|
+
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
|
|
4
6
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kms-key.html}
|
|
5
7
|
*/
|
|
6
8
|
export class KMSKey extends $Resource {
|
|
@@ -10,6 +10,7 @@ export type Route53RecordSetProperties = {
|
|
|
10
10
|
Comment?: string;
|
|
11
11
|
Failover?: string;
|
|
12
12
|
GeoLocation?: GeoLocation;
|
|
13
|
+
GeoProximityLocation?: GeoProximityLocation;
|
|
13
14
|
HealthCheckId?: string;
|
|
14
15
|
HostedZoneId?: string;
|
|
15
16
|
HostedZoneName?: string;
|
|
@@ -46,6 +47,14 @@ export type CidrRoutingConfig = {
|
|
|
46
47
|
CollectionId: string;
|
|
47
48
|
LocationName: string;
|
|
48
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Type definition for `AWS::Route53::RecordSet.Coordinates`.
|
|
52
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-coordinates.html}
|
|
53
|
+
*/
|
|
54
|
+
export type Coordinates = {
|
|
55
|
+
Latitude: string;
|
|
56
|
+
Longitude: string;
|
|
57
|
+
};
|
|
49
58
|
/**
|
|
50
59
|
* Type definition for `AWS::Route53::RecordSet.GeoLocation`.
|
|
51
60
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geolocation.html}
|
|
@@ -55,6 +64,16 @@ export type GeoLocation = {
|
|
|
55
64
|
CountryCode?: string;
|
|
56
65
|
SubdivisionCode?: string;
|
|
57
66
|
};
|
|
67
|
+
/**
|
|
68
|
+
* Type definition for `AWS::Route53::RecordSet.GeoProximityLocation`.
|
|
69
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-geoproximitylocation.html}
|
|
70
|
+
*/
|
|
71
|
+
export type GeoProximityLocation = {
|
|
72
|
+
AWSRegion?: string;
|
|
73
|
+
Bias?: number;
|
|
74
|
+
Coordinates?: Coordinates;
|
|
75
|
+
LocalZoneGroup?: string;
|
|
76
|
+
};
|
|
58
77
|
/**
|
|
59
78
|
* Resource Type definition for AWS::Route53::RecordSet
|
|
60
79
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-route53-recordset.html}
|
|
@@ -34,6 +34,14 @@ export type CidrRoutingConfig = {
|
|
|
34
34
|
CollectionId: string;
|
|
35
35
|
LocationName: string;
|
|
36
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* Type definition for `AWS::Route53::RecordSetGroup.Coordinates`.
|
|
39
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-coordinates.html}
|
|
40
|
+
*/
|
|
41
|
+
export type Coordinates = {
|
|
42
|
+
Latitude: string;
|
|
43
|
+
Longitude: string;
|
|
44
|
+
};
|
|
37
45
|
/**
|
|
38
46
|
* Type definition for `AWS::Route53::RecordSetGroup.GeoLocation`.
|
|
39
47
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-geolocation.html}
|
|
@@ -43,6 +51,16 @@ export type GeoLocation = {
|
|
|
43
51
|
CountryCode?: string;
|
|
44
52
|
SubdivisionCode?: string;
|
|
45
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* Type definition for `AWS::Route53::RecordSetGroup.GeoProximityLocation`.
|
|
56
|
+
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-geoproximitylocation.html}
|
|
57
|
+
*/
|
|
58
|
+
export type GeoProximityLocation = {
|
|
59
|
+
AWSRegion?: string;
|
|
60
|
+
Bias?: number;
|
|
61
|
+
Coordinates?: Coordinates;
|
|
62
|
+
LocalZoneGroup?: string;
|
|
63
|
+
};
|
|
46
64
|
/**
|
|
47
65
|
* Type definition for `AWS::Route53::RecordSetGroup.RecordSet`.
|
|
48
66
|
* @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordsetgroup-recordset.html}
|
|
@@ -52,6 +70,7 @@ export type RecordSet = {
|
|
|
52
70
|
CidrRoutingConfig?: CidrRoutingConfig;
|
|
53
71
|
Failover?: string;
|
|
54
72
|
GeoLocation?: GeoLocation;
|
|
73
|
+
GeoProximityLocation?: GeoProximityLocation;
|
|
55
74
|
HealthCheckId?: string;
|
|
56
75
|
HostedZoneId?: string;
|
|
57
76
|
HostedZoneName?: string;
|