aws-sdk-datasync 1.51.0 → 1.53.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 834afed6c781d0600198e3e95b99662139759891bbada49626c6fa76d0bc1df3
4
- data.tar.gz: 140b5fae38f5b7b711b375c98ae558592d5cbdf44452e2167e542dab7f7150c4
3
+ metadata.gz: bda7f8add30800b242b5a88e11ff322675531eebe12557ea5778467e40f5dfc5
4
+ data.tar.gz: 81a85eba21bb83f69233fc6d310886ff787222d3a4267fa677c7115e6742b72c
5
5
  SHA512:
6
- metadata.gz: 583750dafb02db329bcc0a3e427c5e4f878187765866b38345d6b482a8ba6802a3fc90dedff14da9a717325ecbc479da92fb376c5d37a1297cb089fc8e530500
7
- data.tar.gz: 2cdf4ca20a5c3789e66f85820c14c854ed68e630280194fd1ba9b0e7cc1b1222e92d0c72ce2460a2084e03d25c878a233f50c1afcbabbde97e94c7dcd928c492
6
+ metadata.gz: f452de2c3cf9e85d440bcb51d86d232f956f0e43ea496e88d9f2ddbfd61e018e0f6bf995e88d48c403dc1cb7ba2316128d8e5605fddee06b4b2f58824cf09999
7
+ data.tar.gz: 9f07888df256f90b54f78a52f18453811cccb467cee4e2ea1212e07e33c226a132419bbcc547fff32b8a372abeaa9e8b2f75759044a3e3ea45374dac3afeef08
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.53.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.52.0 (2022-12-16)
12
+ ------------------
13
+
14
+ * Feature - AWS DataSync now supports the use of tags with task executions. With this new feature, you can apply tags each time you execute a task, giving you greater control and management over your task executions.
15
+
4
16
  1.51.0 (2022-10-25)
5
17
  ------------------
6
18
 
@@ -265,4 +277,4 @@ Unreleased Changes
265
277
  1.0.0 (2018-11-26)
266
278
  ------------------
267
279
 
268
- * Feature - Initial release of `aws-sdk-datasync`.
280
+ * Feature - Initial release of `aws-sdk-datasync`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.51.0
1
+ 1.53.0
@@ -1323,7 +1323,7 @@ module Aws::DataSync
1323
1323
  # resp = client.create_location_s3({
1324
1324
  # subdirectory: "S3Subdirectory",
1325
1325
  # s3_bucket_arn: "S3BucketArn", # required
1326
- # s3_storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1326
+ # s3_storage_class: "STANDARD", # accepts STANDARD, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS, GLACIER_INSTANT_RETRIEVAL
1327
1327
  # s3_config: { # required
1328
1328
  # bucket_access_role_arn: "IamRoleArn", # required
1329
1329
  # },
@@ -1455,21 +1455,6 @@ module Aws::DataSync
1455
1455
  # preferences for how and when you want to transfer your data (such as
1456
1456
  # bandwidth limits, scheduling, among other options).
1457
1457
  #
1458
- # When you create a task that transfers data between Amazon Web Services
1459
- # services in different Amazon Web Services Regions, one of your
1460
- # locations must reside in the Region where you're using DataSync.
1461
- #
1462
- # For more information, see the following topics:
1463
- #
1464
- # * [Working with DataSync locations][1]
1465
- #
1466
- # * [Configure DataSync task settings][2]
1467
- #
1468
- #
1469
- #
1470
- # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/working-with-locations.html
1471
- # [2]: https://docs.aws.amazon.com/datasync/latest/userguide/create-task.html
1472
- #
1473
1458
  # @option params [required, String] :source_location_arn
1474
1459
  # The Amazon Resource Name (ARN) of the source location for the task.
1475
1460
  #
@@ -1486,25 +1471,25 @@ module Aws::DataSync
1486
1471
  # identify the task in the console.
1487
1472
  #
1488
1473
  # @option params [Types::Options] :options
1489
- # The set of configuration options that control the behavior of a single
1490
- # execution of the task that occurs when you call `StartTaskExecution`.
1491
- # You can configure these options to preserve metadata such as user ID
1492
- # (UID) and group ID (GID), file permissions, data integrity
1493
- # verification, and so on.
1474
+ # Specifies the configuration options for a task. Some options include
1475
+ # preserving file or object metadata and verifying data integrity.
1494
1476
  #
