aws-sdk-transfer 1.55.0 → 1.58.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -363,11 +363,11 @@ module Aws::Transfer
363
363
 
364
364
  # Used by administrators to choose which groups in the directory should
365
365
  # have access to upload and download files over the enabled protocols
366
- # using Amazon Web Services Transfer Family. For example, a Microsoft
367
- # Active Directory might contain 50,000 users, but only a small fraction
368
- # might need the ability to transfer files to the server. An
369
- # administrator can use `CreateAccess` to limit the access to the
370
- # correct set of users who need this ability.
366
+ # using Transfer Family. For example, a Microsoft Active Directory might
367
+ # contain 50,000 users, but only a small fraction might need the ability
368
+ # to transfer files to the server. An administrator can use
369
+ # `CreateAccess` to limit the access to the correct set of users who
370
+ # need this ability.
371
371
  #
372
372
  # @option params [String] :home_directory
373
373
  # The landing directory (folder) for a user when they log in to the
@@ -376,12 +376,13 @@ module Aws::Transfer
376
376
  # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
377
377
  #
378
378
  # @option params [String] :home_directory_type
379
- # The type of landing directory (folder) you want your users' home
380
- # directory to be when they log into the server. If you set it to
379
+ # The type of landing directory (folder) that you want your users' home
380
+ # directory to be when they log in to the server. If you set it to
381
381
  # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
382
382
  # as is in their file transfer protocol clients. If you set it
383
383
  # `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings`
384
- # for how you want to make Amazon S3 or EFS paths visible to your users.
384
+ # for how you want to make Amazon S3 or Amazon EFS paths visible to your
385
+ # users.
385
386
  #
386
387
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
387
388
  # Logical directory mappings that specify what Amazon S3 or Amazon EFS
@@ -389,10 +390,9 @@ module Aws::Transfer
389
390
  # them visible. You must specify the `Entry` and `Target` pair, where
390
391
  # `Entry` shows how the path is made visible and `Target` is the actual
391
392
  # Amazon S3 or Amazon EFS path. If you only specify a target, it is
392
- # displayed as is. You also must ensure that your Amazon Web Services
393
- # Identity and Access Management (IAM) role provides access to paths in
394
- # `Target`. This value can only be set when `HomeDirectoryType` is set
395
- # to *LOGICAL*.
393
+ # displayed as is. You also must ensure that your Identity and Access
394
+ # Management (IAM) role provides access to paths in `Target`. This value
395
+ # can be set only when `HomeDirectoryType` is set to *LOGICAL*.
396
396
  #
397
397
  # The following is an `Entry` and `Target` pair example.
398
398
  #
@@ -409,24 +409,24 @@ module Aws::Transfer
409
409
  # `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
410
410
  #
411
411
  # @option params [String] :policy
412
- # A session policy for your user so that you can use the same IAM role
413
- # across multiple users. This policy scopes down user access to portions
414
- # of their Amazon S3 bucket. Variables that you can use inside this
415
- # policy include `$\{Transfer:UserName\}`,
416
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
412
+ # A session policy for your user so that you can use the same Identity
413
+ # and Access Management (IAM) role across multiple users. This policy
414
+ # scopes down a user's access to portions of their Amazon S3 bucket.
415
+ # Variables that you can use inside this policy include
416
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
417
+ # `$\{Transfer:HomeBucket\}`.
417
418
  #
418
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
419
- # use session policies.
419
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
420
+ # Amazon EFS does not use session policies.
420
421
  #
421
- # For session policies, Amazon Web Services Transfer Family stores the
422
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
423
- # the policy. You save the policy as a JSON blob and pass it in the
424
- # `Policy` argument.
422
+ # For session policies, Transfer Family stores the policy as a JSON
423
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
424
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
425
425
  #
426
426
  # For an example of a session policy, see [Example session policy][1].
427
427
  #
428
- # For more information, see [AssumeRole][2] in the *Amazon Web Services
429
- # Security Token Service API Reference*.
428
+ # For more information, see [AssumeRole][2] in the *Security Token
429
+ # Service API Reference*.
430
430
  #
431
431
  # </note>
432
432
  #
@@ -444,13 +444,14 @@ module Aws::Transfer
444
444
  # out of your Amazon EFS file systems.
445
445
  #
446
446
  # @option params [required, String] :role
447
- # Specifies the Amazon Resource Name (ARN) of the IAM role that controls
448
- # your users' access to your Amazon S3 bucket or EFS file system. The
449
- # policies attached to this role determine the level of access that you
450
- # want to provide your users when transferring files into and out of
451
- # your Amazon S3 bucket or EFS file system. The IAM role should also
452
- # contain a trust relationship that allows the server to access your
453
- # resources when servicing your users' transfer requests.
447
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
448
+ # (IAM) role that controls your users' access to your Amazon S3 bucket
449
+ # or Amazon EFS file system. The policies attached to this role
450
+ # determine the level of access that you want to provide your users when
451
+ # transferring files into and out of your Amazon S3 bucket or Amazon EFS
452
+ # file system. The IAM role should also contain a trust relationship
453
+ # that allows the server to access your resources when servicing your
454
+ # users' transfer requests.
454
455
  #
455
456
  # @option params [required, String] :server_id
456
457
  # A system-assigned unique identifier for a server instance. This is the
@@ -460,9 +461,9 @@ module Aws::Transfer
460
461
  # A unique identifier that is required to identify specific groups
461
462
  # within your directory. The users of the group that you associate have
462
463
  # access to your Amazon S3 or Amazon EFS resources over the enabled
463
- # protocols using Amazon Web Services Transfer Family. If you know the
464
- # group name, you can view the SID values by running the following
465
- # command using Windows PowerShell.
464
+ # protocols using Transfer Family. If you know the group name, you can
465
+ # view the SID values by running the following command using Windows
466
+ # PowerShell.
466
467
  #
467
468
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
468
469
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -470,10 +471,10 @@ module Aws::Transfer
470
471
  # In that command, replace *YourGroupName* with the name of your Active
471
472
  # Directory group.
472
473
  #
473
- # The regex used to validate this parameter is a string of characters
474
- # consisting of uppercase and lowercase alphanumeric characters with no
475
- # spaces. You can also include underscores or any of the following
476
- # characters: =,.@:/-
474
+ # The regular expression used to validate this parameter is a string of
475
+ # characters consisting of uppercase and lowercase alphanumeric
476
+ # characters with no spaces. You can also include underscores or any of
477
+ # the following characters: =,.@:/-
477
478
  #
478
479
  # @return [Types::CreateAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
479
480
  #
@@ -516,6 +517,223 @@ module Aws::Transfer
516
517
  req.send_request(options)
517
518
  end
518
519
 
520
+ # Creates an agreement. An agreement is a bilateral trading partner
521
+ # agreement, or partnership, between an Transfer Family server and an
522
+ # AS2 process. The agreement defines the file and message transfer
523
+ # relationship between the server and the AS2 process. To define an
524
+ # agreement, Transfer Family combines a server, local profile, partner
525
+ # profile, certificate, and other attributes.
526
+ #
527
+ # The partner is identified with the `PartnerProfileId`, and the AS2
528
+ # process is identified with the `LocalProfileId`.
529
+ #
530
+ # @option params [String] :description
531
+ # A name or short description to identify the agreement.
532
+ #
533
+ # @option params [required, String] :server_id
534
+ # A system-assigned unique identifier for a server instance. This is the
535
+ # specific server that the agreement uses.
536
+ #
537
+ # @option params [required, String] :local_profile_id
538
+ # A unique identifier for the AS2 local profile.
539
+ #
540
+ # @option params [required, String] :partner_profile_id
541
+ # A unique identifier for the partner profile used in the agreement.
542
+ #
543
+ # @option params [required, String] :base_directory
544
+ # The landing directory (folder) for files transferred by using the AS2
545
+ # protocol.
546
+ #
547
+ # A `BaseDirectory` example is `/DOC-EXAMPLE-BUCKET/home/mydirectory `.
548
+ #
549
+ # @option params [required, String] :access_role
550
+ # With AS2, you can send files by calling `StartFileTransfer` and
551
+ # specifying the file paths in the request parameter, `SendFilePaths`.
552
+ # We use the file’s parent directory (for example, for
553
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
554
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
555
+ # store the MDN when we receive them from the partner, and write a final
556
+ # JSON file containing relevant metadata of the transmission. So, the
557
+ # `AccessRole` needs to provide read and write access to the parent
558
+ # directory of the file location used in the `StartFileTransfer`
559
+ # request. Additionally, you need to provide read and write access to
560
+ # the parent directory of the files that you intend to send with
561
+ # `StartFileTransfer`.
562
+ #
563
+ # @option params [String] :status
564
+ # The status of the agreement. The agreement can be either `ACTIVE` or
565
+ # `INACTIVE`.
566
+ #
567
+ # @option params [Array<Types::Tag>] :tags
568
+ # Key-value pairs that can be used to group and search for agreements.
569
+ #
570
+ # @return [Types::CreateAgreementResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
571
+ #
572
+ # * {Types::CreateAgreementResponse#agreement_id #agreement_id} => String
573
+ #
574
+ # @example Request syntax with placeholder values
575
+ #
576
+ # resp = client.create_agreement({
577
+ # description: "Description",
578
+ # server_id: "ServerId", # required
579
+ # local_profile_id: "ProfileId", # required
580
+ # partner_profile_id: "ProfileId", # required
581
+ # base_directory: "HomeDirectory", # required
582
+ # access_role: "Role", # required
583
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
584
+ # tags: [
585
+ # {
586
+ # key: "TagKey", # required
587
+ # value: "TagValue", # required
588
+ # },
589
+ # ],
590
+ # })
591
+ #
592
+ # @example Response structure
593
+ #
594
+ # resp.agreement_id #=> String
595
+ #
596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAgreement AWS API Documentation
597
+ #
598
+ # @overload create_agreement(params = {})
599
+ # @param [Hash] params ({})
600
+ def create_agreement(params = {}, options = {})
601
+ req = build_request(:create_agreement, params)
602
+ req.send_request(options)
603
+ end
604
+
605
+ # Creates the connector, which captures the parameters for an outbound
606
+ # connection for the AS2 protocol. The connector is required for sending
607
+ # files from a customer's non Amazon Web Services server.
608
+ #
609
+ # @option params [required, String] :url
610
+ # The URL of the partner's AS2 endpoint.
611
+ #
612
+ # @option params [required, Types::As2ConnectorConfig] :as_2_config
613
+ # A structure that contains the parameters for a connector object.
614
+ #
615
+ # @option params [required, String] :access_role
616
+ # With AS2, you can send files by calling `StartFileTransfer` and
617
+ # specifying the file paths in the request parameter, `SendFilePaths`.
618
+ # We use the file’s parent directory (for example, for
619
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
620
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
621
+ # store the MDN when we receive them from the partner, and write a final
622
+ # JSON file containing relevant metadata of the transmission. So, the
623
+ # `AccessRole` needs to provide read and write access to the parent
624
+ # directory of the file location used in the `StartFileTransfer`
625
+ # request. Additionally, you need to provide read and write access to
626
+ # the parent directory of the files that you intend to send with
627
+ # `StartFileTransfer`.
628
+ #
629
+ # @option params [String] :logging_role
630
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
631
+ # (IAM) role that allows a connector to turn on CloudWatch logging for
632
+ # Amazon S3 events. When set, you can view connector activity in your
633
+ # CloudWatch logs.
634
+ #
635
+ # @option params [Array<Types::Tag>] :tags
636
+ # Key-value pairs that can be used to group and search for connectors.
637
+ # Tags are metadata attached to connectors for any purpose.
638
+ #
639
+ # @return [Types::CreateConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
640
+ #
641
+ # * {Types::CreateConnectorResponse#connector_id #connector_id} => String
642
+ #
643
+ # @example Request syntax with placeholder values
644
+ #
645
+ # resp = client.create_connector({
646
+ # url: "Url", # required
647
+ # as_2_config: { # required
648
+ # local_profile_id: "ProfileId",
649
+ # partner_profile_id: "ProfileId",
650
+ # message_subject: "MessageSubject",
651
+ # compression: "ZLIB", # accepts ZLIB, DISABLED
652
+ # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC
653
+ # signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE
654
+ # mdn_signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE, DEFAULT
655
+ # mdn_response: "SYNC", # accepts SYNC, NONE
656
+ # },
657
+ # access_role: "Role", # required
658
+ # logging_role: "Role",
659
+ # tags: [
660
+ # {
661
+ # key: "TagKey", # required
662
+ # value: "TagValue", # required
663
+ # },
664
+ # ],
665
+ # })
666
+ #
667
+ # @example Response structure
668
+ #
669
+ # resp.connector_id #=> String
670
+ #
671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateConnector AWS API Documentation
672
+ #
673
+ # @overload create_connector(params = {})
674
+ # @param [Hash] params ({})
675
+ def create_connector(params = {}, options = {})
676
+ req = build_request(:create_connector, params)
677
+ req.send_request(options)
678
+ end
679
+
680
+ # Creates the profile for the AS2 process. The agreement is between the
681
+ # partner and the AS2 process.
682
+ #
683
+ # @option params [required, String] :as_2_id
684
+ # The `As2Id` is the *AS2-name*, as defined in the [RFC 4130][1]. For
685
+ # inbound transfers, this is the `AS2-From` header for the AS2 messages
686
+ # sent from the partner. For outbound connectors, this is the `AS2-To`
687
+ # header for the AS2 messages sent to the partner using the
688
+ # `StartFileTransfer` API operation. This ID cannot include spaces.
689
+ #
690
+ #
691
+ #
692
+ # [1]: https://datatracker.ietf.org/doc/html/rfc4130
693
+ #
694
+ # @option params [required, String] :profile_type
695
+ # Indicates whether to list only `LOCAL` type profiles or only `PARTNER`
696
+ # type profiles. If not supplied in the request, the command lists all
697
+ # types of profiles.
698
+ #
699
+ # @option params [Array<String>] :certificate_ids
700
+ # An array of identifiers for the imported certificates. You use this
701
+ # identifier for working with profiles and partner profiles.
702
+ #
703
+ # @option params [Array<Types::Tag>] :tags
704
+ # Key-value pairs that can be used to group and search for AS2 profiles.
705
+ #
706
+ # @return [Types::CreateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
+ #
708
+ # * {Types::CreateProfileResponse#profile_id #profile_id} => String
709
+ #
710
+ # @example Request syntax with placeholder values
711
+ #
712
+ # resp = client.create_profile({
713
+ # as_2_id: "As2Id", # required
714
+ # profile_type: "LOCAL", # required, accepts LOCAL, PARTNER
715
+ # certificate_ids: ["CertificateId"],
716
+ # tags: [
717
+ # {
718
+ # key: "TagKey", # required
719
+ # value: "TagValue", # required
720
+ # },
721
+ # ],
722
+ # })
723
+ #
724
+ # @example Response structure
725
+ #
726
+ # resp.profile_id #=> String
727
+ #
728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateProfile AWS API Documentation
729
+ #
730
+ # @overload create_profile(params = {})
731
+ # @param [Hash] params ({})
732
+ def create_profile(params = {}, options = {})
733
+ req = build_request(:create_profile, params)
734
+ req.send_request(options)
735
+ end
736
+
519
737
  # Instantiates an auto-scaling virtual server based on the selected file
