aws-sdk-transfer 1.19.0 → 1.24.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: dde682003e74678622f1fd6ae5dcd739d8b2478d5ae4c75c09ff4aa806628eb7
4
- data.tar.gz: 66f9b6808e404b0519bf94d9ac2baafe942c4c3d9f960d3eabea060833b28566
3
+ metadata.gz: 03e1a4abc91b069cf39b2b826e011e017d6b138598b7031e02378fee7cc69396
4
+ data.tar.gz: 93c6c9c172fdfe1f8c6543ed04a0e03d314b60b5a4d3968481ef23125c705160
5
5
  SHA512:
6
- metadata.gz: 9f3f787a5aa0511e3bd882a082d19091c903c84a027612c8b7fcbd7f7f687e988daeb466d7f3f82d2974a7a80d914f7df33e1022fcf859d6c11fb490100a3a90
7
- data.tar.gz: 5e7db0995baf2140beee3c5bd15d9b29397e2b30b60bd59d70af96abaeba21a0cc1a7bb80daddfb17976d78481e248211db4b7fe3f84806a0943f9804c3c8f52
6
+ metadata.gz: 1a342863445121f5dd5093a840db57f70d3bf4f6657bd63898dbb537bc1c4f37523dd90aea1958b2a48b3e635b32e4e86b161206c2a4a38b91bf32a34a778653
7
+ data.tar.gz: 663b7d41858f0ec0a5b740e6c2560bb1de2884bf24cade3b647b2964c8b644ffb1f7d9a0c85217077e82f2b87d514880a4e37626c0aba48f92938d18aed0a717
@@ -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:
@@ -45,6 +47,6 @@ require_relative 'aws-sdk-transfer/customizations'
45
47
  # @service
46
48
  module Aws::Transfer
47
49
 
48
- GEM_VERSION = '1.19.0'
50
+ GEM_VERSION = '1.24.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
 
@@ -161,7 +165,7 @@ module Aws::Transfer
161
165
  # @option options [String] :endpoint
162
166
  # The client endpoint is normally constructed from the `:region`
163
167
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
169
  #
166
170
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
171
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +180,7 @@ module Aws::Transfer
176
180
  # requests fetching endpoints information. Defaults to 60 sec.
177
181
  #
178
182
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
184
  #
181
185
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
186
  # The log formatter.
@@ -328,6 +332,41 @@ module Aws::Transfer
328
332
  # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
329
333
  # certificate. Required when `Protocols` is set to `FTPS`.
330
334
  #
335
+ # To request a new public certificate, see [Request a public
336
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
337
+ #
338
+ # To import an existing certificate into ACM, see [Importing
339
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
340
+ # Guide</i>.
341
+ #
342
+ # To request a private certificate to use FTPS through private IP
343
+ # addresses, see [Request a private certificate][3] in the <i> AWS
344
+ # Certificate Manager User Guide</i>.
345
+ #
346
+ # Certificates with the following cryptographic algorithms and key sizes
347
+ # are supported:
348
+ #
349
+ # * 2048-bit RSA (RSA\_2048)
350
+ #
351
+ # * 4096-bit RSA (RSA\_4096)
352
+ #
353
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
354
+ #
355
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
356
+ #
357
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
358
+ #
359
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
360
+ # with FQDN or IP address specified and information about the issuer.
361
+ #
362
+ # </note>
363
+ #
364
+ #
365
+ #
366
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
367
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
368
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
369
+ #
331
370
  # @option params [Types::EndpointDetails] :endpoint_details
332
371
  # The virtual private cloud (VPC) endpoint settings that are configured
333
372
  # for your file transfer protocol-enabled server. When you host your
@@ -339,24 +378,32 @@ module Aws::Transfer
339
378
  # @option params [String] :endpoint_type
340
379
  # The type of VPC endpoint that you want your file transfer
341
380
  # 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.
