aws-sdk-transfer 1.20.0 → 1.25.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90dc7322cdebf9a63dc91e89550505d8602b4ecc4d9a25ae5985158aa165991f
4
- data.tar.gz: b73403e5937ceb79803af79f963586e73b3be59c2696ae9d5b1a23afaf85ff76
3
+ metadata.gz: 0e2d9cedbc75747c909c28ef42749237b1e31bcb86253581ddd95df91678fed9
4
+ data.tar.gz: 30075c349181110f27d3213eca79ef2dfa8889313bfc33eb8a6be4ce108c59d2
5
5
  SHA512:
6
- metadata.gz: 3ac272cd20b7cf50e64aaf28e5cc7e8755c23572f4b53891358d279ee8bba3189078f7ded09f1618e227a537eb05a9c5d55dc5ddbce181e6f1334ee679695249
7
- data.tar.gz: a7818347b0fe6a3763c4859604fec3755d245c99c7946e7a30f457e5201c4d6f4a20f8f0664a9046171cd95b8719b50f6d21a62fc7c53f4b50b67d22294bad95
6
+ metadata.gz: 5fbe9972ebe3e381f09d4d5a910924810c4873b905dfad426adb8e753aaea8b6cff7df6b2c89d9b47be943beeb2828331bef6129f8a2c4f076580a35d250e237
7
+ data.tar.gz: 81fe53356243105f85ebeafac95d46c1ac455eedd08da54a145548ddc55a936fba7bdd2043f3ade4e9fa7ee8cfc06811bd15a027d301f0b2b539e5c72eaa70b6
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -42,9 +44,9 @@ require_relative 'aws-sdk-transfer/customizations'
42
44
  #
43
45
  # See {Errors} for more information.
44
46
  #
45
- # @service
47
+ # @!group service
46
48
  module Aws::Transfer
47
49
 
48
- GEM_VERSION = '1.20.0'
50
+ GEM_VERSION = '1.25.0'
49
51
 
50
52
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
29
32
 
@@ -69,6 +72,7 @@ module Aws::Transfer
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
74
78
 
@@ -81,13 +85,28 @@ module Aws::Transfer
81
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
86
  # credentials.
83
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
84
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
103
  # from an EC2 IMDS on an EC2 instance.
86
104
  #
87
- # * `Aws::SharedCredentials` - Used for loading credentials from a
88
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
89
107
  #
90
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
91
110
  #
92
111
  # When `:credentials` are not configured directly, the following
93
112
  # locations will be searched for credentials:
@@ -97,10 +116,10 @@ module Aws::Transfer
97
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
117
  # * `~/.aws/credentials`
99
118
  # * `~/.aws/config`
100
- # * EC2 IMDS instance profile - When used by default, the timeouts are
101
- # very aggressive. Construct and pass an instance of
102
- # `Aws::InstanceProfileCredentails` to enable retries and extended
103
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
104
123
  #
105
124
  # @option options [required, String] :region
106
125
  # The AWS region to connect to. The configured `:region` is
@@ -161,7 +180,7 @@ module Aws::Transfer
161
180
  # @option options [String] :endpoint
162
181
  # The client endpoint is normally constructed from the `:region`
163
182
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
184
  #
166
185
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
186
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -328,6 +347,41 @@ module Aws::Transfer
328
347
  # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
329
348
  # certificate. Required when `Protocols` is set to `FTPS`.
330
349
  #
350
+ # To request a new public certificate, see [Request a public
351
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
352
+ #
353
+ # To import an existing certificate into ACM, see [Importing
354
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
355
+ # Guide</i>.
356
+ #
357
+ # To request a private certificate to use FTPS through private IP
358
+ # addresses, see [Request a private certificate][3] in the <i> AWS
359
+ # Certificate Manager User Guide</i>.
360
+ #
361
+ # Certificates with the following cryptographic algorithms and key sizes
362
+ # are supported:
363
+ #
364
+ # * 2048-bit RSA (RSA\_2048)
365
+ #
366
+ # * 4096-bit RSA (RSA\_4096)
367
+ #
368
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
369
+ #
370
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
371
+ #
372
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
373
+ #
374
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
375
+ # with FQDN or IP address specified and information about the issuer.
376
+ #
377
+ # </note>
378
+ #
379
+ #
380
+ #
381
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
382
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
383
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
384
+ #
331
385
  # @option params [Types::EndpointDetails] :endpoint_details
