aws-sdk-transfer 1.17.0 → 1.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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