aws-sdk-transfer 1.15.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 640f4f4d43eb97008366aea349e471a7ec69b1e3
4
- data.tar.gz: 2b8ba0c1a8dcd6d87cddd7f6fb3e41549fa0b40b
2
+ SHA256:
3
+ metadata.gz: 90dc7322cdebf9a63dc91e89550505d8602b4ecc4d9a25ae5985158aa165991f
4
+ data.tar.gz: b73403e5937ceb79803af79f963586e73b3be59c2696ae9d5b1a23afaf85ff76
5
5
  SHA512:
6
- metadata.gz: 1acd1ed522cc99b0608011624e750c1805eef04e2ad86f42dad100834eaaf2ba8e7c8b7a34db04e35d6e319181a8246fe5207a2b6b84c573818c9d54f26cf23c
7
- data.tar.gz: eeb3e5a1d74130be87048906d6845253bf96c9414a9cc8fd7b958d23ec8ad568dd62c48aa1be5621949d36a66521b379c54452f1a899e581dce298d32332324b
6
+ metadata.gz: 3ac272cd20b7cf50e64aaf28e5cc7e8755c23572f4b53891358d279ee8bba3189078f7ded09f1618e227a537eb05a9c5d55dc5ddbce181e6f1334ee679695249
7
+ data.tar.gz: a7818347b0fe6a3763c4859604fec3755d245c99c7946e7a30f457e5201c4d6f4a20f8f0664a9046171cd95b8719b50f6d21a62fc7c53f4b50b67d22294bad95
@@ -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.15.0'
48
+ GEM_VERSION = '1.20.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,55 +318,81 @@ 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`.
271
330
  #
272
331
  # @option params [Types::EndpointDetails] :endpoint_details
273
- # The virtual private cloud (VPC) endpoint settings that you want to
274
- # configure for your SFTP server. This parameter is required when you
275
- # specify a value for the `EndpointType` parameter.
332
+ # The virtual private cloud (VPC) endpoint settings that are configured
333
+ # for your file transfer protocol-enabled server. When you host your
334
+ # endpoint within your VPC, you can make it accessible only to resources
335
+ # within your VPC, or you can attach Elastic IPs and make it accessible
336
+ # to clients over the internet. Your VPC's default security groups are
337
+ # automatically assigned to your endpoint.
276
338
  #
277
339
  # @option params [String] :endpoint_type
278
- # The type of VPC endpoint that you want your SFTP server to connect to.
279
- # If you connect to a VPC endpoint, your SFTP server isn't accessible
280
- # over the public internet.
340
+ # The type of VPC endpoint that you want your file transfer
341
+ # protocol-enabled server to connect to. You can choose to connect to
342
+ # the public internet or a virtual private cloud (VPC) endpoint. With a
343
+ # VPC endpoint, you can restrict access to your server and resources
344
+ # only within your VPC.
281
345
  #
282
346
  # @option params [String] :host_key
283
347
  # The RSA private key as generated by the `ssh-keygen -N "" -f
284
348
  # my-new-server-key` command.
285
349
  #
286
350
  # If you aren't planning to migrate existing users from an existing
287
- # SFTP server to a new AWS SFTP server, don't update the host key.
351
+ # SFTP-enabled server to a new server, don't update the host key.
288
352
  # Accidentally changing a server's host key can be disruptive.
289
353
  #
290
- # For more information, see
291
- # "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
292
- # in the *AWS SFTP User Guide.*
354
+ # For more information, see [Changing the Host Key for Your AWS Transfer
355
+ # Family Server][1] in the *AWS Transfer Family User Guide*.
356
+ #
357
+ #
358
+ #
359
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
293
360
  #
294
361
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
295
- # This parameter is required when the `IdentityProviderType` is set to
296
- # `API_GATEWAY`. Accepts an array containing all of the information
297
- # required to call a customer-supplied authentication API, including the
298
- # API Gateway URL. This property is not required when the
299
- # `IdentityProviderType` is set to `SERVICE_MANAGED`.
362
+ # Required when `IdentityProviderType` is set to `API_GATEWAY`. Accepts
363
+ # an array containing all of the information required to call a
364
+ # customer-supplied authentication API, including the API Gateway URL.
365
+ # Not required when `IdentityProviderType` is set to `SERVICE_MANAGED`.
300
366
  #
301
367
  # @option params [String] :identity_provider_type
302
- # Specifies the mode of authentication for the SFTP server. The default
303
- # value is `SERVICE_MANAGED`, which allows you to store and access SFTP
304
- # user credentials within the AWS Transfer for SFTP service. Use the
305
- # `API_GATEWAY` value to integrate with an identity provider of your
306
- # choosing. The `API_GATEWAY` setting requires you to provide an API
307
- # Gateway endpoint URL to call for authentication using the
308
- # `IdentityProviderDetails` parameter.
368
+ # Specifies the mode of authentication for a file transfer
369
+ # protocol-enabled server. The default value is `SERVICE_MANAGED`, which
370
+ # allows you to store and access user credentials within the AWS
371
+ # Transfer Family service. Use the `API_GATEWAY` value to integrate with
372
+ # an identity provider of your choosing. The `API_GATEWAY` setting
373
+ # requires you to provide an API Gateway endpoint URL to call for
374
+ # authentication using the `IdentityProviderDetails` parameter.
309
375
  #
310
376
  # @option params [String] :logging_role