332
386
  # The virtual private cloud (VPC) endpoint settings that are configured
333
387
  # for your file transfer protocol-enabled server. When you host your
@@ -339,24 +393,32 @@ module Aws::Transfer
339
393
  # @option params [String] :endpoint_type
340
394
  # The type of VPC endpoint that you want your file transfer
341
395
  # protocol-enabled server to connect to. You can choose to connect to
342
- # the public internet or a virtual private cloud (VPC) endpoint. With a
343
- # VPC endpoint, you can restrict access to your server and resources
344
- # only within your VPC.
396
+ # the public internet or a VPC endpoint. With a VPC endpoint, you can
397
+ # restrict access to your server and resources only within your VPC.
398
+ #
399
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
400
+ # endpoint type, you have the option to directly associate up to three
401
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
402
+ # and use VPC security groups to restrict traffic by the client's
403
+ # public IP address. This is not possible with `EndpointType` set to
404
+ # `VPC_ENDPOINT`.
405
+ #
406
+ # </note>
345
407
  #
346
408
  # @option params [String] :host_key
347
- # The RSA private key as generated by the `ssh-keygen -N "" -f
409
+ # The RSA private key as generated by the `ssh-keygen -N "" -m PEM -f
348
410
  # my-new-server-key` command.
349
411
  #
350
412
  # If you aren't planning to migrate existing users from an existing
351
413
  # SFTP-enabled server to a new server, don't update the host key.
352
414
  # Accidentally changing a server's host key can be disruptive.
353
415
  #
354
- # For more information, see [Changing the Host Key for Your AWS Transfer
355
- # Family Server][1] in the *AWS Transfer Family User Guide*.
416
+ # For more information, see [Change the host key for your SFTP-enabled
417
+ # server][1] in the *AWS Transfer Family User Guide*.
356
418
  #
357
419
  #
358
420
  #
359
- # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
421
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
360
422
  #
361
423
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
362
424
  # Required when `IdentityProviderType` is set to `API_GATEWAY`. Accepts
@@ -382,13 +444,33 @@ module Aws::Transfer
382
444
  # transfer protocol client can connect to your server's endpoint. The
383
445
  # available protocols are:
384
446
  #
385
- # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over
386
- # SSH
447
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
448
+ # over SSH
387
449
  #
388
- # * File Transfer Protocol Secure (FTPS): File transfer with TLS
450
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
389
451
  # encryption
390
452
  #
391
- # * File Transfer Protocol (FTP): Unencrypted file transfer
453
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
454
+ #
455
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
456
+ # Certificate Manager (ACM) which will be used to identify your file
457
+ # transfer protocol-enabled server when clients connect to it over FTPS.
458
+ #
459
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
460
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
461
+ #
462
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
463
+ # associated.
464
+ #
465
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
466
+ # `PUBLIC` and the `IdentityProviderType` can be set to
467
+ # `SERVICE_MANAGED`.
468
+ #
469
+ # </note>
470
+ #
471
+ # @option params [String] :security_policy_name
472
+ # Specifies the name of the security policy that is attached to the
473
+ # server.
392
474
  #
393
475
  # @option params [Array<Types::Tag>] :tags
394
476
  # Key-value pairs that can be used to group and search for file transfer
@@ -417,6 +499,7 @@ module Aws::Transfer
417
499
  # identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
418
500
  # logging_role: "Role",
419
501
  # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
502
+ # security_policy_name: "SecurityPolicyName",
420
503
  # tags: [
421
504
  # {
422
505
  # key: "TagKey", # required
@@ -451,7 +534,8 @@ module Aws::Transfer
451
534
  # The landing directory (folder) for a user when they log in to the file
452
535
  # transfer protocol-enabled server using the client.
453
536
  #
454
- # An example is `your-Amazon-S3-bucket-name>/home/username`.
537
+ # An example is <i>
538
+ # <code>your-Amazon-S3-bucket-name&gt;/home/username</code> </i>.
455
539
  #
456
540
  # @option params [String] :home_directory_type
457
541
  # The type of landing directory (folder) you want your users' home
@@ -468,8 +552,8 @@ module Aws::Transfer
468
552
  # You will need to specify the "`Entry`" and "`Target`" pair, where
469
553
  # `Entry` shows how the path is made visible and `Target` is the actual
