aws-sdk-datasync 1.49.0 → 1.51.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: b982cb9b2c148223fc8280b38de78c603c532efab22fe1364f05edd5f06fac6e
4
- data.tar.gz: 3b9bd532bb4675bd78e528a514a6e521fbc7ebaa3faa7c2f948ef5f430dafcfe
3
+ metadata.gz: 834afed6c781d0600198e3e95b99662139759891bbada49626c6fa76d0bc1df3
4
+ data.tar.gz: 140b5fae38f5b7b711b375c98ae558592d5cbdf44452e2167e542dab7f7150c4
5
5
  SHA512:
6
- metadata.gz: 20246f3af604dd27eb182fc450d54b47daa43568a43fbcbe78c685d2fa43ff1735af4043028cba5d56b0483b65c353dbcb1f0223e1d6709c489ea11edc96927f
7
- data.tar.gz: 5d0e1a59e970026acdc89bc6ea7bc3175a7c6475f88041f4f3f27c315a919918f719e821f681f4e349dae78cf02f004f3716da582d291e3892cf5134bf5435a5
6
+ metadata.gz: 583750dafb02db329bcc0a3e427c5e4f878187765866b38345d6b482a8ba6802a3fc90dedff14da9a717325ecbc479da92fb376c5d37a1297cb089fc8e530500
7
+ data.tar.gz: 2cdf4ca20a5c3789e66f85820c14c854ed68e630280194fd1ba9b0e7cc1b1222e92d0c72ce2460a2084e03d25c878a233f50c1afcbabbde97e94c7dcd928c492
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.51.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.50.0 (2022-10-24)
10
+ ------------------
11
+
12
+ * Feature - Added support for self-signed certificates when using object storage locations; added BytesCompressed to the TaskExecution response.
13
+
4
14
  1.49.0 (2022-07-15)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.49.0
1
+ 1.51.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:datasync)
@@ -79,8 +79,9 @@ module Aws::DataSync
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::DataSync::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::DataSync
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::DataSync
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::DataSync::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::DataSync::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -361,20 +378,20 @@ module Aws::DataSync
361
378
 
362
379
  # @!group API Operations
363
380
 
364
- # Cancels execution of a task.
365
- #
366
- # When you cancel a task execution, the transfer of some files is
367
- # abruptly interrupted. The contents of files that are transferred to
368
- # the destination might be incomplete or inconsistent with the source
369
- # files. However, if you start a new task execution on the same task and
370
- # you allow the task execution to complete, file content on the
371
- # destination is complete and consistent. This applies to other
372
- # unexpected failures that interrupt a task execution. In all of these
373
- # cases, DataSync successfully complete the transfer when you start the
374
- # next task execution.
381
+ # Stops an DataSync task execution that's in progress. The transfer of
382
+ # some files are abruptly interrupted. File contents that're
383
+ # transferred to the destination might be incomplete or inconsistent
384
+ # with the source files.
385
+ #
386
+ # However, if you start a new task execution using the same task and
387
+ # allow it to finish, file content on the destination will be complete
388
+ # and consistent. This applies to other unexpected failures that
389
+ # interrupt a task execution. In all of these cases, DataSync
390
+ # successfully completes the transfer when you start the next task
391
+ # execution.
375
392
  #
376
393
  # @option params [required, String] :task_execution_arn
377
- # The Amazon Resource Name (ARN) of the task execution to cancel.
394
+ # The Amazon Resource Name (ARN) of the task execution to stop.
378
395
  #
379
396
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
380
397
  #
@@ -393,13 +410,13 @@ module Aws::DataSync
393
410
  req.send_request(options)
394
411
  end
395
412
 
396
- # Activates an DataSync agent that you have deployed on your host. The
397
- # activation process associates your agent with your account. In the
398
- # activation process, you specify information such as the Amazon Web
399
- # Services Region that you want to activate the agent in. You activate
400
- # the agent in the Amazon Web Services Region where your target
401
- # locations (in Amazon S3 or Amazon EFS) reside. Your tasks are created
402
- # in this Amazon Web Services Region.
413
+ # Activates an DataSync agent that you have deployed in your storage
414
+ # environment. The activation process associates your agent with your
415
+ # account. In the activation process, you specify information such as
416
+ # the Amazon Web Services Region that you want to activate the agent in.
417
+ # You activate the agent in the Amazon Web Services Region where your
418
+ # target locations (in Amazon S3 or Amazon EFS) reside. Your tasks are
419
+ # created in this Amazon Web Services Region.
403
420
  #