311
- # A value that allows the service to write your SFTP users' activity to
312
- # your Amazon CloudWatch logs for monitoring and auditing purposes.
377
+ # Allows the service to write your users' activity to your Amazon
378
+ # CloudWatch logs for monitoring and auditing purposes.
379
+ #
380
+ # @option params [Array<String>] :protocols
381
+ # Specifies the file transfer protocol or protocols over which your file
382
+ # transfer protocol client can connect to your server's endpoint. The
383
+ # available protocols are:
384
+ #
385
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over
386
+ # SSH
387
+ #
388
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
389
+ # encryption
390
+ #
391
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
313
392
  #
314
393
  # @option params [Array<Types::Tag>] :tags
315
- # Key-value pairs that can be used to group and search for servers.
394
+ # Key-value pairs that can be used to group and search for file transfer
395
+ # protocol-enabled servers.
316
396
  #
317
397
  # @return [Types::CreateServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
318
398
  #
@@ -321,10 +401,14 @@ module Aws::Transfer
321
401
  # @example Request syntax with placeholder values
322
402
  #
323
403
  # resp = client.create_server({
404
+ # certificate: "Certificate",
324
405
  # endpoint_details: {
406
+ # address_allocation_ids: ["AddressAllocationId"],
407
+ # subnet_ids: ["SubnetId"],
325
408
  # vpc_endpoint_id: "VpcEndpointId",
409
+ # vpc_id: "VpcId",
326
410
  # },
327
- # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC_ENDPOINT
411
+ # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC, VPC_ENDPOINT
328
412
  # host_key: "HostKey",
329
413
  # identity_provider_details: {
330
414
  # url: "Url",
@@ -332,6 +416,7 @@ module Aws::Transfer
332
416
  # },
333
417
  # identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
334
418
  # logging_role: "Role",
419
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
335
420
  # tags: [
336
421
  # {
337
422
  # key: "TagKey", # required
@@ -353,47 +438,59 @@ module Aws::Transfer
353
438
  req.send_request(options)
354
439
  end
355
440
 
356
- # Creates a user and associates them with an existing Secure File
357
- # Transfer Protocol (SFTP) server. You can only create and associate
358
- # users with SFTP servers that have the `IdentityProviderType` set to
359
- # `SERVICE_MANAGED`. Using parameters for `CreateUser`, you can specify
360
- # the user name, set the home directory, store the user's public key,
361
- # and assign the user's AWS Identity and Access Management (IAM) role.
362
- # You can also optionally add a scope-down policy, and assign metadata
363
- # with tags that can be used to group and search for users.
441
+ # Creates a user and associates them with an existing file transfer
442
+ # protocol-enabled server. You can only create and associate users with
443
+ # servers that have the `IdentityProviderType` set to `SERVICE_MANAGED`.
444
+ # Using parameters for `CreateUser`, you can specify the user name, set
445
+ # the home directory, store the user's public key, and assign the
446
+ # user's AWS Identity and Access Management (IAM) role. You can also
447
+ # optionally add a scope-down policy, and assign metadata with tags that
448
+ # can be used to group and search for users.
364
449
  #
365
450
  # @option params [String] :home_directory
366
- # The landing directory (folder) for a user when they log in to the
367
- # server using their SFTP client.
451
+ # The landing directory (folder) for a user when they log in to the file
452
+ # transfer protocol-enabled server using the client.
368
453
  #
369
- # An example is &lt;`your-Amazon-S3-bucket-name>/home/username`.
454
+ # An example is `your-Amazon-S3-bucket-name>/home/username`.
370
455
  #
371
456
  # @option params [String] :home_directory_type
372
457
  # The type of landing directory (folder) you want your users' home
373
- # directory to be when they log into the SFTP server. If you set it to
374
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
375
- # their SFTP clients. If you set it `LOGICAL`, you will need to provide
376
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
377
- # paths visible to your user.
458
+ # directory to be when they log into the file transfer protocol-enabled
459
+ # server. If you set it to `PATH`, the user will see the absolute Amazon
460
+ # S3 bucket paths as is in their file transfer protocol clients. If you
461
+ # set it `LOGICAL`, you will need to provide mappings in the
462
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 paths
463
+ # visible to your users.
378
464
  #
379
465
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
380
- # Logical directory mappings that specify what S3 paths and keys should
381
- # be visible to your user and how you want to make them visible. You
382
- # will need to specify the "`Entry`" and "`Target`" pair, where
466
+ # Logical directory mappings that specify what Amazon S3 paths and keys
467
+ # should be visible to your user and how you want to make them visible.
468
+ # You will need to specify the "`Entry`" and "`Target`" pair, where
383
469
  # `Entry` shows how the path is made visible and `Target` is the actual
384
- # S3 path. If you only specify a target, it will be displayed as is. You
385
- # will need to also make sure that your AWS IAM Role provides access to
386
- # paths in `Target`. The following is an example.
470
+ # Amazon S3 path. If you only specify a target, it will be displayed as
471
+ # is. You will need to also make sure that your AWS IAM Role provides
472
+ # access to paths in `Target`. The following is an example.
387
473
  #
388
474
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
389
475
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
390
476
  # ]'`
391
477
  #
392
- # In most cases, you can use this value instead of the scope down policy
478
+ # In most cases, you can use this value instead of the scope-down policy
393
479
  # to lock your user down to the designated home directory ("chroot").
394
480
  # To do this, you can set `Entry` to '/' and set `Target` to the