520
738
  # transfer protocol in Amazon Web Services. When you make updates to
521
739
  # your file transfer protocol-enabled server or when you work with
@@ -523,20 +741,18 @@ module Aws::Transfer
523
741
  # to the newly created server.
524
742
  #
525
743
  # @option params [String] :certificate
526
- # The Amazon Resource Name (ARN) of the Amazon Web Services Certificate
527
- # Manager (ACM) certificate. Required when `Protocols` is set to `FTPS`.
744
+ # The Amazon Resource Name (ARN) of the Certificate Manager (ACM)
745
+ # certificate. Required when `Protocols` is set to `FTPS`.
528
746
  #
529
747
  # To request a new public certificate, see [Request a public
530
- # certificate][1] in the <i> Amazon Web Services Certificate Manager
531
- # User Guide</i>.
748
+ # certificate][1] in the *Certificate Manager User Guide*.
532
749
  #
533
750
  # To import an existing certificate into ACM, see [Importing
534
- # certificates into ACM][2] in the <i> Amazon Web Services Certificate
535
- # Manager User Guide</i>.
751
+ # certificates into ACM][2] in the *Certificate Manager User Guide*.
536
752
  #
537
753
  # To request a private certificate to use FTPS through private IP
538
- # addresses, see [Request a private certificate][3] in the <i> Amazon
539
- # Web Services Certificate Manager User Guide</i>.
754
+ # addresses, see [Request a private certificate][3] in the *Certificate
755
+ # Manager User Guide*.
540
756
  #
541
757
  # Certificates with the following cryptographic algorithms and key sizes
542
758
  # are supported:
@@ -575,10 +791,10 @@ module Aws::Transfer
575
791
  # @option params [Types::EndpointDetails] :endpoint_details
576
792
  # The virtual private cloud (VPC) endpoint settings that are configured
577
793
  # for your server. When you host your endpoint within your VPC, you can
578
- # make it accessible only to resources within your VPC, or you can
579
- # attach Elastic IP addresses and make it accessible to clients over the
580
- # internet. Your VPC's default security groups are automatically
581
- # assigned to your endpoint.
794
+ # make your endpoint accessible only to resources within your VPC, or
795
+ # you can attach Elastic IP addresses and make your endpoint accessible
796
+ # to clients over the internet. Your VPC's default security groups are
797
+ # automatically assigned to your endpoint.
582
798
  #
583
799
  # @option params [String] :endpoint_type
584
800
  # The type of endpoint that you want your server to use. You can choose
@@ -608,15 +824,37 @@ module Aws::Transfer
608
824
  # </note>
609
825
  #
610
826
  # @option params [String] :host_key
611
- # The RSA private key as generated by the `ssh-keygen -N "" -m PEM -f
612
- # my-new-server-key` command.
827
+ # The RSA, ECDSA, or ED25519 private key to use for your server.
828
+ #
829
+ # Use the following command to generate an RSA 2048 bit key with no
830
+ # passphrase:
831
+ #
832
+ # `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`.
833
+ #
834
+ # Use a minimum value of 2048 for the `-b` option. You can create a
835
+ # stronger key by using 3072 or 4096.
836
+ #
837
+ # Use the following command to generate an ECDSA 256 bit key with no
838
+ # passphrase:
839
+ #
840
+ # `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key`.
841
+ #
842
+ # Valid values for the `-b` option for ECDSA are 256, 384, and 521.
843
+ #
844
+ # Use the following command to generate an ED25519 key with no
845
+ # passphrase:
846
+ #
847
+ # `ssh-keygen -t ed25519 -N "" -f my-new-server-key`.
848
+ #
849
+ # For all of these commands, you can replace *my-new-server-key* with a
850
+ # string of your choice.
613
851
  #
614
852
  # If you aren't planning to migrate existing users from an existing
615
853
  # SFTP-enabled server to a new server, don't update the host key.
616
854
  # Accidentally changing a server's host key can be disruptive.
617
855
  #
618
856
  # For more information, see [Change the host key for your SFTP-enabled
619
- # server][1] in the *Amazon Web Services Transfer Family User Guide*.
857
+ # server][1] in the *Transfer Family User Guide*.
620
858
  #
621
859
  #
622
860
  #
@@ -630,34 +868,35 @@ module Aws::Transfer
630
868
  # Not required when `IdentityProviderType` is set to `SERVICE_MANAGED`.
631
869
  #
632
870
  # @option params [String] :identity_provider_type
633
- # Specifies the mode of authentication for a server. The default value
634
- # is `SERVICE_MANAGED`, which allows you to store and access user
635
- # credentials within the Amazon Web Services Transfer Family service.
871
+ # The mode of authentication for a server. The default value is
872
+ # `SERVICE_MANAGED`, which allows you to store and access user
873
+ # credentials within the Transfer Family service.
636
874
  #
637
875
  # Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory
638
- # groups in Amazon Web Services Managed Active Directory or Microsoft
639
- # Active Directory in your on-premises environment or in Amazon Web
640
- # Services using AD Connectors. This option also requires you to provide
641
- # a Directory ID using the `IdentityProviderDetails` parameter.
876
+ # groups in Directory Service for Microsoft Active Directory or
877
+ # Microsoft Active Directory in your on-premises environment or in
878
+ # Amazon Web Services using AD Connector. This option also requires you
879
+ # to provide a Directory ID by using the `IdentityProviderDetails`
880
+ # parameter.
642
881
  #
643
882
  # Use the `API_GATEWAY` value to integrate with an identity provider of
644
883
  # your choosing. The `API_GATEWAY` setting requires you to provide an
645
- # API Gateway endpoint URL to call for authentication using the
646
- # `IdentityProviderDetails` parameter.
884
+ # Amazon API Gateway endpoint URL to call for authentication by using
885
+ # the `IdentityProviderDetails` parameter.
647
886
  #
648
- # Use the `AWS_LAMBDA` value to directly use a Lambda function as your
887
+ # Use the `AWS_LAMBDA` value to directly use an Lambda function as your
649
888
  # identity provider. If you choose this value, you must specify the ARN
650
- # for the lambda function in the `Function` parameter for the
889
+ # for the Lambda function in the `Function` parameter or the
651
890
  # `IdentityProviderDetails` data type.
652
891
  #
653
892
  # @option params [String] :logging_role
654
- # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
655
- # Identity and Access Management (IAM) role that allows a server to turn
656
- # on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When
657
- # set, user activity can be viewed in your CloudWatch logs.
893
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
894
+ # (IAM) role that allows a server to turn on Amazon CloudWatch logging
895
+ # for Amazon S3 or Amazon EFSevents. When set, you can view user
896
+ # activity in your CloudWatch logs.
658
897
  #
659
898
  # @option params [String] :post_authentication_login_banner
660
- # Specify a string to display when users connect to a server. This
899
+ # Specifies a string to display when users connect to a server. This
661
900
  # string is displayed after the user authenticates.
662
901
  #
663
902
  # <note markdown="1"> The SFTP protocol does not support post-authentication display
@@ -666,9 +905,9 @@ module Aws::Transfer
666
905
  # </note>
667
906
  #
668
907
  # @option params [String] :pre_authentication_login_banner
669
- # Specify a string to display when users connect to a server. This
908
+ # Specifies a string to display when users connect to a server. This
670
909
  # string is displayed before the user authenticates. For example, the
671
- # following banner displays details about using the system.
910
+ # following banner displays details about using the system:
672
911
  #
673
912
  # `This system is for the use of authorized users only. Individuals
674
913
  # using this computer system without authority, or in excess of their
@@ -688,42 +927,52 @@ module Aws::Transfer
688
927
  #
689
928
  # * `FTP` (File Transfer Protocol): Unencrypted file transfer
690
929
  #
691
- # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in Amazon
692
- # Web Services Certificate Manager (ACM) which is used to identify your
693
- # server when clients connect to it over FTPS.
930
+ # * `AS2` (Applicability Statement 2): used for transporting structured
931
+ # business-to-business data
932
+ #
933
+ # <note markdown="1"> * If you select `FTPS`, you must choose a certificate stored in
934
+ # Certificate Manager (ACM) which is used to identify your server when
935
+ # clients connect to it over FTPS.
694
936
  #
695
- # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
696
- # must be `VPC` and the `IdentityProviderType` must be
697
- # `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
937
+ # * If `Protocol` includes either `FTP` or `FTPS`, then the
938
+ # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
939
+ # `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
698
940
  #
699
- # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
700
- # associated.
941
+ # * If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
942
+ # associated.
701
943
  #
702
- # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
703
- # `PUBLIC` and the `IdentityProviderType` can be set to
704
- # `SERVICE_MANAGED`.
944
+ # * If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
945
+ # to `PUBLIC` and the `IdentityProviderType` can be set to
946
+ # `SERVICE_MANAGED`.
947
+ #
948
+ # * If `Protocol` includes `AS2`, then the `EndpointType` must be `VPC`,
949
+ # and domain must be Amazon S3.
705
950
  #
706
951
  # </note>
707
952
  #
708
953
  # @option params [Types::ProtocolDetails] :protocol_details
709
954
  # The protocol settings that are configured for your server.
710
955
  #
