aws-sdk-synthetics 1.62.0 → 1.63.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9254f4c44730452b1a714e105afc29ec2f1096094830638758c21b3f728118dc
4
- data.tar.gz: 878b653ef127c882216415da0b0014194e3e9f75a151c032a2d72e47acd0b0f8
3
+ metadata.gz: a6e2e604c8e69e90705a06f9a523205968bb637ade37e418bde59b995ded9961
4
+ data.tar.gz: fa0764ec1e04f4f56e570edbe7ee5858958fe2de39f8e964830d57a911c86f57
5
5
  SHA512:
6
- metadata.gz: e9de87e2164b7047ea3790adbe7b4c13ceef5695dd702bf263b5a44ec53f3bab7d08f9453cab0c9be971280358b8cfacbf63fcd0a49fdaa9cccb0ce4052bdf81
7
- data.tar.gz: fbf1d5d74af618ccfe370c011c79c506cae6c76047c076c1decd26c9c9119c702311df300fa41ef3117becfe688ec2dd559c2357e4da6c834fca27bb561d98c7
6
+ metadata.gz: b838784f6f386ed4f86280ae4ca3d4ea71a2de5f8df8735b52363284e86e6540e2212fd81372f859ae54c1316069a461514e5f9f765f598755f9b3dcb2088784
7
+ data.tar.gz: 8038523fce046a99fc49bf96a177a6907468e19935c2f94f8a17f615cdaf0b5958213293729ca622aa5ed4b71dd609c950949e91c1922a7355b55f00848bcc7b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.63.0 (2025-05-07)
5
+ ------------------
6
+
7
+ * Feature - Add support to test a canary update by invoking a dry run of a canary. This behavior can be used via the new StartCanaryDryRun API along with new fields in UpdateCanary to apply dry run changes. Also includes changes in GetCanary and GetCanaryRuns to support retrieving dry run configurations.
8
+
4
9
  1.62.0 (2025-05-01)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.62.0
1
+ 1.63.0
@@ -580,19 +580,37 @@ module Aws::Synthetics
580
580
  # A structure that contains the configuration for individual canary
581
581
  # runs, such as timeout value and environment variables.
582
582
  #
583
- # The environment variables keys and values are not encrypted. Do not
584
- # store sensitive information in this field.
583
+ # Environment variable keys and values are encrypted at rest using
584
+ # Amazon Web Services owned KMS keys. However, the environment variables
585
+ # are not encrypted on the client side. Do not store sensitive
586
+ # information in them.
585
587
  #
586
588
  # @option params [Integer] :success_retention_period_in_days
587
589
  # The number of days to retain data about successful runs of this
588
590
  # canary. If you omit this field, the default of 31 days is used. The
589
591
  # valid range is 1 to 455 days.
590
592
  #
593
+ # This setting affects the range of information returned by
594
+ # [GetCanaryRuns][1], as well as the range of information displayed in
595
+ # the Synthetics console.
596
+ #
597
+ #
598
+ #
599
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
600
+ #
591
601
  # @option params [Integer] :failure_retention_period_in_days
592
602
  # The number of days to retain data about failed runs of this canary. If
593
603
  # you omit this field, the default of 31 days is used. The valid range
594
604
  # is 1 to 455 days.
595
605
  #
606
+ # This setting affects the range of information returned by
607
+ # [GetCanaryRuns][1], as well as the range of information displayed in
608
+ # the Synthetics console.
609
+ #
610
+ #
611
+ #
612
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
613
+ #
596
614
  # @option params [required, String] :runtime_version
597
615
  # Specifies the runtime version to use for the canary. For a list of
598
616
  # valid runtime versions and more information about runtime versions,
@@ -740,6 +758,8 @@ module Aws::Synthetics
740
758
  # resp.canary.tags["TagKey"] #=> String
741
759
  # resp.canary.artifact_config.s3_encryption.encryption_mode #=> String, one of "SSE_S3", "SSE_KMS"
742
760
  # resp.canary.artifact_config.s3_encryption.kms_key_arn #=> String
761
+ # resp.canary.dry_run_config.dry_run_id #=> String
762
+ # resp.canary.dry_run_config.last_dry_run_execution_status #=> String
743
763
  #
744
764
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CreateCanary AWS API Documentation
745
765
  #
@@ -1022,6 +1042,8 @@ module Aws::Synthetics
1022
1042
  # resp.canaries[0].tags["TagKey"] #=> String
1023
1043
  # resp.canaries[0].artifact_config.s3_encryption.encryption_mode #=> String, one of "SSE_S3", "SSE_KMS"
1024
1044
  # resp.canaries[0].artifact_config.s3_encryption.kms_key_arn #=> String
1045
+ # resp.canaries[0].dry_run_config.dry_run_id #=> String
1046
+ # resp.canaries[0].dry_run_config.last_dry_run_execution_status #=> String
1025
1047
  # resp.next_token #=> String
1026
1048
  #
1027
1049
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanaries AWS API Documentation
@@ -1107,6 +1129,7 @@ module Aws::Synthetics
1107
1129
  # resp.canaries_last_run[0].last_run.timeline.started #=> Time
1108
1130
  # resp.canaries_last_run[0].last_run.timeline.completed #=> Time
1109
1131
  # resp.canaries_last_run[0].last_run.artifact_s3_location #=> String
1132
+ # resp.canaries_last_run[0].last_run.dry_run_config.dry_run_id #=> String
1110
1133
  # resp.next_token #=> String
1111
1134
  #
1112
1135
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DescribeCanariesLastRun AWS API Documentation
@@ -1207,6 +1230,10 @@ module Aws::Synthetics
1207
1230
  # @option params [required, String] :name
1208
1231
  # The name of the canary that you want details for.
1209
1232
  #
1233
+ # @option params [String] :dry_run_id
1234
+ # The DryRunId associated with an existing canary’s dry run. You can use
1235
+ # this DryRunId to retrieve information about the dry run.
1236
+ #
1210
1237
  # @return [Types::GetCanaryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1211
1238
  #
1212
1239
  # * {Types::GetCanaryResponse#canary #canary} => Types::Canary
@@ -1215,6 +1242,7 @@ module Aws::Synthetics
1215
1242
  #
1216
1243
  # resp = client.get_canary({
1217
1244
  # name: "CanaryName", # required
1245
+ # dry_run_id: "UUID",
1218
1246
  # })
1219
1247
  #
1220
1248
  # @example Response structure
@@ -1257,6 +1285,8 @@ module Aws::Synthetics
1257
1285
  # resp.canary.tags["TagKey"] #=> String
1258
1286
  # resp.canary.artifact_config.s3_encryption.encryption_mode #=> String, one of "SSE_S3", "SSE_KMS"
1259
1287
  # resp.canary.artifact_config.s3_encryption.kms_key_arn #=> String
1288
+ # resp.canary.dry_run_config.dry_run_id #=> String
1289
+ # resp.canary.dry_run_config.last_dry_run_execution_status #=> String
1260
1290
  #
1261
1291
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanary AWS API Documentation
1262
1292
  #
@@ -1282,6 +1312,23 @@ module Aws::Synthetics
1282
1312
  # you use the `GetCanaryRuns` operation. If you omit this parameter, the
1283
1313
  # default of 100 is used.
1284
1314
  #
1315
+ # @option params [String] :dry_run_id
1316
+ # The DryRunId associated with an existing canary’s dry run. You can use
1317
+ # this DryRunId to retrieve information about the dry run.
1318
+ #
1319
+ # @option params [String] :run_type
1320
+ # * When you provide `RunType=CANARY_RUN` and `dryRunId`, you will get
1321
+ # an exception
1322
+ #
1323
+ # * When a value is not provided for `RunType`, the default value is
1324
+ # `CANARY_RUN`
1325
+ #
1326
+ # * When `CANARY_RUN` is provided, all canary runs excluding dry runs
1327
+ # are returned
1328
+ #
1329
+ # * When `DRY_RUN` is provided, all dry runs excluding canary runs are
1330
+ # returned
1331
+ #
1285
1332
  # @return [Types::GetCanaryRunsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1286
1333
  #
1287
1334
  # * {Types::GetCanaryRunsResponse#canary_runs #canary_runs} => Array<Types::CanaryRun>
