@propulsionworks/cloudformation 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/out/exports/resources.generated/aws-amazonmq-broker.d.ts +0 -1
  2. package/out/exports/resources.generated/aws-amplify-app.d.ts +2 -2
  3. package/out/exports/resources.generated/aws-apigateway-domainname.d.ts +7 -1
  4. package/out/exports/resources.generated/aws-apigateway-domainnamev2.d.ts +6 -0
  5. package/out/exports/resources.generated/aws-apigateway-method.d.ts +1 -1
  6. package/out/exports/resources.generated/aws-apigatewayv2-domainname.d.ts +6 -0
  7. package/out/exports/resources.generated/aws-apigatewayv2-routingrule.d.ts +134 -0
  8. package/out/exports/resources.generated/aws-appsync-apicache.d.ts +4 -0
  9. package/out/exports/resources.generated/aws-athena-workgroup.d.ts +37 -0
  10. package/out/exports/resources.generated/aws-autoscaling-autoscalinggroup.d.ts +7 -6
  11. package/out/exports/resources.generated/aws-autoscaling-launchconfiguration.d.ts +8 -8
  12. package/out/exports/resources.generated/aws-bedrock-flow.d.ts +243 -1
  13. package/out/exports/resources.generated/aws-cloudtrail-eventdatastore.d.ts +26 -0
  14. package/out/exports/resources.generated/aws-cloudwatch-insightrule.d.ts +1 -0
  15. package/out/exports/resources.generated/aws-connect-emailaddress.d.ts +1 -1
  16. package/out/exports/resources.generated/aws-connect-queue.d.ts +1 -1
  17. package/out/exports/resources.generated/aws-customerprofiles-calculatedattributedefinition.d.ts +50 -1
  18. package/out/exports/resources.generated/aws-customerprofiles-objecttype.d.ts +13 -1
  19. package/out/exports/resources.generated/aws-customerprofiles-segmentdefinition.d.ts +4 -4
  20. package/out/exports/resources.generated/aws-datasync-locationazureblob.d.ts +25 -13
  21. package/out/exports/resources.generated/aws-datasync-locationobjectstorage.d.ts +26 -10
  22. package/out/exports/resources.generated/aws-datasync-locationsmb.d.ts +5 -19
  23. package/out/exports/resources.generated/aws-datasync-task.d.ts +11 -20
  24. package/out/exports/resources.generated/aws-datazone-projectprofile.d.ts +9 -0
  25. package/out/exports/resources.generated/aws-deadline-fleet.d.ts +6 -0
  26. package/out/exports/resources.generated/aws-dsql-cluster.d.ts +29 -10
  27. package/out/exports/resources.generated/aws-ec2-ec2fleet.d.ts +113 -0
  28. package/out/exports/resources.generated/aws-ec2-egressonlyinternetgateway.d.ts +6 -1
  29. package/out/exports/resources.generated/aws-ec2-trafficmirrorfilter.d.ts +0 -1
  30. package/out/exports/resources.generated/aws-ecs-taskdefinition.d.ts +1 -1
  31. package/out/exports/resources.generated/aws-efs-mounttarget.d.ts +15 -3
  32. package/out/exports/resources.generated/aws-eks-addon.d.ts +3 -3
  33. package/out/exports/resources.generated/aws-eks-cluster.d.ts +14 -12
  34. package/out/exports/resources.generated/aws-eks-podidentityassociation.d.ts +24 -2
  35. package/out/exports/resources.generated/aws-elasticloadbalancingv2-targetgroup.d.ts +1 -1
  36. package/out/exports/resources.generated/aws-emr-cluster.d.ts +2 -0
  37. package/out/exports/resources.generated/aws-entityresolution-matchingworkflow.d.ts +15 -5
  38. package/out/exports/resources.generated/aws-evs-environment.d.ts +251 -0
  39. package/out/exports/resources.generated/aws-fis-experimenttemplate.d.ts +1 -1
  40. package/out/exports/resources.generated/aws-fsx-filesystem.d.ts +4 -4
  41. package/out/exports/resources.generated/aws-kms-key.d.ts +1 -1
  42. package/out/exports/resources.generated/aws-lambda-eventinvokeconfig.d.ts +4 -2
  43. package/out/exports/resources.generated/aws-lambda-eventsourcemapping.d.ts +67 -3
  44. package/out/exports/resources.generated/aws-lightsail-instancesnapshot.d.ts +9 -9
  45. package/out/exports/resources.generated/aws-msk-cluster.d.ts +15 -1
  46. package/out/exports/resources.generated/aws-mwaa-environment.d.ts +10 -0
  47. package/out/exports/resources.generated/aws-networkfirewall-loggingconfiguration.d.ts +4 -0
  48. package/out/exports/resources.generated/aws-networkfirewall-vpcendpointassociation.d.ts +100 -0
  49. package/out/exports/resources.generated/aws-opsworkscm-server.d.ts +7 -35
  50. package/out/exports/resources.generated/aws-rds-dbproxytargetgroup.d.ts +4 -4
  51. package/out/exports/resources.generated/aws-rds-dbshardgroup.d.ts +4 -4
  52. package/out/exports/resources.generated/aws-s3-bucket.d.ts +1 -1
  53. package/out/exports/resources.generated/aws-sagemaker-domain.d.ts +65 -0
  54. package/out/exports/resources.generated/aws-transfer-user.d.ts +1 -1
  55. package/out/exports/resources.generated/aws-verifiedpermissions-policystore.d.ts +7 -0
  56. package/out/exports/resources.generated/aws-wafv2-rulegroup.d.ts +23 -1
  57. package/out/exports/resources.generated/aws-wafv2-webacl.d.ts +114 -3
  58. package/package.json +1 -1