470
554
  # Amazon S3 path. If you only specify a target, it will be displayed as
471
- # is. You will need to also make sure that your AWS IAM Role provides
472
- # access to paths in `Target`. The following is an example.
555
+ # is. You will need to also make sure that your IAM role provides access
556
+ # to paths in `Target`. The following is an example.
473
557
  #
474
558
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
475
559
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
@@ -482,7 +566,7 @@ module Aws::Transfer
482
566
  #
483
567
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
484
568
  # S3, the entry will be ignored. As a workaround, you can use the Amazon
485
- # S3 api to create 0 byte objects as place holders for your directory.
569
+ # S3 API to create 0 byte objects as place holders for your directory.
486
570
  # If using the CLI, use the `s3api` call instead of `s3` so you can use
487
571
  # the put-object operation. For example, you use the following: `aws
488
572
  # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
@@ -503,8 +587,8 @@ module Aws::Transfer
503
587
  # You save the policy as a JSON blob and pass it in the `Policy`
504
588
  # argument.
505
589
  #
506
- # For an example of a scope-down policy, see [Creating a Scope-Down
507
- # Policy][1].
590
+ # For an example of a scope-down policy, see [Creating a scope-down
591
+ # policy][1].
508
592
  #
509
593
  # For more information, see [AssumeRole][2] in the *AWS Security Token
510
594
  # Service API Reference*.
@@ -541,9 +625,10 @@ module Aws::Transfer
541
625
  # @option params [required, String] :user_name
542
626
  # A unique string that identifies a user and is associated with a file
543
627
  # transfer protocol-enabled server as specified by the `ServerId`. This
544
- # user name must be a minimum of 3 and a maximum of 32 characters long.
545
- # The following are valid characters: a-z, A-Z, 0-9, underscore, and
546
- # hyphen. The user name can't start with a hyphen.
628
+ # user name must be a minimum of 3 and a maximum of 100 characters long.
629
+ # The following are valid characters: a-z, A-Z, 0-9, underscore '\_',
630
+ # hyphen '-', period '.', and at sign '@'. The user name can't
631
+ # start with a hyphen, period, and at sign.
547
632
  #
548
633
  # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
549
634
  #
@@ -682,6 +767,51 @@ module Aws::Transfer
682
767
  req.send_request(options)
683
768
  end
684
769
 
770
+ # Describes the security policy that is attached to your file transfer
771
+ # protocol-enabled server. The response contains a description of the
772
+ # security policy's properties. For more information about security
773
+ # policies, see [Working with security policies][1].
774
+ #
775
+ #
776
+ #
777
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html
778
+ #
779
+ # @option params [required, String] :security_policy_name
780
+ # Specifies the name of the security policy that is attached to the
781
+ # server.
782
+ #
783
+ # @return [Types::DescribeSecurityPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
784
+ #
785
+ # * {Types::DescribeSecurityPolicyResponse#security_policy #security_policy} => Types::DescribedSecurityPolicy
786
+ #
787
+ # @example Request syntax with placeholder values
788
+ #
789
+ # resp = client.describe_security_policy({
790
+ # security_policy_name: "SecurityPolicyName", # required
791
+ # })
792
+ #
793
+ # @example Response structure
794
+ #
795
+ # resp.security_policy.fips #=> Boolean
796
+ # resp.security_policy.security_policy_name #=> String
797
+ # resp.security_policy.ssh_ciphers #=> Array
798
+ # resp.security_policy.ssh_ciphers[0] #=> String
799
+ # resp.security_policy.ssh_kexs #=> Array
800
+ # resp.security_policy.ssh_kexs[0] #=> String
801
+ # resp.security_policy.ssh_macs #=> Array
802
+ # resp.security_policy.ssh_macs[0] #=> String
803
+ # resp.security_policy.tls_ciphers #=> Array
804
+ # resp.security_policy.tls_ciphers[0] #=> String
805
+ #
806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy AWS API Documentation
807
+ #
808
+ # @overload describe_security_policy(params = {})
809
+ # @param [Hash] params ({})
810
+ def describe_security_policy(params = {}, options = {})
811
+ req = build_request(:describe_security_policy, params)
812
+ req.send_request(options)
813
+ end
814
+
685
815
  # Describes a file transfer protocol-enabled server that you specify by
686
816
  # passing the `ServerId` parameter.
687
817
  #