@@ -1295,6 +1342,8 @@ module Aws::Synthetics
1295
1342
  # name: "CanaryName", # required
1296
1343
  # next_token: "Token",
1297
1344
  # max_results: 1,
1345
+ # dry_run_id: "UUID",
1346
+ # run_type: "CANARY_RUN", # accepts CANARY_RUN, DRY_RUN
1298
1347
  # })
1299
1348
  #
1300
1349
  # @example Response structure
@@ -1308,6 +1357,7 @@ module Aws::Synthetics
1308
1357
  # resp.canary_runs[0].timeline.started #=> Time
1309
1358
  # resp.canary_runs[0].timeline.completed #=> Time
1310
1359
  # resp.canary_runs[0].artifact_s3_location #=> String
1360
+ # resp.canary_runs[0].dry_run_config.dry_run_id #=> String
1311
1361
  # resp.next_token #=> String
1312
1362
  #
1313
1363
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRuns AWS API Documentation
@@ -1562,6 +1612,198 @@ module Aws::Synthetics
1562
1612
  req.send_request(options)
1563
1613
  end
1564
1614
 
1615
+ # Use this operation to start a dry run for a canary that has already
1616
+ # been created
1617
+ #
1618
+ # @option params [required, String] :name
1619
+ # The name of the canary that you want to dry run. To find canary names,
1620
+ # use [DescribeCanaries][1].
1621
+ #
1622
+ #
1623
+ #
1624
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html
1625
+ #
1626
+ # @option params [Types::CanaryCodeInput] :code
1627
+ # Use this structure to input your script code for the canary. This
1628
+ # structure contains the Lambda handler with the location where the
1629
+ # canary should start running the script. If the script is stored in an
1630
+ # S3 bucket, the bucket name, key, and version are also included. If the
1631
+ # script was passed into the canary directly, the script code is
1632
+ # contained in the value of `Zipfile`.
1633
+ #
1634
+ # If you are uploading your canary scripts with an Amazon S3 bucket,
1635
+ # your zip file should include your script in a certain folder
1636
+ # structure.
1637
+ #
1638
+ # * For Node.js canaries, the folder structure must be
1639
+ # `nodejs/node_modules/myCanaryFilename.js ` For more information, see
1640
+ # [Packaging your Node.js canary files][1]
1641
+ #
1642
+ # * For Python canaries, the folder structure must be
1643
+ # `python/myCanaryFilename.py ` or
1644
+ # `python/myFolder/myCanaryFilename.py ` For more information, see
1645
+ # [Packaging your Python canary files][2]
1646
+ #
1647
+ #
1648
+ #
1649
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary_Nodejs.html#CloudWatch_Synthetics_Canaries_package
1650
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary_Python.html#CloudWatch_Synthetics_Canaries_WritingCanary_Python_package
1651
+ #
1652
+ # @option params [String] :runtime_version
1653
+ # Specifies the runtime version to use for the canary. For a list of
1654
+ # valid runtime versions and for more information about runtime
1655
+ # versions, see [ Canary Runtime Versions][1].
1656
+ #
1657
+ #
1658
+ #
1659
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html
1660
+ #
1661
+ # @option params [Types::CanaryRunConfigInput] :run_config
1662
+ # A structure that contains input information for a canary run.
1663
+ #
1664
+ # @option params [Types::VpcConfigInput] :vpc_config
1665
+ # If this canary is to test an endpoint in a VPC, this structure
1666
+ # contains information about the subnets and security groups of the VPC
1667
+ # endpoint. For more information, see [ Running a Canary in a VPC][1].
1668
+ #
1669
+ #
1670
+ #
1671
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html
1672
+ #
1673
+ # @option params [String] :execution_role_arn
1674
+ # The ARN of the IAM role to be used to run the canary. This role must
1675
+ # already exist, and must include `lambda.amazonaws.com` as a principal
1676
+ # in the trust policy. The role must also have the following
1677
+ # permissions:
1678
+ #
1679
+ # @option params [Integer] :success_retention_period_in_days
1680
+ # The number of days to retain data on the failed runs for this canary.
1681
+ # The valid range is 1 to 455 days.
1682
+ #
1683
+ # This setting affects the range of information returned by
1684
+ # [GetCanaryRuns][1], as well as the range of information displayed in
1685
+ # the Synthetics console.
1686
+ #
1687
+ #
1688
+ #
1689
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
1690
+ #
1691
+ # @option params [Integer] :failure_retention_period_in_days
1692
+ # The number of days to retain data on the failed runs for this canary.
1693
+ # The valid range is 1 to 455 days.
1694
+ #
1695
+ # This setting affects the range of information returned by
1696
+ # [GetCanaryRuns][1], as well as the range of information displayed in
1697
+ # the Synthetics console.
1698
+ #
1699
+ #
1700
+ #
1701
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
1702
+ #
1703
+ # @option params [Types::VisualReferenceInput] :visual_reference
1704
+ # An object that specifies what screenshots to use as a baseline for
1705
+ # visual monitoring by this canary. It can optionally also specify parts
1706
+ # of the screenshots to ignore during the visual monitoring comparison.
1707
+ #
1708
+ # Visual monitoring is supported only on canaries running the
1709
+ # **syn-puppeteer-node-3.2** runtime or later. For more information, see
1710
+ # [ Visual monitoring][1] and [ Visual monitoring blueprint][2]
1711
+ #
1712
+ #
1713
+ #
1714
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html
1715
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html
1716
+ #
1717
+ # @option params [String] :artifact_s3_location
1718
+ # The location in Amazon S3 where Synthetics stores artifacts from the
1719
+ # test runs of this canary. Artifacts include the log file, screenshots,
1720
+ # and HAR files. The name of the Amazon S3 bucket can't include a
1721
+ # period (.).
1722
+ #
1723
+ # @option params [Types::ArtifactConfigInput] :artifact_config
1724
+ # A structure that contains the configuration for canary artifacts,
1725
+ # including the encryption-at-rest settings for artifacts that the
1726
+ # canary uploads to Amazon S3.
1727
+ #
1728
+ # @option params [String] :provisioned_resource_cleanup
1729
+ # Specifies whether to also delete the Lambda functions and layers used
1730
+ # by this canary when the canary is deleted. If the value of this
1731
+ # parameter is `AUTOMATIC`, it means that the Lambda functions and
1732
+ # layers will be deleted when the canary is deleted.
1733
+ #
1734
+ # If the value of this parameter is `OFF`, then the value of the
1735
+ # `DeleteLambda` parameter of the [DeleteCanary][1] operation determines
1736
+ # whether the Lambda functions and layers will be deleted.
1737
+ #
1738
+ #
1739
+ #
1740
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html
1741
+ #
1742
+ # @return [Types::StartCanaryDryRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1743
+ #
1744
+ # * {Types::StartCanaryDryRunResponse#dry_run_config #dry_run_config} => Types::DryRunConfigOutput
1745
+ #
1746
+ # @example Request syntax with placeholder values
1747
+ #
1748
+ # resp = client.start_canary_dry_run({
1749
+ # name: "CanaryName", # required
1750
+ # code: {
1751
+ # s3_bucket: "String",
1752
+ # s3_key: "String",
1753
+ # s3_version: "String",
1754
+ # zip_file: "data",
1755
+ # handler: "CodeHandler", # required
1756
+ # },
1757
+ # runtime_version: "String",
1758
+ # run_config: {
1759
+ # timeout_in_seconds: 1,
1760
+ # memory_in_mb: 1,
1761
+ # active_tracing: false,
1762
+ # environment_variables: {
1763
+ # "EnvironmentVariableName" => "EnvironmentVariableValue",
1764
+ # },
1765
+ # },
1766
+ # vpc_config: {
1767
+ # subnet_ids: ["SubnetId"],
1768
+ # security_group_ids: ["SecurityGroupId"],
1769
+ # ipv_6_allowed_for_dual_stack: false,
1770
+ # },
1771
+ # execution_role_arn: "RoleArn",
1772
+ # success_retention_period_in_days: 1,
1773
+ # failure_retention_period_in_days: 1,
1774
+ # visual_reference: {
1775
+ # base_screenshots: [
1776
+ # {
1777
+ # screenshot_name: "String", # required
1778
+ # ignore_coordinates: ["BaseScreenshotConfigIgnoreCoordinate"],
1779
+ # },
1780
+ # ],
1781
+ # base_canary_run_id: "String", # required
1782
+ # },
1783
+ # artifact_s3_location: "String",
1784
+ # artifact_config: {
1785
+ # s3_encryption: {
1786
+ # encryption_mode: "SSE_S3", # accepts SSE_S3, SSE_KMS
1787
+ # kms_key_arn: "KmsKeyArn",
1788
+ # },
1789
+ # },
1790
+ # provisioned_resource_cleanup: "AUTOMATIC", # accepts AUTOMATIC, OFF
1791
+ # })
1792
+ #
1793
+ # @example Response structure
1794
+ #
1795
+ # resp.dry_run_config.dry_run_id #=> String
1796
+ # resp.dry_run_config.last_dry_run_execution_status #=> String
1797
+ #
1798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanaryDryRun AWS API Documentation
1799
+ #
1800
+ # @overload start_canary_dry_run(params = {})
1801
+ # @param [Hash] params ({})
1802
+ def start_canary_dry_run(params = {}, options = {})
1803
+ req = build_request(:start_canary_dry_run, params)
1804
+ req.send_request(options)
1805
+ end
1806
+
1565
1807
  # Stops the canary to prevent all future runs. If the canary is