1495
- # For each individual task execution, you can override these options by
1496
- # specifying the `OverrideOptions` before starting the task execution.
1497
- # For more information, see the [StartTaskExecution][1] operation.
1477
+ # You can also override these options before starting an individual run
1478
+ # of a task (also known as a *task execution*). For more information,
1479
+ # see [StartTaskExecution][1].
1498
1480
  #
1499
1481
  #
1500
1482
  #
1501
1483
  # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html
1502
1484
  #
1503
1485
  # @option params [Array<Types::FilterRule>] :excludes
1504
- # A list of filter rules that determines which files to exclude from a
1505
- # task. The list should contain a single filter string that consists of
1506
- # the patterns to exclude. The patterns are delimited by "\|" (that
1507
- # is, a pipe), for example, `"/folder1|/folder2"`.
1486
+ # Specifies a list of filter rules that exclude specific data during
1487
+ # your transfer. For more information and examples, see [Filtering data
1488
+ # transferred by DataSync][1].
1489
+ #
1490
+ #
1491
+ #
1492
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
1508
1493
  #
1509
1494
  # @option params [Types::TaskSchedule] :schedule
1510
1495
  # Specifies a schedule used to periodically transfer files from a source
@@ -1516,14 +1501,20 @@ module Aws::DataSync
1516
1501
  # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/task-scheduling.html
1517
1502
  #
1518
1503
  # @option params [Array<Types::TagListEntry>] :tags
1519
- # The key-value pair that represents the tag that you want to add to the
1520
- # resource. The value can be an empty string.
1504
+ # Specifies the tags that you want to apply to the Amazon Resource Name
1505
+ # (ARN) representing the task.
1506
+ #
1507
+ # *Tags* are key-value pairs that help you manage, filter, and search
1508
+ # for your DataSync resources.
1521
1509
  #
1522
1510
  # @option params [Array<Types::FilterRule>] :includes
1523
- # A list of filter rules that determines which files to include when
1524
- # running a task. The pattern contains a single filter string that
1525
- # consists of the patterns to include. The patterns are delimited by
1526
- # "\|" (that is, a pipe), for example, `"/folder1|/folder2"`.
1511
+ # Specifies a list of filter rules that include specific data during
1512
+ # your transfer. For more information and examples, see [Filtering data
1513
+ # transferred by DataSync][1].
1514
+ #
1515
+ #
1516
+ #
1517
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
1527
1518
  #
1528
1519
  # @return [Types::CreateTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1529
1520
  #
@@ -1639,10 +1630,11 @@ module Aws::DataSync
1639
1630
  req.send_request(options)
1640
1631
  end
1641
1632
 
1642
- # Deletes a task.
1633
+ # Deletes an DataSync task.
1643
1634
  #
1644
1635
  # @option params [required, String] :task_arn
1645
- # The Amazon Resource Name (ARN) of the task to delete.
1636
+ # Specifies the Amazon Resource Name (ARN) of the task that you want to
1637
+ # delete.
1646
1638
  #
1647
1639
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1648
1640
  #
@@ -2095,7 +2087,7 @@ module Aws::DataSync
2095
2087
  #
2096
2088
  # resp.location_arn #=> String
2097
2089
  # resp.location_uri #=> String
2098
- # resp.s3_storage_class #=> String, one of "STANDARD", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
2090
+ # resp.s3_storage_class #=> String, one of "STANDARD", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS", "GLACIER_INSTANT_RETRIEVAL"
2099
2091
  # resp.s3_config.bucket_access_role_arn #=> String
2100
2092
  # resp.agent_arns #=> Array
2101
2093
  # resp.agent_arns[0] #=> String
@@ -2416,17 +2408,18 @@ module Aws::DataSync
2416
2408
  req.send_request(options)
2417
2409
  end
2418
2410
 
2419
- # Returns all the tags associated with a specified resource.
2411
+ # Returns all the tags associated with an Amazon Web Services resource.
2420
2412
  #
2421
2413
  # @option params [required, String] :resource_arn
2422
- # The Amazon Resource Name (ARN) of the resource whose tags to list.
2414
+ # Specifies the Amazon Resource Name (ARN) of the resource that you want
2415
+ # tag information on.
2423
2416
  #
2424
2417
  # @option params [Integer] :max_results
2425
- # The maximum number of locations to return.
2418
+ # Specifies how many results that you want in the response.
2426
2419
  #
2427
2420
  # @option params [String] :next_token