711
- # * Use the `PassiveIp` parameter to indicate passive mode (for FTP and
712
- # FTPS protocols). Enter a single dotted-quad IPv4 address, such as
713
- # the external IP address of a firewall, router, or load balancer.
956
+ # * To indicate passive mode (for FTP and FTPS protocols), use the
957
+ # `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such
958
+ # as the external IP address of a firewall, router, or load balancer.
959
+ #
960
+ # * To ignore the error that is generated when the client attempts to
961
+ # use the `SETSTAT` command on a file that you are uploading to an
962
+ # Amazon S3 bucket, use the `SetStatOption` parameter. To have the
963
+ # Transfer Family server ignore the `SETSTAT` command and upload files
964
+ # without needing to make any changes to your SFTP client, set the
965
+ # value to `ENABLE_NO_OP`. If you set the `SetStatOption` parameter to
966
+ # `ENABLE_NO_OP`, Transfer Family generates a log entry to Amazon
967
+ # CloudWatch Logs, so that you can determine when the client is making
968
+ # a `SETSTAT` call.
714
969
  #
715
- # * Use the `SetStatOption` to ignore the error that is generated when
716
- # the client attempts to use SETSTAT on a file you are uploading to an
717
- # S3 bucket. Set the value to `ENABLE_NO_OP` to have the Transfer
718
- # Family server ignore the SETSTAT command, and upload files without
719
- # needing to make any changes to your SFTP client. Note that with
720
- # `SetStatOption` set to `ENABLE_NO_OP`, Transfer generates a log
721
- # entry to CloudWatch Logs, so you can determine when the client is
722
- # making a SETSTAT call.
970
+ # * To determine whether your Transfer Family server resumes recent,
971
+ # negotiated sessions through a unique session ID, use the
972
+ # `TlsSessionResumptionMode` parameter.
723
973
  #
724
- # * Use the `TlsSessionResumptionMode` parameter to determine whether or
725
- # not your Transfer server resumes recent, negotiated sessions through
726
- # a unique session ID.
974
+ # * `As2Transports` indicates the transport method for the AS2 messages.
975
+ # Currently, only HTTP is supported.
727
976
  #
728
977
  # @option params [String] :security_policy_name
729
978
  # Specifies the name of the security policy that is attached to the
@@ -734,7 +983,7 @@ module Aws::Transfer
734
983
  #
735
984
  # @option params [Types::WorkflowDetails] :workflow_details
736
985
  # Specifies the workflow ID for the workflow to assign and the execution
737
- # role used for executing the workflow.
986
+ # role that's used for executing the workflow.
738
987
  #
739
988
  # @return [Types::CreateServerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
740
989
  #
@@ -764,11 +1013,12 @@ module Aws::Transfer
764
1013
  # logging_role: "Role",
765
1014
  # post_authentication_login_banner: "PostAuthenticationLoginBanner",
766
1015
  # pre_authentication_login_banner: "PreAuthenticationLoginBanner",
767
- # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1016
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS, AS2
768
1017
  # protocol_details: {
769
1018
  # passive_ip: "PassiveIp",
770
1019
  # tls_session_resumption_mode: "DISABLED", # accepts DISABLED, ENABLED, ENFORCED
771
1020
  # set_stat_option: "DEFAULT", # accepts DEFAULT, ENABLE_NO_OP
1021
+ # as_2_transports: ["HTTP"], # accepts HTTP
772
1022
  # },
773
1023
  # security_policy_name: "SecurityPolicyName",
774
1024
  # tags: [
@@ -805,9 +1055,9 @@ module Aws::Transfer
805
1055
  # servers that have the `IdentityProviderType` set to `SERVICE_MANAGED`.
806
1056
  # Using parameters for `CreateUser`, you can specify the user name, set
807
1057
  # the home directory, store the user's public key, and assign the
808
- # user's Amazon Web Services Identity and Access Management (IAM) role.
809
- # You can also optionally add a session policy, and assign metadata with
810
- # tags that can be used to group and search for users.
1058
+ # user's Identity and Access Management (IAM) role. You can also
1059
+ # optionally add a session policy, and assign metadata with tags that
1060
+ # can be used to group and search for users.
811
1061
  #
812
1062
  # @option params [String] :home_directory
813
1063
  # The landing directory (folder) for a user when they log in to the
@@ -816,12 +1066,13 @@ module Aws::Transfer
816
1066
  # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
817
1067
  #
818
1068
  # @option params [String] :home_directory_type
819
- # The type of landing directory (folder) you want your users' home
820
- # directory to be when they log into the server. If you set it to
1069
+ # The type of landing directory (folder) that you want your users' home
1070
+ # directory to be when they log in to the server. If you set it to
821
1071
  # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
822
1072
  # as is in their file transfer protocol clients. If you set it
823
1073
  # `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings`
824
- # for how you want to make Amazon S3 or EFS paths visible to your users.
1074
+ # for how you want to make Amazon S3 or Amazon EFS paths visible to your
1075
+ # users.
825
1076
  #
826
1077
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
827
1078
  # Logical directory mappings that specify what Amazon S3 or Amazon EFS
@@ -829,10 +1080,9 @@ module Aws::Transfer
829
1080
  # them visible. You must specify the `Entry` and `Target` pair, where
830
1081
  # `Entry` shows how the path is made visible and `Target` is the actual
831
1082
  # Amazon S3 or Amazon EFS path. If you only specify a target, it is
832
- # displayed as is. You also must ensure that your Amazon Web Services
833
- # Identity and Access Management (IAM) role provides access to paths in
834
- # `Target`. This value can only be set when `HomeDirectoryType` is set
835
- # to *LOGICAL*.
1083
+ # displayed as is. You also must ensure that your Identity and Access
1084
+ # Management (IAM) role provides access to paths in `Target`. This value
1085
+ # can be set only when `HomeDirectoryType` is set to *LOGICAL*.
836
1086
  #
837
1087
  # The following is an `Entry` and `Target` pair example.
838
1088
  #
@@ -849,19 +1099,19 @@ module Aws::Transfer
849
1099
  # `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
850
1100
  #
851
1101
  # @option params [String] :policy
852
- # A session policy for your user so that you can use the same IAM role
853
- # across multiple users. This policy scopes down user access to portions
854
- # of their Amazon S3 bucket. Variables that you can use inside this
855
- # policy include `$\{Transfer:UserName\}`,
856
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1102
+ # A session policy for your user so that you can use the same Identity
1103
+ # and Access Management (IAM) role across multiple users. This policy
1104
+ # scopes down a user's access to portions of their Amazon S3 bucket.
1105
+ # Variables that you can use inside this policy include
1106
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1107
+ # `$\{Transfer:HomeBucket\}`.
857
1108
  #
858
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
859
- # use session policies.
1109
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
1110
+ # Amazon EFS does not use session policies.
860
1111
  #
861
- # For session policies, Amazon Web Services Transfer Family stores the
862
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
863
- # the policy. You save the policy as a JSON blob and pass it in the
864
- # `Policy` argument.
1112
+ # For session policies, Transfer Family stores the policy as a JSON
1113
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
1114
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
865
1115
  #
866
1116
  # For an example of a session policy, see [Example session policy][1].
867
1117
  #
@@ -884,13 +1134,14 @@ module Aws::Transfer
884
1134
  # into and out of your Amazon EFS file systems.
885
1135
  #
886
1136
  # @option params [required, String] :role
887
- # Specifies the Amazon Resource Name (ARN) of the IAM role that controls
888
- # your users' access to your Amazon S3 bucket or EFS file system. The
889
- # policies attached to this role determine the level of access that you
890
- # want to provide your users when transferring files into and out of
891
- # your Amazon S3 bucket or EFS file system. The IAM role should also
892
- # contain a trust relationship that allows the server to access your
893
- # resources when servicing your users' transfer requests.
1137
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
1138
+ # (IAM) role that controls your users' access to your Amazon S3 bucket
1139
+ # or Amazon EFS file system. The policies attached to this role
1140
+ # determine the level of access that you want to provide your users when
1141
+ # transferring files into and out of your Amazon S3 bucket or Amazon EFS
1142
+ # file system. The IAM role should also contain a trust relationship
1143
+ # that allows the server to access your resources when servicing your
1144
+ # users' transfer requests.
894
1145
  #
895
1146
  # @option params [required, String] :server_id
896
1147
  # A system-assigned unique identifier for a server instance. This is the
@@ -900,10 +1151,7 @@ module Aws::Transfer
900
1151
  # The public portion of the Secure Shell (SSH) key used to authenticate
901
1152
  # the user to the server.
902
1153
  #
903
- # <note markdown="1"> Currently, Transfer Family does not accept elliptical curve keys (keys
904
- # beginning with `ecdsa`).
905
- #
906
- # </note>
1154
+ # Transfer Family accepts RSA, ECDSA, and ED25519 keys.
907
1155
  #
908
1156
  # @option params [Array<Types::Tag>] :tags
909
1157
  # Key-value pairs that can be used to group and search for users. Tags
@@ -980,20 +1228,20 @@ module Aws::Transfer
980
1228
  # The `TYPE` specifies which of the following actions is being taken for
981
1229
  # this step.
982
1230
  #
983
- # * *COPY*\: copy the file to another location
1231
+ # * *COPY*\: Copy the file to another location.
984
1232
  #
985
- # * *CUSTOM*\: custom step with a lambda target
1233
+ # * *CUSTOM*\: Perform a custom step with an Lambda function target.
986
1234
  #
987
- # * *DELETE*\: delete the file
1235
+ # * *DELETE*\: Delete the file.
988
1236
  #
989
- # * *TAG*\: add a tag to the file
1237
+ # * *TAG*\: Add a tag to the file.
990
1238
  #
991
1239
  # <note markdown="1"> Currently, copying and tagging are supported only on S3.
992
1240
  #
993
1241
  # </note>
994
1242
  #
995
1243
  # For file location, you specify either the S3 bucket and key, or the
996
- # EFS filesystem ID and path.
1244
+ # EFS file system ID and path.
997
1245
  #
998
1246
  # @option params [Array<Types::WorkflowStep>] :on_exception_steps
999
1247
  # Specifies the steps (actions) to take if errors are encountered during
@@ -1130,9 +1378,9 @@ module Aws::Transfer
1130
1378
  # A unique identifier that is required to identify specific groups
1131
1379
  # within your directory. The users of the group that you associate have
1132
1380
  # access to your Amazon S3 or Amazon EFS resources over the enabled
1133
- # protocols using Amazon Web Services Transfer Family. If you know the
1134
- # group name, you can view the SID values by running the following
1135
- # command using Windows PowerShell.
1381
+ # protocols using Transfer Family. If you know the group name, you can
1382
+ # view the SID values by running the following command using Windows
1383
+ # PowerShell.
1136
1384
  #
1137
1385
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
1138
1386
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -1140,10 +1388,10 @@ module Aws::Transfer
1140
1388
  # In that command, replace *YourGroupName* with the name of your Active
1141
1389
  # Directory group.
1142
1390
  #
1143
- # The regex used to validate this parameter is a string of characters
1144
- # consisting of uppercase and lowercase alphanumeric characters with no
1145
- # spaces. You can also include underscores or any of the following
1146
- # characters: =,.@:/-
1391
+ # The regular expression used to validate this parameter is a string of
1392
+ # characters consisting of uppercase and lowercase alphanumeric
1393
+ # characters with no spaces. You can also include underscores or any of
1394
+ # the following characters: =,.@:/-
1147
1395
  #
1148
1396
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1149
1397
  #
@@ -1163,6 +1411,100 @@ module Aws::Transfer
1163
1411
  req.send_request(options)
1164
1412
  end
1165
1413
 
