@aws-sdk/client-synthetics 3.804.0 → 3.805.0

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.
@@ -0,0 +1,137 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { StartCanaryDryRunRequest, StartCanaryDryRunResponse } from "../models/models_0";
4
+ import { ServiceInputTypes, ServiceOutputTypes, SyntheticsClientResolvedConfig } from "../SyntheticsClient";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link StartCanaryDryRunCommand}.
14
+ */
15
+ export interface StartCanaryDryRunCommandInput extends StartCanaryDryRunRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link StartCanaryDryRunCommand}.
21
+ */
22
+ export interface StartCanaryDryRunCommandOutput extends StartCanaryDryRunResponse, __MetadataBearer {
23
+ }
24
+ declare const StartCanaryDryRunCommand_base: {
25
+ new (input: StartCanaryDryRunCommandInput): import("@smithy/smithy-client").CommandImpl<StartCanaryDryRunCommandInput, StartCanaryDryRunCommandOutput, SyntheticsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: StartCanaryDryRunCommandInput): import("@smithy/smithy-client").CommandImpl<StartCanaryDryRunCommandInput, StartCanaryDryRunCommandOutput, SyntheticsClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Use this operation to start a dry run for a canary that has already been created</p>
31
+ * @example
32
+ * Use a bare-bones client and the command you need to make an API call.
33
+ * ```javascript
34
+ * import { SyntheticsClient, StartCanaryDryRunCommand } from "@aws-sdk/client-synthetics"; // ES Modules import
35
+ * // const { SyntheticsClient, StartCanaryDryRunCommand } = require("@aws-sdk/client-synthetics"); // CommonJS import
36
+ * const client = new SyntheticsClient(config);
37
+ * const input = { // StartCanaryDryRunRequest
38
+ * Name: "STRING_VALUE", // required
39
+ * Code: { // CanaryCodeInput
40
+ * S3Bucket: "STRING_VALUE",
41
+ * S3Key: "STRING_VALUE",
42
+ * S3Version: "STRING_VALUE",
43
+ * ZipFile: new Uint8Array(), // e.g. Buffer.from("") or new TextEncoder().encode("")
44
+ * Handler: "STRING_VALUE", // required
45
+ * },
46
+ * RuntimeVersion: "STRING_VALUE",
47
+ * RunConfig: { // CanaryRunConfigInput
48
+ * TimeoutInSeconds: Number("int"),
49
+ * MemoryInMB: Number("int"),
50
+ * ActiveTracing: true || false,
51
+ * EnvironmentVariables: { // EnvironmentVariablesMap
52
+ * "<keys>": "STRING_VALUE",
53
+ * },
54
+ * },
55
+ * VpcConfig: { // VpcConfigInput
56
+ * SubnetIds: [ // SubnetIds
57
+ * "STRING_VALUE",
58
+ * ],
59
+ * SecurityGroupIds: [ // SecurityGroupIds
60
+ * "STRING_VALUE",
61
+ * ],
62
+ * Ipv6AllowedForDualStack: true || false,
63
+ * },
64
+ * ExecutionRoleArn: "STRING_VALUE",
65
+ * SuccessRetentionPeriodInDays: Number("int"),
66
+ * FailureRetentionPeriodInDays: Number("int"),
67
+ * VisualReference: { // VisualReferenceInput
68
+ * BaseScreenshots: [ // BaseScreenshots
69
+ * { // BaseScreenshot
70
+ * ScreenshotName: "STRING_VALUE", // required
71
+ * IgnoreCoordinates: [ // BaseScreenshotIgnoreCoordinates
72
+ * "STRING_VALUE",
73
+ * ],
74
+ * },
75
+ * ],
76
+ * BaseCanaryRunId: "STRING_VALUE", // required
77
+ * },
78
+ * ArtifactS3Location: "STRING_VALUE",
79
+ * ArtifactConfig: { // ArtifactConfigInput
80
+ * S3Encryption: { // S3EncryptionConfig
81
+ * EncryptionMode: "SSE_S3" || "SSE_KMS",
82
+ * KmsKeyArn: "STRING_VALUE",
83
+ * },
84
+ * },
85
+ * ProvisionedResourceCleanup: "AUTOMATIC" || "OFF",
86
+ * };
87
+ * const command = new StartCanaryDryRunCommand(input);
88
+ * const response = await client.send(command);
89
+ * // { // StartCanaryDryRunResponse
90
+ * // DryRunConfig: { // DryRunConfigOutput
91
+ * // DryRunId: "STRING_VALUE",
92
+ * // LastDryRunExecutionStatus: "STRING_VALUE",
93
+ * // },
94
+ * // };
95
+ *
96
+ * ```
97
+ *
98
+ * @param StartCanaryDryRunCommandInput - {@link StartCanaryDryRunCommandInput}
99
+ * @returns {@link StartCanaryDryRunCommandOutput}
100
+ * @see {@link StartCanaryDryRunCommandInput} for command's `input` shape.
101
+ * @see {@link StartCanaryDryRunCommandOutput} for command's `response` shape.
102
+ * @see {@link SyntheticsClientResolvedConfig | config} for SyntheticsClient's `config` shape.
103
+ *
104
+ * @throws {@link AccessDeniedException} (client fault)
105
+ * <p>You don't have permission to perform this operation on this resource.</p>
106
+ *
107
+ * @throws {@link ConflictException} (client fault)
108
+ * <p>A conflicting operation is already in progress.</p>
109
+ *
110
+ * @throws {@link InternalServerException} (server fault)
111
+ * <p>An unknown internal error occurred.</p>
112
+ *
113
+ * @throws {@link ResourceNotFoundException} (client fault)
114
+ * <p>One of the specified resources was not found.</p>
115
+ *
116
+ * @throws {@link ValidationException} (client fault)
117
+ * <p>A parameter could not be validated.</p>
118
+ *
119
+ * @throws {@link SyntheticsServiceException}
120
+ * <p>Base exception class for all service exceptions from Synthetics service.</p>
121
+ *
122
+ *
123
+ * @public
124
+ */
125
+ export declare class StartCanaryDryRunCommand extends StartCanaryDryRunCommand_base {
126
+ /** @internal type navigation helper, not in runtime. */
127
+ protected static __types: {
128
+ api: {
129
+ input: StartCanaryDryRunRequest;
130
+ output: StartCanaryDryRunResponse;
131
+ };
132
+ sdk: {
133
+ input: StartCanaryDryRunCommandInput;
134
+ output: StartCanaryDryRunCommandOutput;
135
+ };
136
+ };
137
+ }
@@ -32,6 +32,9 @@ declare const UpdateCanaryCommand_base: {
32
32
  * <p>You can't use this operation to update the tags of an existing canary. To
33
33
  * change the tags of an existing canary, use
34
34
  * <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_TagResource.html">TagResource</a>.</p>
35
+ * <note>
36
+ * <p>When you use the <code>dryRunId</code> field when updating a canary, the only other field you can provide is the <code>Schedule</code>. Adding any other field will thrown an exception.</p>
37
+ * </note>
35
38
  * @example
36
39
  * Use a bare-bones client and the command you need to make an API call.
37
40
  * ```javascript
@@ -91,6 +94,7 @@ declare const UpdateCanaryCommand_base: {
91
94
  * },
92
95
  * },
93
96
  * ProvisionedResourceCleanup: "AUTOMATIC" || "OFF",
97
+ * DryRunId: "STRING_VALUE",
94
98
  * };
95
99
  * const command = new UpdateCanaryCommand(input);
96
100
  * const response = await client.send(command);
@@ -104,6 +108,9 @@ declare const UpdateCanaryCommand_base: {
104
108
  * @see {@link UpdateCanaryCommandOutput} for command's `response` shape.
105
109
  * @see {@link SyntheticsClientResolvedConfig | config} for SyntheticsClient's `config` shape.
106
110
  *
111
+ * @throws {@link AccessDeniedException} (client fault)
112
+ * <p>You don't have permission to perform this operation on this resource.</p>
113
+ *
107
114
  * @throws {@link ConflictException} (client fault)
108
115
  * <p>A conflicting operation is already in progress.</p>
109
116
  *
@@ -15,6 +15,7 @@ export * from "./ListGroupResourcesCommand";
15
15
  export * from "./ListGroupsCommand";
16
16
  export * from "./ListTagsForResourceCommand";
17
17
  export * from "./StartCanaryCommand";
18
+ export * from "./StartCanaryDryRunCommand";
18
19
  export * from "./StopCanaryCommand";
19
20
  export * from "./TagResourceCommand";
20
21
  export * from "./UntagResourceCommand";
@@ -1,5 +1,18 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
2
  import { SyntheticsServiceException as __BaseException } from "./SyntheticsServiceException";
3
+ /**
4
+ * <p>You don't have permission to perform this operation on this resource.</p>
5
+ * @public
6
+ */
7
+ export declare class AccessDeniedException extends __BaseException {
8
+ readonly name: "AccessDeniedException";
9
+ readonly $fault: "client";
10
+ Message?: string | undefined;
11
+ /**
12
+ * @internal
13
+ */
14
+ constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>);
15
+ }
3
16
  /**
4
17
  * @public
5
18
  * @enum
@@ -206,6 +219,22 @@ export interface CanaryCodeOutput {
206
219
  */
207
220
  Handler?: string | undefined;
208
221
  }
222
+ /**
223
+ * <p>Returns the dry run configurations set for a canary.</p>
224
+ * @public
225
+ */
226
+ export interface DryRunConfigOutput {
227
+ /**
228
+ * <p>The DryRunId associated with an existing canary’s dry run. You can use this DryRunId to retrieve information about the dry run.</p>
229
+ * @public
230
+ */
231
+ DryRunId?: string | undefined;
232
+ /**
233
+ * <p>Returns the last execution status for a canary's dry run.</p>
234
+ * @public
235
+ */
236
+ LastDryRunExecutionStatus?: string | undefined;
237
+ }
209
238
  /**
210
239
  * @public
211
240
  * @enum
@@ -448,11 +477,17 @@ export interface Canary {
448
477
  RunConfig?: CanaryRunConfigOutput | undefined;
449
478
  /**
450
479
  * <p>The number of days to retain data about successful runs of this canary.</p>
480
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
481
+ * the range of information displayed in the Synthetics console.
482
+ * </p>
451
483
  * @public
452
484
  */
453
485
  SuccessRetentionPeriodInDays?: number | undefined;
454
486
  /**
455
487
  * <p>The number of days to retain data about failed runs of this canary.</p>
488
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
489
+ * the range of information displayed in the Synthetics console.
490
+ * </p>
456
491
  * @public
457
492
  */
458
493
  FailureRetentionPeriodInDays?: number | undefined;
@@ -521,6 +556,22 @@ export interface Canary {
521
556
  * @public
522
557
  */
523
558
  ArtifactConfig?: ArtifactConfigOutput | undefined;
559
+ /**
560
+ * <p>Returns the dry run configurations for a canary.</p>
561
+ * @public
562
+ */
563
+ DryRunConfig?: DryRunConfigOutput | undefined;
564
+ }
565
+ /**
566
+ * <p>Returns the dry run configurations set for a canary.</p>
567
+ * @public
568
+ */
569
+ export interface CanaryDryRunConfigOutput {
570
+ /**
571
+ * <p>The DryRunId associated with an existing canary’s dry run. You can use this DryRunId to retrieve information about the dry run.</p>
572
+ * @public
573
+ */
574
+ DryRunId?: string | undefined;
524
575
  }
525
576
  /**
526
577
  * @public
@@ -617,6 +668,11 @@ export interface CanaryRun {
617
668
  * @public
618
669
  */
619
670
  ArtifactS3Location?: string | undefined;
671
+ /**
672
+ * <p>Returns the dry run configurations for a canary.</p>
673
+ * @public
674
+ */
675
+ DryRunConfig?: CanaryDryRunConfigOutput | undefined;
620
676
  }
621
677
  /**
622
678
  * <p>This structure contains information about the most recent run of a single canary.</p>
@@ -650,7 +706,7 @@ export interface CanaryLastRun {
650
706
  * </p>
651
707
  * </li>
652
708
  * <li>
653
- * <p>For Python canaries, the folder structure must be <code>python/<i>myCanaryFilename.p</i>
709
+ * <p>For Python canaries, the folder structure must be <code>python/<i>myCanaryFilename.py</i>
654
710
  * </code> or <code>python/<i>myFolder/myCanaryFilename.py</i>
655
711
  * </code>
656
712
  * For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary_Python.html#CloudWatch_Synthetics_Canaries_WritingCanary_Python_package">Packaging your Python canary files</a>
@@ -743,8 +799,9 @@ export interface CanaryRunConfigInput {
743
799
  * more information about reserved keys, see <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-runtime">
744
800
  * Runtime environment variables</a>.</p>
745
801
  * <important>
746
- * <p>The environment variables keys and values are not encrypted. Do not store sensitive information
747
- * in this field.</p>
802
+ * <p>Environment variable keys and values are encrypted at rest using Amazon Web Services owned KMS keys. However, the environment variables
803
+ * are not encrypted on the client side. Do not store sensitive information
804
+ * in them.</p>
748
805
  * </important>
749
806
  * @public
750
807
  */
@@ -901,8 +958,9 @@ export interface CreateCanaryRequest {
901
958
  * <p>A structure that contains the configuration for individual canary runs,
902
959
  * such as timeout value and environment variables.</p>
903
960
  * <important>
904
- * <p>The environment variables keys and values are not encrypted. Do not store sensitive information
905
- * in this field.</p>
961
+ * <p>Environment variable keys and values are encrypted at rest using Amazon Web Services owned KMS keys. However, the environment variables
962
+ * are not encrypted on the client side. Do not store sensitive information
963
+ * in them.</p>
906
964
  * </important>
907
965
  * @public
908
966
  */
@@ -910,12 +968,18 @@ export interface CreateCanaryRequest {
910
968
  /**
911
969
  * <p>The number of days to retain data about successful runs of this canary. If you omit
912
970
  * this field, the default of 31 days is used. The valid range is 1 to 455 days.</p>
971
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
972
+ * the range of information displayed in the Synthetics console.
973
+ * </p>
913
974
  * @public
914
975
  */
915
976
  SuccessRetentionPeriodInDays?: number | undefined;
916
977
  /**
917
978
  * <p>The number of days to retain data about failed runs of this canary. If you omit
918
979
  * this field, the default of 31 days is used. The valid range is 1 to 455 days.</p>
980
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
981
+ * the range of information displayed in the Synthetics console.
982
+ * </p>
919
983
  * @public
920
984
  */
921
985
  FailureRetentionPeriodInDays?: number | undefined;
@@ -1297,6 +1361,11 @@ export interface GetCanaryRequest {
1297
1361
  * @public
1298
1362
  */
1299
1363
  Name: string | undefined;
1364
+ /**
1365
+ * <p>The DryRunId associated with an existing canary’s dry run. You can use this DryRunId to retrieve information about the dry run.</p>
1366
+ * @public
1367
+ */
1368
+ DryRunId?: string | undefined;
1300
1369
  }
1301
1370
  /**
1302
1371
  * @public
@@ -1308,6 +1377,18 @@ export interface GetCanaryResponse {
1308
1377
  */
1309
1378
  Canary?: Canary | undefined;
1310
1379
  }
1380
+ /**
1381
+ * @public
1382
+ * @enum
1383
+ */
1384
+ export declare const RunType: {
1385
+ readonly CANARY_RUN: "CANARY_RUN";
1386
+ readonly DRY_RUN: "DRY_RUN";
1387
+ };
1388
+ /**
1389
+ * @public
1390
+ */
1391
+ export type RunType = (typeof RunType)[keyof typeof RunType];
1311
1392
  /**
1312
1393
  * @public
1313
1394
  */
@@ -1330,6 +1411,33 @@ export interface GetCanaryRunsRequest {
1330
1411
  * @public
1331
1412
  */
1332
1413
  MaxResults?: number | undefined;
1414
+ /**
1415
+ * <p>The DryRunId associated with an existing canary’s dry run. You can use this DryRunId to retrieve information about the dry run.</p>
1416
+ * @public
1417
+ */
1418
+ DryRunId?: string | undefined;
1419
+ /**
1420
+ * <ul>
1421
+ * <li>
1422
+ * <p>When you provide <code>RunType=CANARY_RUN</code> and <code>dryRunId</code>, you will get an exception
1423
+ *
1424
+ *
1425
+ * </p>
1426
+ * </li>
1427
+ * <li>
1428
+ * <p>When a value is not provided for <code>RunType</code>, the default value is <code>CANARY_RUN</code>
1429
+ * </p>
1430
+ * </li>
1431
+ * <li>
1432
+ * <p>When <code>CANARY_RUN</code> is provided, all canary runs excluding dry runs are returned</p>
1433
+ * </li>
1434
+ * <li>
1435
+ * <p>When <code>DRY_RUN</code> is provided, all dry runs excluding canary runs are returned</p>
1436
+ * </li>
1437
+ * </ul>
1438
+ * @public
1439
+ */
1440
+ RunType?: RunType | undefined;
1333
1441
  }
1334
1442
  /**
1335
1443
  * @public
@@ -1590,6 +1698,158 @@ export interface StartCanaryRequest {
1590
1698
  */
1591
1699
  export interface StartCanaryResponse {
1592
1700
  }
1701
+ /**
1702
+ * <p>An object that specifies what screenshots to use as a baseline for visual monitoring by this canary. It can
1703
+ * optionally also specify parts of the screenshots to ignore during the visual monitoring comparison.</p>
1704
+ * <p>Visual monitoring is supported only on canaries running the <b>syn-puppeteer-node-3.2</b>
1705
+ * runtime or later. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html">
1706
+ * Visual monitoring</a> and <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html">
1707
+ * Visual monitoring blueprint</a>
1708
+ * </p>
1709
+ * @public
1710
+ */
1711
+ export interface VisualReferenceInput {
1712
+ /**
1713
+ * <p>An array of screenshots that will be used as the baseline for visual monitoring in future runs of this canary. If there is a screenshot that you don't want to be used for
1714
+ * visual monitoring, remove it from this array.</p>
1715
+ * @public
1716
+ */
1717
+ BaseScreenshots?: BaseScreenshot[] | undefined;
1718
+ /**
1719
+ * <p>Specifies which canary run to use the screenshots from as the baseline for future visual monitoring with this canary. Valid values are
1720
+ * <code>nextrun</code> to use the screenshots from the next run after this update is made, <code>lastrun</code> to use the screenshots from the most recent run
1721
+ * before this update was made, or the value of <code>Id</code> in the <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_CanaryRun.html">
1722
+ * CanaryRun</a> from a run of this a canary in the past 31 days. If you specify the <code>Id</code> of a canary run older than 31 days,
1723
+ * the operation returns a 400 validation exception error..</p>
1724
+ * @public
1725
+ */
1726
+ BaseCanaryRunId: string | undefined;
1727
+ }
1728
+ /**
1729
+ * @public
1730
+ */
1731
+ export interface StartCanaryDryRunRequest {
1732
+ /**
1733
+ * <p>The name of the canary that you want to dry run. To find
1734
+ * canary names, use <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html">DescribeCanaries</a>.</p>
1735
+ * @public
1736
+ */
1737
+ Name: string | undefined;
1738
+ /**
1739
+ * <p>Use this structure to input your script code for the canary. This structure contains the
1740
+ * Lambda handler with the location where the canary should start running the script. If the
1741
+ * script is stored in an S3 bucket, the bucket name, key, and version are also included. If
1742
+ * the script was passed into the canary directly, the script code is contained in the value
1743
+ * of <code>Zipfile</code>. </p>
1744
+ * <p>If you are uploading your canary scripts with an Amazon S3 bucket, your zip file should include your
1745
+ * script in a certain folder structure.</p>
1746
+ * <ul>
1747
+ * <li>
1748
+ * <p>For Node.js canaries, the folder structure must be <code>nodejs/node_modules/<i>myCanaryFilename.js</i>
1749
+ * </code>
1750
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary_Nodejs.html#CloudWatch_Synthetics_Canaries_package">Packaging your Node.js canary files</a>
1751
+ * </p>
1752
+ * </li>
1753
+ * <li>
1754
+ * <p>For Python canaries, the folder structure must be <code>python/<i>myCanaryFilename.py</i>
1755
+ * </code> or <code>python/<i>myFolder/myCanaryFilename.py</i>
1756
+ * </code>
1757
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary_Python.html#CloudWatch_Synthetics_Canaries_WritingCanary_Python_package">Packaging your Python canary files</a>
1758
+ * </p>
1759
+ * </li>
1760
+ * </ul>
1761
+ * @public
1762
+ */
1763
+ Code?: CanaryCodeInput | undefined;
1764
+ /**
1765
+ * <p>Specifies the runtime version to use for the canary.
1766
+ * For a list of valid runtime versions and for more information about
1767
+ * runtime versions, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html">
1768
+ * Canary Runtime Versions</a>.</p>
1769
+ * @public
1770
+ */
1771
+ RuntimeVersion?: string | undefined;
1772
+ /**
1773
+ * <p>A structure that contains input information for a canary run.</p>
1774
+ * @public
1775
+ */
1776
+ RunConfig?: CanaryRunConfigInput | undefined;
1777
+ /**
1778
+ * <p>If this canary is to test an endpoint in a VPC, this structure contains
1779
+ * information about the subnets and security groups of the VPC endpoint.
1780
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html">
1781
+ * Running a Canary in a VPC</a>.</p>
1782
+ * @public
1783
+ */
1784
+ VpcConfig?: VpcConfigInput | undefined;
1785
+ /**
1786
+ * <p>The ARN of the IAM role to be used to run the canary. This role must already exist,
1787
+ * and must include <code>lambda.amazonaws.com</code> as a principal in the trust
1788
+ * policy. The role must also have the following permissions:</p>
1789
+ * @public
1790
+ */
1791
+ ExecutionRoleArn?: string | undefined;
1792
+ /**
1793
+ * <p>The number of days to retain data on the failed runs for this canary. The valid range is 1 to 455 days.</p>
1794
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
1795
+ * the range of information displayed in the Synthetics console.
1796
+ * </p>
1797
+ * @public
1798
+ */
1799
+ SuccessRetentionPeriodInDays?: number | undefined;
1800
+ /**
1801
+ * <p>The number of days to retain data on the failed runs for this canary. The valid range is 1 to 455 days.</p>
1802
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
1803
+ * the range of information displayed in the Synthetics console.
1804
+ * </p>
1805
+ * @public
1806
+ */
1807
+ FailureRetentionPeriodInDays?: number | undefined;
1808
+ /**
1809
+ * <p>An object that specifies what screenshots to use as a baseline for visual monitoring by this canary. It can
1810
+ * optionally also specify parts of the screenshots to ignore during the visual monitoring comparison.</p>
1811
+ * <p>Visual monitoring is supported only on canaries running the <b>syn-puppeteer-node-3.2</b>
1812
+ * runtime or later. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html">
1813
+ * Visual monitoring</a> and <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html">
1814
+ * Visual monitoring blueprint</a>
1815
+ * </p>
1816
+ * @public
1817
+ */
1818
+ VisualReference?: VisualReferenceInput | undefined;
1819
+ /**
1820
+ * <p>The location in Amazon S3 where Synthetics stores artifacts from the test runs of this
1821
+ * canary. Artifacts include the log file, screenshots, and HAR files. The name of the
1822
+ * Amazon S3 bucket can't include a period (.).</p>
1823
+ * @public
1824
+ */
1825
+ ArtifactS3Location?: string | undefined;
1826
+ /**
1827
+ * <p>A structure that contains the configuration for canary artifacts, including the
1828
+ * encryption-at-rest settings for artifacts that the canary uploads to Amazon S3.</p>
1829
+ * @public
1830
+ */
1831
+ ArtifactConfig?: ArtifactConfigInput | undefined;
1832
+ /**
1833
+ * <p>Specifies whether to also delete the Lambda functions and layers used by this canary
1834
+ * when the canary is deleted. If the value of this parameter is <code>AUTOMATIC</code>, it means
1835
+ * that the Lambda functions and layers will be deleted when the canary is deleted.</p>
1836
+ * <p>If the value of this parameter is <code>OFF</code>, then the value of the <code>DeleteLambda</code> parameter
1837
+ * of the <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html">DeleteCanary</a> operation
1838
+ * determines whether the Lambda functions and layers will be deleted.</p>
1839
+ * @public
1840
+ */
1841
+ ProvisionedResourceCleanup?: ProvisionedResourceCleanupSetting | undefined;
1842
+ }
1843
+ /**
1844
+ * @public
1845
+ */
1846
+ export interface StartCanaryDryRunResponse {
1847
+ /**
1848
+ * <p>Returns the dry run configurations for a canary.</p>
1849
+ * @public
1850
+ */
1851
+ DryRunConfig?: DryRunConfigOutput | undefined;
1852
+ }
1593
1853
  /**
1594
1854
  * @public
1595
1855
  */
@@ -1660,33 +1920,6 @@ export interface UntagResourceRequest {
1660
1920
  */
1661
1921
  export interface UntagResourceResponse {
1662
1922
  }
1663
- /**
1664
- * <p>An object that specifies what screenshots to use as a baseline for visual monitoring by this canary. It can
1665
- * optionally also specify parts of the screenshots to ignore during the visual monitoring comparison.</p>
1666
- * <p>Visual monitoring is supported only on canaries running the <b>syn-puppeteer-node-3.2</b>
1667
- * runtime or later. For more information, see <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html">
1668
- * Visual monitoring</a> and <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html">
1669
- * Visual monitoring blueprint</a>
1670
- * </p>
1671
- * @public
1672
- */
1673
- export interface VisualReferenceInput {
1674
- /**
1675
- * <p>An array of screenshots that will be used as the baseline for visual monitoring in future runs of this canary. If there is a screenshot that you don't want to be used for
1676
- * visual monitoring, remove it from this array.</p>
1677
- * @public
1678
- */
1679
- BaseScreenshots?: BaseScreenshot[] | undefined;
1680
- /**
1681
- * <p>Specifies which canary run to use the screenshots from as the baseline for future visual monitoring with this canary. Valid values are
1682
- * <code>nextrun</code> to use the screenshots from the next run after this update is made, <code>lastrun</code> to use the screenshots from the most recent run
1683
- * before this update was made, or the value of <code>Id</code> in the <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_CanaryRun.html">
1684
- * CanaryRun</a> from a run of this a canary in the past 31 days. If you specify the <code>Id</code> of a canary run older than 31 days,
1685
- * the operation returns a 400 validation exception error..</p>
1686
- * @public
1687
- */
1688
- BaseCanaryRunId: string | undefined;
1689
- }
1690
1923
  /**
1691
1924
  * @public
1692
1925
  */
@@ -1768,19 +2001,26 @@ export interface UpdateCanaryRequest {
1768
2001
  * <p>A structure that contains the timeout value that is used for each individual run of the
1769
2002
  * canary.</p>
1770
2003
  * <important>
1771
- * <p>The environment variables keys and values are not encrypted. Do not store sensitive information
1772
- * in this field.</p>
2004
+ * <p>Environment variable keys and values are encrypted at rest using Amazon Web Services owned KMS keys. However, the environment variables
2005
+ * are not encrypted on the client side. Do not store sensitive information
2006
+ * in them.</p>
1773
2007
  * </important>
1774
2008
  * @public
1775
2009
  */
1776
2010
  RunConfig?: CanaryRunConfigInput | undefined;
1777
2011
  /**
1778
2012
  * <p>The number of days to retain data about successful runs of this canary.</p>
2013
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
2014
+ * the range of information displayed in the Synthetics console.
2015
+ * </p>
1779
2016
  * @public
1780
2017
  */
1781
2018
  SuccessRetentionPeriodInDays?: number | undefined;
1782
2019
  /**
1783
2020
  * <p>The number of days to retain data about failed runs of this canary.</p>
2021
+ * <p>This setting affects the range of information returned by <a href="https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html">GetCanaryRuns</a>, as well as
2022
+ * the range of information displayed in the Synthetics console.
2023
+ * </p>
1784
2024
  * @public
1785
2025
  */
1786
2026
  FailureRetentionPeriodInDays?: number | undefined;
@@ -1826,6 +2066,14 @@ export interface UpdateCanaryRequest {
1826
2066
  * @public
1827
2067
  */
1828
2068
  ProvisionedResourceCleanup?: ProvisionedResourceCleanupSetting | undefined;
2069
+ /**
2070
+ * <p>Update the existing canary using the updated configurations from the DryRun associated with the DryRunId.</p>
2071
+ * <note>
2072
+ * <p>When you use the <code>dryRunId</code> field when updating a canary, the only other field you can provide is the <code>Schedule</code>. Adding any other field will thrown an exception.</p>
2073
+ * </note>
2074
+ * @public
2075
+ */
2076
+ DryRunId?: string | undefined;
1829
2077
  }
1830
2078
  /**
1831
2079
  * @public
@@ -17,6 +17,7 @@ import { ListGroupResourcesCommandInput, ListGroupResourcesCommandOutput } from
17
17
  import { ListGroupsCommandInput, ListGroupsCommandOutput } from "../commands/ListGroupsCommand";
18
18
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "../commands/ListTagsForResourceCommand";
19
19
  import { StartCanaryCommandInput, StartCanaryCommandOutput } from "../commands/StartCanaryCommand";
20
+ import { StartCanaryDryRunCommandInput, StartCanaryDryRunCommandOutput } from "../commands/StartCanaryDryRunCommand";
20
21
  import { StopCanaryCommandInput, StopCanaryCommandOutput } from "../commands/StopCanaryCommand";
21
22
  import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand";
22
23
  import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand";
@@ -89,6 +90,10 @@ export declare const se_ListTagsForResourceCommand: (input: ListTagsForResourceC
89
90
  * serializeAws_restJson1StartCanaryCommand
90
91
  */
91
92
  export declare const se_StartCanaryCommand: (input: StartCanaryCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
93
+ /**
94
+ * serializeAws_restJson1StartCanaryDryRunCommand
95
+ */
96
+ export declare const se_StartCanaryDryRunCommand: (input: StartCanaryDryRunCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
92
97
  /**
93
98
  * serializeAws_restJson1StopCanaryCommand
94
99
  */
@@ -173,6 +178,10 @@ export declare const de_ListTagsForResourceCommand: (output: __HttpResponse, con
173
178
  * deserializeAws_restJson1StartCanaryCommand
174
179
  */
175
180
  export declare const de_StartCanaryCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<StartCanaryCommandOutput>;
181
+ /**
182
+ * deserializeAws_restJson1StartCanaryDryRunCommand
183
+ */
184
+ export declare const de_StartCanaryDryRunCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<StartCanaryDryRunCommandOutput>;
176
185
  /**
177
186
  * deserializeAws_restJson1StopCanaryCommand
178
187
  */