2428
- # An opaque string that indicates the position at which to begin the
2429
- # next list of locations.
2421
+ # Specifies an opaque string that indicates the position to begin the
2422
+ # next list of results in the response.
2430
2423
  #
2431
2424
  # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2432
2425
  #
@@ -2556,46 +2549,48 @@ module Aws::DataSync
2556
2549
  req.send_request(options)
2557
2550
  end
2558
2551
 
2559
- # Starts a specific invocation of a task. A `TaskExecution` value
2560
- # represents an individual run of a task. Each task can have at most one
2561
- # `TaskExecution` at a time.
2562
- #
2563
- # `TaskExecution` has the following transition phases: INITIALIZING \|
2564
- # PREPARING \| TRANSFERRING \| VERIFYING \| SUCCESS/FAILURE.
2552
+ # Starts an DataSync task. For each task, you can only run one task
2553
+ # execution at a time.
2565
2554
  #
2566
- # For detailed information, see the Task Execution section in the
2567
- # Components and Terminology topic in the *DataSync User Guide*.
2555
+ # There are several phases to a task execution. For more information,
2556
+ # see [Task execution statuses][1].
2568
2557
  #
2569
- # @option params [required, String] :task_arn
2570
- # The Amazon Resource Name (ARN) of the task to start.
2571
2558
  #
2572
- # @option params [Types::Options] :override_options
2573
- # Represents the options that are available to control the behavior of a
2574
- # [StartTaskExecution][1] operation. Behavior includes preserving
2575
- # metadata such as user ID (UID), group ID (GID), and file permissions,
2576
- # and also overwriting files in the destination, data integrity
2577
- # verification, and so on.
2578
2559
  #
2579
- # A task has a set of default options associated with it. If you don't
2580
- # specify an option in [StartTaskExecution][1], the default value is
2581
- # used. You can override the defaults options on each task execution by
2582
- # specifying an overriding `Options` value to [StartTaskExecution][1].
2560
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/working-with-task-executions.html#understand-task-execution-statuses
2583
2561
  #
2562
+ # @option params [required, String] :task_arn
2563
+ # Specifies the Amazon Resource Name (ARN) of the task that you want to
2564
+ # start.
2584
2565
  #
2566
+ # @option params [Types::Options] :override_options
2567
+ # Configures your DataSync task settings. These options include how
2568
+ # DataSync handles files, objects, and their associated metadata. You
2569
+ # also can specify how DataSync verifies data integrity, set bandwidth
2570
+ # limits for your task, among other options.
2585
2571
  #
2586
- # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html
2572
+ # Each task setting has a default value. Unless you need to, you don't
2573
+ # have to configure any of these `Options` before starting your task.
2587
2574
  #
2588
2575
  # @option params [Array<Types::FilterRule>] :includes
2589
- # A list of filter rules that determines which files to include when
2590
- # running a task. The pattern should contain a single filter string that
2591
- # consists of the patterns to include. The patterns are delimited by
2592
- # "\|" (that is, a pipe), for example, `"/folder1|/folder2"`.
2576
+ # Specifies a list of filter rules that determines which files to
2577
+ # include when running a task. The pattern should contain a single
2578
+ # filter string that consists of the patterns to include. The patterns
2579
+ # are delimited by "\|" (that is, a pipe), for example,
2580
+ # `"/folder1|/folder2"`.
2593
2581
  #
2594
2582
  # @option params [Array<Types::FilterRule>] :excludes
2595
- # A list of filter rules that determines which files to exclude from a
2596
- # task. The list contains a single filter string that consists of the
2597
- # patterns to exclude. The patterns are delimited by "\|" (that is, a
2598
- # pipe), for example, `"/folder1|/folder2"`.
2583
+ # Specifies a list of filter rules that determines which files to
2584
+ # exclude from a task. The list contains a single filter string that
2585
+ # consists of the patterns to exclude. The patterns are delimited by
2586
+ # "\|" (that is, a pipe), for example, `"/folder1|/folder2"`.
2587
+ #
2588
+ # @option params [Array<Types::TagListEntry>] :tags
2589
+ # Specifies the tags that you want to apply to the Amazon Resource Name
2590
+ # (ARN) representing the task execution.
2591
+ #
2592
+ # *Tags* are key-value pairs that help you manage, filter, and search
2593
+ # for your DataSync resources.
2599
2594
  #
2600
2595
  # @return [Types::StartTaskExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2601
2596
  #
@@ -2634,6 +2629,12 @@ module Aws::DataSync
2634
2629
  # value: "FilterValue",