395
481
  # HomeDirectory parameter value.
396
482
  #
483
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
484
+ # S3, the entry will be ignored. As a workaround, you can use the Amazon
485
+ # S3 api to create 0 byte objects as place holders for your directory.
486
+ # If using the CLI, use the `s3api` call instead of `s3` so you can use
487
+ # the put-object operation. For example, you use the following: `aws
488
+ # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
489
+ # that the end of the key name ends in a '/' for it to be considered a
490
+ # folder.
491
+ #
492
+ # </note>
493
+ #
397
494
  # @option params [String] :policy
398
495
  # A scope-down policy for your user so you can use the same IAM role
399
496
  # across multiple users. This policy scopes down user access to portions
@@ -401,47 +498,52 @@ module Aws::Transfer
401
498
  # policy include `$\{Transfer:UserName\}`,
402
499
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
403
500
  #
404
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as a
501
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
405
502
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
406
503
  # You save the policy as a JSON blob and pass it in the `Policy`
407
504
  # argument.
408
505
  #
409
- # For an example of a scope-down policy, see
410
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
411
- # a Scope-Down Policy.
506
+ # For an example of a scope-down policy, see [Creating a Scope-Down
507
+ # Policy][1].
412
508
  #
413
- # For more information, see
414
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
415
- # in the *AWS Security Token Service API Reference*.
509
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
510
+ # Service API Reference*.
416
511
  #
417
512
  # </note>
418
513
  #
514
+ #
515
+ #
516
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
517
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
518
+ #
419
519
  # @option params [required, String] :role
420
- # The IAM role that controls your user's access to your Amazon S3
520
+ # The IAM role that controls your users' access to your Amazon S3
421
521
  # bucket. The policies attached to this role will determine the level of
422
522
  # access you want to provide your users when transferring files into and
423
523
  # out of your Amazon S3 bucket or buckets. The IAM role should also
424
- # contain a trust relationship that allows the SFTP server to access
425
- # your resources when servicing your SFTP user's transfer requests.
524
+ # contain a trust relationship that allows the file transfer
525
+ # protocol-enabled server to access your resources when servicing your
526
+ # users' transfer requests.
426
527
  #
427
528
  # @option params [required, String] :server_id
428
- # A system-assigned unique identifier for an SFTP server instance. This
429
- # is the specific SFTP server that you added your user to.
529
+ # A system-assigned unique identifier for a file transfer
530
+ # protocol-enabled server instance. This is the specific server that you
531
+ # added your user to.
430
532
  #
431
533
  # @option params [String] :ssh_public_key_body
432
534
  # The public portion of the Secure Shell (SSH) key used to authenticate
433
- # the user to the SFTP server.
535
+ # the user to the file transfer protocol-enabled server.
434
536
  #
435
537
  # @option params [Array<Types::Tag>] :tags
436
538
  # Key-value pairs that can be used to group and search for users. Tags
437
539
  # are metadata attached to users for any purpose.
438
540
  #
439
541
  # @option params [required, String] :user_name
440
- # A unique string that identifies a user and is associated with a server
441
- # as specified by the `ServerId`. This user name must be a minimum of 3
442
- # and a maximum of 32 characters long. The following are valid
443
- # characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name
444
- # can't start with a hyphen.
542
+ # A unique string that identifies a user and is associated with a file
543
+ # transfer protocol-enabled server as specified by the `ServerId`. This
544
+ # user name must be a minimum of 3 and a maximum of 32 characters long.
545
+ # The following are valid characters: a-z, A-Z, 0-9, underscore, and
546
+ # hyphen. The user name can't start with a hyphen.
445
547
  #
446
548
  # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
447
549
  #
@@ -486,13 +588,13 @@ module Aws::Transfer
486
588
  req.send_request(options)
487
589
  end
488
590
 
489
- # Deletes the Secure File Transfer Protocol (SFTP) server that you
490
- # specify.
591
+ # Deletes the file transfer protocol-enabled server that you specify.
491
592
  #
492
593
  # No response returns from this operation.
493
594
  #
494
595
  # @option params [required, String] :server_id
495
- # A unique system-assigned identifier for an SFTP server instance.
596
+ # A unique system-assigned identifier for a file transfer
597
+ # protocol-enabled server instance.
496
598
  #
497
599
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
498
600
  #
@@ -516,8 +618,8 @@ module Aws::Transfer
516
618
  # No response is returned from this operation.
517
619
  #
518
620
  # @option params [required, String] :server_id
519
- # A system-assigned unique identifier for a Secure File Transfer
520
- # Protocol (SFTP) server instance that has the user assigned to it.
621
+ # A system-assigned unique identifier for a file transfer
622
+ # protocol-enabled server instance that has the user assigned to it.
521
623
  #
522
624
  # @option params [required, String] :ssh_public_key_id
523
625
  # A unique identifier used to reference your user's specific SSH key.
@@ -545,7 +647,8 @@ module Aws::Transfer
545
647
  req.send_request(options)
546
648
  end
547
649
 
548
- # Deletes the user belonging to the server you specify.
650
+ # Deletes the user belonging to a file transfer protocol-enabled server
651
+ # you specify.
549
652
  #
550
653
  # No response returns from this operation.
551
654
  #
@@ -554,12 +657,12 @@ module Aws::Transfer
554
657
  # </note>
555
658
  #
556
659
  # @option params [required, String] :server_id
