aws-sdk-transfer 1.17.0 → 1.22.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d8803dcfc876cfa1689869551436b2389ccff4cdd074dfe05d5aeb6f6cb9d085
4
- data.tar.gz: a66720403b7181a30753b57a3d88afb31807d12c2d0e81aa81623aeaa8457ed3
3
+ metadata.gz: b4db4a56c0a0adf16002ad4b1fe63dfadfc49c44cd8db6acd43ee52bd1543bed
4
+ data.tar.gz: 49de814671006e70ac823c3f731546299fcc590330fcb5320eed112a9c1e5fe2
5
5
  SHA512:
6
- metadata.gz: d3a352294582ac047fc3973b16411aaeb0e64839fe1fa5988ee548041cfee64932505cf74a3076c5bb68ff652256db57725a9e0ce4166b1d74ec53d11b1868a0
7
- data.tar.gz: de0d99e1b074cfe5f5c3f722195e0ac659349720064eae62437c651efb03e6a6ee39f3d9a0c6ac3d3d6aca04561009382621a5110ab189af974f5bd863c140eb
6
+ metadata.gz: ea931e340d96e0b27b286dd0dea466d868dbb2ce53f0952f40004a9b51d8c9bbb2b64a6a84a784af14dc694db5e68d21b4749704260e36629c582e48205e9508
7
+ data.tar.gz: f68f4e8ebe6d2dd04c6aeb180665498fa1980723e0d6988fb9b8a3971bc603375726422e431ed79388b47aa9c80c69854b5da22c8481b8e1b1f919af30f17e5a
@@ -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
@@ -31,13 +31,13 @@ require_relative 'aws-sdk-transfer/customizations'
31
31
  #
32
32
  # # Errors
33
33
  #
34
- # Errors returned from AWS Transfer for SFTP are defined in the
34
+ # Errors returned from AWS Transfer Family are defined in the
35
35
  # {Errors} module and all extend {Errors::ServiceError}.
36
36
  #
37
37
  # begin
38
38
  # # do stuff
39
39
  # rescue Aws::Transfer::Errors::ServiceError
40
- # # rescues all AWS Transfer for SFTP API errors
40
+ # # rescues all AWS Transfer Family API errors
41
41
  # end
42
42
  #
43
43
  # See {Errors} for more information.
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-transfer/customizations'
45
45
  # @service
46
46
  module Aws::Transfer
47
47
 
48
- GEM_VERSION = '1.17.0'
48
+ GEM_VERSION = '1.22.1'
49
49
 
50
50
  end
@@ -24,6 +24,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
30
 
@@ -69,6 +70,7 @@ module Aws::Transfer
69
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
72
74
  add_plugin(Aws::Plugins::SignatureV4)
73
75
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
76
 
@@ -105,7 +107,7 @@ module Aws::Transfer
105
107
  # @option options [required, String] :region
106
108
  # The AWS region to connect to. The configured `:region` is
107
109
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
109
111
  #
110
112
  # * `Aws.config[:region]`
111
113
  # * `ENV['AWS_REGION']`
@@ -161,7 +163,7 @@ module Aws::Transfer
161
163
  # @option options [String] :endpoint
162
164
  # The client endpoint is normally constructed from the `:region`
163
165
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
167
  #
166
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +178,7 @@ module Aws::Transfer
176
178
  # requests fetching endpoints information. Defaults to 60 sec.
177
179
  #
178
180
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
182
  #
181
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
184
  # The log formatter.
@@ -279,8 +281,7 @@ module Aws::Transfer
279
281
  #
280
282
  # @option options [Integer] :http_read_timeout (60) The default
281
283
  # number of seconds to wait for response data. This value can
282
- # safely be set
283
- # per-request on the session yielded by {#session_for}.
284
+ # safely be set per-request on the session.
284
285
  #
285
286
  # @option options [Float] :http_idle_timeout (5) The number of
286
287
  # seconds a connection is allowed to sit idle before it is
@@ -292,7 +293,7 @@ module Aws::Transfer
292
293
  # request body. This option has no effect unless the request has
293
294
  # "Expect" header set to "100-continue". Defaults to `nil` which
294
295
  # disables this behaviour. This value can safely be set per
295
- # request on the session yielded by {#session_for}.
296
+ # request on the session.
296
297
  #
297
298
  # @option options [Boolean] :http_wire_trace (false) When `true`,
298
299
  # HTTP debug output will be sent to the `:logger`.
@@ -319,58 +320,140 @@ module Aws::Transfer
319
320
 
320
321
  # @!group API Operations
321
322
 
322
- # Instantiates an autoscaling virtual server based on Secure File
323
- # Transfer Protocol (SFTP) in AWS. When you make updates to your server
324
- # or when you work with users, use the service-generated `ServerId`
325
- # property that is assigned to the newly created server.
323
+ # Instantiates an autoscaling virtual server based on the selected file
324
+ # transfer protocol in AWS. When you make updates to your file transfer
325
+ # protocol-enabled server or when you work with users, use the
326
+ # service-generated `ServerId` property that is assigned to the newly
327
+ # created server.
328
+ #
329
+ # @option params [String] :certificate
330
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
331
+ # certificate. Required when `Protocols` is set to `FTPS`.
332
+ #
333
+ # To request a new public certificate, see [Request a public
334
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
335
+ #
336
+ # To import an existing certificate into ACM, see [Importing
337
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
338
+ # Guide</i>.
339
+ #
340
+ # To request a private certificate to use FTPS through private IP
341
+ # addresses, see [Request a private certificate][3] in the <i> AWS
342
+ # Certificate Manager User Guide</i>.
343
+ #
344
+ # Certificates with the following cryptographic algorithms and key sizes
345
+ # are supported:
346
+ #
347
+ # * 2048-bit RSA (RSA\_2048)
348
+ #
349
+ # * 4096-bit RSA (RSA\_4096)
350
+ #
351
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
352
+ #
353
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
354
+ #
355
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
356
+ #
357
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
358
+ # with FQDN or IP address specified and information about the issuer.
359
+ #
360
+ # </note>
361
+ #
362
+ #
363
+ #
364
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
365
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
366
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
326
367
  #
327
368
  # @option params [Types::EndpointDetails] :endpoint_details
