aws-sdk-transfer 1.16.0 → 1.21.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
- SHA1:
3
- metadata.gz: a3cd7c542cb28a93bf0941b472319129cc139f56
4
- data.tar.gz: 57a2ed8cc1a05c0eefa50492a1f4254348aac9d3
2
+ SHA256:
3
+ metadata.gz: 67a0c6b2bf618b9a8b340f195400c14b6e421127dd8685ee7378e717d3def22d
4
+ data.tar.gz: aa5b8280984fc5a26d203eee779be235dedbe519e10884a510fba4173bec12c6
5
5
  SHA512:
6
- metadata.gz: 62ddd3eab3a8ee29c2fb1c47ad22a03e89d290b7ef07d30e85606aad5d37972383ebb09bda13c7341cffcd0f6b9492043f40302dd6bd15b02fb82ea90e5ca423
7
- data.tar.gz: 00ba9c719d7aee275596b10ed2dbf6ed5e1b447b140b28d3038fe3e6c733ab7c4a834d7b9a3cfdc2ca64024507f129027ba138464119266820e76b673b7fee67
6
+ metadata.gz: df790f8da05a6e03ad6820ef5820c3255766e0665796f621182aea1a544ff8f6fb43fb634331a3af4fb97048045db4aef8a36c4deae8b0a46c9cf36a830d4dd8
7
+ data.tar.gz: f85dde748a522956bfe04dc61debbc644e8e78d0e56549b901302e62ae60da1271e35a9b5687f27177838176167ca1e98471d770ecdd4b3eda6ffcf65cc10e45
@@ -15,7 +15,7 @@ require_relative 'aws-sdk-transfer/errors'
15
15
  require_relative 'aws-sdk-transfer/resource'
16
16
  require_relative 'aws-sdk-transfer/customizations'
17
17
 
18
- # This module provides support for AWS Transfer for SFTP. This module is available in the
18
+ # This module provides support for AWS Transfer Family. This module is available in the
19
19
  # `aws-sdk-transfer` gem.
20
20
  #
21
21
  # # Client
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-transfer/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # transfer = Aws::Transfer::Client.new
28
+ # resp = transfer.create_server(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from AWS Transfer for SFTP all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from AWS Transfer Family are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::Transfer::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all AWS Transfer Family API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-transfer/customizations'
42
45
  # @service
43
46
  module Aws::Transfer
44
47
 
45
- GEM_VERSION = '1.16.0'
48
+ GEM_VERSION = '1.21.0'
46
49
 
47
50
  end
@@ -30,6 +30,18 @@ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
30
30
  Aws::Plugins::GlobalConfiguration.add_identifier(:transfer)
31
31
 
32
32
  module Aws::Transfer
33
+ # An API client for Transfer. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::Transfer::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
33
45
  class Client < Seahorse::Client::Base
34
46
 
35
47
  include Aws::ClientStubs
@@ -93,7 +105,7 @@ module Aws::Transfer
93
105
  # @option options [required, String] :region
94
106
  # The AWS region to connect to. The configured `:region` is
95
107
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
108
+ # a default `:region` is searched for in the following locations:
97
109
  #
98
110
  # * `Aws.config[:region]`
99
111
  # * `ENV['AWS_REGION']`
@@ -108,6 +120,12 @@ module Aws::Transfer
108
120
  # When set to `true`, a thread polling for endpoints will be running in
109
121
  # the background every 60 secs (default). Defaults to `false`.
110
122
  #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
111
129
  # @option options [Boolean] :client_side_monitoring (false)
112
130
  # When `true`, client-side metrics will be collected for all API requests from
113
131
  # this client.
@@ -132,6 +150,10 @@ module Aws::Transfer
132
150
  # When `true`, an attempt is made to coerce request parameters into
133
151
  # the required types.
134
152
  #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
135
157
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
158
  # Set to true to disable SDK automatically adding host prefix
137
159
  # to default service endpoint when available.
@@ -139,7 +161,7 @@ module Aws::Transfer
139
161
  # @option options [String] :endpoint
140
162
  # The client endpoint is normally constructed from the `:region`
141
163
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
143
165
  #
144
166
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
167
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +176,7 @@ module Aws::Transfer
154
176
  # requests fetching endpoints information. Defaults to 60 sec.
155
177
  #
156
178
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
180
  #
159
181
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
182
  # The log formatter.
@@ -166,15 +188,29 @@ module Aws::Transfer
166
188
  # The Logger instance to send log messages to. If this option
167
189
  # is not set, logging will be disabled.
168
190
  #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
169
197
  # @option options [String] :profile ("default")
170
198
  # Used when loading credentials from the shared credentials file
171
199
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
200
  #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
173
205
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
175
208
  #
176
209
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
178
214
  #
179
215
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
216
  #
@@ -182,11 +218,30 @@ module Aws::Transfer
182
218
  # The maximum number of times to retry failed requests. Only
183
219
  # ~ 500 level server errors and certain ~ 400 level client errors
184
220
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
187
224
  #
188
225
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
190
245
  #
191
246
  # @option options [String] :secret_access_key
192
247
  #
@@ -219,16 +274,15 @@ module Aws::Transfer
219
274
  # requests through. Formatted like 'http://proxy.com:123'.
220
275
  #
221
276
  # @option options [Float] :http_open_timeout (15) The number of
222
- # seconds to wait when opening a HTTP session before rasing a
277
+ # seconds to wait when opening a HTTP session before raising a
223
278
  # `Timeout::Error`.
224
279
  #
225
280
  # @option options [Integer] :http_read_timeout (60) The default
226
281
  # number of seconds to wait for response data. This value can
227
- # safely be set
228
- # per-request on the session yeidled by {#session_for}.
282
+ # safely be set per-request on the session.
229
283
  #
230
284
  # @option options [Float] :http_idle_timeout (5) The number of
231
- # seconds a connection is allowed to sit idble before it is
285
+ # seconds a connection is allowed to sit idle before it is
232
286
  # considered stale. Stale connections are closed and removed
233
287
  # from the pool before making a request.
234
288
  #
@@ -237,7 +291,7 @@ module Aws::Transfer
237
291
  # request body. This option has no effect unless the request has
238
292
  # "Expect" header set to "100-continue". Defaults to `nil` which
239
293
  # disables this behaviour. This value can safely be set per
240
- # request on the session yeidled by {#session_for}.
294
+ # request on the session.
241
295
  #
242
296
  # @option options [Boolean] :http_wire_trace (false) When `true`,