2635
2630
  # },
2636
2631
  # ],
2632
+ # tags: [
2633
+ # {
2634
+ # key: "TagKey", # required
2635
+ # value: "TagValue",
2636
+ # },
2637
+ # ],
2637
2638
  # })
2638
2639
  #
2639
2640
  # @example Response structure
@@ -2649,13 +2650,18 @@ module Aws::DataSync
2649
2650
  req.send_request(options)
2650
2651
  end
2651
2652
 
2652
- # Applies a key-value pair to an Amazon Web Services resource.
2653
+ # Applies a *tag* to an Amazon Web Services resource. Tags are key-value
2654
+ # pairs that can help you manage, filter, and search for your resources.
2655
+ #
2656
+ # These include DataSync resources, such as locations, tasks, and task
2657
+ # executions.
2653
2658
  #
2654
2659
  # @option params [required, String] :resource_arn
2655
- # The Amazon Resource Name (ARN) of the resource to apply the tag to.
2660
+ # Specifies the Amazon Resource Name (ARN) of the resource to apply the
2661
+ # tag to.
2656
2662
  #
2657
2663
  # @option params [required, Array<Types::TagListEntry>] :tags
2658
- # The tags to apply.
2664
+ # Specifies the tags that you want to apply to the resource.
2659
2665
  #
2660
2666
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2661
2667
  #
@@ -2680,13 +2686,14 @@ module Aws::DataSync
2680
2686
  req.send_request(options)
2681
2687
  end
2682
2688
 
2683
- # Removes a tag from an Amazon Web Services resource.
2689
+ # Removes tags from an Amazon Web Services resource.
2684
2690
  #
2685
2691
  # @option params [required, String] :resource_arn
2686
- # The Amazon Resource Name (ARN) of the resource to remove the tag from.
2692
+ # Specifies the Amazon Resource Name (ARN) of the resource to remove the
2693
+ # tags from.
2687
2694
  #
2688
2695
  # @option params [required, Array<String>] :keys
2689
- # The keys in the key-value pair in the tag to remove.
2696
+ # Specifies the keys in the tags that you want to remove.
2690
2697
  #
2691
2698
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2692
2699
  #
@@ -3064,26 +3071,22 @@ module Aws::DataSync
3064
3071
  # update.
3065
3072
  #
3066
3073
  # @option params [Types::Options] :options
3067
- # Represents the options that are available to control the behavior of a
3068
- # [StartTaskExecution][1] operation. Behavior includes preserving
3069
- # metadata such as user ID (UID), group ID (GID), and file permissions,
3070
- # and also overwriting files in the destination, data integrity
3071
- # verification, and so on.
3074
+ # Configures your DataSync task settings. These options include how
3075
+ # DataSync handles files, objects, and their associated metadata. You
3076
+ # also can specify how DataSync verifies data integrity, set bandwidth
3077
+ # limits for your task, among other options.
3072
3078
  #
3073
- # A task has a set of default options associated with it. If you don't
3074
- # specify an option in [StartTaskExecution][1], the default value is
3075
- # used. You can override the defaults options on each task execution by
3076
- # specifying an overriding `Options` value to [StartTaskExecution][1].
3079
+ # Each task setting has a default value. Unless you need to, you don't
3080
+ # have to configure any of these `Options` before starting your task.
3077
3081
  #
3082
+ # @option params [Array<Types::FilterRule>] :excludes
3083
+ # Specifies a list of filter rules that exclude specific data during
3084
+ # your transfer. For more information and examples, see [Filtering data
3085
+ # transferred by DataSync][1].
3078
3086
  #
3079
3087
  #
3080
- # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html
3081
3088
  #
3082
- # @option params [Array<Types::FilterRule>] :excludes
3083
- # A list of filter rules that determines which files to exclude from a
3084
- # task. The list should contain a single filter string that consists of
3085
- # the patterns to exclude. The patterns are delimited by "\|" (that
3086
- # is, a pipe), for example, `"/folder1|/folder2"`.
3089
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
3087
3090
  #
3088
3091
  # @option params [Types::TaskSchedule] :schedule
3089
3092
  # Specifies a schedule used to periodically transfer files from a source
@@ -3105,10 +3108,13 @@ module Aws::DataSync
3105
3108
  # CloudWatch log group.
3106
3109
  #
3107
3110
  # @option params [Array<Types::FilterRule>] :includes