404
421
  # You can activate the agent in a VPC (virtual private cloud) or provide
405
422
  # the agent access to a VPC endpoint so you can run tasks without going
@@ -740,7 +757,18 @@ module Aws::DataSync
740
757
  req.send_request(options)
741
758
  end
742
759
 
743
- # Creates an endpoint for an Amazon FSx for OpenZFS file system.
760
+ # Creates an endpoint for an Amazon FSx for OpenZFS file system that
761
+ # DataSync can access for a transfer. For more information, see
762
+ # [Creating a location for FSx for OpenZFS][1].
763
+ #
764
+ # <note markdown="1"> Request parameters related to `SMB` aren't supported with the
765
+ # `CreateLocationFsxOpenZfs` operation.
766
+ #
767
+ # </note>
768
+ #
769
+ #
770
+ #
771
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-openzfs-location.html
744
772
  #
745
773
  # @option params [required, String] :fsx_filesystem_arn
746
774
  # The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.
@@ -1181,6 +1209,15 @@ module Aws::DataSync
1181
1209
  # add to the resource. Tags can help you manage, filter, and search for
1182
1210
  # your resources. We recommend creating a name tag for your location.
1183
1211
  #
1212
+ # @option params [String, StringIO, File] :server_certificate
1213
+ # Specifies a certificate to authenticate with an object storage system
1214
+ # that uses a private or self-signed certificate authority (CA). You
1215
+ # must specify a Base64-encoded `.pem` file (for example,
1216
+ # `file:///home/user/.ssh/storage_sys_certificate.pem`). The certificate
1217
+ # can be up to 32768 bytes (before Base64 encoding).
1218
+ #
1219
+ # To use this parameter, configure `ServerProtocol` to `HTTPS`.
1220
+ #
1184
1221
  # @return [Types::CreateLocationObjectStorageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1185
1222
  #
1186
1223
  # * {Types::CreateLocationObjectStorageResponse#location_arn #location_arn} => String
@@ -1202,6 +1239,7 @@ module Aws::DataSync
1202
1239
  # value: "TagValue",
1203
1240
  # },
1204
1241
  # ],
1242
+ # server_certificate: "data",
1205
1243
  # })
1206
1244
  #
1207
1245
  # @example Response structure
@@ -1217,7 +1255,8 @@ module Aws::DataSync
1217
1255
  req.send_request(options)
1218
1256
  end
1219
1257
 
1220
- # Creates an endpoint for an Amazon S3 bucket.
1258
+ # Creates an endpoint for an Amazon S3 bucket that DataSync can access
1259
+ # for a transfer.
1221
1260
  #
1222
1261
  # For more information, see [Create an Amazon S3 location][1] in the
1223
1262
  # *DataSync User Guide*.
@@ -1714,8 +1753,8 @@ module Aws::DataSync
1714
1753
  req.send_request(options)
1715
1754
  end
1716
1755
 
1717
- # Returns metadata about an Amazon FSx for Lustre location, such as
1718
- # information about its path.
1756
+ # Provides details about how an DataSync location for an Amazon FSx for
1757
+ # Lustre file system is configured.
1719
1758
  #
1720
1759
  # @option params [required, String] :location_arn
1721
1760
  # The Amazon Resource Name (ARN) of the FSx for Lustre location to
@@ -1754,6 +1793,11 @@ module Aws::DataSync
1754
1793
  # Provides details about how an DataSync location for an Amazon FSx for
1755
1794
  # NetApp ONTAP file system is configured.
1756
1795
  #
1796
+ # <note markdown="1"> If your location uses SMB, the `DescribeLocationFsxOntap` operation
1797
+ # doesn't actually return a `Password`.
1798
+ #
1799
+ # </note>
1800
+ #
1757
1801
  # @option params [required, String] :location_arn