243
297
  # HTTP debug output will be sent to the `:logger`.
@@ -264,58 +318,140 @@ module Aws::Transfer
264
318
 
265
319
  # @!group API Operations
266
320
 
267
- # Instantiates an autoscaling virtual server based on Secure File
268
- # Transfer Protocol (SFTP) in AWS. When you make updates to your server
269
- # or when you work with users, use the service-generated `ServerId`
270
- # property that is assigned to the newly created server.
321
+ # Instantiates an autoscaling virtual server based on the selected file
322
+ # transfer protocol in AWS. When you make updates to your file transfer
323
+ # protocol-enabled server or when you work with users, use the
324
+ # service-generated `ServerId` property that is assigned to the newly
325
+ # created server.
326
+ #
327
+ # @option params [String] :certificate
328
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
329
+ # certificate. Required when `Protocols` is set to `FTPS`.
330
+ #
331
+ # To request a new public certificate, see [Request a public
332
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
333
+ #
334
+ # To import an existing certificate into ACM, see [Importing
335
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
336
+ # Guide</i>.
337
+ #
338
+ # To request a private certificate to use FTPS through private IP
339
+ # addresses, see [Request a private certificate][3] in the <i> AWS
340
+ # Certificate Manager User Guide</i>.
341
+ #
342
+ # Certificates with the following cryptographic algorithms and key sizes
343
+ # are supported:
344
+ #
345
+ # * 2048-bit RSA (RSA\_2048)
346
+ #
347
+ # * 4096-bit RSA (RSA\_4096)
348
+ #
349
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
350
+ #
351
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
352
+ #
353
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
354
+ #
355
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
356
+ # with FQDN or IP address specified and information about the issuer.
357
+ #
358
+ # </note>
359
+ #
360
+ #
361
+ #
362
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
363
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
364
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
271
365
  #
272
366
  # @option params [Types::EndpointDetails] :endpoint_details
273
367
  # The virtual private cloud (VPC) endpoint settings that are configured
274
- # for your SFTP server. With a VPC endpoint, you can restrict access to
275
- # your SFTP server to resources only within your VPC. To control
276
- # incoming internet traffic, you will need to invoke the `UpdateServer`
277
- # API and attach an Elastic IP to your server's endpoint.
368
+ # for your file transfer protocol-enabled server. When you host your
369
+ # endpoint within your VPC, you can make it accessible only to resources
370
+ # within your VPC, or you can attach Elastic IPs and make it accessible
371
+ # to clients over the internet. Your VPC's default security groups are
372
+ # automatically assigned to your endpoint.
278
373
  #
279
374
  # @option params [String] :endpoint_type
280
- # The type of VPC endpoint that you want your SFTP server to connect to.
281
- # You can choose to connect to the public internet or a virtual private
282
- # cloud (VPC) endpoint. With a VPC endpoint, you can restrict access to
283
- # your SFTP server and resources only within your VPC.
375
+ # The type of VPC endpoint that you want your file transfer
376
+ # protocol-enabled server to connect to. You can choose to connect to
377
+ # the public internet or a VPC endpoint. With a VPC endpoint, you can
378
+ # restrict access to your server and resources only within your VPC.
379
+ #
380
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
381
+ # endpoint type, you have the option to directly associate up to three
382
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
383
+ # and use VPC security groups to restrict traffic by the client's
384
+ # public IP address. This is not possible with `EndpointType` set to
385
+ # `VPC_ENDPOINT`.
386
+ #
387
+ # </note>
284
388
  #
285
389
  # @option params [String] :host_key
286
- # The RSA private key as generated by the `ssh-keygen -N "" -f
390
+ # The RSA private key as generated by the `ssh-keygen -N "" -m PEM -f
287
391
  # my-new-server-key` command.
288
392
  #
289
393
  # If you aren't planning to migrate existing users from an existing
290
- # SFTP server to a new AWS SFTP server, don't update the host key.
394
+ # SFTP-enabled server to a new server, don't update the host key.
291
395
  # Accidentally changing a server's host key can be disruptive.
292
396
  #
293
- # For more information, see
294
- # "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
295
- # in the *AWS SFTP User Guide.*
397
+ # For more information, see [Change the host key for your SFTP-enabled
398
+ # server][1] in the *AWS Transfer Family User Guide*.
399
+ #
400
+ #
401
+ #
402
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
296
403
  #
297
404
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
298
- # This parameter is required when the `IdentityProviderType` is set to
299
- # `API_GATEWAY`. Accepts an array containing all of the information
300
- # required to call a customer-supplied authentication API, including the
301
- # API Gateway URL. This property is not required when the
302
- # `IdentityProviderType` is set to `SERVICE_MANAGED`.
405
+ # Required when `IdentityProviderType` is set to `API_GATEWAY`. Accepts
406
+ # an array containing all of the information required to call a
407
+ # customer-supplied authentication API, including the API Gateway URL.
408
+ # Not required when `IdentityProviderType` is set to `SERVICE_MANAGED`.
303
409
  #
304
410
  # @option params [String] :identity_provider_type
305
- # Specifies the mode of authentication for the SFTP server. The default
306
- # value is `SERVICE_MANAGED`, which allows you to store and access SFTP
307
- # user credentials within the AWS Transfer for SFTP service. Use the
308
- # `API_GATEWAY` value to integrate with an identity provider of your
309
- # choosing. The `API_GATEWAY` setting requires you to provide an API
310
- # Gateway endpoint URL to call for authentication using the
311
- # `IdentityProviderDetails` parameter.
411
+ # Specifies the mode of authentication for a file transfer
412
+ # protocol-enabled server. The default value is `SERVICE_MANAGED`, which
413
+ # allows you to store and access user credentials within the AWS
414
+ # Transfer Family service. Use the `API_GATEWAY` value to integrate with
415
+ # an identity provider of your choosing. The `API_GATEWAY` setting
416
+ # requires you to provide an API Gateway endpoint URL to call for
417
+ # authentication using the `IdentityProviderDetails` parameter.
312
418
  #
313
419
  # @option params [String] :logging_role