1566
1808
  # currently running,the run that is in progress completes on its own,
1567
1809
  # publishes metrics, and uploads artifacts, but it is not recorded in
@@ -1684,6 +1926,12 @@ module Aws::Synthetics
1684
1926
  # canary. To change the tags of an existing canary, use
1685
1927
  # [TagResource][1].
1686
1928
  #
1929
+ # <note markdown="1"> When you use the `dryRunId` field when updating a canary, the only
1930
+ # other field you can provide is the `Schedule`. Adding any other field
1931
+ # will thrown an exception.
1932
+ #
1933
+ # </note>
1934
+ #
1687
1935
  #
1688
1936
  #
1689
1937
  # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_TagResource.html
@@ -1740,16 +1988,34 @@ module Aws::Synthetics
1740
1988
  # A structure that contains the timeout value that is used for each
1741
1989
  # individual run of the canary.
1742
1990
  #
1743
- # The environment variables keys and values are not encrypted. Do not
1744
- # store sensitive information in this field.
1991
+ # Environment variable keys and values are encrypted at rest using
1992
+ # Amazon Web Services owned KMS keys. However, the environment variables
1993
+ # are not encrypted on the client side. Do not store sensitive
1994
+ # information in them.
1745
1995
  #
1746
1996
  # @option params [Integer] :success_retention_period_in_days
1747
1997
  # The number of days to retain data about successful runs of this
1748
1998
  # canary.
1749
1999
  #
2000
+ # This setting affects the range of information returned by
2001
+ # [GetCanaryRuns][1], as well as the range of information displayed in
2002
+ # the Synthetics console.
2003
+ #
2004
+ #
2005
+ #
2006
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
2007
+ #
1750
2008
  # @option params [Integer] :failure_retention_period_in_days
1751
2009
  # The number of days to retain data about failed runs of this canary.
1752
2010
  #
2011
+ # This setting affects the range of information returned by
2012
+ # [GetCanaryRuns][1], as well as the range of information displayed in
2013
+ # the Synthetics console.
2014
+ #
2015
+ #
2016
+ #
2017
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
2018
+ #
1753
2019
  # @option params [Types::VpcConfigInput] :vpc_config
1754
2020
  # If this canary is to test an endpoint in a VPC, this structure
1755
2021
  # contains information about the subnet and security groups of the VPC
@@ -1796,6 +2062,16 @@ module Aws::Synthetics
1796
2062
  #
1797
2063
  # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html
1798
2064
  #
2065
+ # @option params [String] :dry_run_id
2066
+ # Update the existing canary using the updated configurations from the
2067
+ # DryRun associated with the DryRunId.
2068
+ #
2069
+ # <note markdown="1"> When you use the `dryRunId` field when updating a canary, the only
2070
+ # other field you can provide is the `Schedule`. Adding any other field
2071
+ # will thrown an exception.
2072
+ #
2073
+ # </note>
2074
+ #
1799
2075
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1800
2076
  #
1801
2077
  # @example Request syntax with placeholder values
@@ -1847,6 +2123,7 @@ module Aws::Synthetics
1847
2123
  # },
1848
2124
  # },
1849
2125
  # provisioned_resource_cleanup: "AUTOMATIC", # accepts AUTOMATIC, OFF
2126
+ # dry_run_id: "UUID",
1850
2127
  # })
1851
2128
  #
1852
2129
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanary AWS API Documentation
@@ -1876,7 +2153,7 @@ module Aws::Synthetics
1876
2153
  tracer: tracer
1877
2154
  )
1878
2155
  context[:gem_name] = 'aws-sdk-synthetics'
1879
- context[:gem_version] = '1.62.0'
2156
+ context[:gem_version] = '1.63.0'
1880
2157
  Seahorse::Client::Request.new(handlers, context)
1881
2158
  end
1882
2159
 
@@ -14,6 +14,7 @@ module Aws::Synthetics
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
18
  ArtifactConfigInput = Shapes::StructureShape.new(name: 'ArtifactConfigInput')
18
19
  ArtifactConfigOutput = Shapes::StructureShape.new(name: 'ArtifactConfigOutput')
19
20
  AssociateResourceRequest = Shapes::StructureShape.new(name: 'AssociateResourceRequest')
@@ -30,6 +31,7 @@ module Aws::Synthetics
30
31
  CanaryArn = Shapes::StringShape.new(name: 'CanaryArn')
31
32
  CanaryCodeInput = Shapes::StructureShape.new(name: 'CanaryCodeInput')
32
33
  CanaryCodeOutput = Shapes::StructureShape.new(name: 'CanaryCodeOutput')
34
+ CanaryDryRunConfigOutput = Shapes::StructureShape.new(name: 'CanaryDryRunConfigOutput')
33
35
  CanaryLastRun = Shapes::StructureShape.new(name: 'CanaryLastRun')
34
36
  CanaryName = Shapes::StringShape.new(name: 'CanaryName')
35
37
  CanaryRun = Shapes::StructureShape.new(name: 'CanaryRun')
@@ -66,6 +68,7 @@ module Aws::Synthetics
66
68
  DescribeRuntimeVersionsResponse = Shapes::StructureShape.new(name: 'DescribeRuntimeVersionsResponse')
67
69
  DisassociateResourceRequest = Shapes::StructureShape.new(name: 'DisassociateResourceRequest')
68
70
  DisassociateResourceResponse = Shapes::StructureShape.new(name: 'DisassociateResourceResponse')
71
+ DryRunConfigOutput = Shapes::StructureShape.new(name: 'DryRunConfigOutput')
69
72
  EncryptionMode = Shapes::StringShape.new(name: 'EncryptionMode')
70
73
  EnvironmentVariableName = Shapes::StringShape.new(name: 'EnvironmentVariableName')
71
74
  EnvironmentVariableValue = Shapes::StringShape.new(name: 'EnvironmentVariableValue')
@@ -112,12 +115,15 @@ module Aws::Synthetics
112
115
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
113
116
  ResourceToTag = Shapes::StringShape.new(name: 'ResourceToTag')
114
117
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
118
+ RunType = Shapes::StringShape.new(name: 'RunType')
115
119
  RuntimeVersion = Shapes::StructureShape.new(name: 'RuntimeVersion')
116
120
  RuntimeVersionList = Shapes::ListShape.new(name: 'RuntimeVersionList')
117
121
  S3EncryptionConfig = Shapes::StructureShape.new(name: 'S3EncryptionConfig')
118
122
  SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
119
123
  SecurityGroupIds = Shapes::ListShape.new(name: 'SecurityGroupIds')
120
124
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
125
+ StartCanaryDryRunRequest = Shapes::StructureShape.new(name: 'StartCanaryDryRunRequest')
126
+ StartCanaryDryRunResponse = Shapes::StructureShape.new(name: 'StartCanaryDryRunResponse')
121
127
  StartCanaryRequest = Shapes::StructureShape.new(name: 'StartCanaryRequest')
122
128
  StartCanaryResponse = Shapes::StructureShape.new(name: 'StartCanaryResponse')