328
369
  # The virtual private cloud (VPC) endpoint settings that are configured
329
- # for your SFTP server. With a VPC endpoint, you can restrict access to
330
- # your SFTP server to resources only within your VPC. To control
331
- # incoming internet traffic, you will need to invoke the `UpdateServer`
332
- # API and attach an Elastic IP to your server's endpoint.
370
+ # for your file transfer protocol-enabled server. When you host your
371
+ # endpoint within your VPC, you can make it accessible only to resources
372
+ # within your VPC, or you can attach Elastic IPs and make it accessible
373
+ # to clients over the internet. Your VPC's default security groups are
374
+ # automatically assigned to your endpoint.
333
375
  #
334
376
  # @option params [String] :endpoint_type
335
- # The type of VPC endpoint that you want your SFTP server to connect to.
336
- # You can choose to connect to the public internet or a virtual private
337
- # cloud (VPC) endpoint. With a VPC endpoint, you can restrict access to
338
- # your SFTP server and resources only within your VPC.
377
+ # The type of VPC endpoint that you want your file transfer
378
+ # protocol-enabled server to connect to. You can choose to connect to
379
+ # the public internet or a VPC endpoint. With a VPC endpoint, you can
380
+ # restrict access to your server and resources only within your VPC.
381
+ #
382
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
383
+ # endpoint type, you have the option to directly associate up to three
384
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
385
+ # and use VPC security groups to restrict traffic by the client's
386
+ # public IP address. This is not possible with `EndpointType` set to
387
+ # `VPC_ENDPOINT`.
388
+ #
389
+ # </note>
339
390
  #
340
391
  # @option params [String] :host_key
341
- # The RSA private key as generated by the `ssh-keygen -N "" -f
392
+ # The RSA private key as generated by the `ssh-keygen -N "" -m PEM -f
342
393
  # my-new-server-key` command.
343
394
  #
344
395
  # If you aren't planning to migrate existing users from an existing
345
- # SFTP server to a new AWS SFTP server, don't update the host key.
396
+ # SFTP-enabled server to a new server, don't update the host key.
346
397
  # Accidentally changing a server's host key can be disruptive.
347
398
  #
348
- # For more information, see
349
- # "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
350
- # in the *AWS SFTP User Guide.*
399
+ # For more information, see [Change the host key for your SFTP-enabled
400
+ # server][1] in the *AWS Transfer Family User Guide*.
401
+ #
402
+ #
403
+ #
404
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
351
405
  #
352
406
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
353
- # This parameter is required when the `IdentityProviderType` is set to
354
- # `API_GATEWAY`. Accepts an array containing all of the information
355
- # required to call a customer-supplied authentication API, including the
356
- # API Gateway URL. This property is not required when the
357
- # `IdentityProviderType` is set to `SERVICE_MANAGED`.
407
+ # Required when `IdentityProviderType` is set to `API_GATEWAY`. Accepts
408
+ # an array containing all of the information required to call a
409
+ # customer-supplied authentication API, including the API Gateway URL.
410
+ # Not required when `IdentityProviderType` is set to `SERVICE_MANAGED`.
358
411
  #
359
412
  # @option params [String] :identity_provider_type
360
- # Specifies the mode of authentication for the SFTP server. The default
361
- # value is `SERVICE_MANAGED`, which allows you to store and access SFTP
362
- # user credentials within the AWS Transfer for SFTP service. Use the
363
- # `API_GATEWAY` value to integrate with an identity provider of your
364
- # choosing. The `API_GATEWAY` setting requires you to provide an API
365
- # Gateway endpoint URL to call for authentication using the
366
- # `IdentityProviderDetails` parameter.
413
+ # Specifies the mode of authentication for a file transfer
414
+ # protocol-enabled server. The default value is `SERVICE_MANAGED`, which
415
+ # allows you to store and access user credentials within the AWS
416
+ # Transfer Family service. Use the `API_GATEWAY` value to integrate with
417
+ # an identity provider of your choosing. The `API_GATEWAY` setting
418
+ # requires you to provide an API Gateway endpoint URL to call for
419
+ # authentication using the `IdentityProviderDetails` parameter.
367
420
  #
368
421
  # @option params [String] :logging_role
369
- # A value that allows the service to write your SFTP users' activity to
370
- # your Amazon CloudWatch logs for monitoring and auditing purposes.
422
+ # Allows the service to write your users' activity to your Amazon
423
+ # CloudWatch logs for monitoring and auditing purposes.
424
+ #
425
+ # @option params [Array<String>] :protocols
426
+ # Specifies the file transfer protocol or protocols over which your file
427
+ # transfer protocol client can connect to your server's endpoint. The
428
+ # available protocols are:
429
+ #
430
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
431
+ # over SSH
432
+ #
433
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
434
+ # encryption
435
+ #
436
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
437
+ #
438
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
439
+ # Certificate Manager (ACM) which will be used to identify your server
440
+ # when clients connect to it over FTPS.
441
+ #
442
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
443
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
444
+ #
445
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
446
+ # associated.
447
+ #
448
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
449
+ # `PUBLIC` and the `IdentityProviderType` can be set to
450
+ # `SERVICE_MANAGED`.
451
+ #
452
+ # </note>
371
453
  #
372
454
  # @option params [Array<Types::Tag>] :tags
373
- # Key-value pairs that can be used to group and search for servers.
455
+ # Key-value pairs that can be used to group and search for file transfer
456
+ # protocol-enabled servers.
374
457
  #
375
458
  # @return [Types::CreateServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
376
459
  #
@@ -379,6 +462,7 @@ module Aws::Transfer
379
462
  # @example Request syntax with placeholder values
380
463
  #
381
464
  # resp = client.create_server({
465
+ # certificate: "Certificate",
382
466
  # endpoint_details: {
383
467
  # address_allocation_ids: ["AddressAllocationId"],
384
468
  # subnet_ids: ["SubnetId"],
@@ -393,6 +477,7 @@ module Aws::Transfer
393
477
  # },
394
478
  # identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
395
479
  # logging_role: "Role",
480
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
396
481
  # tags: [
397
482
  # {
398
483
  # key: "TagKey", # required
@@ -414,54 +499,57 @@ module Aws::Transfer
414
499
  req.send_request(options)
415
500
  end