314
- # A value that allows the service to write your SFTP users' activity to
315
- # your Amazon CloudWatch logs for monitoring and auditing purposes.
420
+ # Allows the service to write your users' activity to your Amazon
421
+ # CloudWatch logs for monitoring and auditing purposes.
422
+ #
423
+ # @option params [Array<String>] :protocols
424
+ # Specifies the file transfer protocol or protocols over which your file
425
+ # transfer protocol client can connect to your server's endpoint. The
426
+ # available protocols are:
427
+ #
428
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
429
+ # over SSH
430
+ #
431
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
432
+ # encryption
433
+ #
434
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
435
+ #
436
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
437
+ # Certificate Manager (ACM) which will be used to identify your server
438
+ # when clients connect to it over FTPS.
439
+ #
440
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
441
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
442
+ #
443
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
444
+ # associated.
445
+ #
446
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
447
+ # `PUBLIC` and the `IdentityProviderType` can be set to
448
+ # `SERVICE_MANAGED`.
449
+ #
450
+ # </note>
316
451
  #
317
452
  # @option params [Array<Types::Tag>] :tags
318
- # Key-value pairs that can be used to group and search for servers.
453
+ # Key-value pairs that can be used to group and search for file transfer
454
+ # protocol-enabled servers.
319
455
  #
320
456
  # @return [Types::CreateServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
321
457
  #
@@ -324,6 +460,7 @@ module Aws::Transfer
324
460
  # @example Request syntax with placeholder values
325
461
  #
326
462
  # resp = client.create_server({
463
+ # certificate: "Certificate",
327
464
  # endpoint_details: {
328
465
  # address_allocation_ids: ["AddressAllocationId"],
329
466
  # subnet_ids: ["SubnetId"],
@@ -338,6 +475,7 @@ module Aws::Transfer
338
475
  # },
339
476
  # identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
340
477
  # logging_role: "Role",
478
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
341
479
  # tags: [
342
480
  # {
343
481
  # key: "TagKey", # required
@@ -359,54 +497,57 @@ module Aws::Transfer
359
497
  req.send_request(options)
360
498
  end
361
499
 
362
- # Creates a user and associates them with an existing Secure File
363
- # Transfer Protocol (SFTP) server. You can only create and associate
364
- # users with SFTP servers that have the `IdentityProviderType` set to
365
- # `SERVICE_MANAGED`. Using parameters for `CreateUser`, you can specify
366
- # the user name, set the home directory, store the user's public key,
367
- # and assign the user's AWS Identity and Access Management (IAM) role.
368
- # You can also optionally add a scope-down policy, and assign metadata
369
- # with tags that can be used to group and search for users.
500
+ # Creates a user and associates them with an existing file transfer
501
+ # protocol-enabled server. You can only create and associate users with
502
+ # servers that have the `IdentityProviderType` set to `SERVICE_MANAGED`.
503
+ # Using parameters for `CreateUser`, you can specify the user name, set
504
+ # the home directory, store the user's public key, and assign the
505
+ # user's AWS Identity and Access Management (IAM) role. You can also
506
+ # optionally add a scope-down policy, and assign metadata with tags that
507
+ # can be used to group and search for users.
370
508
  #
371
509
  # @option params [String] :home_directory
372
- # The landing directory (folder) for a user when they log in to the
373
- # server using their SFTP client.
510
+ # The landing directory (folder) for a user when they log in to the file
511
+ # transfer protocol-enabled server using the client.
374
512
  #
375
- # An example is &lt;`your-Amazon-S3-bucket-name>/home/username`.
513
+ # An example is <i>
514
+ # <code>your-Amazon-S3-bucket-name&gt;/home/username</code> </i>.
376
515
  #
377
516
  # @option params [String] :home_directory_type
378
517
  # The type of landing directory (folder) you want your users' home
379
- # directory to be when they log into the SFTP server. If you set it to
380
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
381
- # their SFTP clients. If you set it `LOGICAL`, you will need to provide
382
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
383
- # paths visible to your user.
518
+ # directory to be when they log into the file transfer protocol-enabled
519
+ # server. If you set it to `PATH`, the user will see the absolute Amazon
520
+ # S3 bucket paths as is in their file transfer protocol clients. If you
521
+ # set it `LOGICAL`, you will need to provide mappings in the
522
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 paths
523
+ # visible to your users.
384
524
  #
385
525
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
386
- # Logical directory mappings that specify what S3 paths and keys should
387
- # be visible to your user and how you want to make them visible. You
388
- # will need to specify the "`Entry`" and "`Target`" pair, where
526
+ # Logical directory mappings that specify what Amazon S3 paths and keys
527
+ # should be visible to your user and how you want to make them visible.
528
+ # You will need to specify the "`Entry`" and "`Target`" pair, where
389
529
  # `Entry` shows how the path is made visible and `Target` is the actual
390
- # S3 path. If you only specify a target, it will be displayed as is. You
391
- # will need to also make sure that your AWS IAM Role provides access to
392
- # paths in `Target`. The following is an example.
530
+ # Amazon S3 path. If you only specify a target, it will be displayed as
531
+ # is. You will need to also make sure that your IAM role provides access
532
+ # to paths in `Target`. The following is an example.
393
533
  #
394
534
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
395
535
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
396
536
  # ]'`
397
537
  #
398
- # In most cases, you can use this value instead of the scope down policy
538
+ # In most cases, you can use this value instead of the scope-down policy
399
539
  # to lock your user down to the designated home directory ("chroot").
400
540
  # To do this, you can set `Entry` to '/' and set `Target` to the
401
541
  # HomeDirectory parameter value.
402
542
  #
403
- # <note markdown="1"> If the target of a logical directory entry does not exist in S3, the
404
- # entry will be ignored. As a workaround, you can use the S3 api to
405
- # create 0 byte objects as place holders for your directory. If using
406
- # the CLI, use the s3api call instead of s3 so you can use the
407
- # put-object operation. For example, you use the following: `aws s3api
408
- # put-object --bucket bucketname --key path/to/folder/`. Make sure that
409
- # the end of the key name ends in a / for it to be considered a folder.
543
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
544
+ # S3, the entry will be ignored. As a workaround, you can use the Amazon
545
+ # S3 api to create 0 byte objects as place holders for your directory.
546
+ # If using the CLI, use the `s3api` call instead of `s3` so you can use
547
+ # the put-object operation. For example, you use the following: `aws
548
+ # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
549
+ # that the end of the key name ends in a '/' for it to be considered a
550
+ # folder.
410
551
  #
411
552
  # </note>
412
553
  #
@@ -417,47 +558,52 @@ module Aws::Transfer
417
558
  # policy include `$\{Transfer:UserName\}`,
418
559
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
419
560
  #
420
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as a
561
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
421
562
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
422
563
  # You save the policy as a JSON blob and pass it in the `Policy`
423
564
  # argument.
424
565
  #