123
129
  StopCanaryRequest = Shapes::StructureShape.new(name: 'StopCanaryRequest')
@@ -148,6 +154,9 @@ module Aws::Synthetics
148
154
  VpcId = Shapes::StringShape.new(name: 'VpcId')
149
155
  boolean = Shapes::BooleanShape.new(name: 'boolean')
150
156
 
157
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
158
+ AccessDeniedException.struct_class = Types::AccessDeniedException
159
+
151
160
  ArtifactConfigInput.add_member(:s3_encryption, Shapes::ShapeRef.new(shape: S3EncryptionConfig, location_name: "S3Encryption"))
152
161
  ArtifactConfigInput.struct_class = Types::ArtifactConfigInput
153
162
 
@@ -193,6 +202,7 @@ module Aws::Synthetics
193
202
  Canary.add_member(:provisioned_resource_cleanup, Shapes::ShapeRef.new(shape: ProvisionedResourceCleanupSetting, location_name: "ProvisionedResourceCleanup"))
194
203
  Canary.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "Tags"))
195
204
  Canary.add_member(:artifact_config, Shapes::ShapeRef.new(shape: ArtifactConfigOutput, location_name: "ArtifactConfig"))
205
+ Canary.add_member(:dry_run_config, Shapes::ShapeRef.new(shape: DryRunConfigOutput, location_name: "DryRunConfig"))
196
206
  Canary.struct_class = Types::Canary
197
207
 
198
208
  CanaryCodeInput.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: String, location_name: "S3Bucket"))
@@ -206,6 +216,9 @@ module Aws::Synthetics
206
216
  CanaryCodeOutput.add_member(:handler, Shapes::ShapeRef.new(shape: String, location_name: "Handler"))
207
217
  CanaryCodeOutput.struct_class = Types::CanaryCodeOutput
208
218
 
219
+ CanaryDryRunConfigOutput.add_member(:dry_run_id, Shapes::ShapeRef.new(shape: UUID, location_name: "DryRunId"))
220
+ CanaryDryRunConfigOutput.struct_class = Types::CanaryDryRunConfigOutput
221
+
209
222
  CanaryLastRun.add_member(:canary_name, Shapes::ShapeRef.new(shape: CanaryName, location_name: "CanaryName"))
210
223
  CanaryLastRun.add_member(:last_run, Shapes::ShapeRef.new(shape: CanaryRun, location_name: "LastRun"))
211
224
  CanaryLastRun.struct_class = Types::CanaryLastRun
@@ -215,6 +228,7 @@ module Aws::Synthetics
215
228
  CanaryRun.add_member(:status, Shapes::ShapeRef.new(shape: CanaryRunStatus, location_name: "Status"))
216
229
  CanaryRun.add_member(:timeline, Shapes::ShapeRef.new(shape: CanaryRunTimeline, location_name: "Timeline"))
217
230
  CanaryRun.add_member(:artifact_s3_location, Shapes::ShapeRef.new(shape: String, location_name: "ArtifactS3Location"))
231
+ CanaryRun.add_member(:dry_run_config, Shapes::ShapeRef.new(shape: CanaryDryRunConfigOutput, location_name: "DryRunConfig"))
218
232
  CanaryRun.struct_class = Types::CanaryRun
219
233
 
220
234
  CanaryRunConfigInput.add_member(:timeout_in_seconds, Shapes::ShapeRef.new(shape: MaxFifteenMinutesInSeconds, location_name: "TimeoutInSeconds"))
@@ -334,10 +348,15 @@ module Aws::Synthetics
334
348
 
335
349
  DisassociateResourceResponse.struct_class = Types::DisassociateResourceResponse
336
350
 
351
+ DryRunConfigOutput.add_member(:dry_run_id, Shapes::ShapeRef.new(shape: UUID, location_name: "DryRunId"))
352
+ DryRunConfigOutput.add_member(:last_dry_run_execution_status, Shapes::ShapeRef.new(shape: String, location_name: "LastDryRunExecutionStatus"))
353
+ DryRunConfigOutput.struct_class = Types::DryRunConfigOutput
354
+
337
355
  EnvironmentVariablesMap.key = Shapes::ShapeRef.new(shape: EnvironmentVariableName)
338
356
  EnvironmentVariablesMap.value = Shapes::ShapeRef.new(shape: EnvironmentVariableValue)
339
357
 
340
358
  GetCanaryRequest.add_member(:name, Shapes::ShapeRef.new(shape: CanaryName, required: true, location: "uri", location_name: "name"))
359
+ GetCanaryRequest.add_member(:dry_run_id, Shapes::ShapeRef.new(shape: UUID, location: "querystring", location_name: "dryRunId"))
341
360
  GetCanaryRequest.struct_class = Types::GetCanaryRequest
342
361
 
343
362
  GetCanaryResponse.add_member(:canary, Shapes::ShapeRef.new(shape: Canary, location_name: "Canary"))
@@ -346,6 +365,8 @@ module Aws::Synthetics
346
365
  GetCanaryRunsRequest.add_member(:name, Shapes::ShapeRef.new(shape: CanaryName, required: true, location: "uri", location_name: "name"))
347
366
  GetCanaryRunsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: Token, location_name: "NextToken"))
348
367
  GetCanaryRunsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxSize100, location_name: "MaxResults"))
368
+ GetCanaryRunsRequest.add_member(:dry_run_id, Shapes::ShapeRef.new(shape: UUID, location_name: "DryRunId"))
369
+ GetCanaryRunsRequest.add_member(:run_type, Shapes::ShapeRef.new(shape: RunType, location_name: "RunType"))
349
370
  GetCanaryRunsRequest.struct_class = Types::GetCanaryRunsRequest
350
371
 
351
372
  GetCanaryRunsResponse.add_member(:canary_runs, Shapes::ShapeRef.new(shape: CanaryRuns, location_name: "CanaryRuns"))
@@ -439,6 +460,23 @@ module Aws::Synthetics
439
460
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
440
461
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
441
462
 
463
+ StartCanaryDryRunRequest.add_member(:name, Shapes::ShapeRef.new(shape: CanaryName, required: true, location: "uri", location_name: "name"))
464
+ StartCanaryDryRunRequest.add_member(:code, Shapes::ShapeRef.new(shape: CanaryCodeInput, location_name: "Code"))
465
+ StartCanaryDryRunRequest.add_member(:runtime_version, Shapes::ShapeRef.new(shape: String, location_name: "RuntimeVersion"))
466
+ StartCanaryDryRunRequest.add_member(:run_config, Shapes::ShapeRef.new(shape: CanaryRunConfigInput, location_name: "RunConfig"))
467
+ StartCanaryDryRunRequest.add_member(:vpc_config, Shapes::ShapeRef.new(shape: VpcConfigInput, location_name: "VpcConfig"))
468
+ StartCanaryDryRunRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: RoleArn, location_name: "ExecutionRoleArn"))
469
+ StartCanaryDryRunRequest.add_member(:success_retention_period_in_days, Shapes::ShapeRef.new(shape: MaxSize1024, location_name: "SuccessRetentionPeriodInDays"))
470
+ StartCanaryDryRunRequest.add_member(:failure_retention_period_in_days, Shapes::ShapeRef.new(shape: MaxSize1024, location_name: "FailureRetentionPeriodInDays"))
471
+ StartCanaryDryRunRequest.add_member(:visual_reference, Shapes::ShapeRef.new(shape: VisualReferenceInput, location_name: "VisualReference"))
472
+ StartCanaryDryRunRequest.add_member(:artifact_s3_location, Shapes::ShapeRef.new(shape: String, location_name: "ArtifactS3Location"))
473
+ StartCanaryDryRunRequest.add_member(:artifact_config, Shapes::ShapeRef.new(shape: ArtifactConfigInput, location_name: "ArtifactConfig"))
474
+ StartCanaryDryRunRequest.add_member(:provisioned_resource_cleanup, Shapes::ShapeRef.new(shape: ProvisionedResourceCleanupSetting, location_name: "ProvisionedResourceCleanup"))
475
+ StartCanaryDryRunRequest.struct_class = Types::StartCanaryDryRunRequest
476
+
477
+ StartCanaryDryRunResponse.add_member(:dry_run_config, Shapes::ShapeRef.new(shape: DryRunConfigOutput, location_name: "DryRunConfig"))
478
+ StartCanaryDryRunResponse.struct_class = Types::StartCanaryDryRunResponse
479
+
442
480
  StartCanaryRequest.add_member(:name, Shapes::ShapeRef.new(shape: CanaryName, required: true, location: "uri", location_name: "name"))