416
501
 
417
- # Creates a user and associates them with an existing Secure File
418
- # Transfer Protocol (SFTP) server. You can only create and associate
419
- # users with SFTP servers that have the `IdentityProviderType` set to
420
- # `SERVICE_MANAGED`. Using parameters for `CreateUser`, you can specify
421
- # the user name, set the home directory, store the user's public key,
422
- # and assign the user's AWS Identity and Access Management (IAM) role.
423
- # You can also optionally add a scope-down policy, and assign metadata
424
- # with tags that can be used to group and search for users.
502
+ # Creates a user and associates them with an existing file transfer
503
+ # protocol-enabled server. You can only create and associate users with
504
+ # servers that have the `IdentityProviderType` set to `SERVICE_MANAGED`.
505
+ # Using parameters for `CreateUser`, you can specify the user name, set
506
+ # the home directory, store the user's public key, and assign the
507
+ # user's AWS Identity and Access Management (IAM) role. You can also
508
+ # optionally add a scope-down policy, and assign metadata with tags that
509
+ # can be used to group and search for users.
425
510
  #
426
511
  # @option params [String] :home_directory
427
- # The landing directory (folder) for a user when they log in to the
428
- # server using their SFTP client.
512
+ # The landing directory (folder) for a user when they log in to the file
513
+ # transfer protocol-enabled server using the client.
429
514
  #
430
- # An example is &lt;`your-Amazon-S3-bucket-name>/home/username`.
515
+ # An example is <i>
516
+ # <code>your-Amazon-S3-bucket-name&gt;/home/username</code> </i>.
431
517
  #
432
518
  # @option params [String] :home_directory_type
433
519
  # The type of landing directory (folder) you want your users' home
434
- # directory to be when they log into the SFTP server. If you set it to
435
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
436
- # their SFTP clients. If you set it `LOGICAL`, you will need to provide
437
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
438
- # paths visible to your user.
520
+ # directory to be when they log into the file transfer protocol-enabled
521
+ # server. If you set it to `PATH`, the user will see the absolute Amazon
522
+ # S3 bucket paths as is in their file transfer protocol clients. If you
523
+ # set it `LOGICAL`, you will need to provide mappings in the
524
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 paths
525
+ # visible to your users.
439
526
  #
440
527
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
441
- # Logical directory mappings that specify what S3 paths and keys should
442
- # be visible to your user and how you want to make them visible. You
443
- # will need to specify the "`Entry`" and "`Target`" pair, where
528
+ # Logical directory mappings that specify what Amazon S3 paths and keys
529
+ # should be visible to your user and how you want to make them visible.
530
+ # You will need to specify the "`Entry`" and "`Target`" pair, where
444
531
  # `Entry` shows how the path is made visible and `Target` is the actual
445
- # S3 path. If you only specify a target, it will be displayed as is. You
446
- # will need to also make sure that your AWS IAM Role provides access to
447
- # paths in `Target`. The following is an example.
532
+ # Amazon S3 path. If you only specify a target, it will be displayed as
533
+ # is. You will need to also make sure that your IAM role provides access
534
+ # to paths in `Target`. The following is an example.
448
535
  #
449
536
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
450
537
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
451
538
  # ]'`
452
539
  #
453
- # In most cases, you can use this value instead of the scope down policy
540
+ # In most cases, you can use this value instead of the scope-down policy
454
541
  # to lock your user down to the designated home directory ("chroot").
455
542
  # To do this, you can set `Entry` to '/' and set `Target` to the
456
543
  # HomeDirectory parameter value.
457
544
  #
458
- # <note markdown="1"> If the target of a logical directory entry does not exist in S3, the
459
- # entry will be ignored. As a workaround, you can use the S3 api to
460
- # create 0 byte objects as place holders for your directory. If using
461
- # the CLI, use the s3api call instead of s3 so you can use the
462
- # put-object operation. For example, you use the following: `aws s3api
463
- # put-object --bucket bucketname --key path/to/folder/`. Make sure that
464
- # the end of the key name ends in a / for it to be considered a folder.
545
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
546
+ # S3, the entry will be ignored. As a workaround, you can use the Amazon
547
+ # S3 api to create 0 byte objects as place holders for your directory.
548
+ # If using the CLI, use the `s3api` call instead of `s3` so you can use
549
+ # the put-object operation. For example, you use the following: `aws
550
+ # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
551
+ # that the end of the key name ends in a '/' for it to be considered a
552
+ # folder.
465
553
  #
466
554
  # </note>
467
555
  #
@@ -472,47 +560,52 @@ module Aws::Transfer
472
560
  # policy include `$\{Transfer:UserName\}`,
473
561
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
474
562
  #
475
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as a
563
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
476
564
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
477
565
  # You save the policy as a JSON blob and pass it in the `Policy`
478
566
  # argument.
479
567
  #
480
- # For an example of a scope-down policy, see
481
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
482
- # a Scope-Down Policy.
568
+ # For an example of a scope-down policy, see [Creating a scope-down
569
+ # policy][1].
483
570
  #
484
- # For more information, see
485
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
486
- # in the *AWS Security Token Service API Reference*.
571
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
572
+ # Service API Reference*.
487
573
  #
488
574
  # </note>
489
575
  #
576
+ #
577
+ #
578
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
579
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
580
+ #
490
581
  # @option params [required, String] :role
491
- # The IAM role that controls your user's access to your Amazon S3
582
+ # The IAM role that controls your users' access to your Amazon S3
492
583
  # bucket. The policies attached to this role will determine the level of
493
584
  # access you want to provide your users when transferring files into and
494
585
  # out of your Amazon S3 bucket or buckets. The IAM role should also
495
- # contain a trust relationship that allows the SFTP server to access
496
- # your resources when servicing your SFTP user's transfer requests.
586
+ # contain a trust relationship that allows the file transfer
587
+ # protocol-enabled server to access your resources when servicing your
588
+ # users' transfer requests.
497
589
  #
498
590
  # @option params [required, String] :server_id
499
- # A system-assigned unique identifier for an SFTP server instance. This
500
- # is the specific SFTP server that you added your user to.
591
+ # A system-assigned unique identifier for a file transfer
592
+ # protocol-enabled server instance. This is the specific server that you
593
+ # added your user to.
501
594
  #