425
- # For an example of a scope-down policy, see
426
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
427
- # a Scope-Down Policy.
566
+ # For an example of a scope-down policy, see [Creating a scope-down
567
+ # policy][1].
428
568
  #
429
- # For more information, see
430
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
431
- # in the *AWS Security Token Service API Reference*.
569
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
570
+ # Service API Reference*.
432
571
  #
433
572
  # </note>
434
573
  #
574
+ #
575
+ #
576
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
577
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
578
+ #
435
579
  # @option params [required, String] :role
436
- # The IAM role that controls your user's access to your Amazon S3
580
+ # The IAM role that controls your users' access to your Amazon S3
437
581
  # bucket. The policies attached to this role will determine the level of
438
582
  # access you want to provide your users when transferring files into and
439
583
  # out of your Amazon S3 bucket or buckets. The IAM role should also
440
- # contain a trust relationship that allows the SFTP server to access
441
- # your resources when servicing your SFTP user's transfer requests.
584
+ # contain a trust relationship that allows the file transfer
585
+ # protocol-enabled server to access your resources when servicing your
586
+ # users' transfer requests.
442
587
  #
443
588
  # @option params [required, String] :server_id
444
- # A system-assigned unique identifier for an SFTP server instance. This
445
- # is the specific SFTP server that you added your user to.
589
+ # A system-assigned unique identifier for a file transfer
590
+ # protocol-enabled server instance. This is the specific server that you
591
+ # added your user to.
446
592
  #
447
593
  # @option params [String] :ssh_public_key_body
448
594
  # The public portion of the Secure Shell (SSH) key used to authenticate
449
- # the user to the SFTP server.
595
+ # the user to the file transfer protocol-enabled server.
450
596
  #
451
597
  # @option params [Array<Types::Tag>] :tags
452
598
  # Key-value pairs that can be used to group and search for users. Tags
453
599
  # are metadata attached to users for any purpose.
454
600
  #
455
601
  # @option params [required, String] :user_name
456
- # A unique string that identifies a user and is associated with a server
457
- # as specified by the `ServerId`. This user name must be a minimum of 3
458
- # and a maximum of 32 characters long. The following are valid
459
- # characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name
460
- # can't start with a hyphen.
602
+ # A unique string that identifies a user and is associated with a file
603
+ # transfer protocol-enabled server as specified by the `ServerId`. This
604
+ # user name must be a minimum of 3 and a maximum of 32 characters long.
605
+ # The following are valid characters: a-z, A-Z, 0-9, underscore, and
606
+ # hyphen. The user name can't start with a hyphen.
461
607
  #
462
608
  # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
463
609
  #
@@ -502,13 +648,13 @@ module Aws::Transfer
502
648
  req.send_request(options)
503
649
  end
504
650
 
505
- # Deletes the Secure File Transfer Protocol (SFTP) server that you
506
- # specify.
651
+ # Deletes the file transfer protocol-enabled server that you specify.
507
652
  #
508
653
  # No response returns from this operation.
509
654
  #
510
655
  # @option params [required, String] :server_id
511
- # A unique system-assigned identifier for an SFTP server instance.
656
+ # A unique system-assigned identifier for a file transfer
657
+ # protocol-enabled server instance.
512
658
  #
513
659
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
514
660
  #
@@ -532,8 +678,8 @@ module Aws::Transfer
532
678
  # No response is returned from this operation.
533
679
  #
534
680
  # @option params [required, String] :server_id
535
- # A system-assigned unique identifier for a Secure File Transfer
536
- # Protocol (SFTP) server instance that has the user assigned to it.
681
+ # A system-assigned unique identifier for a file transfer
682
+ # protocol-enabled server instance that has the user assigned to it.
537
683
  #
538
684
  # @option params [required, String] :ssh_public_key_id
539
685
  # A unique identifier used to reference your user's specific SSH key.
@@ -561,7 +707,8 @@ module Aws::Transfer
561
707
  req.send_request(options)
562
708
  end
563
709
 
564
- # Deletes the user belonging to the server you specify.
710
+ # Deletes the user belonging to a file transfer protocol-enabled server
711
+ # you specify.
565
712
  #
566
713
  # No response returns from this operation.
567
714
  #
@@ -570,12 +717,12 @@ module Aws::Transfer
570
717
  # </note>
571
718
  #
572
719
  # @option params [required, String] :server_id
573
- # A system-assigned unique identifier for an SFTP server instance that
574
- # has the user assigned to it.
720
+ # A system-assigned unique identifier for a file transfer
721
+ # protocol-enabled server instance that has the user assigned to it.
575
722
  #
576
723
  # @option params [required, String] :user_name
577
- # A unique string that identifies a user that is being deleted from the
578
- # server.
724
+ # A unique string that identifies a user that is being deleted from a
725
+ # file transfer protocol-enabled server.
579
726
  #
580
727
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
581
728
  #
@@ -595,15 +742,16 @@ module Aws::Transfer
595
742
  req.send_request(options)
596
743
  end
597
744
 
598
- # Describes the server that you specify by passing the `ServerId`
599
- # parameter.
745
+ # Describes a file transfer protocol-enabled server that you specify by
746
+ # passing the `ServerId` parameter.
600
747
  #
601
- # The response contains a description of the server's properties. When
748
+ # The response contains a description of a server's properties. When
602
749
  # you set `EndpointType` to VPC, the response will contain the
603
750
  # `EndpointDetails`.
604
751
  #
605
752
  # @option params [required, String] :server_id
606
- # A system-assigned unique identifier for an SFTP server.
753
+ # A system-assigned unique identifier for a file transfer
754
+ # protocol-enabled server.
607
755
  #
608
756
  # @return [Types::DescribeServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
609
757
  #
@@ -618,6 +766,7 @@ module Aws::Transfer
618
766
  # @example Response structure
619
767
  #
620
768
  # resp.server.arn #=> String
769
+ # resp.server.certificate #=> String
621
770
  # resp.server.endpoint_details.address_allocation_ids #=> Array
622
771
  # resp.server.endpoint_details.address_allocation_ids[0] #=> String
623
772
  # resp.server.endpoint_details.subnet_ids #=> Array
@@ -630,6 +779,8 @@ module Aws::Transfer
630
779
  # resp.server.identity_provider_details.invocation_role #=> String
631
780
  # resp.server.identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY"
632
781
  # resp.server.logging_role #=> String
782
+ # resp.server.protocols #=> Array
783
+ # resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS"
633
784
  # resp.server.server_id #=> String
