aws-sdk-datasync 1.51.0 → 1.53.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: 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