381
+ # the public internet or a VPC endpoint. With a VPC endpoint, you can
382
+ # restrict access to your server and resources only within your VPC.
383
+ #
384
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
385
+ # endpoint type, you have the option to directly associate up to three
386
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
387
+ # and use VPC security groups to restrict traffic by the client's
388
+ # public IP address. This is not possible with `EndpointType` set to
389
+ # `VPC_ENDPOINT`.
390
+ #
391
+ # </note>
345
392
  #
346
393
  # @option params [String] :host_key
347
- # The RSA private key as generated by the `ssh-keygen -N "" -f
394
+ # The RSA private key as generated by the `ssh-keygen -N "" -m PEM -f
348
395
  # my-new-server-key` command.
349
396
  #
350
397
  # If you aren't planning to migrate existing users from an existing
351
398
  # SFTP-enabled server to a new server, don't update the host key.
352
399
  # Accidentally changing a server's host key can be disruptive.
353
400
  #
354
- # For more information, see [Changing the Host Key for Your AWS Transfer
355
- # Family Server][1] in the *AWS Transfer Family User Guide*.
401
+ # For more information, see [Change the host key for your SFTP-enabled
402
+ # server][1] in the *AWS Transfer Family User Guide*.
356
403
  #
357
404
  #
358
405
  #
359
- # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
406
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
360
407
  #
361
408
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
362
409
  # Required when `IdentityProviderType` is set to `API_GATEWAY`. Accepts
@@ -382,13 +429,33 @@ module Aws::Transfer
382
429
  # transfer protocol client can connect to your server's endpoint. The
383
430
  # available protocols are:
384
431
  #
385
- # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over
386
- # SSH
432
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
433
+ # over SSH
387
434
  #
388
- # * File Transfer Protocol Secure (FTPS): File transfer with TLS
435
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
389
436
  # encryption
390
437
  #
391
- # * File Transfer Protocol (FTP): Unencrypted file transfer
438
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
439
+ #
440
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
441
+ # Certificate Manager (ACM) which will be used to identify your file
442
+ # transfer protocol-enabled server when clients connect to it over FTPS.
443
+ #
444
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
445
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
446
+ #
447
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
448
+ # associated.
449
+ #
450
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
451
+ # `PUBLIC` and the `IdentityProviderType` can be set to
452
+ # `SERVICE_MANAGED`.
453
+ #
454
+ # </note>
455
+ #
456
+ # @option params [String] :security_policy_name
457
+ # Specifies the name of the security policy that is attached to the
458
+ # server.
392
459
  #
393
460
  # @option params [Array<Types::Tag>] :tags
394
461
  # Key-value pairs that can be used to group and search for file transfer
@@ -417,6 +484,7 @@ module Aws::Transfer
417
484
  # identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
418
485
  # logging_role: "Role",
419
486
  # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
487
+ # security_policy_name: "SecurityPolicyName",
420
488
  # tags: [
421
489
  # {
422
490
  # key: "TagKey", # required
@@ -451,7 +519,8 @@ module Aws::Transfer
451
519
  # The landing directory (folder) for a user when they log in to the file
452
520
  # transfer protocol-enabled server using the client.
453
521
  #
454
- # An example is `your-Amazon-S3-bucket-name>/home/username`.
522
+ # An example is <i>
523
+ # <code>your-Amazon-S3-bucket-name&gt;/home/username</code> </i>.
455
524
  #
456
525
  # @option params [String] :home_directory_type
457
526
  # The type of landing directory (folder) you want your users' home
@@ -468,8 +537,8 @@ module Aws::Transfer
468
537
  # You will need to specify the "`Entry`" and "`Target`" pair, where
469
538
  # `Entry` shows how the path is made visible and `Target` is the actual
470
539
  # 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.
540
+ # is. You will need to also make sure that your IAM role provides access
541
+ # to paths in `Target`. The following is an example.
473
542
  #