1414
+ # Delete the agreement that's specified in the provided `AgreementId`.
1415
+ #
1416
+ # @option params [required, String] :agreement_id
1417
+ # A unique identifier for the agreement. This identifier is returned
1418
+ # when you create an agreement.
1419
+ #
1420
+ # @option params [required, String] :server_id
1421
+ # The server ID associated with the agreement that you are deleting.
1422
+ #
1423
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1424
+ #
1425
+ # @example Request syntax with placeholder values
1426
+ #
1427
+ # resp = client.delete_agreement({
1428
+ # agreement_id: "AgreementId", # required
1429
+ # server_id: "ServerId", # required
1430
+ # })
1431
+ #
1432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAgreement AWS API Documentation
1433
+ #
1434
+ # @overload delete_agreement(params = {})
1435
+ # @param [Hash] params ({})
1436
+ def delete_agreement(params = {}, options = {})
1437
+ req = build_request(:delete_agreement, params)
1438
+ req.send_request(options)
1439
+ end
1440
+
1441
+ # Deletes the certificate that's specified in the `CertificateId`
1442
+ # parameter.
1443
+ #
1444
+ # @option params [required, String] :certificate_id
1445
+ # The ID of the certificate object that you are deleting.
1446
+ #
1447
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1448
+ #
1449
+ # @example Request syntax with placeholder values
1450
+ #
1451
+ # resp = client.delete_certificate({
1452
+ # certificate_id: "CertificateId", # required
1453
+ # })
1454
+ #
1455
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteCertificate AWS API Documentation
1456
+ #
1457
+ # @overload delete_certificate(params = {})
1458
+ # @param [Hash] params ({})
1459
+ def delete_certificate(params = {}, options = {})
1460
+ req = build_request(:delete_certificate, params)
1461
+ req.send_request(options)
1462
+ end
1463
+
1464
+ # Deletes the agreement that's specified in the provided `ConnectorId`.
1465
+ #
1466
+ # @option params [required, String] :connector_id
1467
+ # The unique identifier for the connector.
1468
+ #
1469
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1470
+ #
1471
+ # @example Request syntax with placeholder values
1472
+ #
1473
+ # resp = client.delete_connector({
1474
+ # connector_id: "ConnectorId", # required
1475
+ # })
1476
+ #
1477
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteConnector AWS API Documentation
1478
+ #
1479
+ # @overload delete_connector(params = {})
1480
+ # @param [Hash] params ({})
1481
+ def delete_connector(params = {}, options = {})
1482
+ req = build_request(:delete_connector, params)
1483
+ req.send_request(options)
1484
+ end
1485
+
1486
+ # Deletes the profile that's specified in the `ProfileId` parameter.
1487
+ #
1488
+ # @option params [required, String] :profile_id
1489
+ # The ID of the profile that you are deleting.
1490
+ #
1491
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1492
+ #
1493
+ # @example Request syntax with placeholder values
1494
+ #
1495
+ # resp = client.delete_profile({
1496
+ # profile_id: "ProfileId", # required
1497
+ # })
1498
+ #
1499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteProfile AWS API Documentation
1500
+ #
1501
+ # @overload delete_profile(params = {})
1502
+ # @param [Hash] params ({})
1503
+ def delete_profile(params = {}, options = {})
1504
+ req = build_request(:delete_profile, params)
1505
+ req.send_request(options)
1506
+ end
1507
+
1166
1508
  # Deletes the file transfer protocol-enabled server that you specify.
1167
1509
  #
1168
1510
  # No response returns from this operation.
@@ -1278,7 +1620,7 @@ module Aws::Transfer
1278
1620
 
1279
1621
  # Describes the access that is assigned to the specific file transfer
1280
1622
  # protocol-enabled server, as identified by its `ServerId` property and
1281
- # its `ExternalID`.
1623
+ # its `ExternalId`.
1282
1624
  #
1283
1625
  # The response from this call returns the properties of the access that
1284
1626
  # is associated with the `ServerId` value that was specified.
@@ -1291,9 +1633,9 @@ module Aws::Transfer
1291
1633
  # A unique identifier that is required to identify specific groups
1292
1634
  # within your directory. The users of the group that you associate have
1293
1635
  # access to your Amazon S3 or Amazon EFS resources over the enabled
1294
- # protocols using Amazon Web Services Transfer Family. If you know the
1295
- # group name, you can view the SID values by running the following
1296
- # command using Windows PowerShell.
1636
+ # protocols using Transfer Family. If you know the group name, you can
1637
+ # view the SID values by running the following command using Windows
1638
+ # PowerShell.
1297
1639
  #
1298
1640
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
1299
1641
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -1301,10 +1643,10 @@ module Aws::Transfer
1301
1643
  # In that command, replace *YourGroupName* with the name of your Active
1302
1644
  # Directory group.
1303
1645
  #
1304
- # The regex used to validate this parameter is a string of characters
1305
- # consisting of uppercase and lowercase alphanumeric characters with no
1306
- # spaces. You can also include underscores or any of the following
1307
- # characters: =,.@:/-
1646
+ # The regular expression used to validate this parameter is a string of
1647
+ # characters consisting of uppercase and lowercase alphanumeric
1648
+ # characters with no spaces. You can also include underscores or any of
1649
+ # the following characters: =,.@:/-
1308
1650
  #
1309
1651
  # @return [Types::DescribeAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1310
1652
  #
@@ -1343,6 +1685,137 @@ module Aws::Transfer
1343
1685
  req.send_request(options)
1344
1686
  end
1345
1687
 
1688
+ # Describes the agreement that's identified by the `AgreementId`.
1689
+ #
1690
+ # @option params [required, String] :agreement_id
1691
+ # A unique identifier for the agreement. This identifier is returned
1692
+ # when you create an agreement.
1693
+ #
1694
+ # @option params [required, String] :server_id
1695
+ # The server ID that's associated with the agreement.
1696
+ #
1697
+ # @return [Types::DescribeAgreementResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1698
+ #
1699
+ # * {Types::DescribeAgreementResponse#agreement #agreement} => Types::DescribedAgreement
1700
+ #
1701
+ # @example Request syntax with placeholder values
1702
+ #
1703
+ # resp = client.describe_agreement({
1704
+ # agreement_id: "AgreementId", # required
1705
+ # server_id: "ServerId", # required
1706
+ # })
1707
+ #
1708
+ # @example Response structure
1709
+ #
1710
+ # resp.agreement.arn #=> String
1711
+ # resp.agreement.agreement_id #=> String
1712
+ # resp.agreement.description #=> String
1713
+ # resp.agreement.status #=> String, one of "ACTIVE", "INACTIVE"
1714
+ # resp.agreement.server_id #=> String
1715
+ # resp.agreement.local_profile_id #=> String
1716
+ # resp.agreement.partner_profile_id #=> String
1717
+ # resp.agreement.base_directory #=> String
1718
+ # resp.agreement.access_role #=> String
1719
+ # resp.agreement.tags #=> Array
1720
+ # resp.agreement.tags[0].key #=> String
1721
+ # resp.agreement.tags[0].value #=> String
1722
+ #
1723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAgreement AWS API Documentation
1724
+ #
1725
+ # @overload describe_agreement(params = {})
1726
+ # @param [Hash] params ({})
1727
+ def describe_agreement(params = {}, options = {})
1728
+ req = build_request(:describe_agreement, params)
1729
+ req.send_request(options)
1730
+ end
1731
+
1732
+ # Describes the certificate that's identified by the `CertificateId`.
1733
+ #
1734
+ # @option params [required, String] :certificate_id
1735
+ # An array of identifiers for the imported certificates. You use this
1736
+ # identifier for working with profiles and partner profiles.
1737
+ #
1738
+ # @return [Types::DescribeCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1739
+ #
1740
+ # * {Types::DescribeCertificateResponse#certificate #certificate} => Types::DescribedCertificate
1741
+ #
1742
+ # @example Request syntax with placeholder values
1743
+ #
1744
+ # resp = client.describe_certificate({
1745
+ # certificate_id: "CertificateId", # required
1746
+ # })
1747
+ #
1748
+ # @example Response structure
1749
+ #
1750
+ # resp.certificate.arn #=> String
1751
+ # resp.certificate.certificate_id #=> String
1752
+ # resp.certificate.usage #=> String, one of "SIGNING", "ENCRYPTION"
1753
+ # resp.certificate.status #=> String, one of "ACTIVE", "PENDING_ROTATION", "INACTIVE"
1754
+ # resp.certificate.certificate #=> String
1755
+ # resp.certificate.certificate_chain #=> String
1756
+ # resp.certificate.active_date #=> Time
1757
+ # resp.certificate.inactive_date #=> Time
1758
+ # resp.certificate.serial #=> String
1759
+ # resp.certificate.not_before_date #=> Time
1760
+ # resp.certificate.not_after_date #=> Time
1761
+ # resp.certificate.type #=> String, one of "CERTIFICATE", "CERTIFICATE_WITH_PRIVATE_KEY"
1762
+ # resp.certificate.description #=> String
1763
+ # resp.certificate.tags #=> Array
1764
+ # resp.certificate.tags[0].key #=> String
1765
+ # resp.certificate.tags[0].value #=> String
1766
+ #
1767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeCertificate AWS API Documentation
1768
+ #
1769
+ # @overload describe_certificate(params = {})
1770
+ # @param [Hash] params ({})
1771
+ def describe_certificate(params = {}, options = {})
1772
+ req = build_request(:describe_certificate, params)
1773
+ req.send_request(options)
1774
+ end
1775
+
1776
+ # Describes the connector that's identified by the `ConnectorId.`
1777
+ #
1778
+ # @option params [required, String] :connector_id
1779
+ # The unique identifier for the connector.
1780
+ #
1781
+ # @return [Types::DescribeConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1782
+ #
1783
+ # * {Types::DescribeConnectorResponse#connector #connector} => Types::DescribedConnector
1784
+ #
1785
+ # @example Request syntax with placeholder values
1786
+ #
1787
+ # resp = client.describe_connector({
1788
+ # connector_id: "ConnectorId", # required
1789
+ # })
1790
+ #
1791
+ # @example Response structure
1792
+ #
1793
+ # resp.connector.arn #=> String
1794
+ # resp.connector.connector_id #=> String
1795
+ # resp.connector.url #=> String
1796
+ # resp.connector.as_2_config.local_profile_id #=> String
1797
+ # resp.connector.as_2_config.partner_profile_id #=> String
1798
+ # resp.connector.as_2_config.message_subject #=> String
1799
+ # resp.connector.as_2_config.compression #=> String, one of "ZLIB", "DISABLED"
1800
+ # resp.connector.as_2_config.encryption_algorithm #=> String, one of "AES128_CBC", "AES192_CBC", "AES256_CBC"
1801
+ # resp.connector.as_2_config.signing_algorithm #=> String, one of "SHA256", "SHA384", "SHA512", "SHA1", "NONE"
1802
+ # resp.connector.as_2_config.mdn_signing_algorithm #=> String, one of "SHA256", "SHA384", "SHA512", "SHA1", "NONE", "DEFAULT"
1803
+ # resp.connector.as_2_config.mdn_response #=> String, one of "SYNC", "NONE"
1804
+ # resp.connector.access_role #=> String
1805
+ # resp.connector.logging_role #=> String
1806
+ # resp.connector.tags #=> Array
1807
+ # resp.connector.tags[0].key #=> String
1808
+ # resp.connector.tags[0].value #=> String
1809
+ #
1810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeConnector AWS API Documentation
1811
+ #
1812
+ # @overload describe_connector(params = {})
1813
+ # @param [Hash] params ({})
1814
+ def describe_connector(params = {}, options = {})
1815
+ req = build_request(:describe_connector, params)
1816
+ req.send_request(options)
1817
+ end
1818
+
1346
1819
  # You can use `DescribeExecution` to check the details of the execution
1347
1820
  # of the specified workflow.
1348
1821
  #
@@ -1405,6 +1878,43 @@ module Aws::Transfer
1405
1878
  req.send_request(options)
1406
1879
  end
1407
1880
 
1881
+ # Returns the details of the profile that's specified by the
1882
+ # `ProfileId`.
1883
+ #
1884
+ # @option params [required, String] :profile_id
1885
+ # The identifier of the profile that you want described.
1886
+ #
1887
+ # @return [Types::DescribeProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1888
+ #
1889
+ # * {Types::DescribeProfileResponse#profile #profile} => Types::DescribedProfile
1890
+ #
1891
+ # @example Request syntax with placeholder values
1892
+ #
1893
+ # resp = client.describe_profile({
1894
+ # profile_id: "ProfileId", # required
1895
+ # })
1896
+ #
1897
+ # @example Response structure
1898
+ #
1899
+ # resp.profile.arn #=> String
1900
+ # resp.profile.profile_id #=> String
1901
+ # resp.profile.profile_type #=> String, one of "LOCAL", "PARTNER"
1902
+ # resp.profile.as_2_id #=> String
1903
+ # resp.profile.certificate_ids #=> Array
1904
+ # resp.profile.certificate_ids[0] #=> String
1905
+ # resp.profile.tags #=> Array
1906
+ # resp.profile.tags[0].key #=> String
1907
+ # resp.profile.tags[0].value #=> String
1908
+ #
1909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeProfile AWS API Documentation
1910
+ #
1911
+ # @overload describe_profile(params = {})
1912
+ # @param [Hash] params ({})
1913
+ def describe_profile(params = {}, options = {})
1914
+ req = build_request(:describe_profile, params)
1915
+ req.send_request(options)
1916
+ end
1917
+
1408
1918
  # Describes the security policy that is attached to your file transfer