557
- # A system-assigned unique identifier for an SFTP server instance that
558
- # has the user assigned to it.
660
+ # A system-assigned unique identifier for a file transfer
661
+ # protocol-enabled server instance that has the user assigned to it.
559
662
  #
560
663
  # @option params [required, String] :user_name
561
- # A unique string that identifies a user that is being deleted from the
562
- # server.
664
+ # A unique string that identifies a user that is being deleted from a
665
+ # file transfer protocol-enabled server.
563
666
  #
564
667
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
565
668
  #
@@ -579,13 +682,16 @@ module Aws::Transfer
579
682
  req.send_request(options)
580
683
  end
581
684
 
582
- # Describes the server that you specify by passing the `ServerId`
583
- # parameter.
685
+ # Describes a file transfer protocol-enabled server that you specify by
686
+ # passing the `ServerId` parameter.
584
687
  #
585
- # The response contains a description of the server's properties.
688
+ # The response contains a description of a server's properties. When
689
+ # you set `EndpointType` to VPC, the response will contain the
690
+ # `EndpointDetails`.
586
691
  #
587
692
  # @option params [required, String] :server_id
588
- # A system-assigned unique identifier for an SFTP server.
693
+ # A system-assigned unique identifier for a file transfer
694
+ # protocol-enabled server.
589
695
  #
590
696
  # @return [Types::DescribeServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
591
697
  #
@@ -600,13 +706,21 @@ module Aws::Transfer
600
706
  # @example Response structure
601
707
  #
602
708
  # resp.server.arn #=> String
709
+ # resp.server.certificate #=> String
710
+ # resp.server.endpoint_details.address_allocation_ids #=> Array
711
+ # resp.server.endpoint_details.address_allocation_ids[0] #=> String
712
+ # resp.server.endpoint_details.subnet_ids #=> Array
713
+ # resp.server.endpoint_details.subnet_ids[0] #=> String
603
714
  # resp.server.endpoint_details.vpc_endpoint_id #=> String
604
- # resp.server.endpoint_type #=> String, one of "PUBLIC", "VPC_ENDPOINT"
715
+ # resp.server.endpoint_details.vpc_id #=> String
716
+ # resp.server.endpoint_type #=> String, one of "PUBLIC", "VPC", "VPC_ENDPOINT"
605
717
  # resp.server.host_key_fingerprint #=> String
606
718
  # resp.server.identity_provider_details.url #=> String
607
719
  # resp.server.identity_provider_details.invocation_role #=> String
608
720
  # resp.server.identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY"
609
721
  # resp.server.logging_role #=> String
722
+ # resp.server.protocols #=> Array
723
+ # resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS"
610
724
  # resp.server.server_id #=> String
611
725
  # resp.server.state #=> String, one of "OFFLINE", "ONLINE", "STARTING", "STOPPING", "START_FAILED", "STOP_FAILED"
612
726
  # resp.server.tags #=> Array
@@ -623,20 +737,21 @@ module Aws::Transfer
623
737
  req.send_request(options)
624
738
  end
625
739
 
626
- # Describes the user assigned to a specific server, as identified by its
627
- # `ServerId` property.
740
+ # Describes the user assigned to the specific file transfer
741
+ # protocol-enabled server, as identified by its `ServerId` property.
628
742
  #
629
743
  # The response from this call returns the properties of the user
630
744
  # associated with the `ServerId` value that was specified.
631
745
  #
632
746
  # @option params [required, String] :server_id
633
- # A system-assigned unique identifier for an SFTP server that has this
634
- # user assigned.
747
+ # A system-assigned unique identifier for a file transfer
748
+ # protocol-enabled server that has this user assigned.
635
749
  #
636
750
  # @option params [required, String] :user_name
637
- # The name of the user assigned to one or more servers. User names are
638
- # part of the sign-in credentials to use the AWS Transfer for SFTP
639
- # service and perform file transfer tasks.
751
+ # The name of the user assigned to one or more file transfer
752
+ # protocol-enabled servers. User names are part of the sign-in
753
+ # credentials to use the AWS Transfer Family service and perform file
754
+ # transfer tasks.
640
755
  #
641
756
  # @return [Types::DescribeUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
642
757
  #
@@ -680,20 +795,22 @@ module Aws::Transfer
680
795
  end
681
796
 
682
797
  # Adds a Secure Shell (SSH) public key to a user account identified by a
683
- # `UserName` value assigned to a specific server, identified by
684
- # `ServerId`.
798
+ # `UserName` value assigned to the specific file transfer
799
+ # protocol-enabled server, identified by `ServerId`.
685
800
  #
686
801
  # The response returns the `UserName` value, the `ServerId` value, and
687
802
  # the name of the `SshPublicKeyId`.
688
803
  #
689
804
  # @option params [required, String] :server_id
690
- # A system-assigned unique identifier for an SFTP server.
805
+ # A system-assigned unique identifier for a file transfer
806
+ # protocol-enabled server.
691
807
  #
692
808
  # @option params [required, String] :ssh_public_key_body
693
809
  # The public key portion of an SSH key pair.
694
810
  #
695
811
  # @option params [required, String] :user_name
696
- # The name of the user account that is assigned to one or more servers.
812
+ # The name of the user account that is assigned to one or more file
813
+ # transfer protocol-enabled servers.
697
814
  #
698
815
  # @return [Types::ImportSshPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
699
816
  #