502
595
  # @option params [String] :ssh_public_key_body
503
596
  # The public portion of the Secure Shell (SSH) key used to authenticate
504
- # the user to the SFTP server.
597
+ # the user to the file transfer protocol-enabled server.
505
598
  #
506
599
  # @option params [Array<Types::Tag>] :tags
507
600
  # Key-value pairs that can be used to group and search for users. Tags
508
601
  # are metadata attached to users for any purpose.
509
602
  #
510
603
  # @option params [required, String] :user_name
511
- # A unique string that identifies a user and is associated with a server
512
- # as specified by the `ServerId`. This user name must be a minimum of 3
513
- # and a maximum of 32 characters long. The following are valid
514
- # characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name
515
- # can't start with a hyphen.
604
+ # A unique string that identifies a user and is associated with a file
605
+ # transfer protocol-enabled server as specified by the `ServerId`. This
606
+ # user name must be a minimum of 3 and a maximum of 32 characters long.
607
+ # The following are valid characters: a-z, A-Z, 0-9, underscore, and
608
+ # hyphen. The user name can't start with a hyphen.
516
609
  #
517
610
  # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
518
611
  #
@@ -557,13 +650,13 @@ module Aws::Transfer
557
650
  req.send_request(options)
558
651
  end
559
652
 
560
- # Deletes the Secure File Transfer Protocol (SFTP) server that you
561
- # specify.
653
+ # Deletes the file transfer protocol-enabled server that you specify.
562
654
  #
563
655
  # No response returns from this operation.
564
656
  #
565
657
  # @option params [required, String] :server_id
566
- # A unique system-assigned identifier for an SFTP server instance.
658
+ # A unique system-assigned identifier for a file transfer
659
+ # protocol-enabled server instance.
567
660
  #
568
661
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
569
662
  #
@@ -587,8 +680,8 @@ module Aws::Transfer
587
680
  # No response is returned from this operation.
588
681
  #
589
682
  # @option params [required, String] :server_id
590
- # A system-assigned unique identifier for a Secure File Transfer
591
- # Protocol (SFTP) server instance that has the user assigned to it.
683
+ # A system-assigned unique identifier for a file transfer
684
+ # protocol-enabled server instance that has the user assigned to it.
592
685
  #
593
686
  # @option params [required, String] :ssh_public_key_id
594
687
  # A unique identifier used to reference your user's specific SSH key.
@@ -616,7 +709,8 @@ module Aws::Transfer
616
709
  req.send_request(options)
617
710
  end
618
711
 
619
- # Deletes the user belonging to the server you specify.
712
+ # Deletes the user belonging to a file transfer protocol-enabled server
713
+ # you specify.
620
714
  #
621
715
  # No response returns from this operation.
622
716
  #
@@ -625,12 +719,12 @@ module Aws::Transfer
625
719
  # </note>
626
720
  #
627
721
  # @option params [required, String] :server_id
628
- # A system-assigned unique identifier for an SFTP server instance that
629
- # has the user assigned to it.
722
+ # A system-assigned unique identifier for a file transfer
723
+ # protocol-enabled server instance that has the user assigned to it.
630
724
  #
631
725
  # @option params [required, String] :user_name
632
- # A unique string that identifies a user that is being deleted from the
633
- # server.
726
+ # A unique string that identifies a user that is being deleted from a
727
+ # file transfer protocol-enabled server.
634
728
  #
635
729
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
636
730
  #
@@ -650,15 +744,16 @@ module Aws::Transfer
650
744
  req.send_request(options)
651
745
  end
652
746
 
653
- # Describes the server that you specify by passing the `ServerId`
654
- # parameter.
747
+ # Describes a file transfer protocol-enabled server that you specify by
748
+ # passing the `ServerId` parameter.
655
749
  #
656
- # The response contains a description of the server's properties. When
750
+ # The response contains a description of a server's properties. When
657
751
  # you set `EndpointType` to VPC, the response will contain the
658
752
  # `EndpointDetails`.
659
753
  #
660
754
  # @option params [required, String] :server_id
661
- # A system-assigned unique identifier for an SFTP server.
755
+ # A system-assigned unique identifier for a file transfer
756
+ # protocol-enabled server.
662
757
  #
663
758
  # @return [Types::DescribeServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
664
759
  #
@@ -673,6 +768,7 @@ module Aws::Transfer
673
768
  # @example Response structure
674
769
  #
675
770
  # resp.server.arn #=> String
771
+ # resp.server.certificate #=> String
676
772
  # resp.server.endpoint_details.address_allocation_ids #=> Array
677
773
  # resp.server.endpoint_details.address_allocation_ids[0] #=> String
678
774
  # resp.server.endpoint_details.subnet_ids #=> Array
@@ -685,6 +781,8 @@ module Aws::Transfer
685
781
  # resp.server.identity_provider_details.invocation_role #=> String
686
782
  # resp.server.identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY"
687
783
  # resp.server.logging_role #=> String
784
+ # resp.server.protocols #=> Array
785
+ # resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS"
688
786
  # resp.server.server_id #=> String
689
787
  # resp.server.state #=> String, one of "OFFLINE", "ONLINE", "STARTING", "STOPPING", "START_FAILED", "STOP_FAILED"
690
788
  # resp.server.tags #=> Array
@@ -701,20 +799,21 @@ module Aws::Transfer
701
799
  req.send_request(options)
702
800
  end
703
801
 
704
- # Describes the user assigned to a specific server, as identified by its
705
- # `ServerId` property.
802
+ # Describes the user assigned to the specific file transfer
803
+ # protocol-enabled server, as identified by its `ServerId` property.
706
804
  #
707
805
  # The response from this call returns the properties of the user
708
806
  # associated with the `ServerId` value that was specified.
709
807
  #
710
808
  # @option params [required, String] :server_id
711
- # A system-assigned unique identifier for an SFTP server that has this
712
- # user assigned.
809
+ # A system-assigned unique identifier for a file transfer
810
+ # protocol-enabled server that has this user assigned.
713
811
  #
714
812
  # @option params [required, String] :user_name