1409
1919
  # protocol-enabled server. The response contains a description of the
1410
1920
  # security policy's properties. For more information about security
@@ -1477,6 +1987,8 @@ module Aws::Transfer
1477
1987
  # resp.server.protocol_details.passive_ip #=> String
1478
1988
  # resp.server.protocol_details.tls_session_resumption_mode #=> String, one of "DISABLED", "ENABLED", "ENFORCED"
1479
1989
  # resp.server.protocol_details.set_stat_option #=> String, one of "DEFAULT", "ENABLE_NO_OP"
1990
+ # resp.server.protocol_details.as_2_transports #=> Array
1991
+ # resp.server.protocol_details.as_2_transports[0] #=> String, one of "HTTP"
1480
1992
  # resp.server.domain #=> String, one of "S3", "EFS"
1481
1993
  # resp.server.endpoint_details.address_allocation_ids #=> Array
1482
1994
  # resp.server.endpoint_details.address_allocation_ids[0] #=> String
@@ -1497,7 +2009,7 @@ module Aws::Transfer
1497
2009
  # resp.server.post_authentication_login_banner #=> String
1498
2010
  # resp.server.pre_authentication_login_banner #=> String
1499
2011
  # resp.server.protocols #=> Array
1500
- # resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS"
2012
+ # resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS", "AS2"
1501
2013
  # resp.server.security_policy_name #=> String
1502
2014
  # resp.server.server_id #=> String
1503
2015
  # resp.server.state #=> String, one of "OFFLINE", "ONLINE", "STARTING", "STOPPING", "START_FAILED", "STOP_FAILED"
@@ -1536,8 +2048,8 @@ module Aws::Transfer
1536
2048
  #
1537
2049
  # @option params [required, String] :user_name
1538
2050
  # The name of the user assigned to one or more servers. User names are
1539
- # part of the sign-in credentials to use the Amazon Web Services
1540
- # Transfer Family service and perform file transfer tasks.
2051
+ # part of the sign-in credentials to use the Transfer Family service and
2052
+ # perform file transfer tasks.
1541
2053
  #
1542
2054
  # @return [Types::DescribeUserResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1543
2055
  #
@@ -1657,6 +2169,70 @@ module Aws::Transfer
1657
2169
  req.send_request(options)
1658
2170
  end
1659
2171
 
2172
+ # Imports the signing and encryption certificates that you need to
2173
+ # create local (AS2) profiles and partner profiles.
2174
+ #
2175
+ # @option params [required, String] :usage
2176
+ # Specifies whether this certificate is used for signing or encryption.
2177
+ #
2178
+ # @option params [required, String] :certificate
2179
+ # The file that contains the certificate to import.
2180
+ #
2181
+ # @option params [String] :certificate_chain
2182
+ # An optional list of certificates that make up the chain for the
2183
+ # certificate that's being imported.
2184
+ #
2185
+ # @option params [String] :private_key
2186
+ # The file that contains the private key for the certificate that's
2187
+ # being imported.
2188
+ #
2189
+ # @option params [Time,DateTime,Date,Integer,String] :active_date
2190
+ # An optional date that specifies when the certificate becomes active.
2191
+ #
2192
+ # @option params [Time,DateTime,Date,Integer,String] :inactive_date
2193
+ # An optional date that specifies when the certificate becomes inactive.
2194
+ #
2195
+ # @option params [String] :description
2196
+ # A short description that helps identify the certificate.
2197
+ #
2198
+ # @option params [Array<Types::Tag>] :tags
2199
+ # Key-value pairs that can be used to group and search for certificates.
2200
+ #
2201
+ # @return [Types::ImportCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2202
+ #
2203
+ # * {Types::ImportCertificateResponse#certificate_id #certificate_id} => String
2204
+ #
2205
+ # @example Request syntax with placeholder values
2206
+ #
2207
+ # resp = client.import_certificate({
2208
+ # usage: "SIGNING", # required, accepts SIGNING, ENCRYPTION
2209
+ # certificate: "CertificateBodyType", # required
2210
+ # certificate_chain: "CertificateChainType",
2211
+ # private_key: "PrivateKeyType",
2212
+ # active_date: Time.now,
2213
+ # inactive_date: Time.now,
2214
+ # description: "Description",
2215
+ # tags: [
2216
+ # {
2217
+ # key: "TagKey", # required
2218
+ # value: "TagValue", # required
2219
+ # },
2220
+ # ],
2221
+ # })
2222
+ #
2223
+ # @example Response structure
2224
+ #
2225
+ # resp.certificate_id #=> String
2226
+ #
2227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportCertificate AWS API Documentation
2228
+ #
2229
+ # @overload import_certificate(params = {})
2230
+ # @param [Hash] params ({})
2231
+ def import_certificate(params = {}, options = {})
2232
+ req = build_request(:import_certificate, params)
2233
+ req.send_request(options)
2234
+ end
2235
+
1660
2236
  # Adds a Secure Shell (SSH) public key to a user account identified by a
1661
2237
  # `UserName` value assigned to the specific file transfer
1662
2238
  # protocol-enabled server, identified by `ServerId`.
@@ -1670,6 +2246,8 @@ module Aws::Transfer
1670
2246
  # @option params [required, String] :ssh_public_key_body
1671
2247
  # The public key portion of an SSH key pair.
1672
2248
  #
2249
+ # Transfer Family accepts RSA, ECDSA, and ED25519 keys.
2250
+ #
1673
2251
  # @option params [required, String] :user_name
1674
2252
  # The name of the user account that is assigned to one or more servers.
1675
2253
  #
@@ -1752,10 +2330,159 @@ module Aws::Transfer
1752
2330
  req.send_request(options)
1753
2331
  end
1754
2332
 
2333
+ # Returns a list of the agreements for the server that's identified by
2334
+ # the `ServerId` that you supply. If you want to limit the results to a
2335
+ # certain number, supply a value for the `MaxResults` parameter. If you
2336
+ # ran the command previously and received a value for `NextToken`, you
2337
+ # can supply that value to continue listing agreements from where you
2338
+ # left off.
2339
+ #
2340
+ # @option params [Integer] :max_results
2341
+ # The maximum number of agreements to return.
2342
+ #
2343
+ # @option params [String] :next_token
2344
+ # When you can get additional results from the `ListAgreements` call, a
2345
+ # `NextToken` parameter is returned in the output. You can then pass in
2346
+ # a subsequent command to the `NextToken` parameter to continue listing
2347
+ # additional agreements.
2348
+ #
2349
+ # @option params [required, String] :server_id
2350
+ # The identifier of the server for which you want a list of agreements.
2351
+ #
2352
+ # @return [Types::ListAgreementsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2353
+ #
2354
+ # * {Types::ListAgreementsResponse#next_token #next_token} => String
2355
+ # * {Types::ListAgreementsResponse#agreements #agreements} => Array&lt;Types::ListedAgreement&gt;
2356
+ #
2357
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2358
+ #
2359
+ # @example Request syntax with placeholder values
2360
+ #
2361
+ # resp = client.list_agreements({
2362
+ # max_results: 1,
2363
+ # next_token: "NextToken",
2364
+ # server_id: "ServerId", # required
2365
+ # })
2366
+ #
2367
+ # @example Response structure
2368
+ #
2369
+ # resp.next_token #=> String
2370
+ # resp.agreements #=> Array
2371
+ # resp.agreements[0].arn #=> String
2372
+ # resp.agreements[0].agreement_id #=> String
2373
+ # resp.agreements[0].description #=> String
2374
+ # resp.agreements[0].status #=> String, one of "ACTIVE", "INACTIVE"
2375
+ # resp.agreements[0].server_id #=> String
2376
+ # resp.agreements[0].local_profile_id #=> String
2377
+ # resp.agreements[0].partner_profile_id #=> String
2378
+ #
2379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAgreements AWS API Documentation
2380
+ #
2381
+ # @overload list_agreements(params = {})
2382
+ # @param [Hash] params ({})
2383
+ def list_agreements(params = {}, options = {})
2384
+ req = build_request(:list_agreements, params)
2385
+ req.send_request(options)
2386
+ end
2387
+
2388
+ # Returns a list of the current certificates that have been imported
2389
+ # into Transfer Family. If you want to limit the results to a certain
2390
+ # number, supply a value for the `MaxResults` parameter. If you ran the
2391
+ # command previously and received a value for the `NextToken` parameter,
2392
+ # you can supply that value to continue listing certificates from where
2393
+ # you left off.
2394
+ #
2395
+ # @option params [Integer] :max_results
2396
+ # The maximum number of certificates to return.
2397
+ #
2398
+ # @option params [String] :next_token
2399
+ # When you can get additional results from the `ListCertificates` call,
2400
+ # a `NextToken` parameter is returned in the output. You can then pass
2401
+ # in a subsequent command to the `NextToken` parameter to continue
2402
+ # listing additional certificates.
2403
+ #
2404
+ # @return [Types::ListCertificatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2405
+ #
2406
+ # * {Types::ListCertificatesResponse#next_token #next_token} => String
2407
+ # * {Types::ListCertificatesResponse#certificates #certificates} => Array&lt;Types::ListedCertificate&gt;
2408
+ #
2409
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2410
+ #
2411
+ # @example Request syntax with placeholder values
2412
+ #
2413
+ # resp = client.list_certificates({
2414
+ # max_results: 1,
2415
+ # next_token: "NextToken",
2416
+ # })
2417
+ #
2418
+ # @example Response structure
2419
+ #
2420
+ # resp.next_token #=> String
2421
+ # resp.certificates #=> Array
2422
+ # resp.certificates[0].arn #=> String
2423
+ # resp.certificates[0].certificate_id #=> String
2424
+ # resp.certificates[0].usage #=> String, one of "SIGNING", "ENCRYPTION"
2425
+ # resp.certificates[0].status #=> String, one of "ACTIVE", "PENDING_ROTATION", "INACTIVE"
2426
+ # resp.certificates[0].active_date #=> Time
2427
+ # resp.certificates[0].inactive_date #=> Time
2428
+ # resp.certificates[0].type #=> String, one of "CERTIFICATE", "CERTIFICATE_WITH_PRIVATE_KEY"
2429
+ # resp.certificates[0].description #=> String
2430
+ #
2431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListCertificates AWS API Documentation
2432
+ #
2433
+ # @overload list_certificates(params = {})
2434
+ # @param [Hash] params ({})
2435
+ def list_certificates(params = {}, options = {})
2436
+ req = build_request(:list_certificates, params)
2437
+ req.send_request(options)
2438
+ end
2439
+
2440
+ # Lists the connectors for the specified Region.
2441
+ #
2442
+ # @option params [Integer] :max_results
2443
+ # The maximum number of connectors to return.
2444
+ #
2445
+ # @option params [String] :next_token
2446
+ # When you can get additional results from the `ListConnectors` call, a
2447
+ # `NextToken` parameter is returned in the output. You can then pass in
2448
+ # a subsequent command to the `NextToken` parameter to continue listing
2449
+ # additional connectors.
2450
+ #
2451
+ # @return [Types::ListConnectorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2452
+ #
2453
+ # * {Types::ListConnectorsResponse#next_token #next_token} => String
2454
+ # * {Types::ListConnectorsResponse#connectors #connectors} => Array&lt;Types::ListedConnector&gt;
2455
+ #
2456
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2457
+ #
2458
+ # @example Request syntax with placeholder values
2459
+ #
2460
+ # resp = client.list_connectors({
2461
+ # max_results: 1,
2462
+ # next_token: "NextToken",
2463
+ # })
2464
+ #
2465
+ # @example Response structure
2466
+ #
2467
+ # resp.next_token #=> String
2468
+ # resp.connectors #=> Array
2469
+ # resp.connectors[0].arn #=> String
2470
+ # resp.connectors[0].connector_id #=> String
2471
+ # resp.connectors[0].url #=> String
2472
+ #
2473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListConnectors AWS API Documentation
2474
+ #
2475
+ # @overload list_connectors(params = {})
2476
+ # @param [Hash] params ({})
2477
+ def list_connectors(params = {}, options = {})
2478
+ req = build_request(:list_connectors, params)
2479
+ req.send_request(options)
2480
+ end
2481
+
1755
2482
  # Lists all executions for the specified workflow.
