aws-sdk-transfer 1.20.0 → 1.25.0

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