474
543
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
475
544
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
@@ -482,7 +551,7 @@ module Aws::Transfer
482
551
  #
483
552
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
484
553
  # 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.
554
+ # S3 API to create 0 byte objects as place holders for your directory.
486
555
  # If using the CLI, use the `s3api` call instead of `s3` so you can use
487
556
  # the put-object operation. For example, you use the following: `aws
488
557
  # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
@@ -503,8 +572,8 @@ module Aws::Transfer
503
572
  # You save the policy as a JSON blob and pass it in the `Policy`
504
573
  # argument.
505
574
  #
506
- # For an example of a scope-down policy, see [Creating a Scope-Down
507
- # Policy][1].
575
+ # For an example of a scope-down policy, see [Creating a scope-down
576
+ # policy][1].
508
577
  #
509
578
  # For more information, see [AssumeRole][2] in the *AWS Security Token
510
579
  # Service API Reference*.
@@ -541,9 +610,10 @@ module Aws::Transfer
541
610
  # @option params [required, String] :user_name
542
611
  # A unique string that identifies a user and is associated with a file
543
612
  # 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.
613
+ # user name must be a minimum of 3 and a maximum of 100 characters long.
614
+ # The following are valid characters: a-z, A-Z, 0-9, underscore '\_',
615
+ # hyphen '-', period '.', and at sign '@'. The user name can't
616
+ # start with a hyphen, period, and at sign.
547
617
  #
548
618
  # @return [Types::CreateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
549
619
  #
@@ -682,6 +752,51 @@ module Aws::Transfer
682
752
  req.send_request(options)
683
753
  end
684
754
 
755
+ # Describes the security policy that is attached to your file transfer
756
+ # protocol-enabled server. The response contains a description of the
757
+ # security policy's properties. For more information about security
758
+ # policies, see [Working with security policies][1].
759
+ #
760
+ #
761
+ #
762
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html
763
+ #
764
+ # @option params [required, String] :security_policy_name
765
+ # Specifies the name of the security policy that is attached to the
766
+ # server.
767
+ #
768
+ # @return [Types::DescribeSecurityPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
769
+ #
770
+ # * {Types::DescribeSecurityPolicyResponse#security_policy #security_policy} => Types::DescribedSecurityPolicy
771
+ #
772
+ # @example Request syntax with placeholder values
773
+ #
774
+ # resp = client.describe_security_policy({
775
+ # security_policy_name: "SecurityPolicyName", # required
776
+ # })
777
+ #
778
+ # @example Response structure
779
+ #
780
+ # resp.security_policy.fips #=> Boolean
781
+ # resp.security_policy.security_policy_name #=> String
782
+ # resp.security_policy.ssh_ciphers #=> Array
783
+ # resp.security_policy.ssh_ciphers[0] #=> String
784
+ # resp.security_policy.ssh_kexs #=> Array
785
+ # resp.security_policy.ssh_kexs[0] #=> String
786
+ # resp.security_policy.ssh_macs #=> Array
787
+ # resp.security_policy.ssh_macs[0] #=> String
788
+ # resp.security_policy.tls_ciphers #=> Array
789
+ # resp.security_policy.tls_ciphers[0] #=> String
790
+ #
791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy AWS API Documentation
792
+ #
793
+ # @overload describe_security_policy(params = {})
794
+ # @param [Hash] params ({})
795
+ def describe_security_policy(params = {}, options = {})
796
+ req = build_request(:describe_security_policy, params)
797
+ req.send_request(options)
798
+ end
799
+
685
800
  # Describes a file transfer protocol-enabled server that you specify by
686
801
  # passing the `ServerId` parameter.
687
802
  #
@@ -721,6 +836,7 @@ module Aws::Transfer
721
836
  # resp.server.logging_role #=> String
722
837
  # resp.server.protocols #=> Array
723
838
  # resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS"