1756
2483
  #
1757
2484
  # @option params [Integer] :max_results
1758
- # Specifies the aximum number of executions to return.
2485
+ # Specifies the maximum number of executions to return.
1759
2486
  #
1760
2487
  # @option params [String] :next_token
1761
2488
  # `ListExecutions` returns the `NextToken` parameter in the output. You
@@ -1764,13 +2491,13 @@ module Aws::Transfer
1764
2491
  #
1765
2492
  # This is useful for pagination, for instance. If you have 100
1766
2493
  # executions for a workflow, you might only want to list first 10. If
1767
- # so, callthe API by specifing the `max-results`\:
2494
+ # so, call the API by specifying the `max-results`\:
1768
2495
  #
1769
2496
  # `aws transfer list-executions --max-results 10`
1770
2497
  #
1771
2498
  # This returns details for the first 10 executions, as well as the
1772
2499
  # pointer (`NextToken`) to the eleventh execution. You can now call the
1773
- # API again, suppling the `NextToken` value you received:
2500
+ # API again, supplying the `NextToken` value you received:
1774
2501
  #
1775
2502
  # `aws transfer list-executions --max-results 10 --next-token
1776
2503
  # $somePointerReturnedFromPreviousListResult`
@@ -1824,6 +2551,58 @@ module Aws::Transfer
1824
2551
  req.send_request(options)
1825
2552
  end
1826
2553
 
2554
+ # Returns a list of the profiles for your system. If you want to limit
2555
+ # the results to a certain number, supply a value for the `MaxResults`
2556
+ # parameter. If you ran the command previously and received a value for
2557
+ # `NextToken`, you can supply that value to continue listing profiles
2558
+ # from where you left off.
2559
+ #
2560
+ # @option params [Integer] :max_results
2561
+ # The maximum number of profiles to return.
2562
+ #
2563
+ # @option params [String] :next_token
2564
+ # When there are additional results that were not returned, a
2565
+ # `NextToken` parameter is returned. You can use that value for a
2566
+ # subsequent call to `ListProfiles` to continue listing results.
2567
+ #
2568
+ # @option params [String] :profile_type
2569
+ # Indicates whether to list only `LOCAL` type profiles or only `PARTNER`
2570
+ # type profiles. If not supplied in the request, the command lists all
2571
+ # types of profiles.
2572
+ #
2573
+ # @return [Types::ListProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2574
+ #
2575
+ # * {Types::ListProfilesResponse#next_token #next_token} => String
2576
+ # * {Types::ListProfilesResponse#profiles #profiles} => Array&lt;Types::ListedProfile&gt;
2577
+ #
2578
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2579
+ #
2580
+ # @example Request syntax with placeholder values
2581
+ #
2582
+ # resp = client.list_profiles({
2583
+ # max_results: 1,
2584
+ # next_token: "NextToken",
2585
+ # profile_type: "LOCAL", # accepts LOCAL, PARTNER
2586
+ # })
2587
+ #
2588
+ # @example Response structure
2589
+ #
2590
+ # resp.next_token #=> String
2591
+ # resp.profiles #=> Array
2592
+ # resp.profiles[0].arn #=> String
2593
+ # resp.profiles[0].profile_id #=> String
2594
+ # resp.profiles[0].as_2_id #=> String
2595
+ # resp.profiles[0].profile_type #=> String, one of "LOCAL", "PARTNER"
2596
+ #
2597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListProfiles AWS API Documentation
2598
+ #
2599
+ # @overload list_profiles(params = {})
2600
+ # @param [Hash] params ({})
2601
+ def list_profiles(params = {}, options = {})
2602
+ req = build_request(:list_profiles, params)
2603
+ req.send_request(options)
2604
+ end
2605
+
1827
2606
  # Lists the security policies that are attached to your file transfer
1828
2607
  # protocol-enabled servers.
1829
2608
  #
@@ -2100,6 +2879,41 @@ module Aws::Transfer
2100
2879
  req.send_request(options)
2101
2880
  end
2102
2881
 
2882
+ # Begins an outbound file transfer. You specify the `ConnectorId` and
2883
+ # the file paths for where to send the files.
2884
+ #
2885
+ # @option params [required, String] :connector_id
2886
+ # The unique identifier for the connector.
2887
+ #
2888
+ # @option params [required, Array<String>] :send_file_paths
2889
+ # An array of strings. Each string represents the absolute path for one
2890
+ # outbound file transfer. For example, ` DOC-EXAMPLE-BUCKET/myfile.txt
2891
+ # `.
2892
+ #
2893
+ # @return [Types::StartFileTransferResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2894
+ #
2895
+ # * {Types::StartFileTransferResponse#transfer_id #transfer_id} => String
2896
+ #
2897
+ # @example Request syntax with placeholder values
2898
+ #
2899
+ # resp = client.start_file_transfer({
2900
+ # connector_id: "ConnectorId", # required
2901
+ # send_file_paths: ["FilePath"], # required
2902
+ # })
2903
+ #
2904
+ # @example Response structure
2905
+ #
2906
+ # resp.transfer_id #=> String
2907
+ #
2908
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartFileTransfer AWS API Documentation
2909
+ #
2910
+ # @overload start_file_transfer(params = {})
2911
+ # @param [Hash] params ({})
2912
+ def start_file_transfer(params = {}, options = {})
2913
+ req = build_request(:start_file_transfer, params)
2914
+ req.send_request(options)
2915
+ end
2916
+
2103
2917
  # Changes the state of a file transfer protocol-enabled server from
2104
2918
  # `OFFLINE` to `ONLINE`. It has no impact on a server that is already
2105
2919
  # `ONLINE`. An `ONLINE` server can accept and process file transfer
@@ -2136,7 +2950,7 @@ module Aws::Transfer
2136
2950
  # file transfer jobs. Information tied to your server, such as server
2137
2951
  # and user properties, are not affected by stopping your server.
2138
2952
  #
2139
- # <note markdown="1"> Stopping the server will not reduce or impact your file transfer
2953
+ # <note markdown="1"> Stopping the server does not reduce or impact your file transfer
2140
2954
  # protocol endpoint billing; you must delete the server to stop being
2141
2955
  # billed.
2142
2956
  #
@@ -2274,7 +3088,7 @@ module Aws::Transfer
2274
3088
  #
2275
3089
  # resp = client.test_identity_provider({
2276
3090
  # server_id: "ServerId", # required
2277
- # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
3091
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS, AS2
2278
3092
  # source_ip: "SourceIp",
2279
3093
  # user_name: "UserName", # required
2280
3094
  # user_password: "UserPassword",
@@ -2340,12 +3154,13 @@ module Aws::Transfer
2340
3154
  # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
2341
3155
  #
2342
3156
  # @option params [String] :home_directory_type
2343
- # The type of landing directory (folder) you want your users' home
2344
- # directory to be when they log into the server. If you set it to
3157
+ # The type of landing directory (folder) that you want your users' home
3158
+ # directory to be when they log in to the server. If you set it to
2345
3159
  # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
2346
3160
  # as is in their file transfer protocol clients. If you set it
2347
3161
  # `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings`
2348
- # for how you want to make Amazon S3 or EFS paths visible to your users.
3162
+ # for how you want to make Amazon S3 or Amazon EFS paths visible to your
3163
+ # users.
2349
3164
  #
2350
3165
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
2351
3166
  # Logical directory mappings that specify what Amazon S3 or Amazon EFS
@@ -2353,10 +3168,9 @@ module Aws::Transfer
2353
3168
  # them visible. You must specify the `Entry` and `Target` pair, where
2354
3169
  # `Entry` shows how the path is made visible and `Target` is the actual
2355
3170
  # Amazon S3 or Amazon EFS path. If you only specify a target, it is
2356
- # displayed as is. You also must ensure that your Amazon Web Services
2357
- # Identity and Access Management (IAM) role provides access to paths in
2358
- # `Target`. This value can only be set when `HomeDirectoryType` is set
2359
- # to *LOGICAL*.
3171
+ # displayed as is. You also must ensure that your Identity and Access
3172
+ # Management (IAM) role provides access to paths in `Target`. This value
3173
+ # can be set only when `HomeDirectoryType` is set to *LOGICAL*.
2360
3174
  #
2361
3175
  # The following is an `Entry` and `Target` pair example.
2362
3176
  #
@@ -2373,19 +3187,19 @@ module Aws::Transfer
2373
3187
  # `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
2374
3188
  #
2375
3189
  # @option params [String] :policy
2376
- # A session policy for your user so that you can use the same IAM role
2377
- # across multiple users. This policy scopes down user access to portions
2378
- # of their Amazon S3 bucket. Variables that you can use inside this
2379
- # policy include `$\{Transfer:UserName\}`,
2380
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
3190
+ # A session policy for your user so that you can use the same Identity
3191
+ # and Access Management (IAM) role across multiple users. This policy
3192
+ # scopes down a user's access to portions of their Amazon S3 bucket.
3193
+ # Variables that you can use inside this policy include
3194
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
3195
+ # `$\{Transfer:HomeBucket\}`.
2381
3196
  #
2382
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
2383
- # use session policies.
3197
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
3198
+ # Amazon EFS does not use session policies.
2384
3199
  #
2385
- # For session policies, Amazon Web Services Transfer Family stores the
2386
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
2387
- # the policy. You save the policy as a JSON blob and pass it in the
2388
- # `Policy` argument.
3200
+ # For session policies, Transfer Family stores the policy as a JSON
3201
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
3202
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
2389
3203
  #
2390
3204
  # For an example of a session policy, see [Example session policy][1].
2391
3205
  #
@@ -2408,13 +3222,14 @@ module Aws::Transfer
2408
3222
  # out of your Amazon EFS file systems.
2409
3223
  #
2410
3224
  # @option params [String] :role
2411
- # Specifies the Amazon Resource Name (ARN) of the IAM role that controls
2412
- # your users' access to your Amazon S3 bucket or EFS file system. The
2413
- # policies attached to this role determine the level of access that you
2414
- # want to provide your users when transferring files into and out of
2415
- # your Amazon S3 bucket or EFS file system. The IAM role should also
2416
- # contain a trust relationship that allows the server to access your
2417
- # resources when servicing your users' transfer requests.
3225
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
3226
+ # (IAM) role that controls your users' access to your Amazon S3 bucket
3227
+ # or Amazon EFS file system. The policies attached to this role
3228
+ # determine the level of access that you want to provide your users when
3229
+ # transferring files into and out of your Amazon S3 bucket or Amazon EFS
3230
+ # file system. The IAM role should also contain a trust relationship
3231
+ # that allows the server to access your resources when servicing your
3232
+ # users' transfer requests.
2418
3233
  #
2419
3234
  # @option params [required, String] :server_id
2420
3235
  # A system-assigned unique identifier for a server instance. This is the
@@ -2424,9 +3239,9 @@ module Aws::Transfer
2424
3239
  # A unique identifier that is required to identify specific groups
2425
3240
  # within your directory. The users of the group that you associate have
2426
3241
  # access to your Amazon S3 or Amazon EFS resources over the enabled
2427
- # protocols using Amazon Web Services Transfer Family. If you know the
2428
- # group name, you can view the SID values by running the following
2429
- # command using Windows PowerShell.
3242
+ # protocols using Transfer Family. If you know the group name, you can
3243
+ # view the SID values by running the following command using Windows
3244
+ # PowerShell.
2430
3245
  #
2431
3246
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
2432
3247
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -2434,10 +3249,10 @@ module Aws::Transfer
2434
3249
  # In that command, replace *YourGroupName* with the name of your Active
2435
3250
  # Directory group.
2436
3251
  #
2437
- # The regex used to validate this parameter is a string of characters
2438
- # consisting of uppercase and lowercase alphanumeric characters with no
2439
- # spaces. You can also include underscores or any of the following
2440
- # characters: =,.@:/-
3252
+ # The regular expression used to validate this parameter is a string of
3253
+ # characters consisting of uppercase and lowercase alphanumeric
3254
+ # characters with no spaces. You can also include underscores or any of
3255
+ # the following characters: =,.@:/-
2441
3256
  #