443
481
  StartCanaryRequest.struct_class = Types::StartCanaryRequest
444
482
 
@@ -486,6 +524,7 @@ module Aws::Synthetics
486
524
  UpdateCanaryRequest.add_member(:artifact_s3_location, Shapes::ShapeRef.new(shape: String, location_name: "ArtifactS3Location"))
487
525
  UpdateCanaryRequest.add_member(:artifact_config, Shapes::ShapeRef.new(shape: ArtifactConfigInput, location_name: "ArtifactConfig"))
488
526
  UpdateCanaryRequest.add_member(:provisioned_resource_cleanup, Shapes::ShapeRef.new(shape: ProvisionedResourceCleanupSetting, location_name: "ProvisionedResourceCleanup"))
527
+ UpdateCanaryRequest.add_member(:dry_run_id, Shapes::ShapeRef.new(shape: UUID, location_name: "DryRunId"))
489
528
  UpdateCanaryRequest.struct_class = Types::UpdateCanaryRequest
490
529
 
491
530
  UpdateCanaryResponse.struct_class = Types::UpdateCanaryResponse
@@ -768,6 +807,19 @@ module Aws::Synthetics
768
807
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
769
808
  end)
770
809
 
810
+ api.add_operation(:start_canary_dry_run, Seahorse::Model::Operation.new.tap do |o|
811
+ o.name = "StartCanaryDryRun"
812
+ o.http_method = "POST"
813
+ o.http_request_uri = "/canary/{name}/dry-run/start"
814
+ o.input = Shapes::ShapeRef.new(shape: StartCanaryDryRunRequest)
815
+ o.output = Shapes::ShapeRef.new(shape: StartCanaryDryRunResponse)
816
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
817
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
818
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
819
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
820
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
821
+ end)
822
+
771
823
  api.add_operation(:stop_canary, Seahorse::Model::Operation.new.tap do |o|
772
824
  o.name = "StopCanary"
773
825
  o.http_method = "POST"
@@ -817,6 +869,7 @@ module Aws::Synthetics
817
869
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
818
870
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
819
871
  o.errors << Shapes::ShapeRef.new(shape: RequestEntityTooLargeException)
872
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
820
873
  end)
821
874
  end
822
875
 
@@ -27,6 +27,7 @@ module Aws::Synthetics
27
27
  # See {Seahorse::Client::RequestContext} for more information.
28
28
  #
29
29
  # ## Error Classes
30
+ # * {AccessDeniedException}
30
31
  # * {BadRequestException}
31
32
  # * {ConflictException}
32
33
  # * {InternalFailureException}
@@ -44,6 +45,21 @@ module Aws::Synthetics
44
45
 
45
46
  extend Aws::Errors::DynamicErrors
46
47
 
48
+ class AccessDeniedException < ServiceError
49
+
50
+ # @param [Seahorse::Client::RequestContext] context
51
+ # @param [String] message
52
+ # @param [Aws::Synthetics::Types::AccessDeniedException] data
53
+ def initialize(context, message, data = Aws::EmptyStructure.new)
54
+ super(context, message, data)
55
+ end
56
+
57
+ # @return [String]
58
+ def message
59
+ @message || @data[:message]
60
+ end
61
+ end
62
+
47
63
  class BadRequestException < ServiceError
48
64
 
49
65
  # @param [Seahorse::Client::RequestContext] context
@@ -10,6 +10,19 @@
10
10
  module Aws::Synthetics
11
11
  module Types
12
12
 
13
+ # You don't have permission to perform this operation on this resource.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
13
26
  # A structure that contains the configuration for canary artifacts,
14
27
  # including the encryption-at-rest settings for artifacts that the
15
28
  # canary uploads to Amazon S3.
@@ -150,10 +163,26 @@ module Aws::Synthetics
150
163
  # @!attribute [rw] success_retention_period_in_days
151
164
  # The number of days to retain data about successful runs of this
152
165
  # canary.
166
+ #
167
+ # This setting affects the range of information returned by
168
+ # [GetCanaryRuns][1], as well as the range of information displayed in
169
+ # the Synthetics console.
170
+ #
171
+ #
172
+ #
173
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
153
174
  # @return [Integer]
154
175
  #
155
176
  # @!attribute [rw] failure_retention_period_in_days
156
177
  # The number of days to retain data about failed runs of this canary.
178
+ #
179
+ # This setting affects the range of information returned by
180
+ # [GetCanaryRuns][1], as well as the range of information displayed in
181
+ # the Synthetics console.
182
+ #
183
+ #
184
+ #
185
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
157
186
  # @return [Integer]
158
187
  #
159
188
  # @!attribute [rw] status
@@ -234,6 +263,10 @@ module Aws::Synthetics
234
263
  # canary uploads to Amazon S3.
235
264
  # @return [Types::ArtifactConfigOutput]
236
265
  #
266
+ # @!attribute [rw] dry_run_config
267
+ # Returns the dry run configurations for a canary.
268
+ # @return [Types::DryRunConfigOutput]
269
+ #
237
270
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/Canary AWS API Documentation
238
271
  #
239
272
  class Canary < Struct.new(
@@ -254,7 +287,8 @@ module Aws::Synthetics
254
287
  :visual_reference,
255
288
  :provisioned_resource_cleanup,
256
289
  :tags,
257
- :artifact_config)
290
+ :artifact_config,
291
+ :dry_run_config)
258
292
  SENSITIVE = []
259
293
  include Aws::Structure
260
294
  end
@@ -275,8 +309,9 @@ module Aws::Synthetics
275
309
  # [Packaging your Node.js canary files][1]
276
310
  #
277
311
  # * For Python canaries, the folder structure must be
278
- # `python/myCanaryFilename.p ` or `python/myFolder/myCanaryFilename.py
279
- # ` For more information, see [Packaging your Python canary files][2]
312
+ # `python/myCanaryFilename.py ` or
313
+ # `python/myFolder/myCanaryFilename.py ` For more information, see
314
+ # [Packaging your Python canary files][2]
280
315
  #
281
316
  #
282
317
  #
@@ -355,6 +390,21 @@ module Aws::Synthetics
355
390
  include Aws::Structure
356
391
  end
357
392
 
393
+ # Returns the dry run configurations set for a canary.
394
+ #
395
+ # @!attribute [rw] dry_run_id
396
+ # The DryRunId associated with an existing canary’s dry run. You can
397
+ # use this DryRunId to retrieve information about the dry run.
398
+ # @return [String]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CanaryDryRunConfigOutput AWS API Documentation
401
+ #
402
+ class CanaryDryRunConfigOutput < Struct.new(
403
+ :dry_run_id)
404
+ SENSITIVE = []
405
+ include Aws::Structure
406
+ end
407
+
358
408
  # This structure contains information about the most recent run of a
359
409
  # single canary.
360
410
  #
@@ -398,6 +448,10 @@ module Aws::Synthetics
398
448
  # Artifacts include the log file, screenshots, and HAR files.
399
449
  # @return [String]
400
450
  #
451
+ # @!attribute [rw] dry_run_config
452
+ # Returns the dry run configurations for a canary.
453
+ # @return [Types::CanaryDryRunConfigOutput]
454
+ #
401
455
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/CanaryRun AWS API Documentation
402
456
  #
403
457
  class CanaryRun < Struct.new(
@@ -405,7 +459,8 @@ module Aws::Synthetics
405
459
  :name,
406
460
  :status,
407
461
  :timeline,
408
- :artifact_s3_location)
462
+ :artifact_s3_location,
463
+ :dry_run_config)
409
464
  SENSITIVE = []
410
465
  include Aws::Structure
411
466
  end
@@ -454,8 +509,10 @@ module Aws::Synthetics
454
509
  # for your environment variables. For more information about reserved
455
510
  # keys, see [ Runtime environment variables][1].
456
511
  #
457
- # The environment variables keys and values are not encrypted. Do not
458
- # store sensitive information in this field.
512
+ # Environment variable keys and values are encrypted at rest using
513
+ # Amazon Web Services owned KMS keys. However, the environment
514
+ # variables are not encrypted on the client side. Do not store
515
+ # sensitive information in them.
459
516
  #