@@ -724,24 +841,26 @@ module Aws::Transfer
724
841
  req.send_request(options)
725
842
  end
726
843
 
727
- # Lists the Secure File Transfer Protocol (SFTP) servers that are
728
- # associated with your AWS account.
844
+ # Lists the file transfer protocol-enabled servers that are associated
845
+ # with your AWS account.
729
846
  #
730
847
  # @option params [Integer] :max_results
731
- # Specifies the number of servers to return as a response to the
732
- # `ListServers` query.
848
+ # Specifies the number of file transfer protocol-enabled servers to
849
+ # return as a response to the `ListServers` query.
733
850
  #
734
851
  # @option params [String] :next_token
735
- # When additional results are obtained from the `ListServers` command, a
852
+ # When additional results are obtained from the`ListServers` command, a
736
853
  # `NextToken` parameter is returned in the output. You can then pass the
737
854
  # `NextToken` parameter in a subsequent command to continue listing
738
- # additional servers.
855
+ # additional file transfer protocol-enabled servers.
739
856
  #
740
857
  # @return [Types::ListServersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
741
858
  #
742
859
  # * {Types::ListServersResponse#next_token #next_token} => String
743
860
  # * {Types::ListServersResponse#servers #servers} => Array&lt;Types::ListedServer&gt;
744
861
  #
862
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
863
+ #
745
864
  # @example Request syntax with placeholder values
746
865
  #
747
866
  # resp = client.list_servers({
@@ -755,7 +874,7 @@ module Aws::Transfer
755
874
  # resp.servers #=> Array
756
875
  # resp.servers[0].arn #=> String
757
876
  # resp.servers[0].identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY"
758
- # resp.servers[0].endpoint_type #=> String, one of "PUBLIC", "VPC_ENDPOINT"
877
+ # resp.servers[0].endpoint_type #=> String, one of "PUBLIC", "VPC", "VPC_ENDPOINT"
759
878
  # resp.servers[0].logging_role #=> String
760
879
  # resp.servers[0].server_id #=> String
761
880
  # resp.servers[0].state #=> String, one of "OFFLINE", "ONLINE", "STARTING", "STOPPING", "START_FAILED", "STOP_FAILED"
@@ -794,6 +913,8 @@ module Aws::Transfer
794
913
  # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
795
914
  # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
796
915
  #
916
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
917
+ #
797
918
  # @example Request syntax with placeholder values
798
919
  #
799
920
  # resp = client.list_tags_for_resource({
@@ -819,8 +940,8 @@ module Aws::Transfer
819
940
  req.send_request(options)
820
941
  end
821
942
 
822
- # Lists the users for the server that you specify by passing the
823
- # `ServerId` parameter.
943
+ # Lists the users for a file transfer protocol-enabled server that you
944
+ # specify by passing the `ServerId` parameter.
824
945
  #
825
946
  # @option params [Integer] :max_results
826
947
  # Specifies the number of users to return as a response to the
@@ -833,8 +954,8 @@ module Aws::Transfer
833
954
  # additional users.
834
955
  #
835
956
  # @option params [required, String] :server_id
836
- # A system-assigned unique identifier for a Secure File Transfer
837
- # Protocol (SFTP) server that has users assigned to it.
957
+ # A system-assigned unique identifier for a file transfer
958
+ # protocol-enabled server that has users assigned to it.
838
959
  #
839
960
  # @return [Types::ListUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
840
961
  #
@@ -842,6 +963,8 @@ module Aws::Transfer
842
963
  # * {Types::ListUsersResponse#server_id #server_id} => String
843
964
  # * {Types::ListUsersResponse#users #users} => Array&lt;Types::ListedUser&gt;
844
965
  #
966
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
967
+ #
845
968
  # @example Request syntax with placeholder values
846
969
  #
847
970
  # resp = client.list_users({
@@ -871,10 +994,10 @@ module Aws::Transfer
871
994
  req.send_request(options)
872
995
  end
873
996
 
874
- # Changes the state of a Secure File Transfer Protocol (SFTP) server
875
- # from `OFFLINE` to `ONLINE`. It has no impact on an SFTP server that is
876
- # already `ONLINE`. An `ONLINE` server can accept and process file
877
- # transfer jobs.
997
+ # Changes the state of a file transfer protocol-enabled server from
998
+ # `OFFLINE` to `ONLINE`. It has no impact on a server that is already
999
+ # `ONLINE`. An `ONLINE` server can accept and process file transfer
1000
+ # jobs.
878
1001
  #
879
1002
  # The state of `STARTING` indicates that the server is in an
880
1003
  # intermediate state, either not fully able to respond, or not fully
@@ -883,7 +1006,8 @@ module Aws::Transfer
883
1006
  # No response is returned from this call.
884
1007
  #
885
1008
  # @option params [required, String] :server_id
886
- # A system-assigned unique identifier for an SFTP server that you start.
1009
+ # A system-assigned unique identifier for a file transfer
1010
+ # protocol-enabled server that you start.
887
1011
  #
888
1012
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
889
1013
  #
@@ -902,12 +1026,12 @@ module Aws::Transfer
902
1026
  req.send_request(options)
903
1027
  end
904
1028
 