839
+ # resp.server.security_policy_name #=> String
724
840
  # resp.server.server_id #=> String
725
841
  # resp.server.state #=> String, one of "OFFLINE", "ONLINE", "STARTING", "STOPPING", "START_FAILED", "STOP_FAILED"
726
842
  # resp.server.tags #=> Array
@@ -841,6 +957,48 @@ module Aws::Transfer
841
957
  req.send_request(options)
842
958
  end
843
959
 
960
+ # Lists the security policies that are attached to your file transfer
961
+ # protocol-enabled servers.
962
+ #
963
+ # @option params [Integer] :max_results
964
+ # Specifies the number of security policies to return as a response to
965
+ # the `ListSecurityPolicies` query.
966
+ #
967
+ # @option params [String] :next_token
968
+ # When additional results are obtained from the `ListSecurityPolicies`
969
+ # command, a `NextToken` parameter is returned in the output. You can
970
+ # then pass the `NextToken` parameter in a subsequent command to
971
+ # continue listing additional security policies.
972
+ #
973
+ # @return [Types::ListSecurityPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
974
+ #
975
+ # * {Types::ListSecurityPoliciesResponse#next_token #next_token} => String
976
+ # * {Types::ListSecurityPoliciesResponse#security_policy_names #security_policy_names} => Array&lt;String&gt;
977
+ #
978
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.list_security_policies({
983
+ # max_results: 1,
984
+ # next_token: "NextToken",
985
+ # })
986
+ #
987
+ # @example Response structure
988
+ #
989
+ # resp.next_token #=> String
990
+ # resp.security_policy_names #=> Array
991
+ # resp.security_policy_names[0] #=> String
992
+ #
993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies AWS API Documentation
994
+ #
995
+ # @overload list_security_policies(params = {})
996
+ # @param [Hash] params ({})
997
+ def list_security_policies(params = {}, options = {})
998
+ req = build_request(:list_security_policies, params)
999
+ req.send_request(options)
1000
+ end
1001
+
844
1002
  # Lists the file transfer protocol-enabled servers that are associated
845
1003
  # with your AWS account.
846
1004
  #
@@ -849,7 +1007,7 @@ module Aws::Transfer
849
1007
  # return as a response to the `ListServers` query.
850
1008
  #
851
1009
  # @option params [String] :next_token
852
- # When additional results are obtained from the`ListServers` command, a
1010
+ # When additional results are obtained from the `ListServers` command, a
853
1011
  # `NextToken` parameter is returned in the output. You can then pass the
854
1012
  # `NextToken` parameter in a subsequent command to continue listing
855
1013
  # additional file transfer protocol-enabled servers.
@@ -1110,12 +1268,6 @@ module Aws::Transfer
1110
1268
  # protocol-enabled server. That server's user authentication method is
1111
1269
  # tested with a user name and password.
1112
1270
  #
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
1271
  # @option params [String] :server_protocol
1120
1272
  # The type of file transfer protocol to be tested.
1121
1273
  #
@@ -1127,6 +1279,15 @@ module Aws::Transfer
1127
1279
  #
1128
1280
  # * File Transfer Protocol (FTP)
1129
1281
  #
1282
+ # @option params [String] :source_ip
1283
+ # The source IP address of the user account to be tested.
1284
+ #
1285
+ # @option params [required, String] :user_name
1286
+ # The name of the user account to be tested.
1287
+ #
1288
+ # @option params [String] :user_password
1289
+ # The password of the user account to be tested.
1290
+ #
1130
1291
  # @return [Types::TestIdentityProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1131
1292
  #
1132
1293
  # * {Types::TestIdentityProviderResponse#response #response} => String
@@ -1138,9 +1299,10 @@ module Aws::Transfer
1138
1299
  #
1139
1300
  # resp = client.test_identity_provider({
1140
1301
  # server_id: "ServerId", # required
1302
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1303
+ # source_ip: "SourceIp",
1141
1304
  # user_name: "UserName", # required
1142
1305
  # user_password: "UserPassword",
1143
- # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1144
1306
  # })
1145
1307
  #
1146
1308
  # @example Response structure
@@ -1203,6 +1365,41 @@ module Aws::Transfer
1203
1365
  # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
1204
1366
  # certificate. Required when `Protocols` is set to `FTPS`.
1205
1367
  #
1368
+ # To request a new public certificate, see [Request a public
1369
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
1370
+ #
1371
+ # To import an existing certificate into ACM, see [Importing
1372
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
1373
+ # Guide</i>.
1374
+ #
1375
+ # To request a private certificate to use FTPS through private IP
1376
+ # addresses, see [Request a private certificate][3] in the <i> AWS
1377
+ # Certificate Manager User Guide</i>.
1378
+ #
1379
+ # Certificates with the following cryptographic algorithms and key sizes
1380
+ # are supported:
1381
+ #
1382
+ # * 2048-bit RSA (RSA\_2048)
1383
+ #
1384
+ # * 4096-bit RSA (RSA\_4096)
1385
+ #
1386
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
1387
+ #
1388
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
1389
+ #
1390
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
1391
+ #
1392
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
1393
+ # with FQDN or IP address specified and information about the issuer.
1394
+ #
1395
+ # </note>
1396
+ #
1397
+ #
1398
+ #
1399
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
1400
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
1401
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
1402
+ #
1206
1403
  # @option params [Types::EndpointDetails] :endpoint_details
1207
1404
  # The virtual private cloud (VPC) endpoint settings that are configured
1208
1405
  # for your file transfer protocol-enabled server. With a VPC endpoint,
@@ -1213,11 +1410,20 @@ module Aws::Transfer
1213
1410
  # @option params [String] :endpoint_type
1214
1411
  # The type of endpoint that you want your file transfer protocol-enabled
1215
1412
  # 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.
1413
+ # or a VPC endpoint. With a VPC endpoint, you can restrict access to
1414
+ # your server and resources only within your VPC.
1415
+ #
1416
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
1417
+ # endpoint type, you have the option to directly associate up to three
1418
+ # Elastic IPv4 addresses (BYO IP included) with your server's endpoint
1419
+ # and use VPC security groups to restrict traffic by the client's
1420
+ # public IP address. This is not possible with `EndpointType` set to
1421
+ # `VPC_ENDPOINT`.
1422
+ #
1423
+ # </note>
1218
1424
  #
1219
1425
  # @option params [String] :host_key
1220
- # The RSA private key as generated by `ssh-keygen -N "" -f
1426
+ # The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
1221
1427
  # my-new-server-key`.
1222
1428
  #
1223
1429
  # If you aren't planning to migrate existing users from an existing
@@ -1225,12 +1431,12 @@ module Aws::Transfer
1225
1431
  # the host key. Accidentally changing a server's host key can be
1226
1432
  # disruptive.
1227
1433
  #
1228
- # For more information, see [Changing the Host Key for Your AWS Transfer
1229
- # Family Server][1] in the *AWS Transfer Family User Guide*.
1434
+ # For more information, see [Change the host key for your SFTP-enabled
1435
+ # server][1] in the *AWS Transfer Family User Guide*.
1230
1436
  #
1231
1437
  #
1232
1438
  #
1233
- # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
1439
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
1234
1440
  #
1235
1441
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
1236
1442
  # An array containing all of the information required to call a
@@ -1254,6 +1460,26 @@ module Aws::Transfer
1254
1460
  #
1255
1461
  # * File Transfer Protocol (FTP): Unencrypted file transfer
1256
1462
  #
1463
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
1464
+ # Certificate Manager (ACM) which will be used to identify your server
1465
+ # when clients connect to it over FTPS.
1466
+ #
1467
+ # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
1468
+ # must be `VPC` and the `IdentityProviderType` must be `API_GATEWAY`.
1469
+ #
1470
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
1471
+ # associated.
1472
+ #
1473
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
1474
+ # `PUBLIC` and the `IdentityProviderType` can be set to
1475
+ # `SERVICE_MANAGED`.
1476
+ #
1477
+ # </note>
1478
+ #
1479
+ # @option params [String] :security_policy_name
1480
+ # Specifies the name of the security policy that is attached to the
1481
+ # server.
1482
+ #
1257
1483
  # @option params [required, String] :server_id
1258
1484
  # A system-assigned unique identifier for a file transfer
1259
1485
  # protocol-enabled server instance that the user account is assigned to.
@@ -1280,6 +1506,7 @@ module Aws::Transfer
1280
1506
  # },
1281
1507
  # logging_role: "NullableRole",
1282
1508
  # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1509
+ # security_policy_name: "SecurityPolicyName",
1283
1510
  # server_id: "ServerId", # required
1284
1511
  # })
1285
1512
  #
@@ -1325,8 +1552,8 @@ module Aws::Transfer
1325
1552
  # You will need to specify the "`Entry`" and "`Target`" pair, where
1326
1553
  # `Entry` shows how the path is made visible and `Target` is the actual
1327
1554
  # 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.
1555
+ # is. You will need to also make sure that your IAM role provides access
1556
+ # to paths in `Target`. The following is an example.
1330
1557
  #
1331
1558
  # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
1332
1559
  # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
@@ -1339,7 +1566,7 @@ module Aws::Transfer
1339
1566
  #
1340
1567
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1341
1568
  # 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.
1569
+ # S3 API to create 0 byte objects as place holders for your directory.
1343
1570
  # If using the CLI, use the `s3api` call instead of `s3` so you can use
1344
1571
  # the put-object operation. For example, you use the following: `aws
1345
1572
  # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
@@ -1350,19 +1577,18 @@ module Aws::Transfer
1350
1577
  #
1351
1578
  # @option params [String] :policy
1352
1579
  # 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\}`.
1580
+ # the same IAM role across multiple users. The policy scopes down user
1581
+ # access to portions of your Amazon S3 bucket. Variables you can use
1582
+ # inside this policy include `$\{Transfer:UserName\}`,
1583
+ # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1358
1584
  #
1359
1585
  # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
1360
1586
  # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
1361
1587
  # You save the policy as a JSON blob and pass it in the `Policy`
1362
1588
  # argument.
1363
1589
  #
1364
- # For an example of a scope-down policy, see [Creating a Scope-Down
1365
- # Policy][1].
1590
+ # For an example of a scope-down policy, see [Creating a scope-down
1591
+ # policy][1].
1366
1592
  #
1367
1593
  # For more information, see [AssumeRole][2] in the *AWS Security Token
1368
1594
  # Service API Reference*.
@@ -1390,10 +1616,10 @@ module Aws::Transfer
1390
1616
  # @option params [required, String] :user_name
1391
1617
  # A unique string that identifies a user and is associated with a file
1392
1618
  # 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.
1619
+ # user name must be a minimum of 3 and a maximum of 100 characters long.
1620
+ # The following are valid characters: a-z, A-Z, 0-9, underscore '\_',
1621
+ # hyphen '-', period '.', and at sign '@'. The user name can't
1622
+ # start with a hyphen, period, and at sign.
1397
1623
  #
1398
1624
  # @return [Types::UpdateUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1399
1625
  #
@@ -1444,7 +1670,7 @@ module Aws::Transfer
1444
1670
  params: params,
1445
1671
  config: config)
1446
1672
  context[:gem_name] = 'aws-sdk-transfer'
1447
- context[:gem_version] = '1.19.0'
1673
+ context[:gem_version] = '1.24.0'
1448
1674
  Seahorse::Client::Request.new(handlers, context)
1449
1675
  end
1450
1676