460
517
  #
461
518
  #
@@ -758,20 +815,38 @@ module Aws::Synthetics
758
815
  # A structure that contains the configuration for individual canary
759
816
  # runs, such as timeout value and environment variables.
760
817
  #
761
- # The environment variables keys and values are not encrypted. Do not
762
- # store sensitive information in this field.
818
+ # Environment variable keys and values are encrypted at rest using
819
+ # Amazon Web Services owned KMS keys. However, the environment
820
+ # variables are not encrypted on the client side. Do not store
821
+ # sensitive information in them.
763
822
  # @return [Types::CanaryRunConfigInput]
764
823
  #
765
824
  # @!attribute [rw] success_retention_period_in_days
766
825
  # The number of days to retain data about successful runs of this
767
826
  # canary. If you omit this field, the default of 31 days is used. The
768
827
  # valid range is 1 to 455 days.
828
+ #
829
+ # This setting affects the range of information returned by
830
+ # [GetCanaryRuns][1], as well as the range of information displayed in
831
+ # the Synthetics console.
832
+ #
833
+ #
834
+ #
835
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
769
836
  # @return [Integer]
770
837
  #
771
838
  # @!attribute [rw] failure_retention_period_in_days
772
839
  # The number of days to retain data about failed runs of this canary.
773
840
  # If you omit this field, the default of 31 days is used. The valid
774
841
  # range is 1 to 455 days.
842
+ #
843
+ # This setting affects the range of information returned by
844
+ # [GetCanaryRuns][1], as well as the range of information displayed in
845
+ # the Synthetics console.
846
+ #
847
+ #
848
+ #
849
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
775
850
  # @return [Integer]
776
851
  #
777
852
  # @!attribute [rw] runtime_version
@@ -1148,14 +1223,40 @@ module Aws::Synthetics
1148
1223
  #
1149
1224
  class DisassociateResourceResponse < Aws::EmptyStructure; end
1150
1225
 
1226
+ # Returns the dry run configurations set for a canary.
1227
+ #
1228
+ # @!attribute [rw] dry_run_id
1229
+ # The DryRunId associated with an existing canary’s dry run. You can
1230
+ # use this DryRunId to retrieve information about the dry run.
1231
+ # @return [String]
1232
+ #
1233
+ # @!attribute [rw] last_dry_run_execution_status
1234
+ # Returns the last execution status for a canary's dry run.
1235
+ # @return [String]
1236
+ #
1237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/DryRunConfigOutput AWS API Documentation
1238
+ #
1239
+ class DryRunConfigOutput < Struct.new(
1240
+ :dry_run_id,
1241
+ :last_dry_run_execution_status)
1242
+ SENSITIVE = []
1243
+ include Aws::Structure
1244
+ end
1245
+
1151
1246
  # @!attribute [rw] name
1152
1247
  # The name of the canary that you want details for.
1153
1248
  # @return [String]
1154
1249
  #
1250
+ # @!attribute [rw] dry_run_id
1251
+ # The DryRunId associated with an existing canary’s dry run. You can
1252
+ # use this DryRunId to retrieve information about the dry run.
1253
+ # @return [String]
1254
+ #
1155
1255
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRequest AWS API Documentation
1156
1256
  #
1157
1257
  class GetCanaryRequest < Struct.new(
1158
- :name)
1258
+ :name,
1259
+ :dry_run_id)
1159
1260
  SENSITIVE = []
1160
1261
  include Aws::Structure
1161
1262
  end
@@ -1188,12 +1289,33 @@ module Aws::Synthetics
1188
1289
  # the default of 100 is used.
1189
1290
  # @return [Integer]
1190
1291
  #
1292
+ # @!attribute [rw] dry_run_id
1293
+ # The DryRunId associated with an existing canary’s dry run. You can
1294
+ # use this DryRunId to retrieve information about the dry run.
1295
+ # @return [String]
1296
+ #
1297
+ # @!attribute [rw] run_type
1298
+ # * When you provide `RunType=CANARY_RUN` and `dryRunId`, you will get
1299
+ # an exception
1300
+ #
1301
+ # * When a value is not provided for `RunType`, the default value is
1302
+ # `CANARY_RUN`
1303
+ #
1304
+ # * When `CANARY_RUN` is provided, all canary runs excluding dry runs
1305
+ # are returned
1306
+ #
1307
+ # * When `DRY_RUN` is provided, all dry runs excluding canary runs are
1308
+ # returned
1309
+ # @return [String]
1310
+ #
1191
1311
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/GetCanaryRunsRequest AWS API Documentation
1192
1312
  #
1193
1313
  class GetCanaryRunsRequest < Struct.new(
1194
1314
  :name,
1195
1315
  :next_token,
1196
- :max_results)
1316
+ :max_results,
1317
+ :dry_run_id,
1318
+ :run_type)
1197
1319
  SENSITIVE = []
1198
1320
  include Aws::Structure
1199
1321
  end
@@ -1623,6 +1745,175 @@ module Aws::Synthetics
1623
1745
  include Aws::Structure
1624
1746
  end
1625
1747
 