1758
1802
  # Specifies the Amazon Resource Name (ARN) of the FSx for ONTAP file
1759
1803
  # system location that you want information about.
@@ -1798,8 +1842,13 @@ module Aws::DataSync
1798
1842
  req.send_request(options)
1799
1843
  end
1800
1844
 
1801
- # Returns metadata about an Amazon FSx for OpenZFS location, such as
1802
- # information about its path.
1845
+ # Provides details about how an DataSync location for an Amazon FSx for
1846
+ # OpenZFS file system is configured.
1847
+ #
1848
+ # <note markdown="1"> Response elements related to `SMB` aren't supported with the
1849
+ # `DescribeLocationFsxOpenZfs` operation.
1850
+ #
1851
+ # </note>
1803
1852
  #
1804
1853
  # @option params [required, String] :location_arn
1805
1854
  # The Amazon Resource Name (ARN) of the FSx for OpenZFS location to
@@ -1991,6 +2040,7 @@ module Aws::DataSync
1991
2040
  # * {Types::DescribeLocationObjectStorageResponse#server_protocol #server_protocol} => String
1992
2041
  # * {Types::DescribeLocationObjectStorageResponse#agent_arns #agent_arns} => Array&lt;String&gt;
1993
2042
  # * {Types::DescribeLocationObjectStorageResponse#creation_time #creation_time} => Time
2043
+ # * {Types::DescribeLocationObjectStorageResponse#server_certificate #server_certificate} => String
1994
2044
  #
1995
2045
  # @example Request syntax with placeholder values
1996
2046
  #
@@ -2008,6 +2058,7 @@ module Aws::DataSync
2008
2058
  # resp.agent_arns #=> Array
2009
2059
  # resp.agent_arns[0] #=> String
2010
2060
  # resp.creation_time #=> Time
2061
+ # resp.server_certificate #=> String
2011
2062
  #
2012
2063
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationObjectStorage AWS API Documentation
2013
2064
  #
@@ -2198,6 +2249,7 @@ module Aws::DataSync
2198
2249
  # * {Types::DescribeTaskExecutionResponse#bytes_written #bytes_written} => Integer
2199
2250
  # * {Types::DescribeTaskExecutionResponse#bytes_transferred #bytes_transferred} => Integer
2200
2251
  # * {Types::DescribeTaskExecutionResponse#result #result} => Types::TaskExecutionResultDetail
2252
+ # * {Types::DescribeTaskExecutionResponse#bytes_compressed #bytes_compressed} => Integer
2201
2253
  #
2202
2254
  # @example Request syntax with placeholder values
2203
2255
  #
@@ -2245,6 +2297,7 @@ module Aws::DataSync
2245
2297
  # resp.result.verify_status #=> String, one of "PENDING", "SUCCESS", "ERROR"
2246
2298
  # resp.result.error_code #=> String
2247
2299
  # resp.result.error_detail #=> String
2300
+ # resp.bytes_compressed #=> Integer
2248
2301
  #
2249
2302
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeTaskExecution AWS API Documentation
2250
2303
  #
@@ -2848,48 +2901,56 @@ module Aws::DataSync
2848
2901
  req.send_request(options)
2849
2902
  end
2850
2903
 
2851
- # Updates some of the parameters of a previously created location for
2852
- # self-managed object storage server access. For information about
2853
- # creating a self-managed object storage location, see [Creating a
2854
- # location for object storage][1].
2904
+ # Updates some parameters of an existing object storage location that
2905
+ # DataSync accesses for a transfer. For information about creating a
2906
+ # self-managed object storage location, see [Creating a location for
2907
+ # object storage][1].
2855
2908
  #
2856
2909
  #
2857
2910
  #
2858
2911
  # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html
2859
2912
  #
2860
2913
  # @option params [required, String] :location_arn
2861
- # The Amazon Resource Name (ARN) of the self-managed object storage
2862
- # server location to be updated.
2914
+ # Specifies the ARN of the object storage system location that you're
2915
+ # updating.
2863
2916
  #
2864
2917
  # @option params [Integer] :server_port