@@ -1,22 +1,24 @@
1
1
  import type { ResourceDefinitionWithAttributes, Tag } from "../main.ts";
2
2
  /**
3
- * Creates a transfer *location* for a Microsoft Azure Blob Storage container. AWS DataSync can use this location as a transfer source or destination.
3
+ * Creates a transfer *location* for a Microsoft Azure Blob Storage container. AWS DataSync can use this location as a transfer source or destination. You can make transfers with or without a [DataSync agent](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent) that connects to your container.
4
4
  *
5
- * Before you begin, make sure you know [how DataSync accesses Azure Blob Storage](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access) and works with [access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) and [blob types](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types) . You also need a [DataSync agent](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent) that can connect to your container.
5
+ * Before you begin, make sure you know [how DataSync accesses Azure Blob Storage](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access) and works with [access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) and [blob types](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types) .
6
6
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html}
7
7
  */
8
8
  export type DataSyncLocationAzureBlob = ResourceDefinitionWithAttributes<"AWS::DataSync::LocationAzureBlob", DataSyncLocationAzureBlobProps, DataSyncLocationAzureBlobAttribs>;
9
9
  /**
10
- * Creates a transfer *location* for a Microsoft Azure Blob Storage container. AWS DataSync can use this location as a transfer source or destination.
10
+ * Creates a transfer *location* for a Microsoft Azure Blob Storage container. AWS DataSync can use this location as a transfer source or destination. You can make transfers with or without a [DataSync agent](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent) that connects to your container.
11
11
  *
12
- * Before you begin, make sure you know [how DataSync accesses Azure Blob Storage](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access) and works with [access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) and [blob types](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types) . You also need a [DataSync agent](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-creating-agent) that can connect to your container.
12
+ * Before you begin, make sure you know [how DataSync accesses Azure Blob Storage](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access) and works with [access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers) and [blob types](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#blob-types) .
13
13
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html}
14
14
  */