1748
+ # @!attribute [rw] name
1749
+ # The name of the canary that you want to dry run. To find canary
1750
+ # names, use [DescribeCanaries][1].
1751
+ #
1752
+ #
1753
+ #
1754
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DescribeCanaries.html
1755
+ # @return [String]
1756
+ #
1757
+ # @!attribute [rw] code
1758
+ # Use this structure to input your script code for the canary. This
1759
+ # structure contains the Lambda handler with the location where the
1760
+ # canary should start running the script. If the script is stored in
1761
+ # an S3 bucket, the bucket name, key, and version are also included.
1762
+ # If the script was passed into the canary directly, the script code
1763
+ # is contained in the value of `Zipfile`.
1764
+ #
1765
+ # If you are uploading your canary scripts with an Amazon S3 bucket,
1766
+ # your zip file should include your script in a certain folder
1767
+ # structure.
1768
+ #
1769
+ # * For Node.js canaries, the folder structure must be
1770
+ # `nodejs/node_modules/myCanaryFilename.js ` For more information,
1771
+ # see [Packaging your Node.js canary files][1]
1772
+ #
1773
+ # * For Python canaries, the folder structure must be
1774
+ # `python/myCanaryFilename.py ` or
1775
+ # `python/myFolder/myCanaryFilename.py ` For more information, see
1776
+ # [Packaging your Python canary files][2]
1777
+ #
1778
+ #
1779
+ #
1780
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary_Nodejs.html#CloudWatch_Synthetics_Canaries_package
1781
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_WritingCanary_Python.html#CloudWatch_Synthetics_Canaries_WritingCanary_Python_package
1782
+ # @return [Types::CanaryCodeInput]
1783
+ #
1784
+ # @!attribute [rw] runtime_version
1785
+ # Specifies the runtime version to use for the canary. For a list of
1786
+ # valid runtime versions and for more information about runtime
1787
+ # versions, see [ Canary Runtime Versions][1].
1788
+ #
1789
+ #
1790
+ #
1791
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Library.html
1792
+ # @return [String]
1793
+ #
1794
+ # @!attribute [rw] run_config
1795
+ # A structure that contains input information for a canary run.
1796
+ # @return [Types::CanaryRunConfigInput]
1797
+ #
1798
+ # @!attribute [rw] vpc_config
1799
+ # If this canary is to test an endpoint in a VPC, this structure
1800
+ # contains information about the subnets and security groups of the
1801
+ # VPC endpoint. For more information, see [ Running a Canary in a
1802
+ # VPC][1].
1803
+ #
1804
+ #
1805
+ #
1806
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_VPC.html
1807
+ # @return [Types::VpcConfigInput]
1808
+ #
1809
+ # @!attribute [rw] execution_role_arn
1810
+ # The ARN of the IAM role to be used to run the canary. This role must
1811
+ # already exist, and must include `lambda.amazonaws.com` as a
1812
+ # principal in the trust policy. The role must also have the following
1813
+ # permissions:
1814
+ # @return [String]
1815
+ #
1816
+ # @!attribute [rw] success_retention_period_in_days
1817
+ # The number of days to retain data on the failed runs for this
1818
+ # canary. The valid range is 1 to 455 days.
1819
+ #
1820
+ # This setting affects the range of information returned by
1821
+ # [GetCanaryRuns][1], as well as the range of information displayed in
1822
+ # the Synthetics console.
1823
+ #
1824
+ #
1825
+ #
1826
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
1827
+ # @return [Integer]
1828
+ #
1829
+ # @!attribute [rw] failure_retention_period_in_days
1830
+ # The number of days to retain data on the failed runs for this
1831
+ # canary. The valid range is 1 to 455 days.
1832
+ #
1833
+ # This setting affects the range of information returned by
1834
+ # [GetCanaryRuns][1], as well as the range of information displayed in
1835
+ # the Synthetics console.
1836
+ #
1837
+ #
1838
+ #
1839
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
1840
+ # @return [Integer]
1841
+ #
1842
+ # @!attribute [rw] visual_reference
1843
+ # An object that specifies what screenshots to use as a baseline for
1844
+ # visual monitoring by this canary. It can optionally also specify
1845
+ # parts of the screenshots to ignore during the visual monitoring
1846
+ # comparison.
1847
+ #
1848
+ # Visual monitoring is supported only on canaries running the
1849
+ # **syn-puppeteer-node-3.2** runtime or later. For more information,
1850
+ # see [ Visual monitoring][1] and [ Visual monitoring blueprint][2]
1851
+ #
1852
+ #
1853
+ #
1854
+ # [1]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Library_SyntheticsLogger_VisualTesting.html
1855
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Blueprints_VisualTesting.html
1856
+ # @return [Types::VisualReferenceInput]
1857
+ #
1858
+ # @!attribute [rw] artifact_s3_location
1859
+ # The location in Amazon S3 where Synthetics stores artifacts from the
1860
+ # test runs of this canary. Artifacts include the log file,
1861
+ # screenshots, and HAR files. The name of the Amazon S3 bucket can't
1862
+ # include a period (.).
1863
+ # @return [String]
1864
+ #
1865
+ # @!attribute [rw] artifact_config
1866
+ # A structure that contains the configuration for canary artifacts,
1867
+ # including the encryption-at-rest settings for artifacts that the
1868
+ # canary uploads to Amazon S3.
1869
+ # @return [Types::ArtifactConfigInput]
1870
+ #
1871
+ # @!attribute [rw] provisioned_resource_cleanup
1872
+ # Specifies whether to also delete the Lambda functions and layers
1873
+ # used by this canary when the canary is deleted. If the value of this
1874
+ # parameter is `AUTOMATIC`, it means that the Lambda functions and
1875
+ # layers will be deleted when the canary is deleted.
1876
+ #
1877
+ # If the value of this parameter is `OFF`, then the value of the
1878
+ # `DeleteLambda` parameter of the [DeleteCanary][1] operation
1879
+ # determines whether the Lambda functions and layers will be deleted.
1880
+ #
1881
+ #
1882
+ #
1883
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html
1884
+ # @return [String]
1885
+ #
1886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanaryDryRunRequest AWS API Documentation
1887
+ #
1888
+ class StartCanaryDryRunRequest < Struct.new(
1889
+ :name,
1890
+ :code,
1891
+ :runtime_version,
1892
+ :run_config,
1893
+ :vpc_config,
1894
+ :execution_role_arn,
1895
+ :success_retention_period_in_days,
1896
+ :failure_retention_period_in_days,
1897
+ :visual_reference,
1898
+ :artifact_s3_location,
1899
+ :artifact_config,
1900
+ :provisioned_resource_cleanup)
1901
+ SENSITIVE = []
1902
+ include Aws::Structure
1903
+ end
1904
+
1905
+ # @!attribute [rw] dry_run_config
1906
+ # Returns the dry run configurations for a canary.
1907
+ # @return [Types::DryRunConfigOutput]
1908
+ #
1909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/StartCanaryDryRunResponse AWS API Documentation
1910
+ #
1911
+ class StartCanaryDryRunResponse < Struct.new(
1912
+ :dry_run_config)
1913
+ SENSITIVE = []
1914
+ include Aws::Structure
1915
+ end
1916
+
1626
1917
  # @!attribute [rw] name
1627
1918
  # The name of the canary that you want to run. To find canary names,
1628
1919
  # use [DescribeCanaries][1].
@@ -1790,17 +2081,35 @@ module Aws::Synthetics
1790
2081
  # A structure that contains the timeout value that is used for each
1791
2082
  # individual run of the canary.
1792
2083
  #
1793
- # The environment variables keys and values are not encrypted. Do not
1794
- # store sensitive information in this field.
2084
+ # Environment variable keys and values are encrypted at rest using
2085
+ # Amazon Web Services owned KMS keys. However, the environment
2086
+ # variables are not encrypted on the client side. Do not store
2087
+ # sensitive information in them.
1795
2088
  # @return [Types::CanaryRunConfigInput]
1796
2089
  #
1797
2090
  # @!attribute [rw] success_retention_period_in_days
1798
2091
  # The number of days to retain data about successful runs of this
1799
2092
  # canary.
2093
+ #
2094
+ # This setting affects the range of information returned by
2095
+ # [GetCanaryRuns][1], as well as the range of information displayed in
2096
+ # the Synthetics console.
2097
+ #
2098
+ #
2099
+ #
2100
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
1800
2101
  # @return [Integer]
1801
2102
  #
1802
2103
  # @!attribute [rw] failure_retention_period_in_days
1803
2104
  # The number of days to retain data about failed runs of this canary.
2105
+ #
2106
+ # This setting affects the range of information returned by
2107
+ # [GetCanaryRuns][1], as well as the range of information displayed in
2108
+ # the Synthetics console.
2109
+ #
2110
+ #
2111
+ #
2112
+ # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_GetCanaryRuns.html
1804
2113
  # @return [Integer]
1805
2114
  #
1806
2115
  # @!attribute [rw] vpc_config
@@ -1855,6 +2164,17 @@ module Aws::Synthetics
1855
2164
  # [1]: https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_DeleteCanary.html
1856
2165
  # @return [String]
1857
2166
  #
2167
+ # @!attribute [rw] dry_run_id
2168
+ # Update the existing canary using the updated configurations from the
2169
+ # DryRun associated with the DryRunId.
2170
+ #
2171
+ # <note markdown="1"> When you use the `dryRunId` field when updating a canary, the only
2172
+ # other field you can provide is the `Schedule`. Adding any other
2173
+ # field will thrown an exception.
2174
+ #
2175
+ # </note>
2176
+ # @return [String]
2177
+ #
1858
2178
  # @see http://docs.aws.amazon.com/goto/WebAPI/synthetics-2017-10-11/UpdateCanaryRequest AWS API Documentation
1859
2179
  #
1860
2180
  class UpdateCanaryRequest < Struct.new(
@@ -1870,7 +2190,8 @@ module Aws::Synthetics
1870
2190
  :visual_reference,
1871
2191
  :artifact_s3_location,
1872
2192
  :artifact_config,
1873
- :provisioned_resource_cleanup)
2193
+ :provisioned_resource_cleanup,
2194
+ :dry_run_id)
1874
2195
  SENSITIVE = []
1875
2196
  include Aws::Structure
1876
2197
  end
@@ -54,7 +54,7 @@ module Aws::Synthetics
54
54
  autoload :EndpointProvider, 'aws-sdk-synthetics/endpoint_provider'
55
55
  autoload :Endpoints, 'aws-sdk-synthetics/endpoints'
56
56
 
57
- GEM_VERSION = '1.62.0'
57
+ GEM_VERSION = '1.63.0'
58
58
 
59
59
  end
60
60
 
data/sig/client.rbs CHANGED
@@ -217,7 +217,8 @@ module Aws
217
217
  end
218
218
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Synthetics/Client.html#get_canary-instance_method
219
219
  def get_canary: (
220
- name: ::String
220
+ name: ::String,
221
+ ?dry_run_id: ::String
221
222
  ) -> _GetCanaryResponseSuccess
222
223
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetCanaryResponseSuccess
223
224
 