634
785
  # resp.server.state #=> String, one of "OFFLINE", "ONLINE", "STARTING", "STOPPING", "START_FAILED", "STOP_FAILED"
635
786
  # resp.server.tags #=> Array
@@ -646,20 +797,21 @@ module Aws::Transfer
646
797
  req.send_request(options)
647
798
  end
648
799
 
649
- # Describes the user assigned to a specific server, as identified by its
650
- # `ServerId` property.
800
+ # Describes the user assigned to the specific file transfer
801
+ # protocol-enabled server, as identified by its `ServerId` property.
651
802
  #
652
803
  # The response from this call returns the properties of the user
653
804
  # associated with the `ServerId` value that was specified.
654
805
  #
655
806
  # @option params [required, String] :server_id
656
- # A system-assigned unique identifier for an SFTP server that has this
657
- # user assigned.
807
+ # A system-assigned unique identifier for a file transfer
808
+ # protocol-enabled server that has this user assigned.
658
809
  #
659
810
  # @option params [required, String] :user_name
660
- # The name of the user assigned to one or more servers. User names are
661
- # part of the sign-in credentials to use the AWS Transfer for SFTP
662
- # service and perform file transfer tasks.
811
+ # The name of the user assigned to one or more file transfer
812
+ # protocol-enabled servers. User names are part of the sign-in
813
+ # credentials to use the AWS Transfer Family service and perform file
814
+ # transfer tasks.
663
815
  #
664
816
  # @return [Types::DescribeUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
665
817
  #
@@ -703,20 +855,22 @@ module Aws::Transfer
703
855
  end
704
856
 
705
857
  # Adds a Secure Shell (SSH) public key to a user account identified by a
706
- # `UserName` value assigned to a specific server, identified by
707
- # `ServerId`.
858
+ # `UserName` value assigned to the specific file transfer
859
+ # protocol-enabled server, identified by `ServerId`.
708
860
  #
709
861
  # The response returns the `UserName` value, the `ServerId` value, and
710
862
  # the name of the `SshPublicKeyId`.
711
863
  #
712
864
  # @option params [required, String] :server_id
713
- # A system-assigned unique identifier for an SFTP server.
865
+ # A system-assigned unique identifier for a file transfer
866
+ # protocol-enabled server.
714
867
  #
715
868
  # @option params [required, String] :ssh_public_key_body
716
869
  # The public key portion of an SSH key pair.
717
870
  #
718
871
  # @option params [required, String] :user_name
719
- # The name of the user account that is assigned to one or more servers.
872
+ # The name of the user account that is assigned to one or more file
873
+ # transfer protocol-enabled servers.
720
874
  #
721
875
  # @return [Types::ImportSshPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
722
876
  #
@@ -747,24 +901,26 @@ module Aws::Transfer
747
901
  req.send_request(options)
748
902
  end
749
903
 
750
- # Lists the Secure File Transfer Protocol (SFTP) servers that are
751
- # associated with your AWS account.
904
+ # Lists the file transfer protocol-enabled servers that are associated
905
+ # with your AWS account.
752
906
  #
753
907
  # @option params [Integer] :max_results
754
- # Specifies the number of servers to return as a response to the
755
- # `ListServers` query.
908
+ # Specifies the number of file transfer protocol-enabled servers to
909
+ # return as a response to the `ListServers` query.
756
910
  #
757
911
  # @option params [String] :next_token
758
- # When additional results are obtained from the `ListServers` command, a
912
+ # When additional results are obtained from the`ListServers` command, a
759
913
  # `NextToken` parameter is returned in the output. You can then pass the
760
914
  # `NextToken` parameter in a subsequent command to continue listing
761
- # additional servers.
915
+ # additional file transfer protocol-enabled servers.
762
916
  #
763
917
  # @return [Types::ListServersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
764
918
  #
765
919
  # * {Types::ListServersResponse#next_token #next_token} => String
766
920
  # * {Types::ListServersResponse#servers #servers} => Array&lt;Types::ListedServer&gt;
767
921
  #
922
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
923
+ #
768
924
  # @example Request syntax with placeholder values
769
925
  #
770
926
  # resp = client.list_servers({
@@ -817,6 +973,8 @@ module Aws::Transfer
817
973
  # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
818
974
  # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
819
975
  #
976
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
977
+ #
820
978
  # @example Request syntax with placeholder values
821
979
  #
822
980
  # resp = client.list_tags_for_resource({
@@ -842,8 +1000,8 @@ module Aws::Transfer
842
1000
  req.send_request(options)
843
1001
  end
844
1002
 
845
- # Lists the users for the server that you specify by passing the
846
- # `ServerId` parameter.
1003
+ # Lists the users for a file transfer protocol-enabled server that you
1004
+ # specify by passing the `ServerId` parameter.
847
1005
  #
848
1006
  # @option params [Integer] :max_results
849
1007
  # Specifies the number of users to return as a response to the
@@ -856,8 +1014,8 @@ module Aws::Transfer
856
1014
  # additional users.
857
1015
  #
858
1016
  # @option params [required, String] :server_id
859
- # A system-assigned unique identifier for a Secure File Transfer
860
- # Protocol (SFTP) server that has users assigned to it.
1017
+ # A system-assigned unique identifier for a file transfer
1018
+ # protocol-enabled server that has users assigned to it.
861
1019
  #
862
1020
  # @return [Types::ListUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
863
1021
  #
@@ -865,6 +1023,8 @@ module Aws::Transfer
865
1023
  # * {Types::ListUsersResponse#server_id #server_id} => String
866
1024
  # * {Types::ListUsersResponse#users #users} => Array&lt;Types::ListedUser&gt;
867
1025
  #
1026
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1027
+ #
868
1028
  # @example Request syntax with placeholder values
869
1029
  #
870
1030
  # resp = client.list_users({
@@ -894,10 +1054,10 @@ module Aws::Transfer
894
1054
  req.send_request(options)
895
1055
  end
896
1056
 
897
- # Changes the state of a Secure File Transfer Protocol (SFTP) server
898
- # from `OFFLINE` to `ONLINE`. It has no impact on an SFTP server that is
899
- # already `ONLINE`. An `ONLINE` server can accept and process file
900
- # transfer jobs.
1057
+ # Changes the state of a file transfer protocol-enabled server from
1058
+ # `OFFLINE` to `ONLINE`. It has no impact on a server that is already
1059
+ # `ONLINE`. An `ONLINE` server can accept and process file transfer
1060
+ # jobs.
901
1061
  #
902
1062
  # The state of `STARTING` indicates that the server is in an