3108
- # A list of filter rules that determines which files to include when
3109
- # running a task. The pattern contains a single filter string that
3110
- # consists of the patterns to include. The patterns are delimited by
3111
- # "\|" (that is, a pipe), for example, `"/folder1|/folder2"`.
3111
+ # Specifies a list of filter rules that include specific data during
3112
+ # your transfer. For more information and examples, see [Filtering data
3113
+ # transferred by DataSync][1].
3114
+ #
3115
+ #
3116
+ #
3117
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/filtering.html
3112
3118
  #
3113
3119
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3114
3120
  #
@@ -3181,20 +3187,13 @@ module Aws::DataSync
3181
3187
  # being updated.
3182
3188
  #
3183
3189
  # @option params [required, Types::Options] :options
3184
- # Represents the options that are available to control the behavior of a
3185
- # [StartTaskExecution][1] operation. Behavior includes preserving
3186
- # metadata such as user ID (UID), group ID (GID), and file permissions,
3187
- # and also overwriting files in the destination, data integrity
3188
- # verification, and so on.
3189
- #
3190
- # A task has a set of default options associated with it. If you don't
3191
- # specify an option in [StartTaskExecution][1], the default value is
3192
- # used. You can override the defaults options on each task execution by
3193
- # specifying an overriding `Options` value to [StartTaskExecution][1].
3190
+ # Configures your DataSync task settings. These options include how
3191
+ # DataSync handles files, objects, and their associated metadata. You
3192
+ # also can specify how DataSync verifies data integrity, set bandwidth
3193
+ # limits for your task, among other options.
3194
3194
  #
3195
- #
3196
- #
3197
- # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_StartTaskExecution.html
3195
+ # Each task setting has a default value. Unless you need to, you don't
3196
+ # have to configure any of these `Options` before starting your task.
3198
3197
  #
3199
3198
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3200
3199
  #
@@ -3243,7 +3242,7 @@ module Aws::DataSync
3243
3242
  params: params,
3244
3243
  config: config)
3245
3244
  context[:gem_name] = 'aws-sdk-datasync'
3246
- context[:gem_version] = '1.51.0'
3245
+ context[:gem_version] = '1.53.0'
3247
3246
  Seahorse::Client::Request.new(handlers, context)
3248
3247
  end
3249
3248
 
@@ -729,6 +729,7 @@ module Aws::DataSync
729
729
  StartTaskExecutionRequest.add_member(:override_options, Shapes::ShapeRef.new(shape: Options, location_name: "OverrideOptions"))
730
730
  StartTaskExecutionRequest.add_member(:includes, Shapes::ShapeRef.new(shape: FilterList, location_name: "Includes"))
731
731
  StartTaskExecutionRequest.add_member(:excludes, Shapes::ShapeRef.new(shape: FilterList, location_name: "Excludes"))
732
+ StartTaskExecutionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
732
733
  StartTaskExecutionRequest.struct_class = Types::StartTaskExecutionRequest
733
734
 
734
735
  StartTaskExecutionResponse.add_member(:task_execution_arn, Shapes::ShapeRef.new(shape: TaskExecutionArn, location_name: "TaskExecutionArn"))
@@ -50,6 +50,9 @@ module Aws::DataSync
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -9,103 +9,43 @@
9
9
 
10
10
  module Aws::DataSync
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://datasync-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://datasync-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://datasync.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://datasync.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
46
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
47
+ raise ArgumentError, 'No endpoint could be resolved'
24
48
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
49
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL2RhdGFzeW5jLWZpcHMue1JlZ2lvbn0ue1Bh
77
- cnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVydGll
78
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7ImNv
79
- bmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBhcmUg
80
- ZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQg
81
- b25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6
82
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
83
- UyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlv
84
- bnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsiZm4i
85
- OiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0In0s
86
- InN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
87
- Y29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
88
- dGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2RhdGFzeW5j
89
- LWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9Iiwi
90
- cHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50
91
- In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBpcyBlbmFi
92
- bGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IEZJUFMi
93
- LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
94
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNrIn0sdHJ1
95
- ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6W3si
96
- Zm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6ImdldEF0
97
- dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwic3VwcG9y
98
- dHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
99
- bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2RhdGFz
100
- eW5jLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3Vm
101
- Zml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
102
- bmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3Rh
103
- Y2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3Vw
104
- cG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
105
- cyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZGF0YXN5bmMue1Jl
106
- Z2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9IiwicHJvcGVydGll
107
- cyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfV19
108
-
109
- JSON
110
50
  end
111
51
  end