905
- # Changes the state of an SFTP server from `ONLINE` to `OFFLINE`. An
906
- # `OFFLINE` server cannot accept and process file transfer jobs.
907
- # Information tied to your server such as server and user properties are
908
- # not affected by stopping your server. Stopping a server will not
909
- # reduce or impact your Secure File Transfer Protocol (SFTP) endpoint
910
- # billing.
1029
+ # Changes the state of a file transfer protocol-enabled server from
1030
+ # `ONLINE` to `OFFLINE`. An `OFFLINE` server cannot accept and process
1031
+ # file transfer jobs. Information tied to your server, such as server
1032
+ # and user properties, are not affected by stopping your server.
1033
+ # Stopping the server will not reduce or impact your file transfer
1034
+ # protocol endpoint billing.
911
1035
  #
912
1036
  # The state of `STOPPING` indicates that the server is in an
913
1037
  # intermediate state, either not fully able to respond, or not fully
@@ -916,8 +1040,8 @@ module Aws::Transfer
916
1040
  # No response is returned from this call.
917
1041
  #
918
1042
  # @option params [required, String] :server_id
919
- # A system-assigned unique identifier for an SFTP server that you
920
- # stopped.
1043
+ # A system-assigned unique identifier for a file transfer
1044
+ # protocol-enabled server that you stopped.
921
1045
  #
922
1046
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
923
1047
  #
@@ -974,23 +1098,35 @@ module Aws::Transfer
974
1098
  req.send_request(options)
975
1099
  end
976
1100
 
977
- # If the `IdentityProviderType` of the server is `API_Gateway`, tests
978
- # whether your API Gateway is set up successfully. We highly recommend
979
- # that you call this operation to test your authentication method as
980
- # soon as you create your server. By doing so, you can troubleshoot
981
- # issues with the API Gateway integration to ensure that your users can
982
- # successfully use the service.
1101
+ # If the `IdentityProviderType` of a file transfer protocol-enabled
1102
+ # server is `API_Gateway`, tests whether your API Gateway is set up
1103
+ # successfully. We highly recommend that you call this operation to test
1104
+ # your authentication method as soon as you create your server. By doing
1105
+ # so, you can troubleshoot issues with the API Gateway integration to
1106
+ # ensure that your users can successfully use the service.
983
1107
  #
984
1108
  # @option params [required, String] :server_id
985
- # A system-assigned identifier for a specific server. That server's
986
- # user authentication method is tested with a user name and password.
1109
+ # A system-assigned identifier for a specific file transfer
1110
+ # protocol-enabled server. That server's user authentication method is
1111
+ # tested with a user name and password.
987
1112
  #
988
1113
  # @option params [required, String] :user_name
989
- # This request parameter is the name of the user account to be tested.
1114
+ # The name of the user account to be tested.
990
1115
  #
991
1116
  # @option params [String] :user_password
992
1117
  # The password of the user account to be tested.
993
1118
  #
1119
+ # @option params [String] :server_protocol
1120
+ # The type of file transfer protocol to be tested.
1121
+ #
1122
+ # The available protocols are:
1123
+ #
1124
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP)
1125
+ #
1126
+ # * File Transfer Protocol Secure (FTPS)
1127
+ #
1128
+ # * File Transfer Protocol (FTP)
1129
+ #
994
1130
  # @return [Types::TestIdentityProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
995
1131
  #
996
1132
  # * {Types::TestIdentityProviderResponse#response #response} => String
@@ -1004,6 +1140,7 @@ module Aws::Transfer
1004
1140
  # server_id: "ServerId", # required
1005
1141
  # user_name: "UserName", # required
1006
1142
  # user_password: "UserPassword",
1143
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1007
1144
  # })
1008
1145
  #
1009
1146
  # @example Response structure
@@ -1029,9 +1166,9 @@ module Aws::Transfer
1029
1166
  # No response is returned from this call.
1030
1167
  #
1031
1168
  # @option params [required, String] :arn
1032
- # This is the value of the resource that will have the tag removed. An
1033
- # Amazon Resource Name (ARN) is an identifier for a specific AWS
1034
- # resource, such as a server, user, or role.
1169
+ # The value of the resource that will have the tag removed. An Amazon
1170
+ # Resource Name (ARN) is an identifier for a specific AWS resource, such
1171
+ # as a server, user, or role.
1035
1172
  #
1036
1173
  # @option params [required, Array<String>] :tag_keys
1037
1174
  # TagKeys are key-value pairs assigned to ARNs that can be used to group
@@ -1056,46 +1193,70 @@ module Aws::Transfer
1056
1193
  req.send_request(options)
1057
1194
  end
1058
1195
 
1059
- # Updates the server properties after that server has been created.
1196
+ # Updates the file transfer protocol-enabled server's properties after
1197
+ # that server has been created.
1198
+ #
1199
+ # The `UpdateServer` call returns the `ServerId` of the server you
1200
+ # updated.
1060
1201
  #
1061
- # The `UpdateServer` call returns the `ServerId` of the Secure File
1062
- # Transfer Protocol (SFTP) server you updated.
1202
+ # @option params [String] :certificate
1203
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
1204
+ # certificate. Required when `Protocols` is set to `FTPS`.
1063
1205
  #
1064
1206
  # @option params [Types::EndpointDetails] :endpoint_details
1065
1207
  # The virtual private cloud (VPC) endpoint settings that are configured
1066
- # for your SFTP server. With a VPC endpoint, your SFTP server isn't
1067
- # accessible over the public internet.
1208
+ # for your file transfer protocol-enabled server. With a VPC endpoint,
1209
+ # you can restrict access to your server to resources only within your
1210
+ # VPC. To control incoming internet traffic, you will need to associate
1211
+ # one or more Elastic IP addresses with your server's endpoint.
1068
1212
  #
