aws-sdk-transfer 1.55.0 → 1.58.0

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