715
- # The name of the user assigned to one or more servers. User names are
716
- # part of the sign-in credentials to use the AWS Transfer for SFTP
717
- # service and perform file transfer tasks.
813
+ # The name of the user assigned to one or more file transfer
814
+ # protocol-enabled servers. User names are part of the sign-in
815
+ # credentials to use the AWS Transfer Family service and perform file
816
+ # transfer tasks.
718
817
  #
719
818
  # @return [Types::DescribeUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
720
819
  #
@@ -758,20 +857,22 @@ module Aws::Transfer
758
857
  end
759
858
 
760
859
  # Adds a Secure Shell (SSH) public key to a user account identified by a
761
- # `UserName` value assigned to a specific server, identified by
762
- # `ServerId`.
860
+ # `UserName` value assigned to the specific file transfer
861
+ # protocol-enabled server, identified by `ServerId`.
763
862
  #
764
863
  # The response returns the `UserName` value, the `ServerId` value, and
765
864
  # the name of the `SshPublicKeyId`.
766
865
  #
767
866
  # @option params [required, String] :server_id
768
- # A system-assigned unique identifier for an SFTP server.
867
+ # A system-assigned unique identifier for a file transfer
868
+ # protocol-enabled server.
769
869
  #
770
870
  # @option params [required, String] :ssh_public_key_body
771
871
  # The public key portion of an SSH key pair.
772
872
  #
773
873
  # @option params [required, String] :user_name
774
- # The name of the user account that is assigned to one or more servers.
874
+ # The name of the user account that is assigned to one or more file
875
+ # transfer protocol-enabled servers.
775
876
  #
776
877
  # @return [Types::ImportSshPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
777
878
  #
@@ -802,24 +903,26 @@ module Aws::Transfer
802
903
  req.send_request(options)
803
904
  end
804
905
 
805
- # Lists the Secure File Transfer Protocol (SFTP) servers that are
806
- # associated with your AWS account.
906
+ # Lists the file transfer protocol-enabled servers that are associated
907
+ # with your AWS account.
807
908
  #
808
909
  # @option params [Integer] :max_results
809
- # Specifies the number of servers to return as a response to the
810
- # `ListServers` query.
910
+ # Specifies the number of file transfer protocol-enabled servers to
911
+ # return as a response to the `ListServers` query.
811
912
  #
812
913
  # @option params [String] :next_token
813
- # When additional results are obtained from the `ListServers` command, a
914
+ # When additional results are obtained from the`ListServers` command, a
814
915
  # `NextToken` parameter is returned in the output. You can then pass the
815
916
  # `NextToken` parameter in a subsequent command to continue listing
816
- # additional servers.
917
+ # additional file transfer protocol-enabled servers.
817
918
  #
818
919
  # @return [Types::ListServersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
819
920
  #
820
921
  # * {Types::ListServersResponse#next_token #next_token} => String
821
922
  # * {Types::ListServersResponse#servers #servers} => Array&lt;Types::ListedServer&gt;
822
923
  #
924
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
925
+ #
823
926
  # @example Request syntax with placeholder values
824
927
  #
825
928
  # resp = client.list_servers({
@@ -872,6 +975,8 @@ module Aws::Transfer
872
975
  # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
873
976
  # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
874
977
  #
978
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
979
+ #
875
980
  # @example Request syntax with placeholder values
876
981
  #
877
982
  # resp = client.list_tags_for_resource({
@@ -897,8 +1002,8 @@ module Aws::Transfer
897
1002
  req.send_request(options)
898
1003
  end
899
1004
 
900
- # Lists the users for the server that you specify by passing the
901
- # `ServerId` parameter.
1005
+ # Lists the users for a file transfer protocol-enabled server that you
1006
+ # specify by passing the `ServerId` parameter.
902
1007
  #
903
1008
  # @option params [Integer] :max_results
904
1009
  # Specifies the number of users to return as a response to the
@@ -911,8 +1016,8 @@ module Aws::Transfer
911
1016
  # additional users.
912
1017
  #
913
1018
  # @option params [required, String] :server_id
914
- # A system-assigned unique identifier for a Secure File Transfer
915
- # Protocol (SFTP) server that has users assigned to it.
1019
+ # A system-assigned unique identifier for a file transfer
1020
+ # protocol-enabled server that has users assigned to it.
916
1021
  #
917
1022
  # @return [Types::ListUsersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
918
1023
  #
@@ -920,6 +1025,8 @@ module Aws::Transfer
920
1025
  # * {Types::ListUsersResponse#server_id #server_id} => String
921
1026
  # * {Types::ListUsersResponse#users #users} => Array&lt;Types::ListedUser&gt;
922
1027
  #
1028
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1029
+ #
923
1030
  # @example Request syntax with placeholder values
924
1031
  #
925
1032
  # resp = client.list_users({
@@ -949,10 +1056,10 @@ module Aws::Transfer
949
1056
  req.send_request(options)
950
1057
  end
951
1058
 
952
- # Changes the state of a Secure File Transfer Protocol (SFTP) server
953
- # from `OFFLINE` to `ONLINE`. It has no impact on an SFTP server that is
954
- # already `ONLINE`. An `ONLINE` server can accept and process file
955
- # transfer jobs.
1059
+ # Changes the state of a file transfer protocol-enabled server from
1060
+ # `OFFLINE` to `ONLINE`. It has no impact on a server that is already
1061
+ # `ONLINE`. An `ONLINE` server can accept and process file transfer
1062
+ # jobs.
956
1063
  #
957
1064
  # The state of `STARTING` indicates that the server is in an
958
1065
  # intermediate state, either not fully able to respond, or not fully
@@ -961,7 +1068,8 @@ module Aws::Transfer
961
1068
  # No response is returned from this call.
962
1069
  #
963
1070
  # @option params [required, String] :server_id
964
- # A system-assigned unique identifier for an SFTP server that you start.
1071
+ # A system-assigned unique identifier for a file transfer
1072
+ # protocol-enabled server that you start.
965
1073
  #
966
1074
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
967
1075
  #
@@ -980,12 +1088,12 @@ module Aws::Transfer
980
1088
  req.send_request(options)
981
1089
  end
982
1090
 