2442
3257
  # @return [Types::UpdateAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2443
3258
  #
@@ -2480,6 +3295,228 @@ module Aws::Transfer
2480
3295
  req.send_request(options)
2481
3296
  end
2482
3297
 
3298
+ # Updates some of the parameters for an existing agreement. Provide the
3299
+ # `AgreementId` and the `ServerId` for the agreement that you want to
3300
+ # update, along with the new values for the parameters to update.
3301
+ #
3302
+ # @option params [required, String] :agreement_id
3303
+ # A unique identifier for the agreement. This identifier is returned
3304
+ # when you create an agreement.
3305
+ #
3306
+ # @option params [required, String] :server_id
3307
+ # A system-assigned unique identifier for a server instance. This is the
3308
+ # specific server that the agreement uses.
3309
+ #
3310
+ # @option params [String] :description
3311
+ # To replace the existing description, provide a short description for
3312
+ # the agreement.
3313
+ #
3314
+ # @option params [String] :status
3315
+ # You can update the status for the agreement, either activating an
3316
+ # inactive agreement or the reverse.
3317
+ #
3318
+ # @option params [String] :local_profile_id
3319
+ # A unique identifier for the AS2 local profile.
3320
+ #
3321
+ # To change the local profile identifier, provide a new value here.
3322
+ #
3323
+ # @option params [String] :partner_profile_id
3324
+ # A unique identifier for the partner profile. To change the partner
3325
+ # profile identifier, provide a new value here.
3326
+ #
3327
+ # @option params [String] :base_directory
3328
+ # To change the landing directory (folder) for files that are
3329
+ # transferred, provide the bucket folder that you want to use; for
3330
+ # example, `/DOC-EXAMPLE-BUCKET/home/mydirectory `.
3331
+ #
3332
+ # @option params [String] :access_role
3333
+ # With AS2, you can send files by calling `StartFileTransfer` and
3334
+ # specifying the file paths in the request parameter, `SendFilePaths`.
3335
+ # We use the file’s parent directory (for example, for
3336
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
3337
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
3338
+ # store the MDN when we receive them from the partner, and write a final
3339
+ # JSON file containing relevant metadata of the transmission. So, the
3340
+ # `AccessRole` needs to provide read and write access to the parent
3341
+ # directory of the file location used in the `StartFileTransfer`
3342
+ # request. Additionally, you need to provide read and write access to
3343
+ # the parent directory of the files that you intend to send with
3344
+ # `StartFileTransfer`.
3345
+ #
3346
+ # @return [Types::UpdateAgreementResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3347
+ #
3348
+ # * {Types::UpdateAgreementResponse#agreement_id #agreement_id} => String
3349
+ #
3350
+ # @example Request syntax with placeholder values
3351
+ #
3352
+ # resp = client.update_agreement({
3353
+ # agreement_id: "AgreementId", # required
3354
+ # server_id: "ServerId", # required
3355
+ # description: "Description",
3356
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
3357
+ # local_profile_id: "ProfileId",
3358
+ # partner_profile_id: "ProfileId",
3359
+ # base_directory: "HomeDirectory",
3360
+ # access_role: "Role",
3361
+ # })
3362
+ #
3363
+ # @example Response structure
3364
+ #
3365
+ # resp.agreement_id #=> String
3366
+ #
3367
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAgreement AWS API Documentation
3368
+ #
3369
+ # @overload update_agreement(params = {})
3370
+ # @param [Hash] params ({})
3371
+ def update_agreement(params = {}, options = {})
3372
+ req = build_request(:update_agreement, params)
3373
+ req.send_request(options)
3374
+ end
3375
+
3376
+ # Updates the active and inactive dates for a certificate.
3377
+ #
3378
+ # @option params [required, String] :certificate_id
3379
+ # The identifier of the certificate object that you are updating.
3380
+ #
3381
+ # @option params [Time,DateTime,Date,Integer,String] :active_date
3382
+ # An optional date that specifies when the certificate becomes active.
3383
+ #
3384
+ # @option params [Time,DateTime,Date,Integer,String] :inactive_date
3385
+ # An optional date that specifies when the certificate becomes inactive.
3386
+ #
3387
+ # @option params [String] :description
3388
+ # A short description to help identify the certificate.
3389
+ #
3390
+ # @return [Types::UpdateCertificateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3391
+ #
3392
+ # * {Types::UpdateCertificateResponse#certificate_id #certificate_id} => String
3393
+ #
3394
+ # @example Request syntax with placeholder values
3395
+ #
3396
+ # resp = client.update_certificate({
3397
+ # certificate_id: "CertificateId", # required
3398
+ # active_date: Time.now,
3399
+ # inactive_date: Time.now,
3400
+ # description: "Description",
3401
+ # })
3402
+ #
3403
+ # @example Response structure
3404
+ #
3405
+ # resp.certificate_id #=> String
3406
+ #
3407
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateCertificate AWS API Documentation
3408
+ #
3409
+ # @overload update_certificate(params = {})
3410
+ # @param [Hash] params ({})
3411
+ def update_certificate(params = {}, options = {})
3412
+ req = build_request(:update_certificate, params)
3413
+ req.send_request(options)
3414
+ end
3415
+
3416
+ # Updates some of the parameters for an existing connector. Provide the
3417
+ # `ConnectorId` for the connector that you want to update, along with
3418
+ # the new values for the parameters to update.
3419
+ #
3420
+ # @option params [required, String] :connector_id
3421
+ # The unique identifier for the connector.
3422
+ #
3423
+ # @option params [String] :url
3424
+ # The URL of the partner's AS2 endpoint.
3425
+ #
3426
+ # @option params [Types::As2ConnectorConfig] :as_2_config
3427
+ # A structure that contains the parameters for a connector object.
3428
+ #
3429
+ # @option params [String] :access_role
3430
+ # With AS2, you can send files by calling `StartFileTransfer` and
3431
+ # specifying the file paths in the request parameter, `SendFilePaths`.
3432
+ # We use the file’s parent directory (for example, for
3433
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
3434
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
3435
+ # store the MDN when we receive them from the partner, and write a final
3436
+ # JSON file containing relevant metadata of the transmission. So, the
3437
+ # `AccessRole` needs to provide read and write access to the parent
3438
+ # directory of the file location used in the `StartFileTransfer`
3439
+ # request. Additionally, you need to provide read and write access to
3440
+ # the parent directory of the files that you intend to send with
3441
+ # `StartFileTransfer`.
3442
+ #
3443
+ # @option params [String] :logging_role
3444
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
3445
+ # (IAM) role that allows a connector to turn on CloudWatch logging for
3446
+ # Amazon S3 events. When set, you can view connector activity in your
3447
+ # CloudWatch logs.
3448
+ #
3449
+ # @return [Types::UpdateConnectorResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3450
+ #
3451
+ # * {Types::UpdateConnectorResponse#connector_id #connector_id} => String
3452
+ #
3453
+ # @example Request syntax with placeholder values
3454
+ #
3455
+ # resp = client.update_connector({
3456
+ # connector_id: "ConnectorId", # required
3457
+ # url: "Url",
3458
+ # as_2_config: {
3459
+ # local_profile_id: "ProfileId",
3460
+ # partner_profile_id: "ProfileId",
3461
+ # message_subject: "MessageSubject",
3462
+ # compression: "ZLIB", # accepts ZLIB, DISABLED
3463
+ # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC
3464
+ # signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE
3465
+ # mdn_signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE, DEFAULT
3466
+ # mdn_response: "SYNC", # accepts SYNC, NONE
3467
+ # },
3468
+ # access_role: "Role",
3469
+ # logging_role: "Role",
3470
+ # })
3471
+ #
3472
+ # @example Response structure
3473
+ #
3474
+ # resp.connector_id #=> String
3475
+ #
3476
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateConnector AWS API Documentation
3477
+ #
3478
+ # @overload update_connector(params = {})
3479
+ # @param [Hash] params ({})
3480
+ def update_connector(params = {}, options = {})
3481
+ req = build_request(:update_connector, params)
3482
+ req.send_request(options)
3483
+ end
3484
+
3485
+ # Updates some of the parameters for an existing profile. Provide the
3486
+ # `ProfileId` for the profile that you want to update, along with the
3487
+ # new values for the parameters to update.
3488
+ #
3489
+ # @option params [required, String] :profile_id
3490
+ # The identifier of the profile object that you are updating.
3491
+ #
3492
+ # @option params [Array<String>] :certificate_ids
3493
+ # An array of identifiers for the imported certificates. You use this
3494
+ # identifier for working with profiles and partner profiles.
3495
+ #
3496
+ # @return [Types::UpdateProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3497
+ #
3498
+ # * {Types::UpdateProfileResponse#profile_id #profile_id} => String
3499
+ #
3500
+ # @example Request syntax with placeholder values
3501
+ #
3502
+ # resp = client.update_profile({
3503
+ # profile_id: "ProfileId", # required
3504
+ # certificate_ids: ["CertificateId"],
3505
+ # })
3506
+ #
3507
+ # @example Response structure
3508
+ #
3509
+ # resp.profile_id #=> String
3510
+ #
3511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateProfile AWS API Documentation
3512
+ #
3513
+ # @overload update_profile(params = {})
3514
+ # @param [Hash] params ({})
3515
+ def update_profile(params = {}, options = {})
3516
+ req = build_request(:update_profile, params)
3517
+ req.send_request(options)
3518
+ end
3519
+
2483
3520
  # Updates the file transfer protocol-enabled server's properties after
2484
3521
  # that server has been created.
2485
3522
  #
@@ -2529,30 +3566,34 @@ module Aws::Transfer
2529
3566
  # @option params [Types::ProtocolDetails] :protocol_details
2530
3567
  # The protocol settings that are configured for your server.
2531
3568
  #
2532
- # * Use the `PassiveIp` parameter to indicate passive mode (for FTP and
2533
- # FTPS protocols). Enter a single dotted-quad IPv4 address, such as
2534
- # the external IP address of a firewall, router, or load balancer.
3569
+ # * To indicate passive mode (for FTP and FTPS protocols), use the
3570
+ # `PassiveIp` parameter. Enter a single dotted-quad IPv4 address, such
3571
+ # as the external IP address of a firewall, router, or load balancer.
3572
+ #
3573
+ # * To ignore the error that is generated when the client attempts to
3574
+ # use the `SETSTAT` command on a file that you are uploading to an
3575
+ # Amazon S3 bucket, use the `SetStatOption` parameter. To have the
3576
+ # Transfer Family server ignore the `SETSTAT` command and upload files
3577
+ # without needing to make any changes to your SFTP client, set the
3578
+ # value to `ENABLE_NO_OP`. If you set the `SetStatOption` parameter to
3579
+ # `ENABLE_NO_OP`, Transfer Family generates a log entry to Amazon
3580
+ # CloudWatch Logs, so that you can determine when the client is making
3581
+ # a `SETSTAT` call.
2535
3582
  #
2536
- # * Use the `SetStatOption` to ignore the error that is generated when
2537
- # the client attempts to use SETSTAT on a file you are uploading to an
2538
- # S3 bucket. Set the value to `ENABLE_NO_OP` to have the Transfer
2539
- # Family server ignore the SETSTAT command, and upload files without
2540
- # needing to make any changes to your SFTP client. Note that with
2541
- # `SetStatOption` set to `ENABLE_NO_OP`, Transfer generates a log
2542
- # entry to CloudWatch Logs, so you can determine when the client is
2543
- # making a SETSTAT call.
3583
+ # * To determine whether your Transfer Family server resumes recent,
3584
+ # negotiated sessions through a unique session ID, use the
3585
+ # `TlsSessionResumptionMode` parameter.
2544
3586
  #
2545
- # * Use the `TlsSessionResumptionMode` parameter to determine whether or
2546
- # not your Transfer server resumes recent, negotiated sessions through
2547
- # a unique session ID.
3587
+ # * `As2Transports` indicates the transport method for the AS2 messages.
3588
+ # Currently, only HTTP is supported.
2548
3589
  #
2549
3590
  # @option params [Types::EndpointDetails] :endpoint_details
2550
3591
  # The virtual private cloud (VPC) endpoint settings that are configured
2551
3592
  # for your server. When you host your endpoint within your VPC, you can