1069
1213
  # @option params [String] :endpoint_type
1070
- # The type of endpoint that you want your SFTP server to connect to. You
1071
- # can choose to connect to the public internet or a virtual private
1072
- # cloud (VPC) endpoint. With a VPC endpoint, your SFTP server isn't
1073
- # accessible over the public internet.
1214
+ # The type of endpoint that you want your file transfer protocol-enabled
1215
+ # server to connect to. You can choose to connect to the public internet
1216
+ # or a VPC endpoint. With a VPC endpoint, your server isn't accessible
1217
+ # over the public internet.
1074
1218
  #
1075
1219
  # @option params [String] :host_key
1076
1220
  # The RSA private key as generated by `ssh-keygen -N "" -f
1077
1221
  # my-new-server-key`.
1078
1222
  #
1079
1223
  # If you aren't planning to migrate existing users from an existing
1080
- # SFTP server to a new AWS SFTP server, don't update the host key.
1081
- # Accidentally changing a server's host key can be disruptive.
1224
+ # file transfer protocol-enabled server to a new server, don't update
1225
+ # the host key. Accidentally changing a server's host key can be
1226
+ # disruptive.
1227
+ #
1228
+ # For more information, see [Changing the Host Key for Your AWS Transfer
1229
+ # Family Server][1] in the *AWS Transfer Family User Guide*.
1082
1230
  #
1083
- # For more information, see
1084
- # "https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
1085
- # in the *AWS SFTP User Guide.*
1231
+ #
1232
+ #
1233
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
1086
1234
  #
1087
1235
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
1088
- # This response parameter is an array containing all of the information
1089
- # required to call a customer's authentication API method.
1236
+ # An array containing all of the information required to call a
1237
+ # customer's authentication API method.
1090
1238
  #
1091
1239
  # @option params [String] :logging_role
1092
- # A value that changes the AWS Identity and Access Management (IAM) role
1093
- # that allows Amazon S3 events to be logged in Amazon CloudWatch,
1094
- # turning logging on or off.
1240
+ # Changes the AWS Identity and Access Management (IAM) role that allows
1241
+ # Amazon S3 events to be logged in Amazon CloudWatch, turning logging on
1242
+ # or off.
1243
+ #
1244
+ # @option params [Array<String>] :protocols
1245
+ # Specifies the file transfer protocol or protocols over which your file
1246
+ # transfer protocol client can connect to your server's endpoint. The
1247
+ # available protocols are:
1248
+ #
1249
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over
1250
+ # SSH
1251
+ #
1252
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
1253
+ # encryption
1254
+ #
1255
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
1095
1256
  #
1096
1257
  # @option params [required, String] :server_id
1097
- # A system-assigned unique identifier for an SFTP server instance that
1098
- # the user account is assigned to.
1258
+ # A system-assigned unique identifier for a file transfer
1259
+ # protocol-enabled server instance that the user account is assigned to.
1099
1260
  #
1100
1261
  # @return [Types::UpdateServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1101
1262
  #
@@ -1104,16 +1265,21 @@ module Aws::Transfer
1104
1265
  # @example Request syntax with placeholder values
1105
1266
  #
1106
1267
  # resp = client.update_server({
1268
+ # certificate: "Certificate",
1107
1269
  # endpoint_details: {
1270
+ # address_allocation_ids: ["AddressAllocationId"],
1271
+ # subnet_ids: ["SubnetId"],
1108
1272
  # vpc_endpoint_id: "VpcEndpointId",
1273
+ # vpc_id: "VpcId",
1109
1274
  # },
1110
- # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC_ENDPOINT
1275
+ # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC, VPC_ENDPOINT
1111
1276
  # host_key: "HostKey",
1112
1277
  # identity_provider_details: {
1113
1278
  # url: "Url",
1114
1279
  # invocation_role: "Role",
1115
1280
  # },
1116
1281
  # logging_role: "NullableRole",
1282
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1117
1283
  # server_id: "ServerId", # required
1118
1284
  # })
1119
1285
  #
@@ -1138,37 +1304,50 @@ module Aws::Transfer
1138
1304
  # user.
1139
1305
  #
1140
1306
  # @option params [String] :home_directory
1141
- # A parameter that specifies the landing directory (folder) for a user
1142
- # when they log in to the server using their client.
1307
+ # Specifies the landing directory (folder) for a user when they log in
1308
+ # to the file transfer protocol-enabled server using their file transfer
1309
+ # protocol client.
1143
1310
  #
1144
- # An example is `<your-Amazon-S3-bucket-name>/home/username`.
1311
+ # An example is `your-Amazon-S3-bucket-name>/home/username`.
1145
1312
  #
1146
1313
  # @option params [String] :home_directory_type
1147
1314
  # The type of landing directory (folder) you want your users' home
1148
- # directory to be when they log into the SFTP serve. If you set it to
1149
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
1150
- # their SFTP clients. If you set it `LOGICAL`, you will need to provide
1151
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
1152
- # paths visible to your user.
1315
+ # directory to be when they log into the file transfer protocol-enabled
1316
+ # server. If you set it to `PATH`, the user will see the absolute Amazon
1317
+ # S3 bucket paths as is in their file transfer protocol clients. If you
1318
+ # set it `LOGICAL`, you will need to provide mappings in the
1319
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 paths
1320
+ # visible to your users.
1153
1321
  #