903
1063
  # intermediate state, either not fully able to respond, or not fully
@@ -906,7 +1066,8 @@ module Aws::Transfer
906
1066
  # No response is returned from this call.
907
1067
  #
908
1068
  # @option params [required, String] :server_id
909
- # A system-assigned unique identifier for an SFTP server that you start.
1069
+ # A system-assigned unique identifier for a file transfer
1070
+ # protocol-enabled server that you start.
910
1071
  #
911
1072
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
912
1073
  #
@@ -925,12 +1086,12 @@ module Aws::Transfer
925
1086
  req.send_request(options)
926
1087
  end
927
1088
 
928
- # Changes the state of an SFTP server from `ONLINE` to `OFFLINE`. An
929
- # `OFFLINE` server cannot accept and process file transfer jobs.
930
- # Information tied to your server such as server and user properties are
931
- # not affected by stopping your server. Stopping a server will not
932
- # reduce or impact your Secure File Transfer Protocol (SFTP) endpoint
933
- # billing.
1089
+ # Changes the state of a file transfer protocol-enabled server from
1090
+ # `ONLINE` to `OFFLINE`. An `OFFLINE` server cannot accept and process
1091
+ # file transfer jobs. Information tied to your server, such as server
1092
+ # and user properties, are not affected by stopping your server.
1093
+ # Stopping the server will not reduce or impact your file transfer
1094
+ # protocol endpoint billing.
934
1095
  #
935
1096
  # The state of `STOPPING` indicates that the server is in an
936
1097
  # intermediate state, either not fully able to respond, or not fully
@@ -939,8 +1100,8 @@ module Aws::Transfer
939
1100
  # No response is returned from this call.
940
1101
  #
941
1102
  # @option params [required, String] :server_id
942
- # A system-assigned unique identifier for an SFTP server that you
943
- # stopped.
1103
+ # A system-assigned unique identifier for a file transfer
1104
+ # protocol-enabled server that you stopped.
944
1105
  #
945
1106
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
946
1107
  #
@@ -997,19 +1158,34 @@ module Aws::Transfer
997
1158
  req.send_request(options)
998
1159
  end
999
1160
 
1000
- # If the `IdentityProviderType` of the server is `API_Gateway`, tests
1001
- # whether your API Gateway is set up successfully. We highly recommend
1002
- # that you call this operation to test your authentication method as
1003
- # soon as you create your server. By doing so, you can troubleshoot
1004
- # issues with the API Gateway integration to ensure that your users can
1005
- # successfully use the service.
1161
+ # If the `IdentityProviderType` of a file transfer protocol-enabled
1162
+ # server is `API_Gateway`, tests whether your API Gateway is set up
1163
+ # successfully. We highly recommend that you call this operation to test
1164
+ # your authentication method as soon as you create your server. By doing
1165
+ # so, you can troubleshoot issues with the API Gateway integration to
1166
+ # ensure that your users can successfully use the service.
1006
1167
  #
1007
1168
  # @option params [required, String] :server_id
1008
- # A system-assigned identifier for a specific server. That server's
1009
- # user authentication method is tested with a user name and password.
1169
+ # A system-assigned identifier for a specific file transfer
1170
+ # protocol-enabled server. That server's user authentication method is
1171
+ # tested with a user name and password.
1172
+ #
1173
+ # @option params [String] :server_protocol
1174
+ # The type of file transfer protocol to be tested.
1175
+ #
1176
+ # The available protocols are:
1177
+ #
1178
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP)
1179
+ #
1180
+ # * File Transfer Protocol Secure (FTPS)
1181
+ #
1182
+ # * File Transfer Protocol (FTP)
1183
+ #
1184
+ # @option params [String] :source_ip
1185
+ # The source IP address of the user account to be tested.
1010
1186
  #
1011
1187
  # @option params [required, String] :user_name
1012
- # This request parameter is the name of the user account to be tested.
1188
+ # The name of the user account to be tested.
1013
1189
  #
1014
1190
  # @option params [String] :user_password
1015
1191
  # The password of the user account to be tested.
@@ -1025,6 +1201,8 @@ module Aws::Transfer
1025
1201
  #
1026
1202
  # resp = client.test_identity_provider({
1027
1203
  # server_id: "ServerId", # required
1204
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1205
+ # source_ip: "SourceIp",
1028
1206
  # user_name: "UserName", # required
1029
1207
  # user_password: "UserPassword",
1030
1208
  # })
@@ -1052,9 +1230,9 @@ module Aws::Transfer
1052
1230
  # No response is returned from this call.
1053
1231
  #
1054
1232
  # @option params [required, String] :arn
1055
- # This is the value of the resource that will have the tag removed. An
1056
- # Amazon Resource Name (ARN) is an identifier for a specific AWS
1057
- # resource, such as a server, user, or role.
1233
+ # The value of the resource that will have the tag removed. An Amazon
1234
+ # Resource Name (ARN) is an identifier for a specific AWS resource, such
1235
+ # as a server, user, or role.
1058
1236
  #
1059
1237
  # @option params [required, Array<String>] :tag_keys
1060
1238
  # TagKeys are key-value pairs assigned to ARNs that can be used to group
@@ -1079,48 +1257,130 @@ module Aws::Transfer
1079
1257
  req.send_request(options)
1080
1258
  end
1081
1259
 
1082
- # Updates the server properties after that server has been created.
1260
+ # Updates the file transfer protocol-enabled server's properties after
1261
+ # that server has been created.
1262
+ #
1263
+ # The `UpdateServer` call returns the `ServerId` of the server you
1264
+ # updated.
1265
+ #
1266
+ # @option params [String] :certificate
1267
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
1268
+ # certificate. Required when `Protocols` is set to `FTPS`.
1269
+ #
1270
+ # To request a new public certificate, see [Request a public
1271
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
1272
+ #
1273
+ # To import an existing certificate into ACM, see [Importing
1274
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
1275
+ # Guide</i>.
1276
+ #
1277
+ # To request a private certificate to use FTPS through private IP
1278
+ # addresses, see [Request a private certificate][3] in the <i> AWS
1279
+ # Certificate Manager User Guide</i>.
1280
+ #
1281
+ # Certificates with the following cryptographic algorithms and key sizes
1282
+ # are supported:
1283
+ #
1284
+ # * 2048-bit RSA (RSA\_2048)
1285
+ #
1286
+ # * 4096-bit RSA (RSA\_4096)
1287
+ #
1288
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
1289
+ #
1290
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
1291
+ #
1292
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
1293
+ #
1294
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
1295
+ # with FQDN or IP address specified and information about the issuer.
1296
+ #
1297
+ # </note>
1083
1298
  #