@@ -721,6 +851,7 @@ module Aws::Transfer
721
851
  # resp.server.logging_role #=> String
722
852
  # resp.server.protocols #=> Array
723
853
  # resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS"
854
+ # resp.server.security_policy_name #=> String
724
855
  # resp.server.server_id #=> String
725
856
  # resp.server.state #=> String, one of "OFFLINE", "ONLINE", "STARTING", "STOPPING", "START_FAILED", "STOP_FAILED"
726
857
  # resp.server.tags #=> Array
@@ -841,6 +972,48 @@ module Aws::Transfer
841
972
  req.send_request(options)
842
973
  end
843
974
 
975
+ # Lists the security policies that are attached to your file transfer
976
+ # protocol-enabled servers.
977
+ #
978
+ # @option params [Integer] :max_results
979
+ # Specifies the number of security policies to return as a response to
980
+ # the `ListSecurityPolicies` query.
981
+ #
982
+ # @option params [String] :next_token
983
+ # When additional results are obtained from the `ListSecurityPolicies`
984
+ # command, a `NextToken` parameter is returned in the output. You can
985
+ # then pass the `NextToken` parameter in a subsequent command to
986
+ # continue listing additional security policies.
987
+ #
988
+ # @return [Types::ListSecurityPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
989
+ #
990
+ # * {Types::ListSecurityPoliciesResponse#next_token #next_token} => String
991
+ # * {Types::ListSecurityPoliciesResponse#security_policy_names #security_policy_names} => Array&lt;String&gt;
992
+ #
993
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
994
+ #
995
+ # @example Request syntax with placeholder values
996
+ #
997
+ # resp = client.list_security_policies({
998
+ # max_results: 1,
999
+ # next_token: "NextToken",
1000
+ # })
1001
+ #
1002
+ # @example Response structure
1003
+ #
1004
+ # resp.next_token #=> String
1005
+ # resp.security_policy_names #=> Array
1006
+ # resp.security_policy_names[0] #=> String
1007
+ #
1008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies AWS API Documentation
1009
+ #
1010
+ # @overload list_security_policies(params = {})
1011
+ # @param [Hash] params ({})
1012
+ def list_security_policies(params = {}, options = {})
1013
+ req = build_request(:list_security_policies, params)
1014
+ req.send_request(options)
1015
+ end
1016
+
844
1017
  # Lists the file transfer protocol-enabled servers that are associated
845
1018
  # with your AWS account.
846
1019
  #
@@ -849,7 +1022,7 @@ module Aws::Transfer
849
1022
  # return as a response to the `ListServers` query.
850
1023
  #
851
1024
  # @option params [String] :next_token
852
- # When additional results are obtained from the`ListServers` command, a
1025
+ # When additional results are obtained from the `ListServers` command, a
853
1026
  # `NextToken` parameter is returned in the output. You can then pass the
854
1027
  # `NextToken` parameter in a subsequent command to continue listing
855
1028
  # additional file transfer protocol-enabled servers.
@@ -1110,12 +1283,6 @@ module Aws::Transfer
1110
1283
  # protocol-enabled server. That server's user authentication method is
1111
1284
  # tested with a user name and password.
1112
1285
  #
1113
- # @option params [required, String] :user_name
1114
- # The name of the user account to be tested.
1115
- #
1116
- # @option params [String] :user_password
1117
- # The password of the user account to be tested.
1118
- #
1119
1286
  # @option params [String] :server_protocol
1120
1287
  # The type of file transfer protocol to be tested.
1121
1288
  #
@@ -1127,6 +1294,15 @@ module Aws::Transfer
1127
1294
  #
1128
1295
  # * File Transfer Protocol (FTP)
1129
1296
  #
1297
+ # @option params [String] :source_ip
1298
+ # The source IP address of the user account to be tested.
1299
+ #
1300
+ # @option params [required, String] :user_name
1301
+ # The name of the user account to be tested.
1302
+ #
1303
+ # @option params [String] :user_password
1304
+ # The password of the user account to be tested.
1305
+ #
1130
1306
  # @return [Types::TestIdentityProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1131
1307
  #
1132
1308
  # * {Types::TestIdentityProviderResponse#response #response} => String
@@ -1138,9 +1314,10 @@ module Aws::Transfer
1138
1314
  #
1139
1315
  # resp = client.test_identity_provider({
1140
1316
  # server_id: "ServerId", # required
