diff --git a/clients/client-synthetics/src/commands/CreateCanaryCommand.ts b/clients/client-synthetics/src/commands/CreateCanaryCommand.ts
index 8e036950d0c6e..57bd4725b8f3e 100644
--- a/clients/client-synthetics/src/commands/CreateCanaryCommand.ts
+++ b/clients/client-synthetics/src/commands/CreateCanaryCommand.ts
@@ -82,6 +82,9 @@ export interface CreateCanaryCommandOutput extends CreateCanaryResponse, __Metad
* "STRING_VALUE",
* ],
* },
+ * ResourcesToReplicateTags: [ // ResourceList
+ * "lambda-function",
+ * ],
* Tags: { // TagMap
* " The CloudWatch alarms created for this canary. These alarms have a name of
- *
*
Synthetics-SharpDrop-Alarm-MyCanaryName
- *
.Synthetics-Alarm-first-198-characters-of-canary-name-canaryId-alarm number
+ *
+ *
Amazon S3 objects and buckets, such as the canary's artifact location.
@@ -47,13 +48,15 @@ export interface DeleteCanaryCommandOutput extends DeleteCanaryResponse, __Metad *IAM roles created for the canary. If they were created in the console, these roles
* have the name
- * role/service-role/CloudWatchSyntheticsRole-MyCanaryName
- *
.
CloudWatch Logs log groups created for the canary. These logs groups have the name
- * /aws/lambda/cwsyn-MyCanaryName
- *
.
/aws/lambda/cwsyn-First-21-Characters-of-CanaryName
+ *
+ *
* Before you delete a canary, you might want to use GetCanary
to display
diff --git a/clients/client-synthetics/src/models/models_0.ts b/clients/client-synthetics/src/models/models_0.ts
index 2bd176b6ded7a..b5014bbaf62a7 100644
--- a/clients/client-synthetics/src/models/models_0.ts
+++ b/clients/client-synthetics/src/models/models_0.ts
@@ -736,6 +736,23 @@ export interface CanaryLastRun {
* script is stored in an S3 bucket, the bucket name, key, and version are also included. If
* the script was passed into the canary directly, the script code is contained in the value
* of Zipfile
.
If you are uploading your canary scripts with an Amazon S3 bucket, your zip file should include your + * script in a certain folder structure.
+ *For Node.js canaries, the folder structure must be nodejs/node_modules/myCanaryFilename.js
+ *
+ * For more information, see Packaging your Node.js canary files
+ *
For Python canaries, the folder structure must be python/myCanaryFilename.p
+ *
or python/myFolder/myCanaryFilename.py
+ *
+ * For more information, see Packaging your Python canary files
+ *
If this canary is to test an endpoint in a VPC, this structure contains * information about the subnets and security groups of the VPC endpoint. @@ -1020,6 +1050,15 @@ export interface CreateCanaryRequest { */ VpcConfig?: VpcConfigInput; + /** + *
To have the tags that you apply to this canary also be applied to the Lambda function that
+ * the canary uses, specify this parameter with the value lambda-function
.
If you specify this parameter and don't specify any tags in the Tags
+ * parameter, the canary creation fails.
A list of key-value pairs to associate with the canary. * You can associate as many as 50 tags with a canary.
@@ -1027,6 +1066,8 @@ export interface CreateCanaryRequest { * resources. You can also use them to scope user permissions, by * granting a user permission to access or change only the resources that have * certain tag values. + *To have the tags that you apply to this canary also be applied to the Lambda function that
+ * the canary uses, specify this parameter with the value lambda-function
.
Specify this parameter to limit how many canaries are returned each time you use
- * the DescribeCanaries
operation. If you omit this parameter, the default of 100 is used.
DescribeCanaries
operation. If you omit this parameter, the default of 20 is used.
* @public
*/
MaxResults?: number;
diff --git a/clients/client-synthetics/src/protocols/Aws_restJson1.ts b/clients/client-synthetics/src/protocols/Aws_restJson1.ts
index 595a532422219..ea0b17836f8c9 100644
--- a/clients/client-synthetics/src/protocols/Aws_restJson1.ts
+++ b/clients/client-synthetics/src/protocols/Aws_restJson1.ts
@@ -79,6 +79,7 @@ import {
NotFoundException,
RequestEntityTooLargeException,
ResourceNotFoundException,
+ ResourceToTag,
RuntimeVersion,
S3EncryptionConfig,
ServiceQuotaExceededException,
@@ -133,6 +134,7 @@ export const se_CreateCanaryCommand = async (
ExecutionRoleArn: [],
FailureRetentionPeriodInDays: [],
Name: [],
+ ResourcesToReplicateTags: (_) => _json(_),
RunConfig: (_) => _json(_),
RuntimeVersion: [],
Schedule: (_) => _json(_),
@@ -1232,6 +1234,8 @@ const se_CanaryCodeInput = (input: CanaryCodeInput, context: __SerdeContext): an
// se_EnvironmentVariablesMap omitted.
+// se_ResourceList omitted.
+
// se_S3EncryptionConfig omitted.
// se_SecurityGroupIds omitted.
diff --git a/codegen/sdk-codegen/aws-models/synthetics.json b/codegen/sdk-codegen/aws-models/synthetics.json
index 000134f74b4dd..924074ae5c49b 100644
--- a/codegen/sdk-codegen/aws-models/synthetics.json
+++ b/codegen/sdk-codegen/aws-models/synthetics.json
@@ -308,7 +308,7 @@
"min": 1,
"max": 2048
},
- "smithy.api#pattern": "^arn:(aws[a-zA-Z-]*)?:synthetics:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:canary:[0-9a-z_\\-]{1,21}$"
+ "smithy.api#pattern": "^arn:(aws[a-zA-Z-]*)?:synthetics:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:\\d{12}:canary:[0-9a-z_\\-]{1,255}$"
}
},
"com.amazonaws.synthetics#CanaryCodeInput": {
@@ -347,7 +347,7 @@
}
},
"traits": {
- "smithy.api#documentation": "Use this structure to input your script code for the canary. This structure contains the\n Lambda handler with the location where the canary should start running the script. If the\n script is stored in an S3 bucket, the bucket name, key, and version are also included. If\n the script was passed into the canary directly, the script code is contained in the value\n of Zipfile
.
Use this structure to input your script code for the canary. This structure contains the\n Lambda handler with the location where the canary should start running the script. If the\n script is stored in an S3 bucket, the bucket name, key, and version are also included. If\n the script was passed into the canary directly, the script code is contained in the value\n of Zipfile
.
If you are uploading your canary scripts with an Amazon S3 bucket, your zip file should include your \n script in a certain folder structure.
\nFor Node.js canaries, the folder structure must be nodejs/node_modules/myCanaryFilename.js\n
\n For more information, see Packaging your Node.js canary files\n
For Python canaries, the folder structure must be python/myCanaryFilename.p\n
or python/myFolder/myCanaryFilename.py\n
\n For more information, see Packaging your Python canary files\n
If this canary is to test an endpoint in a VPC, this structure contains\n information about the subnet and security groups of the VPC endpoint. \n For more information, see \n Running a Canary in a VPC.
" } }, + "ResourcesToReplicateTags": { + "target": "com.amazonaws.synthetics#ResourceList", + "traits": { + "smithy.api#documentation": "To have the tags that you apply to this canary also be applied to the Lambda function that\n the canary uses, specify this parameter with the value lambda-function
.
If you specify this parameter and don't specify any tags in the Tags
\n parameter, the canary creation fails.
A list of key-value pairs to associate with the canary. \n You can associate as many as 50 tags with a canary.
\nTags can help you organize and categorize your\n resources. You can also use them to scope user permissions, by \n granting a user permission to access or change only the resources that have\n certain tag values.
" + "smithy.api#documentation": "A list of key-value pairs to associate with the canary. \n You can associate as many as 50 tags with a canary.
\nTags can help you organize and categorize your\n resources. You can also use them to scope user permissions, by \n granting a user permission to access or change only the resources that have\n certain tag values.
\nTo have the tags that you apply to this canary also be applied to the Lambda function that\n the canary uses, specify this parameter with the value lambda-function
.
Permanently deletes the specified canary.
\nIf you specify DeleteLambda
to true
, CloudWatch Synthetics also deletes\n the Lambda functions and layers that are used by the canary.
Other resources used and created by the canary are not automatically deleted. \n After you delete a canary that you do not intend to\n use again, you\n should also delete the following:
\nThe CloudWatch alarms created for this canary. These alarms have a name of\n Synthetics-SharpDrop-Alarm-MyCanaryName\n
.
Amazon S3 objects and buckets, such as the canary's artifact location.
\nIAM roles created for the canary. If they were created in the console, these roles\n have the name \n role/service-role/CloudWatchSyntheticsRole-MyCanaryName\n
.
CloudWatch Logs log groups created for the canary. These logs groups have the name\n /aws/lambda/cwsyn-MyCanaryName\n
.
Before you delete a canary, you might want to use GetCanary
to display\n the information about this canary. Make\n note of the information returned by this operation so that you can delete these resources\n after you delete the canary.
Permanently deletes the specified canary.
\nIf you specify DeleteLambda
to true
, CloudWatch Synthetics also deletes\n the Lambda functions and layers that are used by the canary.
Other resources used and created by the canary are not automatically deleted. \n After you delete a canary that you do not intend to\n use again, you\n should also delete the following:
\nThe CloudWatch alarms created for this canary. These alarms have a name of\n Synthetics-Alarm-first-198-characters-of-canary-name-canaryId-alarm number\n
\n
Amazon S3 objects and buckets, such as the canary's artifact location.
\nIAM roles created for the canary. If they were created in the console, these roles\n have the name \n role/service-role/CloudWatchSyntheticsRole-First-21-Characters-of-CanaryName\n
\n
CloudWatch Logs log groups created for the canary. These logs groups have the name\n /aws/lambda/cwsyn-First-21-Characters-of-CanaryName\n
\n
Before you delete a canary, you might want to use GetCanary
to display\n the information about this canary. Make\n note of the information returned by this operation so that you can delete these resources\n after you delete the canary.
Specify this parameter to limit how many canaries are returned each time you use\n the DescribeCanaries
operation. If you omit this parameter, the default of 100 is used.
Specify this parameter to limit how many canaries are returned each time you use\n the DescribeCanaries
operation. If you omit this parameter, the default of 20 is used.