2552
- # make it accessible only to resources within your VPC, or you can
2553
- # attach Elastic IP addresses and make it accessible to clients over the
2554
- # internet. Your VPC's default security groups are automatically
2555
- # assigned to your endpoint.
3593
+ # make your endpoint accessible only to resources within your VPC, or
3594
+ # you can attach Elastic IP addresses and make your endpoint accessible
3595
+ # to clients over the internet. Your VPC's default security groups are
3596
+ # automatically assigned to your endpoint.
2556
3597
  #
2557
3598
  # @option params [String] :endpoint_type
2558
3599
  # The type of endpoint that you want your server to use. You can choose
@@ -2582,15 +3623,37 @@ module Aws::Transfer
2582
3623
  # </note>
2583
3624
  #
2584
3625
  # @option params [String] :host_key
2585
- # The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
2586
- # my-new-server-key`.
3626
+ # The RSA, ECDSA, or ED25519 private key to use for your server.
3627
+ #
3628
+ # Use the following command to generate an RSA 2048 bit key with no
3629
+ # passphrase:
3630
+ #
3631
+ # `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`.
3632
+ #
3633
+ # Use a minimum value of 2048 for the `-b` option. You can create a
3634
+ # stronger key by using 3072 or 4096.
3635
+ #
3636
+ # Use the following command to generate an ECDSA 256 bit key with no
3637
+ # passphrase:
3638
+ #
3639
+ # `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key`.
3640
+ #
3641
+ # Valid values for the `-b` option for ECDSA are 256, 384, and 521.
3642
+ #
3643
+ # Use the following command to generate an ED25519 key with no
3644
+ # passphrase:
3645
+ #
3646
+ # `ssh-keygen -t ed25519 -N "" -f my-new-server-key`.
3647
+ #
3648
+ # For all of these commands, you can replace *my-new-server-key* with a
3649
+ # string of your choice.
2587
3650
  #
2588
3651
  # If you aren't planning to migrate existing users from an existing
2589
- # server to a new server, don't update the host key. Accidentally
2590
- # changing a server's host key can be disruptive.
3652
+ # SFTP-enabled server to a new server, don't update the host key.
3653
+ # Accidentally changing a server's host key can be disruptive.
2591
3654
  #
2592
3655
  # For more information, see [Change the host key for your SFTP-enabled
2593
- # server][1] in the *Amazon Web ServicesTransfer Family User Guide*.
3656
+ # server][1] in the *Transfer Family User Guide*.
2594
3657
  #
2595
3658
  #
2596
3659
  #
@@ -2601,13 +3664,13 @@ module Aws::Transfer
2601
3664
  # customer's authentication API method.
2602
3665
  #
2603
3666
  # @option params [String] :logging_role
2604
- # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
2605
- # Identity and Access Management (IAM) role that allows a server to turn
2606
- # on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When
2607
- # set, user activity can be viewed in your CloudWatch logs.
3667
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
3668
+ # (IAM) role that allows a server to turn on Amazon CloudWatch logging
3669
+ # for Amazon S3 or Amazon EFSevents. When set, you can view user
3670
+ # activity in your CloudWatch logs.
2608
3671
  #
2609
3672
  # @option params [String] :post_authentication_login_banner
2610
- # Specify a string to display when users connect to a server. This
3673
+ # Specifies a string to display when users connect to a server. This
2611
3674
  # string is displayed after the user authenticates.
2612
3675
  #
2613
3676
  # <note markdown="1"> The SFTP protocol does not support post-authentication display
@@ -2616,9 +3679,9 @@ module Aws::Transfer
2616
3679
  # </note>
2617
3680
  #
2618
3681
  # @option params [String] :pre_authentication_login_banner
2619
- # Specify a string to display when users connect to a server. This
3682
+ # Specifies a string to display when users connect to a server. This
2620
3683
  # string is displayed before the user authenticates. For example, the
2621
- # following banner displays details about using the system.
3684
+ # following banner displays details about using the system:
2622
3685
  #
2623
3686
  # `This system is for the use of authorized users only. Individuals
2624
3687
  # using this computer system without authority, or in excess of their
@@ -2630,28 +3693,34 @@ module Aws::Transfer
2630
3693
  # transfer protocol client can connect to your server's endpoint. The
2631
3694
  # available protocols are:
2632
3695
  #
2633
- # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer over
2634
- # SSH
3696
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
3697
+ # over SSH
2635
3698
  #
2636
- # * File Transfer Protocol Secure (FTPS): File transfer with TLS
3699
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
2637
3700
  # encryption
2638
3701
  #
2639
- # * File Transfer Protocol (FTP): Unencrypted file transfer
3702
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
3703
+ #
3704
+ # * `AS2` (Applicability Statement 2): used for transporting structured
3705
+ # business-to-business data
3706
+ #
3707
+ # <note markdown="1"> * If you select `FTPS`, you must choose a certificate stored in
3708
+ # Certificate Manager (ACM) which is used to identify your server when
3709
+ # clients connect to it over FTPS.
2640
3710
  #
2641
- # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in Amazon
2642
- # Web ServicesCertificate Manager (ACM) which will be used to identify
2643
- # your server when clients connect to it over FTPS.
3711
+ # * If `Protocol` includes either `FTP` or `FTPS`, then the
3712
+ # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
3713
+ # `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
2644
3714
  #
2645
- # If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
2646
- # must be `VPC` and the `IdentityProviderType` must be
2647
- # `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
3715
+ # * If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
3716
+ # associated.
2648
3717
  #
2649
- # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
2650
- # associated.
3718
+ # * If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
3719
+ # to `PUBLIC` and the `IdentityProviderType` can be set to
3720
+ # `SERVICE_MANAGED`.
2651
3721
  #
2652
- # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set to
2653
- # `PUBLIC` and the `IdentityProviderType` can be set to
2654
- # `SERVICE_MANAGED`.
3722
+ # * If `Protocol` includes `AS2`, then the `EndpointType` must be `VPC`,
3723
+ # and domain must be Amazon S3.
2655
3724
  #
2656
3725
  # </note>
2657
3726
  #
@@ -2665,7 +3734,7 @@ module Aws::Transfer
2665
3734
  #
2666
3735
  # @option params [Types::WorkflowDetails] :workflow_details
2667
3736
  # Specifies the workflow ID for the workflow to assign and the execution
2668
- # role used for executing the workflow.
3737
+ # role that's used for executing the workflow.
2669
3738
  #
2670
3739
  # To remove an associated workflow from a server, you can provide an
2671
3740
  # empty `OnUpload` object, as in the following example.
@@ -2685,6 +3754,7 @@ module Aws::Transfer
2685
3754
  # passive_ip: "PassiveIp",
2686
3755
  # tls_session_resumption_mode: "DISABLED", # accepts DISABLED, ENABLED, ENFORCED
2687
3756
  # set_stat_option: "DEFAULT", # accepts DEFAULT, ENABLE_NO_OP
3757
+ # as_2_transports: ["HTTP"], # accepts HTTP
2688
3758
  # },
2689
3759
  # endpoint_details: {
2690
3760
  # address_allocation_ids: ["AddressAllocationId"],
@@ -2704,7 +3774,7 @@ module Aws::Transfer
2704
3774
  # logging_role: "NullableRole",
2705
3775
  # post_authentication_login_banner: "PostAuthenticationLoginBanner",
2706
3776
  # pre_authentication_login_banner: "PreAuthenticationLoginBanner",
2707
- # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
3777
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS, AS2
2708
3778
  # security_policy_name: "SecurityPolicyName",
2709
3779
  # server_id: "ServerId", # required
2710
3780
  # workflow_details: {
@@ -2744,12 +3814,13 @@ module Aws::Transfer
2744
3814
  # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
2745
3815
  #
2746
3816
  # @option params [String] :home_directory_type
2747
- # The type of landing directory (folder) you want your users' home
2748
- # directory to be when they log into the server. If you set it to
3817
+ # The type of landing directory (folder) that you want your users' home
3818
+ # directory to be when they log in to the server. If you set it to
2749
3819
  # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
2750
3820
  # as is in their file transfer protocol clients. If you set it
2751
3821
  # `LOGICAL`, you need to provide mappings in the `HomeDirectoryMappings`
2752
- # for how you want to make Amazon S3 or EFS paths visible to your users.
3822
+ # for how you want to make Amazon S3 or Amazon EFS paths visible to your
3823
+ # users.
2753
3824
  #
2754
3825
  # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
2755
3826
  # Logical directory mappings that specify what Amazon S3 or Amazon EFS
@@ -2757,10 +3828,9 @@ module Aws::Transfer
2757
3828
  # them visible. You must specify the `Entry` and `Target` pair, where
2758
3829
  # `Entry` shows how the path is made visible and `Target` is the actual
2759
3830
  # Amazon S3 or Amazon EFS path. If you only specify a target, it is
2760
- # displayed as is. You also must ensure that your Amazon Web Services
2761
- # Identity and Access Management (IAM) role provides access to paths in
2762
- # `Target`. This value can only be set when `HomeDirectoryType` is set
2763
- # to *LOGICAL*.
3831
+ # displayed as is. You also must ensure that your Identity and Access
3832
+ # Management (IAM) role provides access to paths in `Target`. This value
3833
+ # can be set only when `HomeDirectoryType` is set to *LOGICAL*.
2764
3834
  #
2765
3835
  # The following is an `Entry` and `Target` pair example.
2766
3836
  #
@@ -2777,19 +3847,19 @@ module Aws::Transfer
2777
3847
  # `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
2778
3848
  #
2779
3849
  # @option params [String] :policy
2780
- # A session policy for your user so that you can use the same IAM role
2781
- # across multiple users. This policy scopes down user access to portions
2782
- # of their Amazon S3 bucket. Variables that you can use inside this
2783
- # policy include `$\{Transfer:UserName\}`,
2784
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
3850
+ # A session policy for your user so that you can use the same Identity
3851
+ # and Access Management (IAM) role across multiple users. This policy
3852
+ # scopes down a user's access to portions of their Amazon S3 bucket.
3853
+ # Variables that you can use inside this policy include
3854
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
3855
+ # `$\{Transfer:HomeBucket\}`.
2785
3856
  #
2786
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
2787
- # use session policies.
3857
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
3858
+ # Amazon EFS does not use session policies.
2788
3859
  #
2789
- # For session policies, Amazon Web Services Transfer Family stores the
2790
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
2791
- # the policy. You save the policy as a JSON blob and pass it in the
2792
- # `Policy` argument.
3860
+ # For session policies, Transfer Family stores the policy as a JSON
3861
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
3862
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
2793
3863
  #
2794
3864
  # For an example of a session policy, see [Creating a session
2795
3865
  # policy][1].
@@ -2813,13 +3883,14 @@ module Aws::Transfer
2813
3883
  # transferring files into and out of your Amazon EFS file systems.
2814
3884
  #
2815
3885
  # @option params [String] :role
2816
- # Specifies the Amazon Resource Name (ARN) of the IAM role that controls
2817
- # your users' access to your Amazon S3 bucket or EFS file system. The
2818
- # policies attached to this role determine the level of access that you
2819
- # want to provide your users when transferring files into and out of
2820
- # your Amazon S3 bucket or EFS file system. The IAM role should also
2821
- # contain a trust relationship that allows the server to access your
2822
- # resources when servicing your users' transfer requests.
3886
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
3887
+ # (IAM) role that controls your users' access to your Amazon S3 bucket
3888
+ # or Amazon EFS file system. The policies attached to this role
3889
+ # determine the level of access that you want to provide your users when
3890
+ # transferring files into and out of your Amazon S3 bucket or Amazon EFS
3891
+ # file system. The IAM role should also contain a trust relationship
3892
+ # that allows the server to access your resources when servicing your
3893
+ # users' transfer requests.
2823
3894
  #
2824
3895
  # @option params [required, String] :server_id
2825
3896
  # A system-assigned unique identifier for a server instance that the
@@ -2887,7 +3958,7 @@ module Aws::Transfer
2887
3958
  params: params,
2888
3959
  config: config)
2889
3960
  context[:gem_name] = 'aws-sdk-transfer'
2890
- context[:gem_version] = '1.55.0'
3961
+ context[:gem_version] = '1.58.0'
2891
3962
  Seahorse::Client::Request.new(handlers, context)
2892
3963
  end
2893
3964