983
- # Changes the state of an SFTP server from `ONLINE` to `OFFLINE`. An
984
- # `OFFLINE` server cannot accept and process file transfer jobs.
985
- # Information tied to your server such as server and user properties are
986
- # not affected by stopping your server. Stopping a server will not
987
- # reduce or impact your Secure File Transfer Protocol (SFTP) endpoint
988
- # billing.
1091
+ # Changes the state of a file transfer protocol-enabled server from
1092
+ # `ONLINE` to `OFFLINE`. An `OFFLINE` server cannot accept and process
1093
+ # file transfer jobs. Information tied to your server, such as server
1094
+ # and user properties, are not affected by stopping your server.
1095
+ # Stopping the server will not reduce or impact your file transfer
1096
+ # protocol endpoint billing.
989
1097
  #
990
1098
  # The state of `STOPPING` indicates that the server is in an
991
1099
  # intermediate state, either not fully able to respond, or not fully
@@ -994,8 +1102,8 @@ module Aws::Transfer
994
1102
  # No response is returned from this call.
995
1103
  #
996
1104
  # @option params [required, String] :server_id
997
- # A system-assigned unique identifier for an SFTP server that you
998
- # stopped.
1105
+ # A system-assigned unique identifier for a file transfer
1106
+ # protocol-enabled server that you stopped.
999
1107
  #
1000
1108
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1001
1109
  #
@@ -1052,19 +1160,34 @@ module Aws::Transfer
1052
1160
  req.send_request(options)
1053
1161
  end
1054
1162
 
1055
- # If the `IdentityProviderType` of the server is `API_Gateway`, tests
1056
- # whether your API Gateway is set up successfully. We highly recommend
1057
- # that you call this operation to test your authentication method as
1058
- # soon as you create your server. By doing so, you can troubleshoot
1059
- # issues with the API Gateway integration to ensure that your users can
1060
- # successfully use the service.
1163
+ # If the `IdentityProviderType` of a file transfer protocol-enabled
1164
+ # server is `API_Gateway`, tests whether your API Gateway is set up
1165
+ # successfully. We highly recommend that you call this operation to test
1166
+ # your authentication method as soon as you create your server. By doing
1167
+ # so, you can troubleshoot issues with the API Gateway integration to
1168
+ # ensure that your users can successfully use the service.
1061
1169
  #
1062
1170
  # @option params [required, String] :server_id
1063
- # A system-assigned identifier for a specific server. That server's
1064
- # user authentication method is tested with a user name and password.
1171
+ # A system-assigned identifier for a specific file transfer
1172
+ # protocol-enabled server. That server's user authentication method is
1173
+ # tested with a user name and password.
1174
+ #
1175
+ # @option params [String] :server_protocol
1176
+ # The type of file transfer protocol to be tested.
1177
+ #
1178
+ # The available protocols are:
1179
+ #
1180
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP)
1181
+ #
1182
+ # * File Transfer Protocol Secure (FTPS)
1183
+ #
1184
+ # * File Transfer Protocol (FTP)
1185
+ #
1186
+ # @option params [String] :source_ip
1187
+ # The source IP address of the user account to be tested.
1065
1188
  #
1066
1189
  # @option params [required, String] :user_name
1067
- # This request parameter is the name of the user account to be tested.
1190
+ # The name of the user account to be tested.
1068
1191
  #
1069
1192
  # @option params [String] :user_password
1070
1193
  # The password of the user account to be tested.
@@ -1080,6 +1203,8 @@ module Aws::Transfer
1080
1203
  #
1081
1204
  # resp = client.test_identity_provider({
1082
1205
  # server_id: "ServerId", # required
1206
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1207
+ # source_ip: "SourceIp",
1083
1208
  # user_name: "UserName", # required
1084
1209
  # user_password: "UserPassword",
1085
1210
  # })
@@ -1107,9 +1232,9 @@ module Aws::Transfer
1107
1232
  # No response is returned from this call.
1108
1233
  #
1109
1234
  # @option params [required, String] :arn
1110
- # This is the value of the resource that will have the tag removed. An
1111
- # Amazon Resource Name (ARN) is an identifier for a specific AWS
1112
- # resource, such as a server, user, or role.
1235
+ # The value of the resource that will have the tag removed. An Amazon
1236
+ # Resource Name (ARN) is an identifier for a specific AWS resource, such
1237
+ # as a server, user, or role.
1113
1238
  #
1114
1239
  # @option params [required, Array<String>] :tag_keys
1115
1240
  # TagKeys are key-value pairs assigned to ARNs that can be used to group
@@ -1134,48 +1259,130 @@ module Aws::Transfer
1134
1259
  req.send_request(options)
1135
1260
  end
1136
1261
 
1137
- # Updates the server properties after that server has been created.
1262
+ # Updates the file transfer protocol-enabled server's properties after
1263
+ # that server has been created.
1264
+ #
1265
+ # The `UpdateServer` call returns the `ServerId` of the server you
1266
+ # updated.
1267
+ #
1268
+ # @option params [String] :certificate
1269
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
1270
+ # certificate. Required when `Protocols` is set to `FTPS`.
1271
+ #
1272
+ # To request a new public certificate, see [Request a public
1273
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
1274
+ #
1275
+ # To import an existing certificate into ACM, see [Importing
1276
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
1277
+ # Guide</i>.
1278
+ #
1279
+ # To request a private certificate to use FTPS through private IP
1280
+ # addresses, see [Request a private certificate][3] in the <i> AWS
1281
+ # Certificate Manager User Guide</i>.
1282
+ #
1283
+ # Certificates with the following cryptographic algorithms and key sizes
1284
+ # are supported:
1285
+ #
1286
+ # * 2048-bit RSA (RSA\_2048)
1138
1287
  #
1139
- # The `UpdateServer` call returns the `ServerId` of the Secure File
1140
- # Transfer Protocol (SFTP) server you updated.
1288
+ # * 4096-bit RSA (RSA\_4096)
1289
+ #
1290
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
1291
+ #
1292
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
1293
+ #
1294
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
1295
+ #
1296
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
1297
+ # with FQDN or IP address specified and information about the issuer.
1298
+ #
1299
+ # </note>
1300
+ #
1301
+ #
1302
+ #
1303
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
1304
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
1305
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
1141
1306
  #
1142
1307
  # @option params [Types::EndpointDetails] :endpoint_details
1143
1308
  # The virtual private cloud (VPC) endpoint settings that are configured