15
15
  export type DataSyncLocationAzureBlobProps = {
16
16
  /**
17
- * Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
17
+ * (Optional) Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.
18
18
  *
19
19
  * You can specify more than one agent. For more information, see [Using multiple agents for your transfer](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html) .
20
+ *
21
+ * > Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
20
22
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-agentarns}
21
23
  */
22
24
  AgentArns?: string[] | undefined;
@@ -41,6 +43,8 @@ export type DataSyncLocationAzureBlobProps = {
41
43
  AzureBlobContainerUrl?: string | undefined;
42
44
  /**
43
45
  * Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
46
+ *
47
+ * > If you provide an authentication token using `SasConfiguration` , but do not provide secret configuration details using `CmkSecretConfig` or `CustomSecretConfig` , then DataSync stores the token using your AWS account's secrets manager secret.
44
48
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-azureblobsasconfiguration}
45
49
  */
46
50
  AzureBlobSasConfiguration?: AzureBlobSasConfiguration | undefined;
@@ -51,12 +55,16 @@ export type DataSyncLocationAzureBlobProps = {
51
55
  */
52
56
  AzureBlobType?: "BLOCK" | undefined;
53
57
  /**
54
- * Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
58
+ * Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
59
+ *
60
+ * > You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.
55
61
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-cmksecretconfig}
56
62
  */
57
63
  CmkSecretConfig?: CmkSecretConfig | undefined;
58
64
  /**
59
- * Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
65
+ * Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
66
+ *
67
+ * > You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.
60
68
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html#cfn-datasync-locationazureblob-customsecretconfig}
61
69
  */
62
70
  CustomSecretConfig?: CustomSecretConfig | undefined;
@@ -78,7 +86,7 @@ export type DataSyncLocationAzureBlobProps = {
78
86
  */
79
87
  export type DataSyncLocationAzureBlobAttribs = {
80
88
  /**
81
- * Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
89
+ * Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .
82
90
  * @maxLength 2048
83
91
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):secretsmanager:[a-z-0-9]+:[0-9]{12}:secret:.*|)$
84
92
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-secretarn}
@@ -120,12 +128,14 @@ export type AzureBlobSasConfiguration = {
120
128
  AzureBlobSasToken: string;
121
129
  };
122
130
  /**
123
- * Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
131
+ * Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
132
+ *
133
+ * > You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.
124
134
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html}
125
135
  */
126
136
  export type CmkSecretConfig = {
127
137
  /**
128
- * Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn. DataSync provides this key to AWS Secrets Manager.
138
+ * Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .
129
139
  * @maxLength 2048
130
140
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):kms:[a-z-0-9]+:[0-9]{12}:key/.*|)$
131
141
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-cmksecretconfig.html#cfn-datasync-locationazureblob-cmksecretconfig-kmskeyarn}
@@ -133,19 +143,21 @@ export type CmkSecretConfig = {
133
143
  KmsKeyArn?: string | undefined;
134
144
  };
135
145
  /**
136
- * Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
146
+ * Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
147
+ *
148
+ * > You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.
137
149
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html}
138
150
  */
139
151
  export type CustomSecretConfig = {
140
152
  /**
141
- * Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
153
+ * Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .
142
154
  * @maxLength 2048
143
155
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*|)$
144
156
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretaccessrolearn}
145
157
  */
146
158
  SecretAccessRoleArn: string;
147
159
  /**
148
- * Specifies the ARN for a customer created AWS Secrets Manager secret.
160
+ * Specifies the ARN for an AWS Secrets Manager secret.
149
161
  * @maxLength 2048
150
162
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):secretsmanager:[a-z-0-9]+:[0-9]{12}:secret:.*|)$
151
163
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-customsecretconfig.html#cfn-datasync-locationazureblob-customsecretconfig-secretarn}
@@ -18,7 +18,9 @@ export type DataSyncLocationObjectStorageProps = {
18
18
  */
19
19
  AccessKey?: string | undefined;
20
20
  /**
21
- * Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system.
21
+ * (Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.
22
+ *
23
+ * > Make sure you configure this parameter correctly when you first create your storage location. You cannot add or remove agents from a storage location after you create it.
22
24
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-agentarns}
23
25
  */
24
26
  AgentArns?: string[] | undefined;
@@ -31,17 +33,27 @@ export type DataSyncLocationObjectStorageProps = {
31
33
  */
32
34
  BucketName?: string | undefined;
33
35
  /**
34
- * Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
36
+ * Specifies configuration information for a DataSync-managed secret, which includes the `SecretKey` that DataSync uses to access a specific object storage location, with a customer-managed AWS KMS key .
37
+ *
38
+ * When you include this paramater as part of a `CreateLocationObjectStorage` request, you provide only the KMS key ARN. DataSync uses this KMS key together with the value you specify for the `SecretKey` parameter to create a DataSync-managed secret to store the location access credentials.
39
+ *
40
+ * Make sure the DataSync has permission to access the KMS key that you specify.
41
+ *
42
+ * > You can use either `CmkSecretConfig` (with `SecretKey` ) or `CustomSecretConfig` (without `SecretKey` ) to provide credentials for a `CreateLocationObjectStorage` request. Do not provide both parameters for the same request.
35
43
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-cmksecretconfig}
36
44
  */
37
45
  CmkSecretConfig?: CmkSecretConfig | undefined;
38
46
  /**
39
- * Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
47
+ * Specifies configuration information for a customer-managed Secrets Manager secret where the secret key for a specific object storage location is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
48
+ *
49
+ * > You can use either `CmkSecretConfig` (with `SecretKey` ) or `CustomSecretConfig` (without `SecretKey` ) to provide credentials for a `CreateLocationObjectStorage` request. Do not provide both parameters for the same request.
40
50
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-customsecretconfig}
41
51
  */
42
52
  CustomSecretConfig?: CustomSecretConfig | undefined;
43
53
  /**
44
54
  * Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.
55
+ *
56
+ * > If you provide a secret using `SecretKey` , but do not provide secret configuration details using `CmkSecretConfig` or `CustomSecretConfig` , then DataSync stores the token using your AWS account's Secrets Manager secret.
45
57
  * @minLength 8
46
58
  * @maxLength 200
47
59
  * @pattern ^.+$
@@ -81,7 +93,7 @@ export type DataSyncLocationObjectStorageProps = {
81
93
  */
82
94
  ServerPort?: number | undefined;
83
95
  /**
84
- * Specifies the protocol that your object storage server uses to communicate.
96
+ * Specifies the protocol that your object storage server uses to communicate. If not specified, the default value is `HTTPS` .
85
97
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html#cfn-datasync-locationobjectstorage-serverprotocol}
86
98
  */
87
99
  ServerProtocol?: "HTTPS" | "HTTP" | undefined;
@@ -103,7 +115,7 @@ export type DataSyncLocationObjectStorageProps = {
103
115
  */
104
116
  export type DataSyncLocationObjectStorageAttribs = {
105
117
  /**
106
- * Specifies the ARN for an AWS Secrets Manager secret, managed by DataSync.
118
+ * Specifies the ARN for the DataSync-managed AWS Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for `KmsKeyArn` .
107
119
  * @maxLength 2048
108
120
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):secretsmanager:[a-z-0-9]+:[0-9]{12}:secret:.*|)$
109
121
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-secretarn}
@@ -125,12 +137,14 @@ export type DataSyncLocationObjectStorageAttribs = {
125
137
  LocationUri: string;
126
138
  };
127
139
  /**
128
- * Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed AWS KMS key.
140
+ * Specifies configuration information for a DataSync-managed secret, such as an authentication token or secret key that DataSync uses to access a specific storage location, with a customer-managed AWS KMS key .
141
+ *
142
+ * > You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.
129
143
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html}
130
144
  */
131
145
  export type CmkSecretConfig = {
132
146
  /**
133
- * Specifies the ARN for the customer-managed AWS KMS key used to encrypt the secret specified for SecretArn. DataSync provides this key to AWS Secrets Manager.
147
+ * Specifies the ARN for the customer-managed AWS KMS key that DataSync uses to encrypt the DataSync-managed secret stored for `SecretArn` . DataSync provides this key to AWS Secrets Manager .
134
148
  * @maxLength 2048
135
149
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):kms:[a-z-0-9]+:[0-9]{12}:key/.*|)$
136
150
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-cmksecretconfig.html#cfn-datasync-locationobjectstorage-cmksecretconfig-kmskeyarn}
@@ -138,19 +152,21 @@ export type CmkSecretConfig = {
138
152
  KmsKeyArn?: string | undefined;
139
153
  };
140
154
  /**
141
- * Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and an IAM role that DataSync can assume and access the customer-managed secret.
155
+ * Specifies configuration information for a customer-managed Secrets Manager secret where a storage location authentication token or secret key is stored in plain text. This configuration includes the secret ARN, and the ARN for an IAM role that provides access to the secret.
156
+ *
157
+ * > You can use either `CmkSecretConfig` or `CustomSecretConfig` to provide credentials for a `CreateLocation` request. Do not provide both parameters for the same request.
142
158
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html}
143
159
  */
144
160
  export type CustomSecretConfig = {
145
161
  /**
146
- * Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for SecretArn.
162
+ * Specifies the ARN for the AWS Identity and Access Management role that DataSync uses to access the secret specified for `SecretArn` .
147
163
  * @maxLength 2048
148
164
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*|)$
149
165
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretaccessrolearn}
150
166
  */
151
167
  SecretAccessRoleArn: string;
152
168
  /**
153
- * Specifies the ARN for a customer created AWS Secrets Manager secret.
169
+ * Specifies the ARN for an AWS Secrets Manager secret.
154
170
  * @maxLength 2048
155
171
  * @pattern ^(arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):secretsmanager:[a-z-0-9]+:[0-9]{12}:secret:.*|)$
156
172
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationobjectstorage-customsecretconfig.html#cfn-datasync-locationobjectstorage-customsecretconfig-secretarn}
@@ -15,16 +15,12 @@ export type DataSyncLocationSMBProps = {
15
15
  */
16
16
  AgentArns: string[];
17
17
  /**
18
- * Specifies the authentication protocol that DataSync uses to connect to your SMB file server. DataSync supports `NTLM` (default) and `KERBEROS` authentication.
19
- *
20
- * For more information, see [Providing DataSync access to SMB file servers](https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions) .
18
+ * The authentication mode used to determine identity of user.
21
19
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-authenticationtype}
22
20
  */
23
21
  AuthenticationType?: "NTLM" | "KERBEROS" | undefined;
24
22
  /**
25
- * Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if `AuthenticationType` is set to `KERBEROS` .
26
- *
27
- * If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
23
+ * Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to. This parameter applies only if AuthenticationType is set to KERBEROS. If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right SMB file server.
28
24
  * @default null
29
25
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-dnsipaddresses}
30
26
  */
@@ -39,29 +35,19 @@ export type DataSyncLocationSMBProps = {
39
35
  */
40
36
  Domain?: string | undefined;
41
37
  /**
42
- * Specifies your Kerberos key table (keytab) file, which includes mappings between your Kerberos principal and encryption keys.
43
- *
44
- * The file must be base64 encoded.
45
- *
46
- * To avoid task execution errors, make sure that the Kerberos principal that you use to create the keytab file matches exactly what you specify for `KerberosPrincipal` .
38
+ * The Base64 string representation of the Keytab file. Specifies your Kerberos key table (keytab) file, which includes mappings between your service principal name (SPN) and encryption keys. To avoid task execution errors, make sure that the SPN in the keytab file matches exactly what you specify for KerberosPrincipal and in your krb5.conf file.
47
39
  * @maxLength 87384
48
40
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskeytab}
49
41
  */
50
42
  KerberosKeytab?: string | undefined;
51
43
  /**
52
- * Specifies a Kerberos configuration file ( `krb5.conf` ) that defines your Kerberos realm configuration.
53
- *
54
- * The file must be base64 encoded.
44
+ * The string representation of the Krb5Conf file, or the presigned URL to access the Krb5.conf file within an S3 bucket. Specifies a Kerberos configuration file (krb5.conf) that defines your Kerberos realm configuration. To avoid task execution errors, make sure that the service principal name (SPN) in the krb5.conf file matches exactly what you specify for KerberosPrincipal and in your keytab file.
55
45
  * @maxLength 174764
56
46
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html#cfn-datasync-locationsmb-kerberoskrb5conf}
57
47
  */
58
48
  KerberosKrb5Conf?: string | undefined;
59
49
  /**
60
- * Specifies a Kerberos prinicpal, which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server.
61
- *
62
- * A Kerberos principal might look like `HOST/kerberosuser@MYDOMAIN.ORG` .
63
- *
64
- * Principal names are case sensitive. Your DataSync task execution will fail if the principal that you specify for this parameter doesn’t exactly match the principal that you use to create the keytab file.
50
+ * Specifies a service principal name (SPN), which is an identity in your Kerberos realm that has permission to access the files, folders, and file metadata in your SMB file server. SPNs are case sensitive and must include a prepended cifs/. For example, an SPN might look like cifs/kerberosuser@EXAMPLE.COM. Your task execution will fail if the SPN that you provide for this parameter doesn't match exactly what's in your keytab or krb5.conf files.
65
51
  * @minLength 1
66
52
  * @maxLength 256
67
53
  * @pattern ^.+$
@@ -75,21 +75,12 @@ export type DataSyncTaskProps = {
75
75
  */
76
76
  Tags?: Tag[] | undefined;
77
77
  /**
78
- * Specifies one of the following task modes for your data transfer:
79
- *
80
- * - `ENHANCED` - Transfer virtually unlimited numbers of objects with higher performance than Basic mode. Enhanced mode tasks optimize the data transfer process by listing, preparing, transferring, and verifying data in parallel. Enhanced mode is currently available for transfers between Amazon S3 locations.
81
- *
82
- * > To create an Enhanced mode task, the IAM role that you use to call the `CreateTask` operation must have the `iam:CreateServiceLinkedRole` permission.
83
- * - `BASIC` (default) - Transfer files or objects between AWS storage and all other supported DataSync locations. Basic mode tasks are subject to [quotas](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-limits.html) on the number of files, objects, and directories in a dataset. Basic mode sequentially prepares, transfers, and verifies data, making it slower than Enhanced mode for most workloads.
84
- *
85
- * For more information, see [Understanding task mode differences](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html#task-mode-differences) .
78
+ * The task mode that you're using. For more information, see [Choosing a task mode for your data transfer](https://docs.aws.amazon.com/datasync/latest/userguide/choosing-task-mode.html) .
86
79
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskmode}
87
80
  */
88
81
  TaskMode?: "BASIC" | "ENHANCED" | undefined;
89
82
  /**
90
- * Specifies how you want to configure a task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
91
- *
92
- * When using this parameter, your caller identity (the role that you're using DataSync with) must have the `iam:PassRole` permission. The [AWSDataSyncFullAccess](https://docs.aws.amazon.com/datasync/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-awsdatasyncfullaccess) policy includes this permission.
83
+ * The configuration of your task report, which provides detailed information about your DataSync transfer. For more information, see [Monitoring your DataSync transfers with task reports](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
93
84
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html#cfn-datasync-task-taskreportconfig}
94
85
  */
95
86
  TaskReportConfig?: TaskReportConfig | undefined;
@@ -169,26 +160,26 @@ export type ManifestConfig = {
169
160
  };
170
161
  };
171
162
  /**
172
- * Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use. For more information and configuration examples, see [Specifying what DataSync transfers by using a manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html) .
163
+ * Specifies the S3 bucket where you're hosting the manifest that you want AWS DataSync to use.
173
164
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html}
174
165
  */
175
166
  export type ManifestConfigSourceS3 = {
176
167
  /**
177
- * Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest. For more information, see [Providing DataSync access to your manifest](https://docs.aws.amazon.com/datasync/latest/userguide/transferring-with-manifest.html#transferring-with-manifest-access) .
168
+ * Specifies the AWS Identity and Access Management (IAM) role that allows DataSync to access your manifest.
178
169
  * @maxLength 2048
179
170
  * @pattern ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$
180
171
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-bucketaccessrolearn}
181
172
  */
182
173
  BucketAccessRoleArn?: string | undefined;
183
174
  /**
184
- * Specifies the Amazon S3 object key of your manifest. This can include a prefix (for example, `prefix/my-manifest.csv` ).
175
+ * Specifies the Amazon S3 object key of your manifest.
185
176
  * @maxLength 1024
186
177
  * @pattern ^[\p{L}\p{M}\p{Z}\p{S}\p{N}\p{P}\p{C}]*$
187
178
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectpath}
188
179
  */
189
180
  ManifestObjectPath?: string | undefined;
190
181
  /**
191
- * Specifies the object version ID of the manifest that you want DataSync to use. If you don't set this, DataSync uses the latest version of the object.
182
+ * Specifies the object version ID of the manifest that you want DataSync to use.
192
183
  * @maxLength 100
193
184
  * @pattern ^.+$
194
185
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html#cfn-datasync-task-manifestconfigsources3-manifestobjectversionid}
@@ -466,19 +457,19 @@ export type TaskReportConfig = {
466
457
  ReportLevel?: "ERRORS_ONLY" | "SUCCESSES_AND_ERRORS" | undefined;
467
458
  };
468
459
  /**
469
- * Specifies the Amazon S3 bucket where DataSync uploads your [task report](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
460
+ * Specifies the Amazon S3 bucket where DataSync uploads your task report.
470
461
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html}
471
462
  */
472
463
  export type TaskReportConfigDestinationS3 = {
473
464
  /**
474
- * Specifies the Amazon Resource Name (ARN) of the IAM policy that allows DataSync to upload a task report to your S3 bucket. For more information, see [Allowing DataSync to upload a task report to an Amazon S3 bucket](https://docs.aws.amazon.com/datasync/latest/userguide/task-reports.html) .
465
+ * Specifies the Amazon Resource Name (ARN) of the IAM policy that allows Datasync to upload a task report to your S3 bucket.
475
466
  * @maxLength 2048
476
467
  * @pattern ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):iam::[0-9]{12}:role/.*$
477
468
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html#cfn-datasync-task-taskreportconfigdestinations3-bucketaccessrolearn}
478
469
  */
479
470
  BucketAccessRoleArn?: string | undefined;
480
471
  /**
481
- * Specifies the ARN of the S3 bucket where DataSync uploads your report.
472
+ * Specifies the ARN of the S3 bucket where Datasync uploads your report.
482
473
  * @maxLength 156
483
474
  * @pattern ^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):(s3|s3-outposts):[a-z\-0-9]*:[0-9]*:.*$
484
475
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html#cfn-datasync-task-taskreportconfigdestinations3-s3bucketarn}
@@ -515,9 +506,9 @@ export type TaskSchedule = {
515
506
  */
516
507
  ScheduleExpression?: string | undefined;
517
508
  /**
518
- * Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to perform maintenance on a storage system before you can begin a recurring DataSync transfer.
509
+ * Specifies whether to enable or disable your task schedule. Your schedule is enabled by default, but there can be situations where you need to disable it. For example, you might need to pause a recurring transfer to fix an issue with your task or perform maintenance on your storage system.
519
510
  *
520
- * DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see the [*DataSync User Guide*](https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html#pause-task-schedule) .
511
+ * DataSync might disable your schedule automatically if your task fails repeatedly with the same error. For more information, see [TaskScheduleDetails](https://docs.aws.amazon.com/datasync/latest/userguide/API_TaskScheduleDetails.html) .
521
512
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html#cfn-datasync-task-taskschedule-status}
522
513
  */
523
514
  Status?: "ENABLED" | "DISABLED" | undefined;
@@ -10,6 +10,7 @@ export type DataZoneProjectProfile = ResourceDefinitionWithAttributes<"AWS::Data
10
10
  */
11
11
  export type DataZoneProjectProfileProps = {
12
12
  /**
13
+ * The description of the project profile.
13
14
  * @maxLength 2048
14
15
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectprofile.html#cfn-datazone-projectprofile-description}
15
16
  */
@@ -27,6 +28,7 @@ export type DataZoneProjectProfileProps = {
27
28
  */
28
29
  DomainUnitIdentifier?: string | undefined;
29
30
  /**
31
+ * The name of a project profile.
30
32
  * @minLength 1
31
33
  * @maxLength 64
32
34
  * @pattern ^[\w -]+$
@@ -34,6 +36,7 @@ export type DataZoneProjectProfileProps = {
34
36
  */
35
37
  Name: string;
36
38
  /**
39
+ * The status of a project profile.
37
40
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectprofile.html#cfn-datazone-projectprofile-status}
38
41
  */
39
42
  Status?: Status | undefined;
@@ -43,20 +46,24 @@ export type DataZoneProjectProfileProps = {
43
46
  */
44
47
  export type DataZoneProjectProfileAttribs = {
45
48
  /**
49
+ * The timestamp of when the project profile was created.
46
50
  * @format date-time
47
51
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectprofile.html#cfn-datazone-projectprofile-createdat}
48
52
  */
49
53
  CreatedAt: string;
50
54
  /**
55
+ * The user who created the project profile.
51
56
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectprofile.html#cfn-datazone-projectprofile-createdby}
52
57
  */
53
58
  CreatedBy: string;
54
59
  /**
60
+ * The domain ID of the project profile.
55
61
  * @pattern ^dzd[_][a-zA-Z0-9_-]{1,36}$
56
62
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectprofile.html#cfn-datazone-projectprofile-domainid}
57
63
  */
58
64
  DomainId: string;
59
65
  /**
66
+ * The domain unit ID of the project profile.
60
67
  * @minLength 1
61
68
  * @maxLength 256
62
69
  * @pattern ^[a-z0-9_\-]+$
@@ -64,6 +71,7 @@ export type DataZoneProjectProfileAttribs = {
64
71
  */
65
72
  DomainUnitId: string;
66
73
  /**
74
+ * The ID of the project profile.
67
75
  * @pattern ^[a-zA-Z0-9_-]{1,36}$
68
76
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectprofile.html#cfn-datazone-projectprofile-id}
69
77
  */
@@ -74,6 +82,7 @@ export type DataZoneProjectProfileAttribs = {
74
82
  */
75
83
  Identifier: string;
76
84
  /**
85
+ * The timestamp at which a project profile was last updated.
77
86
  * @format date-time
78
87
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-projectprofile.html#cfn-datazone-projectprofile-lastupdatedat}
79
88
  */
@@ -443,6 +443,12 @@ export type ServiceManagedEc2FleetConfiguration = {
443
443
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html#cfn-deadline-fleet-servicemanagedec2fleetconfiguration-instancemarketoptions}
444
444
  */
445
445
  InstanceMarketOptions: ServiceManagedEc2InstanceMarketOptions;
446
+ /**
447
+ * The storage profile ID.
448
+ * @pattern ^sp-[0-9a-f]{32}$
449
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html#cfn-deadline-fleet-servicemanagedec2fleetconfiguration-storageprofileid}
450
+ */
451
+ StorageProfileId?: string | undefined;
446
452
  };
447
453
  /**
448
454
  * The Amazon EC2 instance capabilities.
@@ -1,8 +1,10 @@
1
1
  import type { ResourceDefinitionWithAttributes, Tag } from "../main.ts";
2
2
  /**
3
- * The CreateCluster API allows you to create both single-region clusters and multi-Region clusters. With the addition of the *multiRegionProperties* parameter, you can create a cluster with witness Region support and establish peer relationships with clusters in other Regions during creation.
3
+ * The `AWS::DSQL::Cluster` resource specifies an cluster. You can use this resource to create, modify, and manage clusters.
4
4
  *
5
- * > Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters, as detailed in the *Required permissions* section below.
5
+ * This resource supports both single-Region clusters and multi-Region clusters through the `MultiRegionProperties` parameter.
6
+ *
7
+ * > Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters. > - The witness Region specified in `multiRegionProperties.witnessRegion` cannot be the same as the cluster's Region.
6
8
  *
7
9
  * *Required permissions*
8
10
  *
@@ -12,7 +14,7 @@ import type { ResourceDefinitionWithAttributes, Tag } from "../main.ts";
12
14
  * - **dsql:TagResource** - Permission to add tags to a resource.
13
15
  *
14
16
  * Resources: `arn:aws:dsql:region:account-id:cluster/*`
15
- * - **dsql:PutMultiRegionProperties** - Permission to configure multi-region properties for a cluster.
17
+ * - **dsql:PutMultiRegionProperties** - Permission to configure multi-Region properties for a cluster.
16
18
  *
17
19
  * Resources: `arn:aws:dsql:region:account-id:cluster/*`
18
20
  * - **dsql:AddPeerCluster** - When specifying `multiRegionProperties.clusters` , permission to add peer clusters.
@@ -26,15 +28,15 @@ import type { ResourceDefinitionWithAttributes, Tag } from "../main.ts";
26
28
  * Resources: `arn:aws:dsql:region:account-id:cluster/*`
27
29
  *
28
30
  * Condition Keys: `dsql:WitnessRegion` (matching the specified witness region)
29
- *
30
- * > - The witness Region specified in `multiRegionProperties.witnessRegion` cannot be the same as the cluster's Region.
31
31
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html}
32
32
  */
33
33
  export type DSQLCluster = ResourceDefinitionWithAttributes<"AWS::DSQL::Cluster", DSQLClusterProps, DSQLClusterAttribs>;
34
34
  /**
35
- * The CreateCluster API allows you to create both single-region clusters and multi-Region clusters. With the addition of the *multiRegionProperties* parameter, you can create a cluster with witness Region support and establish peer relationships with clusters in other Regions during creation.
35
+ * The `AWS::DSQL::Cluster` resource specifies an cluster. You can use this resource to create, modify, and manage clusters.
36
+ *
37
+ * This resource supports both single-Region clusters and multi-Region clusters through the `MultiRegionProperties` parameter.
36
38
  *
37
- * > Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters, as detailed in the *Required permissions* section below.
39
+ * > Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters. > - The witness Region specified in `multiRegionProperties.witnessRegion` cannot be the same as the cluster's Region.
38
40
  *
39
41
  * *Required permissions*
40
42
  *
@@ -44,7 +46,7 @@ export type DSQLCluster = ResourceDefinitionWithAttributes<"AWS::DSQL::Cluster",
44
46
  * - **dsql:TagResource** - Permission to add tags to a resource.
45
47
  *
46
48
  * Resources: `arn:aws:dsql:region:account-id:cluster/*`
47
- * - **dsql:PutMultiRegionProperties** - Permission to configure multi-region properties for a cluster.
49
+ * - **dsql:PutMultiRegionProperties** - Permission to configure multi-Region properties for a cluster.
48
50
  *
49
51
  * Resources: `arn:aws:dsql:region:account-id:cluster/*`
50
52
  * - **dsql:AddPeerCluster** - When specifying `multiRegionProperties.clusters` , permission to add peer clusters.
@@ -58,8 +60,6 @@ export type DSQLCluster = ResourceDefinitionWithAttributes<"AWS::DSQL::Cluster",
58
60
  * Resources: `arn:aws:dsql:region:account-id:cluster/*`
59
61
  *
60
62
  * Condition Keys: `dsql:WitnessRegion` (matching the specified witness region)
61
- *
62
- * > - The witness Region specified in `multiRegionProperties.witnessRegion` cannot be the same as the cluster's Region.
63
63
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html}
64
64
  */
65
65
  export type DSQLClusterProps = {
@@ -68,6 +68,17 @@ export type DSQLClusterProps = {
68
68
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html#cfn-dsql-cluster-deletionprotectionenabled}
69
69
  */
70
70
  DeletionProtectionEnabled?: boolean | undefined;
71
+ /**
72
+ * Defines the structure for multi-Region cluster configurations, containing the witness Region and peered cluster settings.
73
+ * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html#cfn-dsql-cluster-multiregionproperties}
74
+ */
75
+ MultiRegionProperties?: {
76
+ Clusters?: string[] | undefined;
77
+ /**
78
+ * The witness region in a multi-region cluster.
79
+ */
80
+ WitnessRegion?: string | undefined;
81
+ } | undefined;
71
82
  /**
72
83
  * A map of key and value pairs this cluster is tagged with.
73
84
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html#cfn-dsql-cluster-tags}
@@ -95,6 +106,14 @@ export type DSQLClusterAttribs = {
95
106
  ResourceArn: string;
96
107
  /**
97
108
  * The current status of the cluster. Possible values include: CREATING, ACTIVE, DELETING, FAILED.
109
+ *
110
+ * The cluster can have two additional status values when working with multi-Region clusters:
111
+ *
112
+ * `PENDING_SETUP` —Indicates the cluster is being configured
113
+ *
114
+ * `PENDING_DELETE` —Indicates the cluster is being deleted
115
+ *
116
+ * *Note:* These status values only appear for multi-Region cluster operations.
98
117
  * @see {@link https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dsql-cluster.html#cfn-dsql-cluster-status}
99
118
  */
100
119
  Status: string;