2865
- # The port that your self-managed object storage server accepts inbound
2866
- # network traffic on. The server port is set by default to TCP 80 (HTTP)
2867
- # or TCP 443 (HTTPS). You can specify a custom port if your self-managed
2868
- # object storage server requires one.
2918
+ # Specifies the port that your object storage server accepts inbound
2919
+ # network traffic on (for example, port 443).
2869
2920
  #
2870
2921
  # @option params [String] :server_protocol
2871
- # The protocol that the object storage server uses to communicate. Valid
2872
- # values are `HTTP` or `HTTPS`.
2922
+ # Specifies the protocol that your object storage server uses to
2923
+ # communicate.
2873
2924
  #
2874
2925
  # @option params [String] :subdirectory
2875
- # The subdirectory in the self-managed object storage server that is
2876
- # used to read data from.
2926
+ # Specifies the object prefix for your object storage server. If this is
2927
+ # a source location, DataSync only copies objects with this prefix. If
2928
+ # this is a destination location, DataSync writes all objects with this
2929
+ # prefix.
2877
2930
  #
2878
2931
  # @option params [String] :access_key
2879
- # Optional. The access key is used if credentials are required to access
2880
- # the self-managed object storage server. If your object storage
2881
- # requires a user name and password to authenticate, use `AccessKey` and
2882
- # `SecretKey` to provide the user name and password, respectively.
2932
+ # Specifies the access key (for example, a user name) if credentials are
2933
+ # required to authenticate with the object storage server.
2883
2934
  #
2884
2935
  # @option params [String] :secret_key
2885
- # Optional. The secret key is used if credentials are required to access
2886
- # the self-managed object storage server. If your object storage
2887
- # requires a user name and password to authenticate, use `AccessKey` and
2888
- # `SecretKey` to provide the user name and password, respectively.
2936
+ # Specifies the secret key (for example, a password) if credentials are
2937
+ # required to authenticate with the object storage server.
2889
2938
  #
2890
2939
  # @option params [Array<String>] :agent_arns
2891
- # The Amazon Resource Name (ARN) of the agents associated with the
2892
- # self-managed object storage server location.
2940
+ # Specifies the Amazon Resource Names (ARNs) of the DataSync agents that
2941
+ # can securely connect with your location.
2942
+ #
2943
+ # @option params [String, StringIO, File] :server_certificate
2944
+ # Specifies a certificate to authenticate with an object storage system
2945
+ # that uses a private or self-signed certificate authority (CA). You
2946
+ # must specify a Base64-encoded `.pem` file (for example,
2947
+ # `file:///home/user/.ssh/storage_sys_certificate.pem`). The certificate
2948
+ # can be up to 32768 bytes (before Base64 encoding).
2949
+ #
2950
+ # To use this parameter, configure `ServerProtocol` to `HTTPS`.
2951
+ #
2952
+ # Updating the certificate doesn't interfere with tasks that you have
2953
+ # in progress.
2893
2954
  #
2894
2955
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2895
2956
  #
@@ -2903,6 +2964,7 @@ module Aws::DataSync
2903
2964
  # access_key: "ObjectStorageAccessKey",
2904
2965
  # secret_key: "ObjectStorageSecretKey",
2905
2966
  # agent_arns: ["AgentArn"],
2967
+ # server_certificate: "data",
2906
2968
  # })
2907
2969
  #
2908
2970
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage AWS API Documentation
@@ -3181,7 +3243,7 @@ module Aws::DataSync
3181
3243
  params: params,
3182
3244
  config: config)
3183
3245
  context[:gem_name] = 'aws-sdk-datasync'
3184
- context[:gem_version] = '1.49.0'
3246
+ context[:gem_version] = '1.51.0'
3185
3247
  Seahorse::Client::Request.new(handlers, context)
3186
3248
  end
3187
3249
 
@@ -153,6 +153,7 @@ module Aws::DataSync
153
153
  NfsVersion = Shapes::StringShape.new(name: 'NfsVersion')
154
154
  ObjectStorageAccessKey = Shapes::StringShape.new(name: 'ObjectStorageAccessKey')
155
155
  ObjectStorageBucketName = Shapes::StringShape.new(name: 'ObjectStorageBucketName')