1144
- # for your SFTP server. With a VPC endpoint, you can restrict access to
1145
- # your SFTP server to resources only within your VPC. To control
1146
- # incoming internet traffic, you will need to associate one or more
1147
- # Elastic IP addresses with your server's endpoint.
1309
+ # for your file transfer protocol-enabled server. With a VPC endpoint,
1310
+ # you can restrict access to your server to resources only within your
1311
+ # VPC. To control incoming internet traffic, you will need to associate
1312
+ # one or more Elastic IP addresses with your server's endpoint.
1148
1313
  #
1149
1314
  # @option params [String] :endpoint_type
1150
- # The type of endpoint that you want your SFTP server to connect to. You
1151
- # can choose to connect to the public internet or a virtual private
1152
- # cloud (VPC) endpoint. With a VPC endpoint, your SFTP server isn't
1153
- # accessible over the public internet.
1315
+ # The type of endpoint that you want your file transfer protocol-enabled
1316
+ # server to connect to. You can choose to connect to the public internet
1317
+ # or a VPC endpoint. With a VPC endpoint, you can restrict access to
1318
+ # your server and resources only within your VPC.
1319
+ #
1320
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
1321
+ # endpoint type, you have the option to directly associate up to three
1322
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
1323
+ # and use VPC security groups to restrict traffic by the client's
1324
+ # public IP address. This is not possible with `EndpointType` set to
1325
+ # `VPC_ENDPOINT`.
1326
+ #
1327
+ # </note>
1154
1328
  #
1155
1329
  # @option params [String] :host_key
1156
- # The RSA private key as generated by `ssh-keygen -N "" -f
1330
+ # The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
1157
1331
  # my-new-server-key`.
1158
1332
  #
1159
1333
  # If you aren't planning to migrate existing users from an existing
1160
- # SFTP server to a new AWS SFTP server, don't update the host key.
1161
- # Accidentally changing a server's host key can be disruptive.
1334
+ # file transfer protocol-enabled server to a new server, don't update
1335
+ # the host key. Accidentally changing a server's host key can be
1336
+ # disruptive.
1337
+ #
1338
+ # For more information, see [Change the host key for your SFTP-enabled
1339
+ # server][1] in the *AWS Transfer Family User Guide*.
1340
+ #
1341
+ #
1162
1342
  #
1163
- # For more information, see
1164
- # "https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
1165
- # in the *AWS SFTP User Guide.*
1343
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
1166
1344
  #
1167
1345
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
1168
- # This response parameter is an array containing all of the information
1169
- # required to call a customer's authentication API method.
1346
+ # An array containing all of the information required to call a
1347
+ # customer's authentication API method.
1170
1348
  #
1171
1349
  # @option params [String] :logging_role
1172
- # A value that changes the AWS Identity and Access Management (IAM) role
1173
- # that allows Amazon S3 events to be logged in Amazon CloudWatch,
1174
- # turning logging on or off.
1350
+ # Changes the AWS Identity and Access Management (IAM) role that allows
1351
+ # Amazon S3 events to be logged in Amazon CloudWatch, turning logging on
1352
+ # or off.
1353
+ #
1354
+ # @option params [Array<String>] :protocols
1355
+ # Specifies the file transfer protocol or protocols over which your file
1356
+ # transfer protocol client can connect to your server's endpoint. The
1357
+ # available protocols are:
1358
+ #
1359
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over
1360
+ # SSH
1361
+ #
1362
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
1363
+ # encryption
1364
+ #
1365
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
1366
+ #
1367
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
1368
+ # Certificate Manager (ACM) which will be used to identify your server
1369
+ # when clients connect to it over FTPS.
1370
+ #
1371
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
1372
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
1373
+ #
1374
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
1375
+ # associated.
1376
+ #
1377
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
1378
+ # `PUBLIC` and the `IdentityProviderType` can be set to
1379
+ # `SERVICE_MANAGED`.
1380
+ #
1381
+ # </note>
1175
1382
  #
1176
1383
  # @option params [required, String] :server_id
1177
- # A system-assigned unique identifier for an SFTP server instance that
1178
- # the user account is assigned to.
1384
+ # A system-assigned unique identifier for a file transfer
1385
+ # protocol-enabled server instance that the user account is assigned to.
1179
1386
  #
1180
1387
  # @return [Types::UpdateServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1181
1388
  #
@@ -1184,6 +1391,7 @@ module Aws::Transfer
1184
1391
  # @example Request syntax with placeholder values
1185
1392
  #
1186
1393
  # resp = client.update_server({
1394
+ # certificate: "Certificate",
1187
1395
  # endpoint_details: {
1188
1396
  # address_allocation_ids: ["AddressAllocationId"],
1189
1397
  # subnet_ids: ["SubnetId"],
@@ -1197,6 +1405,7 @@ module Aws::Transfer
1197
1405
  # invocation_role: "Role",
1198
1406
  # },
1199
1407
  # logging_role: "NullableRole",
1408
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1200
1409
  # server_id: "ServerId", # required
1201
1410
  # })
1202
1411
  #
@@ -1221,90 +1430,95 @@ module Aws::Transfer
1221
1430
  # user.
1222
1431
  #
1223
1432
  # @option params [String] :home_directory
1224
- # A parameter that specifies the landing directory (folder) for a user
1225
- # when they log in to the server using their client.
1433
+ # Specifies the landing directory (folder) for a user when they log in
1434
+ # to the file transfer protocol-enabled server using their file transfer
1435
+ # protocol client.
1226
1436
  #
1227
- # An example is `<your-Amazon-S3-bucket-name>/home/username`.
1437
+ # An example is `your-Amazon-S3-bucket-name>/home/username`.
1228
1438
  #
1229
1439
  # @option params [String] :home_directory_type
1230
1440
  # The type of landing directory (folder) you want your users' home
1231
- # directory to be when they log into the SFTP serve. If you set it to
1232
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
1233
- # their SFTP clients. If you set it `LOGICAL`, you will need to provide
1234
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
1235
- # paths visible to your user.
1441
+ # directory to be when they log into the file transfer protocol-enabled
1442
+ # server. If you set it to `PATH`, the user will see the absolute Amazon
1443
+ # S3 bucket paths as is in their file transfer protocol clients. If you
1444
+ # set it `LOGICAL`, you will need to provide mappings in the
1445
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 paths
1446
+ # visible to your users.
1236
1447
  #