@@ -230,7 +231,9 @@ module Aws
230
231
  def get_canary_runs: (
231
232
  name: ::String,
232
233
  ?next_token: ::String,
233
- ?max_results: ::Integer
234
+ ?max_results: ::Integer,
235
+ ?dry_run_id: ::String,
236
+ ?run_type: ("CANARY_RUN" | "DRY_RUN")
234
237
  ) -> _GetCanaryRunsResponseSuccess
235
238
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetCanaryRunsResponseSuccess
236
239
 
@@ -301,6 +304,55 @@ module Aws
301
304
  ) -> _StartCanaryResponseSuccess
302
305
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StartCanaryResponseSuccess
303
306
 
307
+ interface _StartCanaryDryRunResponseSuccess
308
+ include ::Seahorse::Client::_ResponseSuccess[Types::StartCanaryDryRunResponse]
309
+ def dry_run_config: () -> Types::DryRunConfigOutput
310
+ end
311
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/Synthetics/Client.html#start_canary_dry_run-instance_method
312
+ def start_canary_dry_run: (
313
+ name: ::String,
314
+ ?code: {
315
+ s3_bucket: ::String?,
316
+ s3_key: ::String?,
317
+ s3_version: ::String?,
318
+ zip_file: ::String?,
319
+ handler: ::String
320
+ },
321
+ ?runtime_version: ::String,
322
+ ?run_config: {
323
+ timeout_in_seconds: ::Integer?,
324
+ memory_in_mb: ::Integer?,
325
+ active_tracing: bool?,
326
+ environment_variables: Hash[::String, ::String]?
327
+ },
328
+ ?vpc_config: {
329
+ subnet_ids: Array[::String]?,
330
+ security_group_ids: Array[::String]?,
331
+ ipv_6_allowed_for_dual_stack: bool?
332
+ },
333
+ ?execution_role_arn: ::String,
334
+ ?success_retention_period_in_days: ::Integer,
335
+ ?failure_retention_period_in_days: ::Integer,
336
+ ?visual_reference: {
337
+ base_screenshots: Array[
338
+ {
339
+ screenshot_name: ::String,
340
+ ignore_coordinates: Array[::String]?
341
+ },
342
+ ]?,
343
+ base_canary_run_id: ::String
344
+ },
345
+ ?artifact_s3_location: ::String,
346
+ ?artifact_config: {
347
+ s3_encryption: {
348
+ encryption_mode: ("SSE_S3" | "SSE_KMS")?,
349
+ kms_key_arn: ::String?
350
+ }?
351
+ },
352
+ ?provisioned_resource_cleanup: ("AUTOMATIC" | "OFF")
353
+ ) -> _StartCanaryDryRunResponseSuccess
354
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StartCanaryDryRunResponseSuccess
355
+
304
356
  interface _StopCanaryResponseSuccess
305
357
  include ::Seahorse::Client::_ResponseSuccess[Types::StopCanaryResponse]
306
358
  end
@@ -378,7 +430,8 @@ module Aws
378
430
  kms_key_arn: ::String?
379
431
  }?
380
432
  },
381
- ?provisioned_resource_cleanup: ("AUTOMATIC" | "OFF")
433
+ ?provisioned_resource_cleanup: ("AUTOMATIC" | "OFF"),
434
+ ?dry_run_id: ::String
382
435
  ) -> _UpdateCanaryResponseSuccess
383
436
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateCanaryResponseSuccess
384
437
  end
data/sig/errors.rbs CHANGED
@@ -11,6 +11,9 @@ module Aws
11
11
  class ServiceError < ::Aws::Errors::ServiceError
12
12
  end
13
13
 
14
+ class AccessDeniedException < ::Aws::Errors::ServiceError
15
+ def message: () -> ::String
16
+ end
14
17
  class BadRequestException < ::Aws::Errors::ServiceError
15
18
  def message: () -> ::String
16
19
  end
data/sig/types.rbs CHANGED
@@ -8,6 +8,11 @@
8
8
  module Aws::Synthetics
9
9
  module Types
10
10
 
11
+ class AccessDeniedException
12
+ attr_accessor message: ::String
13
+ SENSITIVE: []
14
+ end
15
+
11
16
  class ArtifactConfigInput
12
17
  attr_accessor s3_encryption: Types::S3EncryptionConfig
13
18
  SENSITIVE: []
@@ -57,6 +62,7 @@ module Aws::Synthetics
57
62
  attr_accessor provisioned_resource_cleanup: ("AUTOMATIC" | "OFF")
58
63
  attr_accessor tags: ::Hash[::String, ::String]
59
64
  attr_accessor artifact_config: Types::ArtifactConfigOutput
65
+ attr_accessor dry_run_config: Types::DryRunConfigOutput
60
66
  SENSITIVE: []
61
67
  end
62
68
 
@@ -75,6 +81,11 @@ module Aws::Synthetics
75
81
  SENSITIVE: []
76
82
  end
77
83
 
84
+ class CanaryDryRunConfigOutput
85
+ attr_accessor dry_run_id: ::String
86
+ SENSITIVE: []
87
+ end
88
+
78
89
  class CanaryLastRun
79
90
  attr_accessor canary_name: ::String
80
91
  attr_accessor last_run: Types::CanaryRun
@@ -87,6 +98,7 @@ module Aws::Synthetics
87
98
  attr_accessor status: Types::CanaryRunStatus
88
99
  attr_accessor timeline: Types::CanaryRunTimeline
89
100
  attr_accessor artifact_s3_location: ::String
101
+ attr_accessor dry_run_config: Types::CanaryDryRunConfigOutput
90
102
  SENSITIVE: []
91
103
  end
92
104
 
@@ -248,8 +260,15 @@ module Aws::Synthetics
248
260
  class DisassociateResourceResponse < Aws::EmptyStructure
249
261
  end
250
262
 
263
+ class DryRunConfigOutput
264
+ attr_accessor dry_run_id: ::String
265
+ attr_accessor last_dry_run_execution_status: ::String
266
+ SENSITIVE: []
267
+ end
268
+
251
269
  class GetCanaryRequest
252
270
  attr_accessor name: ::String
271
+ attr_accessor dry_run_id: ::String
253
272
  SENSITIVE: []
254
273
  end
255
274
 
@@ -262,6 +281,8 @@ module Aws::Synthetics
262
281
  attr_accessor name: ::String
263
282
  attr_accessor next_token: ::String
264
283
  attr_accessor max_results: ::Integer
284
+ attr_accessor dry_run_id: ::String
285
+ attr_accessor run_type: ("CANARY_RUN" | "DRY_RUN")
265
286
  SENSITIVE: []
266
287
  end
267
288
 
@@ -390,6 +411,27 @@ module Aws::Synthetics
390
411
  SENSITIVE: []
391
412
  end
392
413
 
414
+ class StartCanaryDryRunRequest
415
+ attr_accessor name: ::String
416
+ attr_accessor code: Types::CanaryCodeInput
417
+ attr_accessor runtime_version: ::String
418
+ attr_accessor run_config: Types::CanaryRunConfigInput
419
+ attr_accessor vpc_config: Types::VpcConfigInput
420
+ attr_accessor execution_role_arn: ::String
421
+ attr_accessor success_retention_period_in_days: ::Integer
422
+ attr_accessor failure_retention_period_in_days: ::Integer
423
+ attr_accessor visual_reference: Types::VisualReferenceInput
424
+ attr_accessor artifact_s3_location: ::String
425
+ attr_accessor artifact_config: Types::ArtifactConfigInput
426
+ attr_accessor provisioned_resource_cleanup: ("AUTOMATIC" | "OFF")
427
+ SENSITIVE: []
428
+ end
429
+
430
+ class StartCanaryDryRunResponse
431
+ attr_accessor dry_run_config: Types::DryRunConfigOutput
432
+ SENSITIVE: []
433
+ end
434
+
393
435
  class StartCanaryRequest
394
436
  attr_accessor name: ::String
395
437
  SENSITIVE: []
@@ -443,6 +485,7 @@ module Aws::Synthetics
443
485
  attr_accessor artifact_s3_location: ::String
444
486
  attr_accessor artifact_config: Types::ArtifactConfigInput
445
487
  attr_accessor provisioned_resource_cleanup: ("AUTOMATIC" | "OFF")
488
+ attr_accessor dry_run_id: ::String
446
489
  SENSITIVE: []
447
490
  end
448
491
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-synthetics
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.62.0
4
+ version: 1.63.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services