156
+ ObjectStorageCertificate = Shapes::BlobShape.new(name: 'ObjectStorageCertificate')
156
157
  ObjectStorageSecretKey = Shapes::StringShape.new(name: 'ObjectStorageSecretKey')
157
158
  ObjectStorageServerPort = Shapes::IntegerShape.new(name: 'ObjectStorageServerPort')
158
159
  ObjectStorageServerProtocol = Shapes::StringShape.new(name: 'ObjectStorageServerProtocol')
@@ -347,6 +348,7 @@ module Aws::DataSync
347
348
  CreateLocationObjectStorageRequest.add_member(:secret_key, Shapes::ShapeRef.new(shape: ObjectStorageSecretKey, location_name: "SecretKey"))
348
349
  CreateLocationObjectStorageRequest.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, required: true, location_name: "AgentArns"))
349
350
  CreateLocationObjectStorageRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
351
+ CreateLocationObjectStorageRequest.add_member(:server_certificate, Shapes::ShapeRef.new(shape: ObjectStorageCertificate, location_name: "ServerCertificate"))
350
352
  CreateLocationObjectStorageRequest.struct_class = Types::CreateLocationObjectStorageRequest
351
353
 
352
354
  CreateLocationObjectStorageResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
@@ -508,6 +510,7 @@ module Aws::DataSync
508
510
  DescribeLocationObjectStorageResponse.add_member(:server_protocol, Shapes::ShapeRef.new(shape: ObjectStorageServerProtocol, location_name: "ServerProtocol"))
509
511
  DescribeLocationObjectStorageResponse.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, location_name: "AgentArns"))
510
512
  DescribeLocationObjectStorageResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: Time, location_name: "CreationTime"))
513
+ DescribeLocationObjectStorageResponse.add_member(:server_certificate, Shapes::ShapeRef.new(shape: ObjectStorageCertificate, location_name: "ServerCertificate"))
511
514
  DescribeLocationObjectStorageResponse.struct_class = Types::DescribeLocationObjectStorageResponse
512
515
 
513
516
  DescribeLocationS3Request.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, required: true, location_name: "LocationArn"))
@@ -548,6 +551,7 @@ module Aws::DataSync
548
551
  DescribeTaskExecutionResponse.add_member(:bytes_written, Shapes::ShapeRef.new(shape: long, location_name: "BytesWritten"))
549
552
  DescribeTaskExecutionResponse.add_member(:bytes_transferred, Shapes::ShapeRef.new(shape: long, location_name: "BytesTransferred"))
550
553
  DescribeTaskExecutionResponse.add_member(:result, Shapes::ShapeRef.new(shape: TaskExecutionResultDetail, location_name: "Result"))
554
+ DescribeTaskExecutionResponse.add_member(:bytes_compressed, Shapes::ShapeRef.new(shape: long, location_name: "BytesCompressed"))
551
555
  DescribeTaskExecutionResponse.struct_class = Types::DescribeTaskExecutionResponse
552
556
 
553
557
  DescribeTaskRequest.add_member(:task_arn, Shapes::ShapeRef.new(shape: TaskArn, required: true, location_name: "TaskArn"))
@@ -820,6 +824,7 @@ module Aws::DataSync
820
824
  UpdateLocationObjectStorageRequest.add_member(:access_key, Shapes::ShapeRef.new(shape: ObjectStorageAccessKey, location_name: "AccessKey"))
821
825
  UpdateLocationObjectStorageRequest.add_member(:secret_key, Shapes::ShapeRef.new(shape: ObjectStorageSecretKey, location_name: "SecretKey"))
822
826
  UpdateLocationObjectStorageRequest.add_member(:agent_arns, Shapes::ShapeRef.new(shape: AgentArnList, location_name: "AgentArns"))
827
+ UpdateLocationObjectStorageRequest.add_member(:server_certificate, Shapes::ShapeRef.new(shape: ObjectStorageCertificate, location_name: "ServerCertificate"))
823
828
  UpdateLocationObjectStorageRequest.struct_class = Types::UpdateLocationObjectStorageRequest
824
829
 
825
830
  UpdateLocationObjectStorageResponse.struct_class = Types::UpdateLocationObjectStorageResponse
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::DataSync
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::DataSync
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
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ 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
+ end
111
+ end