1084
- # The `UpdateServer` call returns the `ServerId` of the Secure File
1085
- # Transfer Protocol (SFTP) server you updated.
1299
+ #
1300
+ #
1301
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
1302
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
1303
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
1086
1304
  #
1087
1305
  # @option params [Types::EndpointDetails] :endpoint_details
1088
1306
  # The virtual private cloud (VPC) endpoint settings that are configured
1089
- # for your SFTP server. With a VPC endpoint, you can restrict access to
1090
- # your SFTP server to resources only within your VPC. To control
1091
- # incoming internet traffic, you will need to associate one or more
1092
- # Elastic IP addresses with your server's endpoint.
1307
+ # for your file transfer protocol-enabled server. With a VPC endpoint,
1308
+ # you can restrict access to your server to resources only within your
1309
+ # VPC. To control incoming internet traffic, you will need to associate
1310
+ # one or more Elastic IP addresses with your server's endpoint.
1093
1311
  #
1094
1312
  # @option params [String] :endpoint_type
1095
- # The type of endpoint that you want your SFTP server to connect to. You
1096
- # can choose to connect to the public internet or a virtual private
1097
- # cloud (VPC) endpoint. With a VPC endpoint, your SFTP server isn't
1098
- # accessible over the public internet.
1313
+ # The type of endpoint that you want your file transfer protocol-enabled
1314
+ # server to connect to. You can choose to connect to the public internet
1315
+ # or a VPC endpoint. With a VPC endpoint, you can restrict access to
1316
+ # your server and resources only within your VPC.
1317
+ #
1318
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
1319
+ # endpoint type, you have the option to directly associate up to three
1320
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
1321
+ # and use VPC security groups to restrict traffic by the client's
1322
+ # public IP address. This is not possible with `EndpointType` set to
1323
+ # `VPC_ENDPOINT`.
1324
+ #
1325
+ # </note>
1099
1326
  #
1100
1327
  # @option params [String] :host_key
1101
- # The RSA private key as generated by `ssh-keygen -N "" -f
1328
+ # The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
1102
1329
  # my-new-server-key`.
1103
1330
  #
1104
1331
  # If you aren't planning to migrate existing users from an existing
1105
- # SFTP server to a new AWS SFTP server, don't update the host key.
1106
- # Accidentally changing a server's host key can be disruptive.
1332
+ # file transfer protocol-enabled server to a new server, don't update
1333
+ # the host key. Accidentally changing a server's host key can be
1334
+ # disruptive.
1335
+ #
1336
+ # For more information, see [Change the host key for your SFTP-enabled
1337
+ # server][1] in the *AWS Transfer Family User Guide*.
1107
1338
  #
1108
- # For more information, see
1109
- # "https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
1110
- # in the *AWS SFTP User Guide.*
1339
+ #
1340
+ #
1341
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
1111
1342
  #
1112
1343
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
1113
- # This response parameter is an array containing all of the information
1114
- # required to call a customer's authentication API method.
1344
+ # An array containing all of the information required to call a
1345
+ # customer's authentication API method.
1115
1346
  #
1116
1347
  # @option params [String] :logging_role
1117
- # A value that changes the AWS Identity and Access Management (IAM) role
1118
- # that allows Amazon S3 events to be logged in Amazon CloudWatch,
1119
- # turning logging on or off.
1348
+ # Changes the AWS Identity and Access Management (IAM) role that allows
1349
+ # Amazon S3 events to be logged in Amazon CloudWatch, turning logging on
1350
+ # or off.
1351
+ #
1352
+ # @option params [Array<String>] :protocols
1353
+ # Specifies the file transfer protocol or protocols over which your file
1354
+ # transfer protocol client can connect to your server's endpoint. The
1355
+ # available protocols are:
1356
+ #
1357
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over
1358
+ # SSH
1359
+ #
1360
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
1361
+ # encryption
1362
+ #
1363
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
1364
+ #
1365
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
1366
+ # Certificate Manager (ACM) which will be used to identify your server
1367
+ # when clients connect to it over FTPS.
1368
+ #
1369
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
1370
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
1371
+ #
1372
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
1373
+ # associated.
1374
+ #
1375
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
1376
+ # `PUBLIC` and the `IdentityProviderType` can be set to
1377
+ # `SERVICE_MANAGED`.
1378
+ #
1379
+ # </note>
1120
1380
  #
1121
1381
  # @option params [required, String] :server_id
1122
- # A system-assigned unique identifier for an SFTP server instance that
1123
- # the user account is assigned to.
1382
+ # A system-assigned unique identifier for a file transfer
1383
+ # protocol-enabled server instance that the user account is assigned to.
1124
1384
  #
1125
1385
  # @return [Types::UpdateServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1126
1386
  #
@@ -1129,6 +1389,7 @@ module Aws::Transfer
1129
1389
  # @example Request syntax with placeholder values
1130
1390
  #
1131
1391
  # resp = client.update_server({
1392
+ # certificate: "Certificate",
1132
1393
  # endpoint_details: {
1133
1394
  # address_allocation_ids: ["AddressAllocationId"],
1134
1395
  # subnet_ids: ["SubnetId"],
@@ -1142,6 +1403,7 @@ module Aws::Transfer
1142
1403
  # invocation_role: "Role",
1143
1404
  # },
1144
1405
  # logging_role: "NullableRole",
1406
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1145
1407
  # server_id: "ServerId", # required
1146
1408
  # })
1147
1409
  #
@@ -1166,90 +1428,95 @@ module Aws::Transfer
1166
1428
  # user.
1167
1429
  #
1168
1430
  # @option params [String] :home_directory
1169
- # A parameter that specifies the landing directory (folder) for a user
1170
- # when they log in to the server using their client.
1431
+ # Specifies the landing directory (folder) for a user when they log in
1432
+ # to the file transfer protocol-enabled server using their file transfer
1433
+ # protocol client.
1171
1434
  #
1172
- # An example is `<your-Amazon-S3-bucket-name>/home/username`.
1435
+ # An example is `your-Amazon-S3-bucket-name>/home/username`.
1173
1436
  #
1174
1437
  # @option params [String] :home_directory_type
1175
1438
  # The type of landing directory (folder) you want your users' home