1154
1322
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
1155
- # Logical directory mappings that specify what S3 paths and keys should
1156
- # be visible to your user and how you want to make them visible. You
1157
- # will need to specify the "`Entry`" and "`Target`" pair, where
1323
+ # Logical directory mappings that specify what Amazon S3 paths and keys
1324
+ # should be visible to your user and how you want to make them visible.
1325
+ # You will need to specify the "`Entry`" and "`Target`" pair, where
1158
1326
  # `Entry` shows how the path is made visible and `Target` is the actual
1159
- # S3 path. If you only specify a target, it will be displayed as is. You
1160
- # will need to also make sure that your AWS IAM Role provides access to
1161
- # paths in `Target`. The following is an example.
1327
+ # Amazon S3 path. If you only specify a target, it will be displayed as
1328
+ # is. You will need to also make sure that your AWS IAM Role provides
1329
+ # access to paths in `Target`. The following is an example.
1162
1330
  #
1163
1331
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
1164
1332
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
1165
1333
  # ]'`
1166
1334
  #
1167
- # In most cases, you can use this value instead of the scope down policy
1335
+ # In most cases, you can use this value instead of the scope-down policy
1168
1336
  # to lock your user down to the designated home directory ("chroot").
1169
1337
  # To do this, you can set `Entry` to '/' and set `Target` to the
1170
1338
  # HomeDirectory parameter value.
1171
1339
  #
1340
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1341
+ # S3, the entry will be ignored. As a workaround, you can use the Amazon
1342
+ # S3 api to create 0 byte objects as place holders for your directory.
1343
+ # If using the CLI, use the `s3api` call instead of `s3` so you can use
1344
+ # the put-object operation. For example, you use the following: `aws
1345
+ # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
1346
+ # that the end of the key name ends in a / for it to be considered a
1347
+ # folder.
1348
+ #
1349
+ # </note>
1350
+ #
1172
1351
  # @option params [String] :policy
1173
1352
  # Allows you to supply a scope-down policy for your user so you can use
1174
1353
  # the same AWS Identity and Access Management (IAM) role across multiple
@@ -1177,41 +1356,44 @@ module Aws::Transfer
1177
1356
  # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1178
1357
  # `$\{Transfer:HomeBucket\}`.
1179
1358
  #
1180
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as a
1359
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
1181
1360
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
1182
1361
  # You save the policy as a JSON blob and pass it in the `Policy`
1183
1362
  # argument.
1184
1363
  #
1185
- # For an example of a scope-down policy, see
1186
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
1187
- # a Scope-Down Policy.
1364
+ # For an example of a scope-down policy, see [Creating a Scope-Down
1365
+ # Policy][1].
1188
1366
  #
1189
- # For more information, see
1190
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
1191
- # in the *AWS Security Token Service API Reference*.
1367
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
1368
+ # Service API Reference*.
1192
1369
  #
1193
1370
  # </note>
1194
1371
  #
1372
+ #
1373
+ #
1374
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
1375
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
1376
+ #
1195
1377
  # @option params [String] :role
1196
- # The IAM role that controls your user's access to your Amazon S3
1378
+ # The IAM role that controls your users' access to your Amazon S3
1197
1379
  # bucket. The policies attached to this role will determine the level of
1198
1380
  # access you want to provide your users when transferring files into and
1199
1381
  # out of your Amazon S3 bucket or buckets. The IAM role should also
1200
- # contain a trust relationship that allows the Secure File Transfer
1201
- # Protocol (SFTP) server to access your resources when servicing your
1202
- # SFTP user's transfer requests.
1382
+ # contain a trust relationship that allows the file transfer
1383
+ # protocol-enabled server to access your resources when servicing your
1384
+ # users' transfer requests.
1203
1385
  #
1204
1386
  # @option params [required, String] :server_id
1205
- # A system-assigned unique identifier for an SFTP server instance that
1206
- # the user account is assigned to.
1387
+ # A system-assigned unique identifier for a file transfer
1388
+ # protocol-enabled server instance that the user account is assigned to.
1207
1389
  #
1208
1390
  # @option params [required, String] :user_name
1209
- # A unique string that identifies a user and is associated with a server
1210
- # as specified by the `ServerId`. This is the string that will be used
1211
- # by your user when they log in to your SFTP server. This user name is a
1212
- # minimum of 3 and a maximum of 32 characters long. The following are
1213
- # valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name
1214
- # can't start with a hyphen.
1391
+ # A unique string that identifies a user and is associated with a file
1392
+ # transfer protocol-enabled server as specified by the `ServerId`. This
1393
+ # is the string that will be used by your user when they log in to your
1394
+ # server. This user name is a minimum of 3 and a maximum of 32
1395
+ # characters long. The following are valid characters: a-z, A-Z, 0-9,
1396
+ # underscore, and hyphen. The user name can't start with a hyphen.
1215
1397
  #
1216
1398
  # @return [Types::UpdateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1217
1399
  #
@@ -1262,7 +1444,7 @@ module Aws::Transfer
1262
1444
  params: params,
1263
1445
  config: config)
1264
1446
  context[:gem_name] = 'aws-sdk-transfer'
1265
- context[:gem_version] = '1.15.0'
1447
+ context[:gem_version] = '1.20.0'
1266
1448
  Seahorse::Client::Request.new(handlers, context)
1267
1449
  end
1268
1450