1317
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1318
+ # source_ip: "SourceIp",
1141
1319
  # user_name: "UserName", # required
1142
1320
  # user_password: "UserPassword",
1143
- # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1144
1321
  # })
1145
1322
  #
1146
1323
  # @example Response structure
@@ -1203,6 +1380,41 @@ module Aws::Transfer
1203
1380
  # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
1204
1381
  # certificate. Required when `Protocols` is set to `FTPS`.
1205
1382
  #
1383
+ # To request a new public certificate, see [Request a public
1384
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
1385
+ #
1386
+ # To import an existing certificate into ACM, see [Importing
1387
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
1388
+ # Guide</i>.
1389
+ #
1390
+ # To request a private certificate to use FTPS through private IP
1391
+ # addresses, see [Request a private certificate][3] in the <i> AWS
1392
+ # Certificate Manager User Guide</i>.
1393
+ #
1394
+ # Certificates with the following cryptographic algorithms and key sizes
1395
+ # are supported:
1396
+ #
1397
+ # * 2048-bit RSA (RSA\_2048)
1398
+ #
1399
+ # * 4096-bit RSA (RSA\_4096)
1400
+ #
1401
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
1402
+ #
1403
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
1404
+ #
1405
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
1406
+ #
1407
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
1408
+ # with FQDN or IP address specified and information about the issuer.
1409
+ #
1410
+ # </note>
1411
+ #
1412
+ #
1413
+ #
1414
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
1415
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
1416
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
1417
+ #
1206
1418
  # @option params [Types::EndpointDetails] :endpoint_details
1207
1419
  # The virtual private cloud (VPC) endpoint settings that are configured
1208
1420
  # for your file transfer protocol-enabled server. With a VPC endpoint,
@@ -1213,11 +1425,20 @@ module Aws::Transfer
1213
1425
  # @option params [String] :endpoint_type
1214
1426
  # The type of endpoint that you want your file transfer protocol-enabled
1215
1427
  # server to connect to. You can choose to connect to the public internet
1216
- # or a VPC endpoint. With a VPC endpoint, your server isn't accessible
1217
- # over the public internet.
1428
+ # or a VPC endpoint. With a VPC endpoint, you can restrict access to
1429
+ # your server and resources only within your VPC.
1430
+ #
1431
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
1432
+ # endpoint type, you have the option to directly associate up to three
1433
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
1434
+ # and use VPC security groups to restrict traffic by the client's
1435
+ # public IP address. This is not possible with `EndpointType` set to
1436
+ # `VPC_ENDPOINT`.
1437
+ #
1438
+ # </note>
1218
1439
  #
1219
1440
  # @option params [String] :host_key
1220
- # The RSA private key as generated by `ssh-keygen -N "" -f
1441
+ # The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
1221
1442
  # my-new-server-key`.
1222
1443
  #
1223
1444
  # If you aren't planning to migrate existing users from an existing
@@ -1225,12 +1446,12 @@ module Aws::Transfer
1225
1446
  # the host key. Accidentally changing a server's host key can be
1226
1447
  # disruptive.
1227
1448
  #
1228
- # For more information, see [Changing the Host Key for Your AWS Transfer
1229
- # Family Server][1] in the *AWS Transfer Family User Guide*.
1449
+ # For more information, see [Change the host key for your SFTP-enabled
1450
+ # server][1] in the *AWS Transfer Family User Guide*.
1230
1451
  #
1231
1452
  #
1232
1453
  #
1233
- # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
1454
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
1234
1455
  #
1235
1456
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
1236
1457
  # An array containing all of the information required to call a
@@ -1254,6 +1475,26 @@ module Aws::Transfer
1254
1475
  #
1255
1476
  # * File Transfer Protocol (FTP): Unencrypted file transfer
1256
1477
  #
1478
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
1479
+ # Certificate Manager (ACM) which will be used to identify your server
1480
+ # when clients connect to it over FTPS.
1481
+ #
1482
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
1483
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
1484
+ #
1485
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
1486
+ # associated.
1487
+ #
1488
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
1489
+ # `PUBLIC` and the `IdentityProviderType` can be set to
1490
+ # `SERVICE_MANAGED`.
1491
+ #
1492
+ # </note>
1493
+ #
1494
+ # @option params [String] :security_policy_name
1495
+ # Specifies the name of the security policy that is attached to the
1496
+ # server.
1497
+ #
1257
1498
  # @option params [required, String] :server_id