1176
- # directory to be when they log into the SFTP serve. If you set it to
1177
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
1178
- # their SFTP clients. If you set it `LOGICAL`, you will need to provide
1179
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
1180
- # paths visible to your user.
1439
+ # directory to be when they log into the file transfer protocol-enabled
1440
+ # server. If you set it to `PATH`, the user will see the absolute Amazon
1441
+ # S3 bucket paths as is in their file transfer protocol clients. If you
1442
+ # set it `LOGICAL`, you will need to provide mappings in the
1443
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 paths
1444
+ # visible to your users.
1181
1445
  #
1182
1446
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
1183
- # Logical directory mappings that specify what S3 paths and keys should
1184
- # be visible to your user and how you want to make them visible. You
1185
- # will need to specify the "`Entry`" and "`Target`" pair, where
1447
+ # Logical directory mappings that specify what Amazon S3 paths and keys
1448
+ # should be visible to your user and how you want to make them visible.
1449
+ # You will need to specify the "`Entry`" and "`Target`" pair, where
1186
1450
  # `Entry` shows how the path is made visible and `Target` is the actual
1187
- # S3 path. If you only specify a target, it will be displayed as is. You
1188
- # will need to also make sure that your AWS IAM Role provides access to
1189
- # paths in `Target`. The following is an example.
1451
+ # Amazon S3 path. If you only specify a target, it will be displayed as
1452
+ # is. You will need to also make sure that your IAM role provides access
1453
+ # to paths in `Target`. The following is an example.
1190
1454
  #
1191
1455
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
1192
1456
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
1193
1457
  # ]'`
1194
1458
  #
1195
- # In most cases, you can use this value instead of the scope down policy
1459
+ # In most cases, you can use this value instead of the scope-down policy
1196
1460
  # to lock your user down to the designated home directory ("chroot").
1197
1461
  # To do this, you can set `Entry` to '/' and set `Target` to the
1198
1462
  # HomeDirectory parameter value.
1199
1463
  #
1200
- # <note markdown="1"> If the target of a logical directory entry does not exist in S3, the
1201
- # entry will be ignored. As a workaround, you can use the S3 api to
1202
- # create 0 byte objects as place holders for your directory. If using
1203
- # the CLI, use the s3api call instead of s3 so you can use the
1204
- # put-object operation. For example, you use the following: `aws s3api
1205
- # put-object --bucket bucketname --key path/to/folder/`. Make sure that
1206
- # the end of the key name ends in a / for it to be considered a folder.
1464
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1465
+ # S3, the entry will be ignored. As a workaround, you can use the Amazon
1466
+ # S3 api to create 0 byte objects as place holders for your directory.
1467
+ # If using the CLI, use the `s3api` call instead of `s3` so you can use
1468
+ # the put-object operation. For example, you use the following: `aws
1469
+ # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
1470
+ # that the end of the key name ends in a / for it to be considered a
1471
+ # folder.
1207
1472
  #
1208
1473
  # </note>
1209
1474
  #
1210
1475
  # @option params [String] :policy
1211
1476
  # Allows you to supply a scope-down policy for your user so you can use
1212
- # the same AWS Identity and Access Management (IAM) role across multiple
1213
- # users. The policy scopes down user access to portions of your Amazon
1214
- # S3 bucket. Variables you can use inside this policy include
1215
- # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1216
- # `$\{Transfer:HomeBucket\}`.
1477
+ # the same IAM role across multiple users. The policy scopes down user
1478
+ # access to portions of your Amazon S3 bucket. Variables you can use
1479
+ # inside this policy include `$\{Transfer:UserName\}`,
1480
+ # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1217
1481
  #
1218
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as a
1482
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
1219
1483
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
1220
1484
  # You save the policy as a JSON blob and pass it in the `Policy`
1221
1485
  # argument.
1222
1486
  #
1223
- # For an example of a scope-down policy, see
1224
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
1225
- # a Scope-Down Policy.
1487
+ # For an example of a scope-down policy, see [Creating a scope-down
1488
+ # policy][1].
1226
1489
  #
1227
- # For more information, see
1228
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
1229
- # in the *AWS Security Token Service API Reference*.
1490
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
1491
+ # Service API Reference*.
1230
1492
  #
1231
1493
  # </note>
1232
1494
  #
1495
+ #
1496
+ #
1497
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
1498
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
1499
+ #
1233
1500
  # @option params [String] :role
1234
- # The IAM role that controls your user's access to your Amazon S3
1501
+ # The IAM role that controls your users' access to your Amazon S3
1235
1502
  # bucket. The policies attached to this role will determine the level of
1236
1503
  # access you want to provide your users when transferring files into and
1237
1504
  # out of your Amazon S3 bucket or buckets. The IAM role should also
1238
- # contain a trust relationship that allows the Secure File Transfer
1239
- # Protocol (SFTP) server to access your resources when servicing your
1240
- # SFTP user's transfer requests.
1505
+ # contain a trust relationship that allows the file transfer
1506
+ # protocol-enabled server to access your resources when servicing your
1507
+ # users' transfer requests.
1241
1508
  #
1242
1509
  # @option params [required, String] :server_id
1243
- # A system-assigned unique identifier for an SFTP server instance that
1244
- # the user account is assigned to.
1510
+ # A system-assigned unique identifier for a file transfer
1511
+ # protocol-enabled server instance that the user account is assigned to.
1245
1512
  #
1246
1513
  # @option params [required, String] :user_name
1247
- # A unique string that identifies a user and is associated with a server
1248
- # as specified by the `ServerId`. This is the string that will be used
1249
- # by your user when they log in to your SFTP server. This user name is a
1250
- # minimum of 3 and a maximum of 32 characters long. The following are
1251
- # valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name
1252
- # can't start with a hyphen.
1514
+ # A unique string that identifies a user and is associated with a file
1515
+ # transfer protocol-enabled server as specified by the `ServerId`. This
1516
+ # is the string that will be used by your user when they log in to your
1517
+ # server. This user name is a minimum of 3 and a maximum of 32
1518
+ # characters long. The following are valid characters: a-z, A-Z, 0-9,
1519
+ # underscore, and hyphen. The user name can't start with a hyphen.
1253
1520
  #
1254
1521
  # @return [Types::UpdateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1255
1522
  #
@@ -1300,7 +1567,7 @@ module Aws::Transfer
1300
1567
  params: params,
1301
1568
  config: config)
1302
1569
  context[:gem_name] = 'aws-sdk-transfer'
1303
- context[:gem_version] = '1.16.0'
1570
+ context[:gem_version] = '1.21.0'
1304
1571
  Seahorse::Client::Request.new(handlers, context)
1305
1572
  end
1306
1573