1237
1448
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
1238
- # Logical directory mappings that specify what S3 paths and keys should
1239
- # be visible to your user and how you want to make them visible. You
1240
- # will need to specify the "`Entry`" and "`Target`" pair, where
1449
+ # Logical directory mappings that specify what Amazon S3 paths and keys
1450
+ # should be visible to your user and how you want to make them visible.
1451
+ # You will need to specify the "`Entry`" and "`Target`" pair, where
1241
1452
  # `Entry` shows how the path is made visible and `Target` is the actual
1242
- # S3 path. If you only specify a target, it will be displayed as is. You
1243
- # will need to also make sure that your AWS IAM Role provides access to
1244
- # paths in `Target`. The following is an example.
1453
+ # Amazon S3 path. If you only specify a target, it will be displayed as
1454
+ # is. You will need to also make sure that your IAM role provides access
1455
+ # to paths in `Target`. The following is an example.
1245
1456
  #
1246
1457
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
1247
1458
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
1248
1459
  # ]'`
1249
1460
  #
1250
- # In most cases, you can use this value instead of the scope down policy
1461
+ # In most cases, you can use this value instead of the scope-down policy
1251
1462
  # to lock your user down to the designated home directory ("chroot").
1252
1463
  # To do this, you can set `Entry` to '/' and set `Target` to the
1253
1464
  # HomeDirectory parameter value.
1254
1465
  #
1255
- # <note markdown="1"> If the target of a logical directory entry does not exist in S3, the
1256
- # entry will be ignored. As a workaround, you can use the S3 api to
1257
- # create 0 byte objects as place holders for your directory. If using
1258
- # the CLI, use the s3api call instead of s3 so you can use the
1259
- # put-object operation. For example, you use the following: `aws s3api
1260
- # put-object --bucket bucketname --key path/to/folder/`. Make sure that
1261
- # the end of the key name ends in a / for it to be considered a folder.
1466
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1467
+ # S3, the entry will be ignored. As a workaround, you can use the Amazon
1468
+ # S3 api to create 0 byte objects as place holders for your directory.
1469
+ # If using the CLI, use the `s3api` call instead of `s3` so you can use
1470
+ # the put-object operation. For example, you use the following: `aws
1471
+ # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
1472
+ # that the end of the key name ends in a / for it to be considered a
1473
+ # folder.
1262
1474
  #
1263
1475
  # </note>
1264
1476
  #
1265
1477
  # @option params [String] :policy
1266
1478
  # Allows you to supply a scope-down policy for your user so you can use
1267
- # the same AWS Identity and Access Management (IAM) role across multiple
1268
- # users. The policy scopes down user access to portions of your Amazon
1269
- # S3 bucket. Variables you can use inside this policy include
1270
- # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1271
- # `$\{Transfer:HomeBucket\}`.
1479
+ # the same IAM role across multiple users. The policy scopes down user
1480
+ # access to portions of your Amazon S3 bucket. Variables you can use
1481
+ # inside this policy include `$\{Transfer:UserName\}`,
1482
+ # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1272
1483
  #
1273
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as a
1484
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
1274
1485
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
1275
1486
  # You save the policy as a JSON blob and pass it in the `Policy`
1276
1487
  # argument.
1277
1488
  #
1278
- # For an example of a scope-down policy, see
1279
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
1280
- # a Scope-Down Policy.
1489
+ # For an example of a scope-down policy, see [Creating a scope-down
1490
+ # policy][1].
1281
1491
  #
1282
- # For more information, see
1283
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
1284
- # in the *AWS Security Token Service API Reference*.
1492
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
1493
+ # Service API Reference*.
1285
1494
  #
1286
1495
  # </note>
1287
1496
  #
1497
+ #
1498
+ #
1499
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
1500
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
1501
+ #
1288
1502
  # @option params [String] :role
1289
- # The IAM role that controls your user's access to your Amazon S3
1503
+ # The IAM role that controls your users' access to your Amazon S3
1290
1504
  # bucket. The policies attached to this role will determine the level of
1291
1505
  # access you want to provide your users when transferring files into and
1292
1506
  # out of your Amazon S3 bucket or buckets. The IAM role should also
1293
- # contain a trust relationship that allows the Secure File Transfer
1294
- # Protocol (SFTP) server to access your resources when servicing your
1295
- # SFTP user's transfer requests.
1507
+ # contain a trust relationship that allows the file transfer
1508
+ # protocol-enabled server to access your resources when servicing your
1509
+ # users' transfer requests.
1296
1510
  #
1297
1511
  # @option params [required, String] :server_id
1298
- # A system-assigned unique identifier for an SFTP server instance that
1299
- # the user account is assigned to.
1512
+ # A system-assigned unique identifier for a file transfer
1513
+ # protocol-enabled server instance that the user account is assigned to.
1300
1514
  #
1301
1515
  # @option params [required, String] :user_name
1302
- # A unique string that identifies a user and is associated with a server
1303
- # as specified by the `ServerId`. This is the string that will be used
1304
- # by your user when they log in to your SFTP server. This user name is a
1305
- # minimum of 3 and a maximum of 32 characters long. The following are
1306
- # valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name
1307
- # can't start with a hyphen.
1516
+ # A unique string that identifies a user and is associated with a file
1517
+ # transfer protocol-enabled server as specified by the `ServerId`. This
1518
+ # is the string that will be used by your user when they log in to your
1519
+ # server. This user name is a minimum of 3 and a maximum of 32
1520
+ # characters long. The following are valid characters: a-z, A-Z, 0-9,
1521
+ # underscore, and hyphen. The user name can't start with a hyphen.
1308
1522
  #
1309
1523
  # @return [Types::UpdateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1310
1524
  #
@@ -1355,7 +1569,7 @@ module Aws::Transfer
1355
1569
  params: params,
1356
1570
  config: config)
1357
1571
  context[:gem_name] = 'aws-sdk-transfer'
1358
- context[:gem_version] = '1.17.0'
1572
+ context[:gem_version] = '1.22.1'
1359
1573
  Seahorse::Client::Request.new(handlers, context)
1360
1574
  end
1361
1575