1258
1499
  # A system-assigned unique identifier for a file transfer
1259
1500
  # protocol-enabled server instance that the user account is assigned to.
@@ -1280,6 +1521,7 @@ module Aws::Transfer
1280
1521
  # },
1281
1522
  # logging_role: "NullableRole",
1282
1523
  # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1524
+ # security_policy_name: "SecurityPolicyName",
1283
1525
  # server_id: "ServerId", # required
1284
1526
  # })
1285
1527
  #
@@ -1325,8 +1567,8 @@ module Aws::Transfer
1325
1567
  # You will need to specify the "`Entry`" and "`Target`" pair, where
1326
1568
  # `Entry` shows how the path is made visible and `Target` is the actual
1327
1569
  # Amazon S3 path. If you only specify a target, it will be displayed as
1328
- # is. You will need to also make sure that your AWS IAM Role provides
1329
- # access to paths in `Target`. The following is an example.
1570
+ # is. You will need to also make sure that your IAM role provides access
1571
+ # to paths in `Target`. The following is an example.
1330
1572
  #
1331
1573
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
1332
1574
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
@@ -1339,7 +1581,7 @@ module Aws::Transfer
1339
1581
  #
1340
1582
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1341
1583
  # S3, the entry will be ignored. As a workaround, you can use the Amazon
1342
- # S3 api to create 0 byte objects as place holders for your directory.
1584
+ # S3 API to create 0 byte objects as place holders for your directory.
1343
1585
  # If using the CLI, use the `s3api` call instead of `s3` so you can use
1344
1586
  # the put-object operation. For example, you use the following: `aws
1345
1587
  # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
@@ -1350,19 +1592,18 @@ module Aws::Transfer
1350
1592
  #
1351
1593
  # @option params [String] :policy
1352
1594
  # Allows you to supply a scope-down policy for your user so you can use
1353
- # the same AWS Identity and Access Management (IAM) role across multiple
1354
- # users. The policy scopes down user access to portions of your Amazon
1355
- # S3 bucket. Variables you can use inside this policy include
1356
- # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1357
- # `$\{Transfer:HomeBucket\}`.
1595
+ # the same IAM role across multiple users. The policy scopes down user
1596
+ # access to portions of your Amazon S3 bucket. Variables you can use
1597
+ # inside this policy include `$\{Transfer:UserName\}`,
1598
+ # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1358
1599
  #
1359
1600
  # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
1360
1601
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
1361
1602
  # You save the policy as a JSON blob and pass it in the `Policy`
1362
1603
  # argument.
1363
1604
  #
1364
- # For an example of a scope-down policy, see [Creating a Scope-Down
1365
- # Policy][1].
1605
+ # For an example of a scope-down policy, see [Creating a scope-down
1606
+ # policy][1].
1366
1607
  #
1367
1608
  # For more information, see [AssumeRole][2] in the *AWS Security Token
1368
1609
  # Service API Reference*.
@@ -1390,10 +1631,10 @@ module Aws::Transfer
1390
1631
  # @option params [required, String] :user_name
1391
1632
  # A unique string that identifies a user and is associated with a file
1392
1633
  # transfer protocol-enabled server as specified by the `ServerId`. This
1393
- # is the string that will be used by your user when they log in to your
1394
- # server. This user name is a minimum of 3 and a maximum of 32
1395
- # characters long. The following are valid characters: a-z, A-Z, 0-9,
1396
- # underscore, and hyphen. The user name can't start with a hyphen.
1634
+ # user name must be a minimum of 3 and a maximum of 100 characters long.
1635
+ # The following are valid characters: a-z, A-Z, 0-9, underscore '\_',
1636
+ # hyphen '-', period '.', and at sign '@'. The user name can't
1637
+ # start with a hyphen, period, and at sign.
1397
1638
  #
1398
1639
  # @return [Types::UpdateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1399
1640
  #
@@ -1444,7 +1685,7 @@ module Aws::Transfer
1444
1685
  params: params,
1445
1686
  config: config)
1446
1687
  context[:gem_name] = 'aws-sdk-transfer'
1447
- context[:gem_version] = '1.20.0'
1688
+ context[:gem_version] = '1.25.0'
1448
1689
  Seahorse::Client::Request.new(handlers, context)
1449
1690
  end
1450
1691