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.
@@ -23,6 +23,86 @@ module Aws::Transfer
23
23
  include Aws::Structure
24
24
  end
25
25
 
26
+ # Contains the details for a connector object. The connector object is
27
+ # used for AS2 outbound processes, to connect the Transfer Family
28
+ # customer with the trading partner.
29
+ #
30
+ # @note When making an API call, you may pass As2ConnectorConfig
31
+ # data as a hash:
32
+ #
33
+ # {
34
+ # local_profile_id: "ProfileId",
35
+ # partner_profile_id: "ProfileId",
36
+ # message_subject: "MessageSubject",
37
+ # compression: "ZLIB", # accepts ZLIB, DISABLED
38
+ # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC
39
+ # signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE
40
+ # mdn_signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE, DEFAULT
41
+ # mdn_response: "SYNC", # accepts SYNC, NONE
42
+ # }
43
+ #
44
+ # @!attribute [rw] local_profile_id
45
+ # A unique identifier for the AS2 local profile.
46
+ # @return [String]
47
+ #
48
+ # @!attribute [rw] partner_profile_id
49
+ # A unique identifier for the partner profile for the connector.
50
+ # @return [String]
51
+ #
52
+ # @!attribute [rw] message_subject
53
+ # Used as the `Subject` HTTP header attribute in AS2 messages that are
54
+ # being sent with the connector.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] compression
58
+ # Specifies whether the AS2 file is compressed.
59
+ # @return [String]
60
+ #
61
+ # @!attribute [rw] encryption_algorithm
62
+ # The algorithm that is used to encrypt the file.
63
+ # @return [String]
64
+ #
65
+ # @!attribute [rw] signing_algorithm
66
+ # The algorithm that is used to sign the AS2 messages sent with the
67
+ # connector.
68
+ # @return [String]
69
+ #
70
+ # @!attribute [rw] mdn_signing_algorithm
71
+ # The signing algorithm for the MDN response.
72
+ #
73
+ # <note markdown="1"> If set to DEFAULT (or not set at all), the value for
74
+ # `SigningAlogorithm` is used.
75
+ #
76
+ # </note>
77
+ # @return [String]
78
+ #
79
+ # @!attribute [rw] mdn_response
80
+ # Used for outbound requests (from an Transfer Family server to a
81
+ # partner AS2 server) to determine whether the partner response for
82
+ # transfers is synchronous or asynchronous. Specify either of the
83
+ # following values:
84
+ #
85
+ # * `SYNC`\: The system expects a synchronous MDN response, confirming
86
+ # that the file was transferred successfully (or not).
87
+ #
88
+ # * `NONE`\: Specifies that no MDN response is required.
89
+ # @return [String]
90
+ #
91
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/As2ConnectorConfig AWS API Documentation
92
+ #
93
+ class As2ConnectorConfig < Struct.new(
94
+ :local_profile_id,
95
+ :partner_profile_id,
96
+ :message_subject,
97
+ :compression,
98
+ :encryption_algorithm,
99
+ :signing_algorithm,
100
+ :mdn_signing_algorithm,
101
+ :mdn_response)
102
+ SENSITIVE = []
103
+ include Aws::Structure
104
+ end
105
+
26
106
  # This exception is thrown when the `UpdateServer` is called for a file
27
107
  # transfer protocol-enabled server that has VPC as the endpoint type and
28
108
  # the server's `VpcEndpointID` is not in the available state.
@@ -129,13 +209,13 @@ module Aws::Transfer
129
209
  # @return [String]
130
210
  #
131
211
  # @!attribute [rw] home_directory_type
132
- # The type of landing directory (folder) you want your users' home
133
- # directory to be when they log into the server. If you set it to
134
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
135
- # as is in their file transfer protocol clients. If you set it
212
+ # The type of landing directory (folder) that you want your users'
213
+ # home directory to be when they log in to the server. If you set it
214
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
215
+ # paths as is in their file transfer protocol clients. If you set it
136
216
  # `LOGICAL`, you need to provide mappings in the
137
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
138
- # paths visible to your users.
217
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
218
+ # EFS paths visible to your users.
139
219
  # @return [String]
140
220
  #
141
221
  # @!attribute [rw] home_directory_mappings
@@ -144,10 +224,10 @@ module Aws::Transfer
144
224
  # make them visible. You must specify the `Entry` and `Target` pair,
145
225
  # where `Entry` shows how the path is made visible and `Target` is the
146
226
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
147
- # it is displayed as is. You also must ensure that your Amazon Web
148
- # Services Identity and Access Management (IAM) role provides access
149
- # to paths in `Target`. This value can only be set when
150
- # `HomeDirectoryType` is set to *LOGICAL*.
227
+ # it is displayed as is. You also must ensure that your Identity and
228
+ # Access Management (IAM) role provides access to paths in `Target`.
229
+ # This value can be set only when `HomeDirectoryType` is set to
230
+ # *LOGICAL*.
151
231
  #
152
232
  # The following is an `Entry` and `Target` pair example.
153
233
  #
@@ -165,24 +245,24 @@ module Aws::Transfer
165
245
  # @return [Array<Types::HomeDirectoryMapEntry>]
166
246
  #
167
247
  # @!attribute [rw] policy
168
- # A session policy for your user so that you can use the same IAM role
169
- # across multiple users. This policy scopes down user access to
170
- # portions of their Amazon S3 bucket. Variables that you can use
171
- # inside this policy include `$\{Transfer:UserName\}`,
172
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
248
+ # A session policy for your user so that you can use the same Identity
249
+ # and Access Management (IAM) role across multiple users. This policy
250
+ # scopes down a user's access to portions of their Amazon S3 bucket.
251
+ # Variables that you can use inside this policy include
252
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
253
+ # `$\{Transfer:HomeBucket\}`.
173
254
  #
174
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
175
- # use session policies.
255
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
256
+ # Amazon EFS does not use session policies.
176
257
  #
177
- # For session policies, Amazon Web Services Transfer Family stores the
178
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
179
- # the policy. You save the policy as a JSON blob and pass it in the
180
- # `Policy` argument.
258
+ # For session policies, Transfer Family stores the policy as a JSON
259
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
260
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
181
261
  #
182
262
  # For an example of a session policy, see [Example session policy][1].
183
263
  #
184
- # For more information, see [AssumeRole][2] in the *Amazon Web
185
- # Services Security Token Service API Reference*.
264
+ # For more information, see [AssumeRole][2] in the *Security Token
265
+ # Service API Reference*.
186
266
  #
187
267
  # </note>
188
268
  #
@@ -202,14 +282,14 @@ module Aws::Transfer
202
282
  # @return [Types::PosixProfile]
203
283
  #
204
284
  # @!attribute [rw] role
205
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
206
- # controls your users' access to your Amazon S3 bucket or EFS file
207
- # system. The policies attached to this role determine the level of
208
- # access that you want to provide your users when transferring files
209
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
210
- # role should also contain a trust relationship that allows the server
211
- # to access your resources when servicing your users' transfer
212
- # requests.
285
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
286
+ # (IAM) role that controls your users' access to your Amazon S3
287
+ # bucket or Amazon EFS file system. The policies attached to this role
288
+ # determine the level of access that you want to provide your users
289
+ # when transferring files into and out of your Amazon S3 bucket or
290
+ # Amazon EFS file system. The IAM role should also contain a trust
291
+ # relationship that allows the server to access your resources when
292
+ # servicing your users' transfer requests.
213
293
  # @return [String]
214
294
  #
215
295
  # @!attribute [rw] server_id
@@ -221,9 +301,9 @@ module Aws::Transfer
221
301
  # A unique identifier that is required to identify specific groups
222
302
  # within your directory. The users of the group that you associate
223
303
  # have access to your Amazon S3 or Amazon EFS resources over the
224
- # enabled protocols using Amazon Web Services Transfer Family. If you
225
- # know the group name, you can view the SID values by running the
226
- # following command using Windows PowerShell.
304
+ # enabled protocols using Transfer Family. If you know the group name,
305
+ # you can view the SID values by running the following command using
306
+ # Windows PowerShell.
227
307
  #
228
308
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
229
309
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -231,10 +311,10 @@ module Aws::Transfer
231
311
  # In that command, replace *YourGroupName* with the name of your
232
312
  # Active Directory group.
233
313
  #
234
- # The regex used to validate this parameter is a string of characters
235
- # consisting of uppercase and lowercase alphanumeric characters with
236
- # no spaces. You can also include underscores or any of the following
237
- # characters: =,.@:/-
314
+ # The regular expression used to validate this parameter is a string
315
+ # of characters consisting of uppercase and lowercase alphanumeric
316
+ # characters with no spaces. You can also include underscores or any
317
+ # of the following characters: =,.@:/-
238
318
  # @return [String]
239
319
  #
240
320
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAccessRequest AWS API Documentation
@@ -258,8 +338,8 @@ module Aws::Transfer
258
338
  #
259
339
  # @!attribute [rw] external_id
260
340
  # The external ID of the group whose users have access to your Amazon
261
- # S3 or Amazon EFS resources over the enabled protocols using Amazon
262
- # Web Services Transfer Family.
341
+ # S3 or Amazon EFS resources over the enabled protocols using Transfer
342
+ # Family.
263
343
  # @return [String]
264
344
  #
265
345
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAccessResponse AWS API Documentation
@@ -271,6 +351,255 @@ module Aws::Transfer
271
351
  include Aws::Structure
272
352
  end
273
353
 
354
+ # @note When making an API call, you may pass CreateAgreementRequest
355
+ # data as a hash:
356
+ #
357
+ # {
358
+ # description: "Description",
359
+ # server_id: "ServerId", # required
360
+ # local_profile_id: "ProfileId", # required
361
+ # partner_profile_id: "ProfileId", # required
362
+ # base_directory: "HomeDirectory", # required
363
+ # access_role: "Role", # required
364
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
365
+ # tags: [
366
+ # {
367
+ # key: "TagKey", # required
368
+ # value: "TagValue", # required
369
+ # },
370
+ # ],
371
+ # }
372
+ #
373
+ # @!attribute [rw] description
374
+ # A name or short description to identify the agreement.
375
+ # @return [String]
376
+ #
377
+ # @!attribute [rw] server_id
378
+ # A system-assigned unique identifier for a server instance. This is
379
+ # the specific server that the agreement uses.
380
+ # @return [String]
381
+ #
382
+ # @!attribute [rw] local_profile_id
383
+ # A unique identifier for the AS2 local profile.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] partner_profile_id
387
+ # A unique identifier for the partner profile used in the agreement.
388
+ # @return [String]
389
+ #
390
+ # @!attribute [rw] base_directory
391
+ # The landing directory (folder) for files transferred by using the
392
+ # AS2 protocol.
393
+ #
394
+ # A `BaseDirectory` example is `/DOC-EXAMPLE-BUCKET/home/mydirectory
395
+ # `.
396
+ # @return [String]
397
+ #
398
+ # @!attribute [rw] access_role
399
+ # With AS2, you can send files by calling `StartFileTransfer` and
400
+ # specifying the file paths in the request parameter, `SendFilePaths`.
401
+ # We use the file’s parent directory (for example, for
402
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
403
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
404
+ # store the MDN when we receive them from the partner, and write a
405
+ # final JSON file containing relevant metadata of the transmission.
406
+ # So, the `AccessRole` needs to provide read and write access to the
407
+ # parent directory of the file location used in the
408
+ # `StartFileTransfer` request. Additionally, you need to provide read
409
+ # and write access to the parent directory of the files that you
410
+ # intend to send with `StartFileTransfer`.
411
+ # @return [String]
412
+ #
413
+ # @!attribute [rw] status
414
+ # The status of the agreement. The agreement can be either `ACTIVE` or
415
+ # `INACTIVE`.
416
+ # @return [String]
417
+ #
418
+ # @!attribute [rw] tags
419
+ # Key-value pairs that can be used to group and search for agreements.
420
+ # @return [Array<Types::Tag>]
421
+ #
422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAgreementRequest AWS API Documentation
423
+ #
424
+ class CreateAgreementRequest < Struct.new(
425
+ :description,
426
+ :server_id,
427
+ :local_profile_id,
428
+ :partner_profile_id,
429
+ :base_directory,
430
+ :access_role,
431
+ :status,
432
+ :tags)
433
+ SENSITIVE = []
434
+ include Aws::Structure
435
+ end
436
+
437
+ # @!attribute [rw] agreement_id
438
+ # The unique identifier for the agreement. Use this ID for deleting,
439
+ # or updating an agreement, as well as in any other API calls that
440
+ # require that you specify the agreement ID.
441
+ # @return [String]
442
+ #
443
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAgreementResponse AWS API Documentation
444
+ #
445
+ class CreateAgreementResponse < Struct.new(
446
+ :agreement_id)
447
+ SENSITIVE = []
448
+ include Aws::Structure
449
+ end
450
+
451
+ # @note When making an API call, you may pass CreateConnectorRequest
452
+ # data as a hash:
453
+ #
454
+ # {
455
+ # url: "Url", # required
456
+ # as_2_config: { # required
457
+ # local_profile_id: "ProfileId",
458
+ # partner_profile_id: "ProfileId",
459
+ # message_subject: "MessageSubject",
460
+ # compression: "ZLIB", # accepts ZLIB, DISABLED
461
+ # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC
462
+ # signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE
463
+ # mdn_signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE, DEFAULT
464
+ # mdn_response: "SYNC", # accepts SYNC, NONE
465
+ # },
466
+ # access_role: "Role", # required
467
+ # logging_role: "Role",
468
+ # tags: [
469
+ # {
470
+ # key: "TagKey", # required
471
+ # value: "TagValue", # required
472
+ # },
473
+ # ],
474
+ # }
475
+ #
476
+ # @!attribute [rw] url
477
+ # The URL of the partner's AS2 endpoint.
478
+ # @return [String]
479
+ #
480
+ # @!attribute [rw] as_2_config
481
+ # A structure that contains the parameters for a connector object.
482
+ # @return [Types::As2ConnectorConfig]
483
+ #
484
+ # @!attribute [rw] access_role
485
+ # With AS2, you can send files by calling `StartFileTransfer` and
486
+ # specifying the file paths in the request parameter, `SendFilePaths`.
487
+ # We use the file’s parent directory (for example, for
488
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
489
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
490
+ # store the MDN when we receive them from the partner, and write a
491
+ # final JSON file containing relevant metadata of the transmission.
492
+ # So, the `AccessRole` needs to provide read and write access to the
493
+ # parent directory of the file location used in the
494
+ # `StartFileTransfer` request. Additionally, you need to provide read
495
+ # and write access to the parent directory of the files that you
496
+ # intend to send with `StartFileTransfer`.
497
+ # @return [String]
498
+ #
499
+ # @!attribute [rw] logging_role
500
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
501
+ # (IAM) role that allows a connector to turn on CloudWatch logging for
502
+ # Amazon S3 events. When set, you can view connector activity in your
503
+ # CloudWatch logs.
504
+ # @return [String]
505
+ #
506
+ # @!attribute [rw] tags
507
+ # Key-value pairs that can be used to group and search for connectors.
508
+ # Tags are metadata attached to connectors for any purpose.
509
+ # @return [Array<Types::Tag>]
510
+ #
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateConnectorRequest AWS API Documentation
512
+ #
513
+ class CreateConnectorRequest < Struct.new(
514
+ :url,
515
+ :as_2_config,
516
+ :access_role,
517
+ :logging_role,
518
+ :tags)
519
+ SENSITIVE = []
520
+ include Aws::Structure
521
+ end
522
+
523
+ # @!attribute [rw] connector_id
524
+ # The unique identifier for the connector, returned after the API call
525
+ # succeeds.
526
+ # @return [String]
527
+ #
528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateConnectorResponse AWS API Documentation
529
+ #
530
+ class CreateConnectorResponse < Struct.new(
531
+ :connector_id)
532
+ SENSITIVE = []
533
+ include Aws::Structure
534
+ end
535
+
536
+ # @note When making an API call, you may pass CreateProfileRequest
537
+ # data as a hash:
538
+ #
539
+ # {
540
+ # as_2_id: "As2Id", # required
541
+ # profile_type: "LOCAL", # required, accepts LOCAL, PARTNER
542
+ # certificate_ids: ["CertificateId"],
543
+ # tags: [
544
+ # {
545
+ # key: "TagKey", # required
546
+ # value: "TagValue", # required
547
+ # },
548
+ # ],
549
+ # }
550
+ #
551
+ # @!attribute [rw] as_2_id
552
+ # The `As2Id` is the *AS2-name*, as defined in the [RFC 4130][1]. For
553
+ # inbound transfers, this is the `AS2-From` header for the AS2
554
+ # messages sent from the partner. For outbound connectors, this is the
555
+ # `AS2-To` header for the AS2 messages sent to the partner using the
556
+ # `StartFileTransfer` API operation. This ID cannot include spaces.
557
+ #
558
+ #
559
+ #
560
+ # [1]: https://datatracker.ietf.org/doc/html/rfc4130
561
+ # @return [String]
562
+ #
563
+ # @!attribute [rw] profile_type
564
+ # Indicates whether to list only `LOCAL` type profiles or only
565
+ # `PARTNER` type profiles. If not supplied in the request, the command
566
+ # lists all types of profiles.
567
+ # @return [String]
568
+ #
569
+ # @!attribute [rw] certificate_ids
570
+ # An array of identifiers for the imported certificates. You use this
571
+ # identifier for working with profiles and partner profiles.
572
+ # @return [Array<String>]
573
+ #
574
+ # @!attribute [rw] tags
575
+ # Key-value pairs that can be used to group and search for AS2
576
+ # profiles.
577
+ # @return [Array<Types::Tag>]
578
+ #
579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateProfileRequest AWS API Documentation
580
+ #
581
+ class CreateProfileRequest < Struct.new(
582
+ :as_2_id,
583
+ :profile_type,
584
+ :certificate_ids,
585
+ :tags)
586
+ SENSITIVE = []
587
+ include Aws::Structure
588
+ end
589
+
590
+ # @!attribute [rw] profile_id
591
+ # The unique identifier for the AS2 profile, returned after the API
592
+ # call succeeds.
593
+ # @return [String]
594
+ #
595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateProfileResponse AWS API Documentation
596
+ #
597
+ class CreateProfileResponse < Struct.new(
598
+ :profile_id)
599
+ SENSITIVE = []
600
+ include Aws::Structure
601
+ end
602
+
274
603
  # @note When making an API call, you may pass CreateServerRequest
275
604
  # data as a hash:
276
605
  #
@@ -296,11 +625,12 @@ module Aws::Transfer
296
625
  # logging_role: "Role",
297
626
  # post_authentication_login_banner: "PostAuthenticationLoginBanner",
298
627
  # pre_authentication_login_banner: "PreAuthenticationLoginBanner",
299
- # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
628
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS, AS2
300
629
  # protocol_details: {
301
630
  # passive_ip: "PassiveIp",
302
631
  # tls_session_resumption_mode: "DISABLED", # accepts DISABLED, ENABLED, ENFORCED
303
632
  # set_stat_option: "DEFAULT", # accepts DEFAULT, ENABLE_NO_OP
633
+ # as_2_transports: ["HTTP"], # accepts HTTP
304
634
  # },
305
635
  # security_policy_name: "SecurityPolicyName",
306
636
  # tags: [
@@ -320,21 +650,18 @@ module Aws::Transfer
320
650
  # }
321
651
  #
322
652
  # @!attribute [rw] certificate
323
- # The Amazon Resource Name (ARN) of the Amazon Web Services
324
- # Certificate Manager (ACM) certificate. Required when `Protocols` is
325
- # set to `FTPS`.
653
+ # The Amazon Resource Name (ARN) of the Certificate Manager (ACM)
654
+ # certificate. Required when `Protocols` is set to `FTPS`.
326
655
  #
327
656
  # To request a new public certificate, see [Request a public
328
- # certificate][1] in the <i> Amazon Web Services Certificate Manager
329
- # User Guide</i>.
657
+ # certificate][1] in the *Certificate Manager User Guide*.
330
658
  #
331
659
  # To import an existing certificate into ACM, see [Importing
332
- # certificates into ACM][2] in the <i> Amazon Web Services Certificate
333
- # Manager User Guide</i>.
660
+ # certificates into ACM][2] in the *Certificate Manager User Guide*.
334
661
  #
335
662
  # To request a private certificate to use FTPS through private IP
336
- # addresses, see [Request a private certificate][3] in the <i> Amazon
337
- # Web Services Certificate Manager User Guide</i>.
663
+ # addresses, see [Request a private certificate][3] in the
664
+ # *Certificate Manager User Guide*.
338
665
  #
339
666
  # Certificates with the following cryptographic algorithms and key
340
667
  # sizes are supported:
@@ -375,10 +702,10 @@ module Aws::Transfer
375
702
  # @!attribute [rw] endpoint_details
376
703
  # The virtual private cloud (VPC) endpoint settings that are
377
704
  # configured for your server. When you host your endpoint within your
378
- # VPC, you can make it accessible only to resources within your VPC,
379
- # or you can attach Elastic IP addresses and make it accessible to
380
- # clients over the internet. Your VPC's default security groups are
381
- # automatically assigned to your endpoint.
705
+ # VPC, you can make your endpoint accessible only to resources within
706
+ # your VPC, or you can attach Elastic IP addresses and make your
707
+ # endpoint accessible to clients over the internet. Your VPC's
708
+ # default security groups are automatically assigned to your endpoint.
382
709
  # @return [Types::EndpointDetails]
383
710
  #
384
711
  # @!attribute [rw] endpoint_type
@@ -410,15 +737,37 @@ module Aws::Transfer
410
737
  # @return [String]
411
738
  #
412
739
  # @!attribute [rw] host_key
413
- # The RSA private key as generated by the `ssh-keygen -N "" -m PEM -f
414
- # my-new-server-key` command.
740
+ # The RSA, ECDSA, or ED25519 private key to use for your server.
741
+ #
742
+ # Use the following command to generate an RSA 2048 bit key with no
743
+ # passphrase:
744
+ #
745
+ # `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`.
746
+ #
747
+ # Use a minimum value of 2048 for the `-b` option. You can create a
748
+ # stronger key by using 3072 or 4096.
749
+ #
750
+ # Use the following command to generate an ECDSA 256 bit key with no
751
+ # passphrase:
752
+ #
753
+ # `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key`.
754
+ #
755
+ # Valid values for the `-b` option for ECDSA are 256, 384, and 521.
756
+ #
757
+ # Use the following command to generate an ED25519 key with no
758
+ # passphrase:
759
+ #
760
+ # `ssh-keygen -t ed25519 -N "" -f my-new-server-key`.
761
+ #
762
+ # For all of these commands, you can replace *my-new-server-key* with
763
+ # a string of your choice.
415
764
  #
416
765
  # If you aren't planning to migrate existing users from an existing
417
766
  # SFTP-enabled server to a new server, don't update the host key.
418
767
  # Accidentally changing a server's host key can be disruptive.
419
768
  #
420
769
  # For more information, see [Change the host key for your SFTP-enabled
421
- # server][1] in the *Amazon Web Services Transfer Family User Guide*.
770
+ # server][1] in the *Transfer Family User Guide*.
422
771
  #
423
772
  #
424
773
  #
@@ -435,38 +784,37 @@ module Aws::Transfer
435
784
  # @return [Types::IdentityProviderDetails]
436
785
  #
437
786
  # @!attribute [rw] identity_provider_type
438
- # Specifies the mode of authentication for a server. The default value
439
- # is `SERVICE_MANAGED`, which allows you to store and access user
440
- # credentials within the Amazon Web Services Transfer Family service.
787
+ # The mode of authentication for a server. The default value is
788
+ # `SERVICE_MANAGED`, which allows you to store and access user
789
+ # credentials within the Transfer Family service.
441
790
  #
442
791
  # Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory
443
- # groups in Amazon Web Services Managed Active Directory or Microsoft
444
- # Active Directory in your on-premises environment or in Amazon Web
445
- # Services using AD Connectors. This option also requires you to
446
- # provide a Directory ID using the `IdentityProviderDetails`
792
+ # groups in Directory Service for Microsoft Active Directory or
793
+ # Microsoft Active Directory in your on-premises environment or in
794
+ # Amazon Web Services using AD Connector. This option also requires
795
+ # you to provide a Directory ID by using the `IdentityProviderDetails`
447
796
  # parameter.
448
797
  #
449
798
  # Use the `API_GATEWAY` value to integrate with an identity provider
450
799
  # of your choosing. The `API_GATEWAY` setting requires you to provide
451
- # an API Gateway endpoint URL to call for authentication using the
452
- # `IdentityProviderDetails` parameter.
800
+ # an Amazon API Gateway endpoint URL to call for authentication by
801
+ # using the `IdentityProviderDetails` parameter.
453
802
  #
454
- # Use the `AWS_LAMBDA` value to directly use a Lambda function as your
455
- # identity provider. If you choose this value, you must specify the
456
- # ARN for the lambda function in the `Function` parameter for the
803
+ # Use the `AWS_LAMBDA` value to directly use an Lambda function as
804
+ # your identity provider. If you choose this value, you must specify
805
+ # the ARN for the Lambda function in the `Function` parameter or the
457
806
  # `IdentityProviderDetails` data type.
458
807
  # @return [String]
459
808
  #
460
809
  # @!attribute [rw] logging_role
461
- # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
462
- # Identity and Access Management (IAM) role that allows a server to
463
- # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
464
- # events. When set, user activity can be viewed in your CloudWatch
465
- # logs.
810
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
811
+ # (IAM) role that allows a server to turn on Amazon CloudWatch logging
812
+ # for Amazon S3 or Amazon EFSevents. When set, you can view user
813
+ # activity in your CloudWatch logs.
466
814
  # @return [String]
467
815
  #
468
816
  # @!attribute [rw] post_authentication_login_banner
469
- # Specify a string to display when users connect to a server. This
817
+ # Specifies a string to display when users connect to a server. This
470
818
  # string is displayed after the user authenticates.
471
819
  #
472
820
  # <note markdown="1"> The SFTP protocol does not support post-authentication display
@@ -476,9 +824,9 @@ module Aws::Transfer
476
824
  # @return [String]
477
825
  #
478
826
  # @!attribute [rw] pre_authentication_login_banner
479
- # Specify a string to display when users connect to a server. This
827
+ # Specifies a string to display when users connect to a server. This
480
828
  # string is displayed before the user authenticates. For example, the
481
- # following banner displays details about using the system.
829
+ # following banner displays details about using the system:
482
830
  #
483
831
  # `This system is for the use of authorized users only. Individuals
484
832
  # using this computer system without authority, or in excess of their
@@ -499,20 +847,26 @@ module Aws::Transfer
499
847
  #
500
848
  # * `FTP` (File Transfer Protocol): Unencrypted file transfer
501
849
  #
502
- # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in Amazon
503
- # Web Services Certificate Manager (ACM) which is used to identify
504
- # your server when clients connect to it over FTPS.
850
+ # * `AS2` (Applicability Statement 2): used for transporting
851
+ # structured business-to-business data
852
+ #
853
+ # <note markdown="1"> * If you select `FTPS`, you must choose a certificate stored in
854
+ # Certificate Manager (ACM) which is used to identify your server
855
+ # when clients connect to it over FTPS.
505
856
  #
506
- # If `Protocol` includes either `FTP` or `FTPS`, then the
507
- # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
508
- # `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
857
+ # * If `Protocol` includes either `FTP` or `FTPS`, then the
858
+ # `EndpointType` must be `VPC` and the `IdentityProviderType` must
859
+ # be `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
509
860
  #
510
- # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
511
- # associated.
861
+ # * If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot
862
+ # be associated.
512
863
  #
513
- # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
514
- # to `PUBLIC` and the `IdentityProviderType` can be set to
515
- # `SERVICE_MANAGED`.
864
+ # * If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
865
+ # to `PUBLIC` and the `IdentityProviderType` can be set to
866
+ # `SERVICE_MANAGED`.
867
+ #
868
+ # * If `Protocol` includes `AS2`, then the `EndpointType` must be
869
+ # `VPC`, and domain must be Amazon S3.
516
870
  #
517
871
  # </note>
518
872
  # @return [Array<String>]
@@ -520,23 +874,27 @@ module Aws::Transfer
520
874
  # @!attribute [rw] protocol_details
521
875
  # The protocol settings that are configured for your server.
522
876
  #
523
- # * Use the `PassiveIp` parameter to indicate passive mode (for FTP
524
- # and FTPS protocols). Enter a single dotted-quad IPv4 address, such
525
- # as the external IP address of a firewall, router, or load
877
+ # * To indicate passive mode (for FTP and FTPS protocols), use the
878
+ # `PassiveIp` parameter. Enter a single dotted-quad IPv4 address,
879
+ # such as the external IP address of a firewall, router, or load
526
880
  # balancer.
527
881
  #
528
- # * Use the `SetStatOption` to ignore the error that is generated when
529
- # the client attempts to use SETSTAT on a file you are uploading to
530
- # an S3 bucket. Set the value to `ENABLE_NO_OP` to have the Transfer
531
- # Family server ignore the SETSTAT command, and upload files without
532
- # needing to make any changes to your SFTP client. Note that with
533
- # `SetStatOption` set to `ENABLE_NO_OP`, Transfer generates a log
534
- # entry to CloudWatch Logs, so you can determine when the client is
535
- # making a SETSTAT call.
536
- #
537
- # * Use the `TlsSessionResumptionMode` parameter to determine whether
538
- # or not your Transfer server resumes recent, negotiated sessions
539
- # through a unique session ID.
882
+ # * To ignore the error that is generated when the client attempts to
883
+ # use the `SETSTAT` command on a file that you are uploading to an
884
+ # Amazon S3 bucket, use the `SetStatOption` parameter. To have the
885
+ # Transfer Family server ignore the `SETSTAT` command and upload
886
+ # files without needing to make any changes to your SFTP client, set
887
+ # the value to `ENABLE_NO_OP`. If you set the `SetStatOption`
888
+ # parameter to `ENABLE_NO_OP`, Transfer Family generates a log entry
889
+ # to Amazon CloudWatch Logs, so that you can determine when the
890
+ # client is making a `SETSTAT` call.
891
+ #
892
+ # * To determine whether your Transfer Family server resumes recent,
893
+ # negotiated sessions through a unique session ID, use the
894
+ # `TlsSessionResumptionMode` parameter.
895
+ #
896
+ # * `As2Transports` indicates the transport method for the AS2
897
+ # messages. Currently, only HTTP is supported.
540
898
  # @return [Types::ProtocolDetails]
541
899
  #
542
900
  # @!attribute [rw] security_policy_name
@@ -550,7 +908,7 @@ module Aws::Transfer
550
908
  #
551
909
  # @!attribute [rw] workflow_details
552
910
  # Specifies the workflow ID for the workflow to assign and the
553
- # execution role used for executing the workflow.
911
+ # execution role that's used for executing the workflow.
554
912
  # @return [Types::WorkflowDetails]
555
913
  #
556
914
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServerRequest AWS API Documentation
@@ -625,13 +983,13 @@ module Aws::Transfer
625
983
  # @return [String]
626
984
  #
627
985
  # @!attribute [rw] home_directory_type
628
- # The type of landing directory (folder) you want your users' home
629
- # directory to be when they log into the server. If you set it to
630
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
631
- # as is in their file transfer protocol clients. If you set it
986
+ # The type of landing directory (folder) that you want your users'
987
+ # home directory to be when they log in to the server. If you set it
988
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
989
+ # paths as is in their file transfer protocol clients. If you set it
632
990
  # `LOGICAL`, you need to provide mappings in the
633
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
634
- # paths visible to your users.
991
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
992
+ # EFS paths visible to your users.
635
993
  # @return [String]
636
994
  #
637
995
  # @!attribute [rw] home_directory_mappings
@@ -640,10 +998,10 @@ module Aws::Transfer
640
998
  # make them visible. You must specify the `Entry` and `Target` pair,
641
999
  # where `Entry` shows how the path is made visible and `Target` is the
642
1000
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
643
- # it is displayed as is. You also must ensure that your Amazon Web
644
- # Services Identity and Access Management (IAM) role provides access
645
- # to paths in `Target`. This value can only be set when
646
- # `HomeDirectoryType` is set to *LOGICAL*.
1001
+ # it is displayed as is. You also must ensure that your Identity and
1002
+ # Access Management (IAM) role provides access to paths in `Target`.
1003
+ # This value can be set only when `HomeDirectoryType` is set to
1004
+ # *LOGICAL*.
647
1005
  #
648
1006
  # The following is an `Entry` and `Target` pair example.
649
1007
  #
@@ -661,19 +1019,19 @@ module Aws::Transfer
661
1019
  # @return [Array<Types::HomeDirectoryMapEntry>]
662
1020
  #
663
1021
  # @!attribute [rw] policy
664
- # A session policy for your user so that you can use the same IAM role
665
- # across multiple users. This policy scopes down user access to
666
- # portions of their Amazon S3 bucket. Variables that you can use
667
- # inside this policy include `$\{Transfer:UserName\}`,
668
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1022
+ # A session policy for your user so that you can use the same Identity
1023
+ # and Access Management (IAM) role across multiple users. This policy
1024
+ # scopes down a user's access to portions of their Amazon S3 bucket.
1025
+ # Variables that you can use inside this policy include
1026
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1027
+ # `$\{Transfer:HomeBucket\}`.
669
1028
  #
670
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
671
- # use session policies.
1029
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
1030
+ # Amazon EFS does not use session policies.
672
1031
  #
673
- # For session policies, Amazon Web Services Transfer Family stores the
674
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
675
- # the policy. You save the policy as a JSON blob and pass it in the
676
- # `Policy` argument.
1032
+ # For session policies, Transfer Family stores the policy as a JSON
1033
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
1034
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
677
1035
  #
678
1036
  # For an example of a session policy, see [Example session policy][1].
679
1037
  #
@@ -698,14 +1056,14 @@ module Aws::Transfer
698
1056
  # @return [Types::PosixProfile]
699
1057
  #
700
1058
  # @!attribute [rw] role
701
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
702
- # controls your users' access to your Amazon S3 bucket or EFS file
703
- # system. The policies attached to this role determine the level of
704
- # access that you want to provide your users when transferring files
705
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
706
- # role should also contain a trust relationship that allows the server
707
- # to access your resources when servicing your users' transfer
708
- # requests.
1059
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
1060
+ # (IAM) role that controls your users' access to your Amazon S3
1061
+ # bucket or Amazon EFS file system. The policies attached to this role
1062
+ # determine the level of access that you want to provide your users
1063
+ # when transferring files into and out of your Amazon S3 bucket or
1064
+ # Amazon EFS file system. The IAM role should also contain a trust
1065
+ # relationship that allows the server to access your resources when
1066
+ # servicing your users' transfer requests.
709
1067
  # @return [String]
710
1068
  #
711
1069
  # @!attribute [rw] server_id
@@ -717,10 +1075,7 @@ module Aws::Transfer
717
1075
  # The public portion of the Secure Shell (SSH) key used to
718
1076
  # authenticate the user to the server.
719
1077
  #
720
- # <note markdown="1"> Currently, Transfer Family does not accept elliptical curve keys
721
- # (keys beginning with `ecdsa`).
722
- #
723
- # </note>
1078
+ # Transfer Family accepts RSA, ECDSA, and ED25519 keys.
724
1079
  # @return [String]
725
1080
  #
726
1081
  # @!attribute [rw] tags
@@ -875,20 +1230,20 @@ module Aws::Transfer
875
1230
  # The `TYPE` specifies which of the following actions is being taken
876
1231
  # for this step.
877
1232
  #
878
- # * *COPY*\: copy the file to another location
1233
+ # * *COPY*\: Copy the file to another location.
879
1234
  #
880
- # * *CUSTOM*\: custom step with a lambda target
1235
+ # * *CUSTOM*\: Perform a custom step with an Lambda function target.
881
1236
  #
882
- # * *DELETE*\: delete the file
1237
+ # * *DELETE*\: Delete the file.
883
1238
  #
884
- # * *TAG*\: add a tag to the file
1239
+ # * *TAG*\: Add a tag to the file.
885
1240
  #
886
1241
  # <note markdown="1"> Currently, copying and tagging are supported only on S3.
887
1242
  #
888
1243
  # </note>
889
1244
  #
890
1245
  # For file location, you specify either the S3 bucket and key, or the
891
- # EFS filesystem ID and path.
1246
+ # EFS file system ID and path.
892
1247
  # @return [Array<Types::WorkflowStep>]
893
1248
  #
894
1249
  # @!attribute [rw] on_exception_steps
@@ -996,9 +1351,9 @@ module Aws::Transfer
996
1351
  # A unique identifier that is required to identify specific groups
997
1352
  # within your directory. The users of the group that you associate
998
1353
  # have access to your Amazon S3 or Amazon EFS resources over the
999
- # enabled protocols using Amazon Web Services Transfer Family. If you
1000
- # know the group name, you can view the SID values by running the
1001
- # following command using Windows PowerShell.
1354
+ # enabled protocols using Transfer Family. If you know the group name,
1355
+ # you can view the SID values by running the following command using
1356
+ # Windows PowerShell.
1002
1357
  #
1003
1358
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
1004
1359
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -1006,10 +1361,10 @@ module Aws::Transfer
1006
1361
  # In that command, replace *YourGroupName* with the name of your
1007
1362
  # Active Directory group.
1008
1363
  #
1009
- # The regex used to validate this parameter is a string of characters
1010
- # consisting of uppercase and lowercase alphanumeric characters with
1011
- # no spaces. You can also include underscores or any of the following
1012
- # characters: =,.@:/-
1364
+ # The regular expression used to validate this parameter is a string
1365
+ # of characters consisting of uppercase and lowercase alphanumeric
1366
+ # characters with no spaces. You can also include underscores or any
1367
+ # of the following characters: =,.@:/-
1013
1368
  # @return [String]
1014
1369
  #
1015
1370
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAccessRequest AWS API Documentation
@@ -1021,6 +1376,89 @@ module Aws::Transfer
1021
1376
  include Aws::Structure
1022
1377
  end
1023
1378
 
1379
+ # @note When making an API call, you may pass DeleteAgreementRequest
1380
+ # data as a hash:
1381
+ #
1382
+ # {
1383
+ # agreement_id: "AgreementId", # required
1384
+ # server_id: "ServerId", # required
1385
+ # }
1386
+ #
1387
+ # @!attribute [rw] agreement_id
1388
+ # A unique identifier for the agreement. This identifier is returned
1389
+ # when you create an agreement.
1390
+ # @return [String]
1391
+ #
1392
+ # @!attribute [rw] server_id
1393
+ # The server ID associated with the agreement that you are deleting.
1394
+ # @return [String]
1395
+ #
1396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAgreementRequest AWS API Documentation
1397
+ #
1398
+ class DeleteAgreementRequest < Struct.new(
1399
+ :agreement_id,
1400
+ :server_id)
1401
+ SENSITIVE = []
1402
+ include Aws::Structure
1403
+ end
1404
+
1405
+ # @note When making an API call, you may pass DeleteCertificateRequest
1406
+ # data as a hash:
1407
+ #
1408
+ # {
1409
+ # certificate_id: "CertificateId", # required
1410
+ # }
1411
+ #
1412
+ # @!attribute [rw] certificate_id
1413
+ # The ID of the certificate object that you are deleting.
1414
+ # @return [String]
1415
+ #
1416
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteCertificateRequest AWS API Documentation
1417
+ #
1418
+ class DeleteCertificateRequest < Struct.new(
1419
+ :certificate_id)
1420
+ SENSITIVE = []
1421
+ include Aws::Structure
1422
+ end
1423
+
1424
+ # @note When making an API call, you may pass DeleteConnectorRequest
1425
+ # data as a hash:
1426
+ #
1427
+ # {
1428
+ # connector_id: "ConnectorId", # required
1429
+ # }
1430
+ #
1431
+ # @!attribute [rw] connector_id
1432
+ # The unique identifier for the connector.
1433
+ # @return [String]
1434
+ #
1435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteConnectorRequest AWS API Documentation
1436
+ #
1437
+ class DeleteConnectorRequest < Struct.new(
1438
+ :connector_id)
1439
+ SENSITIVE = []
1440
+ include Aws::Structure
1441
+ end
1442
+
1443
+ # @note When making an API call, you may pass DeleteProfileRequest
1444
+ # data as a hash:
1445
+ #
1446
+ # {
1447
+ # profile_id: "ProfileId", # required
1448
+ # }
1449
+ #
1450
+ # @!attribute [rw] profile_id
1451
+ # The ID of the profile that you are deleting.
1452
+ # @return [String]
1453
+ #
1454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteProfileRequest AWS API Documentation
1455
+ #
1456
+ class DeleteProfileRequest < Struct.new(
1457
+ :profile_id)
1458
+ SENSITIVE = []
1459
+ include Aws::Structure
1460
+ end
1461
+
1024
1462
  # @note When making an API call, you may pass DeleteServerRequest
1025
1463
  # data as a hash:
1026
1464
  #
@@ -1172,9 +1610,9 @@ module Aws::Transfer
1172
1610
  # A unique identifier that is required to identify specific groups
1173
1611
  # within your directory. The users of the group that you associate
1174
1612
  # have access to your Amazon S3 or Amazon EFS resources over the
1175
- # enabled protocols using Amazon Web Services Transfer Family. If you
1176
- # know the group name, you can view the SID values by running the
1177
- # following command using Windows PowerShell.
1613
+ # enabled protocols using Transfer Family. If you know the group name,
1614
+ # you can view the SID values by running the following command using
1615
+ # Windows PowerShell.
1178
1616
  #
1179
1617
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
1180
1618
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -1182,10 +1620,10 @@ module Aws::Transfer
1182
1620
  # In that command, replace *YourGroupName* with the name of your
1183
1621
  # Active Directory group.
1184
1622
  #
1185
- # The regex used to validate this parameter is a string of characters
1186
- # consisting of uppercase and lowercase alphanumeric characters with
1187
- # no spaces. You can also include underscores or any of the following
1188
- # characters: =,.@:/-
1623
+ # The regular expression used to validate this parameter is a string
1624
+ # of characters consisting of uppercase and lowercase alphanumeric
1625
+ # characters with no spaces. You can also include underscores or any
1626
+ # of the following characters: =,.@:/-
1189
1627
  # @return [String]
1190
1628
  #
1191
1629
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccessRequest AWS API Documentation
@@ -1215,49 +1653,182 @@ module Aws::Transfer
1215
1653
  include Aws::Structure
1216
1654
  end
1217
1655
 
1218
- # @note When making an API call, you may pass DescribeExecutionRequest
1656
+ # @note When making an API call, you may pass DescribeAgreementRequest
1219
1657
  # data as a hash:
1220
1658
  #
1221
1659
  # {
1222
- # execution_id: "ExecutionId", # required
1223
- # workflow_id: "WorkflowId", # required
1660
+ # agreement_id: "AgreementId", # required
1661
+ # server_id: "ServerId", # required
1224
1662
  # }
1225
1663
  #
1226
- # @!attribute [rw] execution_id
1227
- # A unique identifier for the execution of a workflow.
1664
+ # @!attribute [rw] agreement_id
1665
+ # A unique identifier for the agreement. This identifier is returned
1666
+ # when you create an agreement.
1228
1667
  # @return [String]
1229
1668
  #
1230
- # @!attribute [rw] workflow_id
1231
- # A unique identifier for the workflow.
1669
+ # @!attribute [rw] server_id
1670
+ # The server ID that's associated with the agreement.
1232
1671
  # @return [String]
1233
1672
  #
1234
- # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecutionRequest AWS API Documentation
1673
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAgreementRequest AWS API Documentation
1235
1674
  #
1236
- class DescribeExecutionRequest < Struct.new(
1237
- :execution_id,
1238
- :workflow_id)
1675
+ class DescribeAgreementRequest < Struct.new(
1676
+ :agreement_id,
1677
+ :server_id)
1239
1678
  SENSITIVE = []
1240
1679
  include Aws::Structure
1241
1680
  end
1242
1681
 
1243
- # @!attribute [rw] workflow_id
1244
- # A unique identifier for the workflow.
1245
- # @return [String]
1246
- #
1247
- # @!attribute [rw] execution
1248
- # The structure that contains the details of the workflow' execution.
1249
- # @return [Types::DescribedExecution]
1682
+ # @!attribute [rw] agreement
1683
+ # The details for the specified agreement, returned as a
1684
+ # `DescribedAgreement` object.
1685
+ # @return [Types::DescribedAgreement]
1250
1686
  #
1251
- # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecutionResponse AWS API Documentation
1687
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAgreementResponse AWS API Documentation
1252
1688
  #
1253
- class DescribeExecutionResponse < Struct.new(
1254
- :workflow_id,
1255
- :execution)
1689
+ class DescribeAgreementResponse < Struct.new(
1690
+ :agreement)
1256
1691
  SENSITIVE = []
1257
1692
  include Aws::Structure
1258
1693
  end
1259
1694
 
1260
- # @note When making an API call, you may pass DescribeSecurityPolicyRequest
1695
+ # @note When making an API call, you may pass DescribeCertificateRequest
1696
+ # data as a hash:
1697
+ #
1698
+ # {
1699
+ # certificate_id: "CertificateId", # required
1700
+ # }
1701
+ #
1702
+ # @!attribute [rw] certificate_id
1703
+ # An array of identifiers for the imported certificates. You use this
1704
+ # identifier for working with profiles and partner profiles.
1705
+ # @return [String]
1706
+ #
1707
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeCertificateRequest AWS API Documentation
1708
+ #
1709
+ class DescribeCertificateRequest < Struct.new(
1710
+ :certificate_id)
1711
+ SENSITIVE = []
1712
+ include Aws::Structure
1713
+ end
1714
+
1715
+ # @!attribute [rw] certificate
1716
+ # The details for the specified certificate, returned as an object.
1717
+ # @return [Types::DescribedCertificate]
1718
+ #
1719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeCertificateResponse AWS API Documentation
1720
+ #
1721
+ class DescribeCertificateResponse < Struct.new(
1722
+ :certificate)
1723
+ SENSITIVE = []
1724
+ include Aws::Structure
1725
+ end
1726
+
1727
+ # @note When making an API call, you may pass DescribeConnectorRequest
1728
+ # data as a hash:
1729
+ #
1730
+ # {
1731
+ # connector_id: "ConnectorId", # required
1732
+ # }
1733
+ #
1734
+ # @!attribute [rw] connector_id
1735
+ # The unique identifier for the connector.
1736
+ # @return [String]
1737
+ #
1738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeConnectorRequest AWS API Documentation
1739
+ #
1740
+ class DescribeConnectorRequest < Struct.new(
1741
+ :connector_id)
1742
+ SENSITIVE = []
1743
+ include Aws::Structure
1744
+ end
1745
+
1746
+ # @!attribute [rw] connector
1747
+ # The structure that contains the details of the connector.
1748
+ # @return [Types::DescribedConnector]
1749
+ #
1750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeConnectorResponse AWS API Documentation
1751
+ #
1752
+ class DescribeConnectorResponse < Struct.new(
1753
+ :connector)
1754
+ SENSITIVE = []
1755
+ include Aws::Structure
1756
+ end
1757
+
1758
+ # @note When making an API call, you may pass DescribeExecutionRequest
1759
+ # data as a hash:
1760
+ #
1761
+ # {
1762
+ # execution_id: "ExecutionId", # required
1763
+ # workflow_id: "WorkflowId", # required
1764
+ # }
1765
+ #
1766
+ # @!attribute [rw] execution_id
1767
+ # A unique identifier for the execution of a workflow.
1768
+ # @return [String]
1769
+ #
1770
+ # @!attribute [rw] workflow_id
1771
+ # A unique identifier for the workflow.
1772
+ # @return [String]
1773
+ #
1774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecutionRequest AWS API Documentation
1775
+ #
1776
+ class DescribeExecutionRequest < Struct.new(
1777
+ :execution_id,
1778
+ :workflow_id)
1779
+ SENSITIVE = []
1780
+ include Aws::Structure
1781
+ end
1782
+
1783
+ # @!attribute [rw] workflow_id
1784
+ # A unique identifier for the workflow.
1785
+ # @return [String]
1786
+ #
1787
+ # @!attribute [rw] execution
1788
+ # The structure that contains the details of the workflow' execution.
1789
+ # @return [Types::DescribedExecution]
1790
+ #
1791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeExecutionResponse AWS API Documentation
1792
+ #
1793
+ class DescribeExecutionResponse < Struct.new(
1794
+ :workflow_id,
1795
+ :execution)
1796
+ SENSITIVE = []
1797
+ include Aws::Structure
1798
+ end
1799
+
1800
+ # @note When making an API call, you may pass DescribeProfileRequest
1801
+ # data as a hash:
1802
+ #
1803
+ # {
1804
+ # profile_id: "ProfileId", # required
1805
+ # }
1806
+ #
1807
+ # @!attribute [rw] profile_id
1808
+ # The identifier of the profile that you want described.
1809
+ # @return [String]
1810
+ #
1811
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeProfileRequest AWS API Documentation
1812
+ #
1813
+ class DescribeProfileRequest < Struct.new(
1814
+ :profile_id)
1815
+ SENSITIVE = []
1816
+ include Aws::Structure
1817
+ end
1818
+
1819
+ # @!attribute [rw] profile
1820
+ # The details of the specified profile, returned as an object.
1821
+ # @return [Types::DescribedProfile]
1822
+ #
1823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeProfileResponse AWS API Documentation
1824
+ #
1825
+ class DescribeProfileResponse < Struct.new(
1826
+ :profile)
1827
+ SENSITIVE = []
1828
+ include Aws::Structure
1829
+ end
1830
+
1831
+ # @note When making an API call, you may pass DescribeSecurityPolicyRequest
1261
1832
  # data as a hash:
1262
1833
  #
1263
1834
  # {
@@ -1336,8 +1907,8 @@ module Aws::Transfer
1336
1907
  #
1337
1908
  # @!attribute [rw] user_name
1338
1909
  # The name of the user assigned to one or more servers. User names are
1339
- # part of the sign-in credentials to use the Amazon Web Services
1340
- # Transfer Family service and perform file transfer tasks.
1910
+ # part of the sign-in credentials to use the Transfer Family service
1911
+ # and perform file transfer tasks.
1341
1912
  # @return [String]
1342
1913
  #
1343
1914
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUserRequest AWS API Documentation
@@ -1414,10 +1985,10 @@ module Aws::Transfer
1414
1985
  # make them visible. You must specify the `Entry` and `Target` pair,
1415
1986
  # where `Entry` shows how the path is made visible and `Target` is the
1416
1987
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
1417
- # it is displayed as is. You also must ensure that your Amazon Web
1418
- # Services Identity and Access Management (IAM) role provides access
1419
- # to paths in `Target`. This value can only be set when
1420
- # `HomeDirectoryType` is set to *LOGICAL*.
1988
+ # it is displayed as is. You also must ensure that your Identity and
1989
+ # Access Management (IAM) role provides access to paths in `Target`.
1990
+ # This value can be set only when `HomeDirectoryType` is set to
1991
+ # *LOGICAL*.
1421
1992
  #
1422
1993
  # In most cases, you can use this value instead of the session policy
1423
1994
  # to lock down the associated access to the designated home directory
@@ -1426,21 +1997,22 @@ module Aws::Transfer
1426
1997
  # @return [Array<Types::HomeDirectoryMapEntry>]
1427
1998
  #
1428
1999
  # @!attribute [rw] home_directory_type
1429
- # The type of landing directory (folder) you want your users' home
1430
- # directory to be when they log into the server. If you set it to
1431
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
1432
- # as is in their file transfer protocol clients. If you set it
2000
+ # The type of landing directory (folder) that you want your users'
2001
+ # home directory to be when they log in to the server. If you set it
2002
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
2003
+ # paths as is in their file transfer protocol clients. If you set it
1433
2004
  # `LOGICAL`, you need to provide mappings in the
1434
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
1435
- # paths visible to your users.
2005
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
2006
+ # EFS paths visible to your users.
1436
2007
  # @return [String]
1437
2008
  #
1438
2009
  # @!attribute [rw] policy
1439
- # A session policy for your user so that you can use the same IAM role
1440
- # across multiple users. This policy scopes down user access to
1441
- # portions of their Amazon S3 bucket. Variables that you can use
1442
- # inside this policy include `$\{Transfer:UserName\}`,
1443
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
2010
+ # A session policy for your user so that you can use the same Identity
2011
+ # and Access Management (IAM) role across multiple users. This policy
2012
+ # scopes down a user's access to portions of their Amazon S3 bucket.
2013
+ # Variables that you can use inside this policy include
2014
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
2015
+ # `$\{Transfer:HomeBucket\}`.
1444
2016
  # @return [String]
1445
2017
  #
1446
2018
  # @!attribute [rw] posix_profile
@@ -1453,23 +2025,23 @@ module Aws::Transfer
1453
2025
  # @return [Types::PosixProfile]
1454
2026
  #
1455
2027
  # @!attribute [rw] role
1456
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
1457
- # controls your users' access to your Amazon S3 bucket or EFS file
1458
- # system. The policies attached to this role determine the level of
1459
- # access that you want to provide your users when transferring files
1460
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
1461
- # role should also contain a trust relationship that allows the server
1462
- # to access your resources when servicing your users' transfer
1463
- # requests.
2028
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
2029
+ # (IAM) role that controls your users' access to your Amazon S3
2030
+ # bucket or Amazon EFS file system. The policies attached to this role
2031
+ # determine the level of access that you want to provide your users
2032
+ # when transferring files into and out of your Amazon S3 bucket or
2033
+ # Amazon EFS file system. The IAM role should also contain a trust
2034
+ # relationship that allows the server to access your resources when
2035
+ # servicing your users' transfer requests.
1464
2036
  # @return [String]
1465
2037
  #
1466
2038
  # @!attribute [rw] external_id
1467
2039
  # A unique identifier that is required to identify specific groups
1468
2040
  # within your directory. The users of the group that you associate
1469
2041
  # have access to your Amazon S3 or Amazon EFS resources over the
1470
- # enabled protocols using Amazon Web Services Transfer Family. If you
1471
- # know the group name, you can view the SID values by running the
1472
- # following command using Windows PowerShell.
2042
+ # enabled protocols using Transfer Family. If you know the group name,
2043
+ # you can view the SID values by running the following command using
2044
+ # Windows PowerShell.
1473
2045
  #
1474
2046
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
1475
2047
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -1477,10 +2049,10 @@ module Aws::Transfer
1477
2049
  # In that command, replace *YourGroupName* with the name of your
1478
2050
  # Active Directory group.
1479
2051
  #
1480
- # The regex used to validate this parameter is a string of characters
1481
- # consisting of uppercase and lowercase alphanumeric characters with
1482
- # no spaces. You can also include underscores or any of the following
1483
- # characters: =,.@:/-
2052
+ # The regular expression used to validate this parameter is a string
2053
+ # of characters consisting of uppercase and lowercase alphanumeric
2054
+ # characters with no spaces. You can also include underscores or any
2055
+ # of the following characters: =,.@:/-
1484
2056
  # @return [String]
1485
2057
  #
1486
2058
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedAccess AWS API Documentation
@@ -1497,6 +2069,226 @@ module Aws::Transfer
1497
2069
  include Aws::Structure
1498
2070
  end
1499
2071
 
2072
+ # Describes the properties of an agreement.
2073
+ #
2074
+ # @!attribute [rw] arn
2075
+ # The unique Amazon Resource Name (ARN) for the agreement.
2076
+ # @return [String]
2077
+ #
2078
+ # @!attribute [rw] agreement_id
2079
+ # A unique identifier for the agreement. This identifier is returned
2080
+ # when you create an agreement.
2081
+ # @return [String]
2082
+ #
2083
+ # @!attribute [rw] description
2084
+ # The name or short description that's used to identify the
2085
+ # agreement.
2086
+ # @return [String]
2087
+ #
2088
+ # @!attribute [rw] status
2089
+ # The current status of the agreement, either `ACTIVE` or `INACTIVE`.
2090
+ # @return [String]
2091
+ #
2092
+ # @!attribute [rw] server_id
2093
+ # A system-assigned unique identifier for a server instance. This
2094
+ # identifier indicates the specific server that the agreement uses.
2095
+ # @return [String]
2096
+ #
2097
+ # @!attribute [rw] local_profile_id
2098
+ # A unique identifier for the AS2 local profile.
2099
+ # @return [String]
2100
+ #
2101
+ # @!attribute [rw] partner_profile_id
2102
+ # A unique identifier for the partner profile used in the agreement.
2103
+ # @return [String]
2104
+ #
2105
+ # @!attribute [rw] base_directory
2106
+ # The landing directory (folder) for files that are transferred by
2107
+ # using the AS2 protocol.
2108
+ # @return [String]
2109
+ #
2110
+ # @!attribute [rw] access_role
2111
+ # With AS2, you can send files by calling `StartFileTransfer` and
2112
+ # specifying the file paths in the request parameter, `SendFilePaths`.
2113
+ # We use the file’s parent directory (for example, for
2114
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
2115
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
2116
+ # store the MDN when we receive them from the partner, and write a
2117
+ # final JSON file containing relevant metadata of the transmission.
2118
+ # So, the `AccessRole` needs to provide read and write access to the
2119
+ # parent directory of the file location used in the
2120
+ # `StartFileTransfer` request. Additionally, you need to provide read
2121
+ # and write access to the parent directory of the files that you
2122
+ # intend to send with `StartFileTransfer`.
2123
+ # @return [String]
2124
+ #
2125
+ # @!attribute [rw] tags
2126
+ # Key-value pairs that can be used to group and search for agreements.
2127
+ # @return [Array<Types::Tag>]
2128
+ #
2129
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedAgreement AWS API Documentation
2130
+ #
2131
+ class DescribedAgreement < Struct.new(
2132
+ :arn,
2133
+ :agreement_id,
2134
+ :description,
2135
+ :status,
2136
+ :server_id,
2137
+ :local_profile_id,
2138
+ :partner_profile_id,
2139
+ :base_directory,
2140
+ :access_role,
2141
+ :tags)
2142
+ SENSITIVE = []
2143
+ include Aws::Structure
2144
+ end
2145
+
2146
+ # Describes the properties of a certificate.
2147
+ #
2148
+ # @!attribute [rw] arn
2149
+ # The unique Amazon Resource Name (ARN) for the certificate.
2150
+ # @return [String]
2151
+ #
2152
+ # @!attribute [rw] certificate_id
2153
+ # An array of identifiers for the imported certificates. You use this
2154
+ # identifier for working with profiles and partner profiles.
2155
+ # @return [String]
2156
+ #
2157
+ # @!attribute [rw] usage
2158
+ # Specifies whether this certificate is used for signing or
2159
+ # encryption.
2160
+ # @return [String]
2161
+ #
2162
+ # @!attribute [rw] status
2163
+ # The certificate can be either `ACTIVE`, `PENDING_ROTATION`, or
2164
+ # `INACTIVE`. `PENDING_ROTATION` means that this certificate will
2165
+ # replace the current certificate when it expires.
2166
+ # @return [String]
2167
+ #
2168
+ # @!attribute [rw] certificate
2169
+ # The file name for the certificate.
2170
+ # @return [String]
2171
+ #
2172
+ # @!attribute [rw] certificate_chain
2173
+ # The list of certificates that make up the chain for the certificate.
2174
+ # @return [String]
2175
+ #
2176
+ # @!attribute [rw] active_date
2177
+ # An optional date that specifies when the certificate becomes active.
2178
+ # @return [Time]
2179
+ #
2180
+ # @!attribute [rw] inactive_date
2181
+ # An optional date that specifies when the certificate becomes
2182
+ # inactive.
2183
+ # @return [Time]
2184
+ #
2185
+ # @!attribute [rw] serial
2186
+ # The serial number for the certificate.
2187
+ # @return [String]
2188
+ #
2189
+ # @!attribute [rw] not_before_date
2190
+ # The earliest date that the certificate is valid.
2191
+ # @return [Time]
2192
+ #
2193
+ # @!attribute [rw] not_after_date
2194
+ # The final date that the certificate is valid.
2195
+ # @return [Time]
2196
+ #
2197
+ # @!attribute [rw] type
2198
+ # If a private key has been specified for the certificate, its type is
2199
+ # `CERTIFICATE_WITH_PRIVATE_KEY`. If there is no private key, the type
2200
+ # is `CERTIFICATE`.
2201
+ # @return [String]
2202
+ #
2203
+ # @!attribute [rw] description
2204
+ # The name or description that's used to identity the certificate.
2205
+ # @return [String]
2206
+ #
2207
+ # @!attribute [rw] tags
2208
+ # Key-value pairs that can be used to group and search for
2209
+ # certificates.
2210
+ # @return [Array<Types::Tag>]
2211
+ #
2212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedCertificate AWS API Documentation
2213
+ #
2214
+ class DescribedCertificate < Struct.new(
2215
+ :arn,
2216
+ :certificate_id,
2217
+ :usage,
2218
+ :status,
2219
+ :certificate,
2220
+ :certificate_chain,
2221
+ :active_date,
2222
+ :inactive_date,
2223
+ :serial,
2224
+ :not_before_date,
2225
+ :not_after_date,
2226
+ :type,
2227
+ :description,
2228
+ :tags)
2229
+ SENSITIVE = [:certificate, :certificate_chain]
2230
+ include Aws::Structure
2231
+ end
2232
+
2233
+ # Describes the parameters for the connector, as identified by the
2234
+ # `ConnectorId`.
2235
+ #
2236
+ # @!attribute [rw] arn
2237
+ # The unique Amazon Resource Name (ARN) for the connector.
2238
+ # @return [String]
2239
+ #
2240
+ # @!attribute [rw] connector_id
2241
+ # The unique identifier for the connector.
2242
+ # @return [String]
2243
+ #
2244
+ # @!attribute [rw] url
2245
+ # The URL of the partner's AS2 endpoint.
2246
+ # @return [String]
2247
+ #
2248
+ # @!attribute [rw] as_2_config
2249
+ # A structure that contains the parameters for a connector object.
2250
+ # @return [Types::As2ConnectorConfig]
2251
+ #
2252
+ # @!attribute [rw] access_role
2253
+ # With AS2, you can send files by calling `StartFileTransfer` and
2254
+ # specifying the file paths in the request parameter, `SendFilePaths`.
2255
+ # We use the file’s parent directory (for example, for
2256
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
2257
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
2258
+ # store the MDN when we receive them from the partner, and write a
2259
+ # final JSON file containing relevant metadata of the transmission.
2260
+ # So, the `AccessRole` needs to provide read and write access to the
2261
+ # parent directory of the file location used in the
2262
+ # `StartFileTransfer` request. Additionally, you need to provide read
2263
+ # and write access to the parent directory of the files that you
2264
+ # intend to send with `StartFileTransfer`.
2265
+ # @return [String]
2266
+ #
2267
+ # @!attribute [rw] logging_role
2268
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
2269
+ # (IAM) role that allows a connector to turn on CloudWatch logging for
2270
+ # Amazon S3 events. When set, you can view connector activity in your
2271
+ # CloudWatch logs.
2272
+ # @return [String]
2273
+ #
2274
+ # @!attribute [rw] tags
2275
+ # Key-value pairs that can be used to group and search for connectors.
2276
+ # @return [Array<Types::Tag>]
2277
+ #
2278
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedConnector AWS API Documentation
2279
+ #
2280
+ class DescribedConnector < Struct.new(
2281
+ :arn,
2282
+ :connector_id,
2283
+ :url,
2284
+ :as_2_config,
2285
+ :access_role,
2286
+ :logging_role,
2287
+ :tags)
2288
+ SENSITIVE = []
2289
+ include Aws::Structure
2290
+ end
2291
+
1500
2292
  # The details for an execution object.
1501
2293
  #
1502
2294
  # @!attribute [rw] execution_id
@@ -1511,8 +2303,8 @@ module Aws::Transfer
1511
2303
  # @return [Types::FileLocation]
1512
2304
  #
1513
2305
  # @!attribute [rw] service_metadata
1514
- # A container object for the session details associated with a
1515
- # workflow.
2306
+ # A container object for the session details that are associated with
2307
+ # a workflow.
1516
2308
  # @return [Types::ServiceMetadata]
1517
2309
  #
1518
2310
  # @!attribute [rw] execution_role
@@ -1558,6 +2350,56 @@ module Aws::Transfer
1558
2350
  include Aws::Structure
1559
2351
  end
1560
2352
 
2353
+ # The details for a local or partner AS2 profile. profile.
2354
+ #
2355
+ # @!attribute [rw] arn
2356
+ # The unique Amazon Resource Name (ARN) for the profile.
2357
+ # @return [String]
2358
+ #
2359
+ # @!attribute [rw] profile_id
2360
+ # A unique identifier for the local or partner AS2 profile.
2361
+ # @return [String]
2362
+ #
2363
+ # @!attribute [rw] profile_type
2364
+ # Indicates whether to list only `LOCAL` type profiles or only
2365
+ # `PARTNER` type profiles. If not supplied in the request, the command
2366
+ # lists all types of profiles.
2367
+ # @return [String]
2368
+ #
2369
+ # @!attribute [rw] as_2_id
2370
+ # The `As2Id` is the *AS2-name*, as defined in the [RFC 4130][1]. For
2371
+ # inbound transfers, this is the `AS2-From` header for the AS2
2372
+ # messages sent from the partner. For outbound connectors, this is the
2373
+ # `AS2-To` header for the AS2 messages sent to the partner using the
2374
+ # `StartFileTransfer` API operation. This ID cannot include spaces.
2375
+ #
2376
+ #
2377
+ #
2378
+ # [1]: https://datatracker.ietf.org/doc/html/rfc4130
2379
+ # @return [String]
2380
+ #
2381
+ # @!attribute [rw] certificate_ids
2382
+ # An array of identifiers for the imported certificates. You use this
2383
+ # identifier for working with profiles and partner profiles.
2384
+ # @return [Array<String>]
2385
+ #
2386
+ # @!attribute [rw] tags
2387
+ # Key-value pairs that can be used to group and search for profiles.
2388
+ # @return [Array<Types::Tag>]
2389
+ #
2390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedProfile AWS API Documentation
2391
+ #
2392
+ class DescribedProfile < Struct.new(
2393
+ :arn,
2394
+ :profile_id,
2395
+ :profile_type,
2396
+ :as_2_id,
2397
+ :certificate_ids,
2398
+ :tags)
2399
+ SENSITIVE = []
2400
+ include Aws::Structure
2401
+ end
2402
+
1561
2403
  # Describes the properties of a security policy that was specified. For
1562
2404
  # more information about security policies, see [Working with security
1563
2405
  # policies][1].
@@ -1626,9 +2468,27 @@ module Aws::Transfer
1626
2468
  # @!attribute [rw] protocol_details
1627
2469
  # The protocol settings that are configured for your server.
1628
2470
  #
1629
- # Use the `PassiveIp` parameter to indicate passive mode. Enter a
1630
- # single dotted-quad IPv4 address, such as the external IP address of
1631
- # a firewall, router, or load balancer.
2471
+ # * To indicate passive mode (for FTP and FTPS protocols), use the
2472
+ # `PassiveIp` parameter. Enter a single dotted-quad IPv4 address,
2473
+ # such as the external IP address of a firewall, router, or load
2474
+ # balancer.
2475
+ #
2476
+ # * To ignore the error that is generated when the client attempts to
2477
+ # use the `SETSTAT` command on a file that you are uploading to an
2478
+ # Amazon S3 bucket, use the `SetStatOption` parameter. To have the
2479
+ # Transfer Family server ignore the `SETSTAT` command and upload
2480
+ # files without needing to make any changes to your SFTP client, set
2481
+ # the value to `ENABLE_NO_OP`. If you set the `SetStatOption`
2482
+ # parameter to `ENABLE_NO_OP`, Transfer Family generates a log entry
2483
+ # to Amazon CloudWatch Logs, so that you can determine when the
2484
+ # client is making a `SETSTAT` call.
2485
+ #
2486
+ # * To determine whether your Transfer Family server resumes recent,
2487
+ # negotiated sessions through a unique session ID, use the
2488
+ # `TlsSessionResumptionMode` parameter.
2489
+ #
2490
+ # * `As2Transports` indicates the transport method for the AS2
2491
+ # messages. Currently, only HTTP is supported.
1632
2492
  # @return [Types::ProtocolDetails]
1633
2493
  #
1634
2494
  # @!attribute [rw] domain
@@ -1639,10 +2499,10 @@ module Aws::Transfer
1639
2499
  # @!attribute [rw] endpoint_details
1640
2500
  # The virtual private cloud (VPC) endpoint settings that are
1641
2501
  # configured for your server. When you host your endpoint within your
1642
- # VPC, you can make it accessible only to resources within your VPC,
1643
- # or you can attach Elastic IP addresses and make it accessible to
1644
- # clients over the internet. Your VPC's default security groups are
1645
- # automatically assigned to your endpoint.
2502
+ # VPC, you can make your endpoint accessible only to resources within
2503
+ # your VPC, or you can attach Elastic IP addresses and make your
2504
+ # endpoint accessible to clients over the internet. Your VPC's
2505
+ # default security groups are automatically assigned to your endpoint.
1646
2506
  # @return [Types::EndpointDetails]
1647
2507
  #
1648
2508
  # @!attribute [rw] endpoint_type
@@ -1664,38 +2524,37 @@ module Aws::Transfer
1664
2524
  # @return [Types::IdentityProviderDetails]
1665
2525
  #
1666
2526
  # @!attribute [rw] identity_provider_type
1667
- # Specifies the mode of authentication for a server. The default value
1668
- # is `SERVICE_MANAGED`, which allows you to store and access user
1669
- # credentials within the Amazon Web Services Transfer Family service.
2527
+ # The mode of authentication for a server. The default value is
2528
+ # `SERVICE_MANAGED`, which allows you to store and access user
2529
+ # credentials within the Transfer Family service.
1670
2530
  #
1671
2531
  # Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory
1672
- # groups in Amazon Web Services Managed Active Directory or Microsoft
1673
- # Active Directory in your on-premises environment or in Amazon Web
1674
- # Services using AD Connectors. This option also requires you to
1675
- # provide a Directory ID using the `IdentityProviderDetails`
2532
+ # groups in Directory Service for Microsoft Active Directory or
2533
+ # Microsoft Active Directory in your on-premises environment or in
2534
+ # Amazon Web Services using AD Connector. This option also requires
2535
+ # you to provide a Directory ID by using the `IdentityProviderDetails`
1676
2536
  # parameter.
1677
2537
  #
1678
2538
  # Use the `API_GATEWAY` value to integrate with an identity provider
1679
2539
  # of your choosing. The `API_GATEWAY` setting requires you to provide
1680
- # an API Gateway endpoint URL to call for authentication using the
1681
- # `IdentityProviderDetails` parameter.
2540
+ # an Amazon API Gateway endpoint URL to call for authentication by
2541
+ # using the `IdentityProviderDetails` parameter.
1682
2542
  #
1683
- # Use the `AWS_LAMBDA` value to directly use a Lambda function as your
1684
- # identity provider. If you choose this value, you must specify the
1685
- # ARN for the lambda function in the `Function` parameter for the
2543
+ # Use the `AWS_LAMBDA` value to directly use an Lambda function as
2544
+ # your identity provider. If you choose this value, you must specify
2545
+ # the ARN for the Lambda function in the `Function` parameter or the
1686
2546
  # `IdentityProviderDetails` data type.
1687
2547
  # @return [String]
1688
2548
  #
1689
2549
  # @!attribute [rw] logging_role
1690
- # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
1691
- # Identity and Access Management (IAM) role that allows a server to
1692
- # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
1693
- # events. When set, user activity can be viewed in your CloudWatch
1694
- # logs.
2550
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
2551
+ # (IAM) role that allows a server to turn on Amazon CloudWatch logging
2552
+ # for Amazon S3 or Amazon EFSevents. When set, you can view user
2553
+ # activity in your CloudWatch logs.
1695
2554
  # @return [String]
1696
2555
  #
1697
2556
  # @!attribute [rw] post_authentication_login_banner
1698
- # Specify a string to display when users connect to a server. This
2557
+ # Specifies a string to display when users connect to a server. This
1699
2558
  # string is displayed after the user authenticates.
1700
2559
  #
1701
2560
  # <note markdown="1"> The SFTP protocol does not support post-authentication display
@@ -1705,9 +2564,9 @@ module Aws::Transfer
1705
2564
  # @return [String]
1706
2565
  #
1707
2566
  # @!attribute [rw] pre_authentication_login_banner
1708
- # Specify a string to display when users connect to a server. This
2567
+ # Specifies a string to display when users connect to a server. This
1709
2568
  # string is displayed before the user authenticates. For example, the
1710
- # following banner displays details about using the system.
2569
+ # following banner displays details about using the system:
1711
2570
  #
1712
2571
  # `This system is for the use of authorized users only. Individuals
1713
2572
  # using this computer system without authority, or in excess of their
@@ -1727,6 +2586,29 @@ module Aws::Transfer
1727
2586
  # encryption
1728
2587
  #
1729
2588
  # * `FTP` (File Transfer Protocol): Unencrypted file transfer
2589
+ #
2590
+ # * `AS2` (Applicability Statement 2): used for transporting
2591
+ # structured business-to-business data
2592
+ #
2593
+ # <note markdown="1"> * If you select `FTPS`, you must choose a certificate stored in
2594
+ # Certificate Manager (ACM) which is used to identify your server
2595
+ # when clients connect to it over FTPS.
2596
+ #
2597
+ # * If `Protocol` includes either `FTP` or `FTPS`, then the
2598
+ # `EndpointType` must be `VPC` and the `IdentityProviderType` must
2599
+ # be `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
2600
+ #
2601
+ # * If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot
2602
+ # be associated.
2603
+ #
2604
+ # * If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
2605
+ # to `PUBLIC` and the `IdentityProviderType` can be set to
2606
+ # `SERVICE_MANAGED`.
2607
+ #
2608
+ # * If `Protocol` includes `AS2`, then the `EndpointType` must be
2609
+ # `VPC`, and domain must be Amazon S3.
2610
+ #
2611
+ # </note>
1730
2612
  # @return [Array<String>]
1731
2613
  #
1732
2614
  # @!attribute [rw] security_policy_name
@@ -1740,10 +2622,10 @@ module Aws::Transfer
1740
2622
  # @return [String]
1741
2623
  #
1742
2624
  # @!attribute [rw] state
1743
- # Specifies the condition of a server for the server that was
1744
- # described. A value of `ONLINE` indicates that the server can accept
1745
- # jobs and transfer files. A `State` value of `OFFLINE` means that the
1746
- # server cannot perform file transfer operations.
2625
+ # The condition of the server that was described. A value of `ONLINE`
2626
+ # indicates that the server can accept jobs and transfer files. A
2627
+ # `State` value of `OFFLINE` means that the server cannot perform file
2628
+ # transfer operations.
1747
2629
  #
1748
2630
  # The states of `STARTING` and `STOPPING` indicate that the server is
1749
2631
  # in an intermediate state, either not fully able to respond, or not
@@ -1763,7 +2645,7 @@ module Aws::Transfer
1763
2645
  #
1764
2646
  # @!attribute [rw] workflow_details
1765
2647
  # Specifies the workflow ID for the workflow to assign and the
1766
- # execution role used for executing the workflow.
2648
+ # execution role that's used for executing the workflow.
1767
2649
  # @return [Types::WorkflowDetails]
1768
2650
  #
1769
2651
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedServer AWS API Documentation
@@ -1812,10 +2694,10 @@ module Aws::Transfer
1812
2694
  # make them visible. You must specify the `Entry` and `Target` pair,
1813
2695
  # where `Entry` shows how the path is made visible and `Target` is the
1814
2696
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
1815
- # it is displayed as is. You also must ensure that your Amazon Web
1816
- # Services Identity and Access Management (IAM) role provides access
1817
- # to paths in `Target`. This value can only be set when
1818
- # `HomeDirectoryType` is set to *LOGICAL*.
2697
+ # it is displayed as is. You also must ensure that your Identity and
2698
+ # Access Management (IAM) role provides access to paths in `Target`.
2699
+ # This value can be set only when `HomeDirectoryType` is set to
2700
+ # *LOGICAL*.
1819
2701
  #
1820
2702
  # In most cases, you can use this value instead of the session policy
1821
2703
  # to lock your user down to the designated home directory
@@ -1824,21 +2706,22 @@ module Aws::Transfer
1824
2706
  # @return [Array<Types::HomeDirectoryMapEntry>]
1825
2707
  #
1826
2708
  # @!attribute [rw] home_directory_type
1827
- # The type of landing directory (folder) you want your users' home
1828
- # directory to be when they log into the server. If you set it to
1829
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
1830
- # as is in their file transfer protocol clients. If you set it
2709
+ # The type of landing directory (folder) that you want your users'
2710
+ # home directory to be when they log in to the server. If you set it
2711
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
2712
+ # paths as is in their file transfer protocol clients. If you set it
1831
2713
  # `LOGICAL`, you need to provide mappings in the
1832
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
1833
- # paths visible to your users.
2714
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
2715
+ # EFS paths visible to your users.
1834
2716
  # @return [String]
1835
2717
  #
1836
2718
  # @!attribute [rw] policy
1837
- # A session policy for your user so that you can use the same IAM role
1838
- # across multiple users. This policy scopes down user access to
1839
- # portions of their Amazon S3 bucket. Variables that you can use
1840
- # inside this policy include `$\{Transfer:UserName\}`,
1841
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
2719
+ # A session policy for your user so that you can use the same Identity
2720
+ # and Access Management (IAM) role across multiple users. This policy
2721
+ # scopes down a user's access to portions of their Amazon S3 bucket.
2722
+ # Variables that you can use inside this policy include
2723
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
2724
+ # `$\{Transfer:HomeBucket\}`.
1842
2725
  # @return [String]
1843
2726
  #
1844
2727
  # @!attribute [rw] posix_profile
@@ -1852,14 +2735,14 @@ module Aws::Transfer
1852
2735
  # @return [Types::PosixProfile]
1853
2736
  #
1854
2737
  # @!attribute [rw] role
1855
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
1856
- # controls your users' access to your Amazon S3 bucket or EFS file
1857
- # system. The policies attached to this role determine the level of
1858
- # access that you want to provide your users when transferring files
1859
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
1860
- # role should also contain a trust relationship that allows the server
1861
- # to access your resources when servicing your users' transfer
1862
- # requests.
2738
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
2739
+ # (IAM) role that controls your users' access to your Amazon S3
2740
+ # bucket or Amazon EFS file system. The policies attached to this role
2741
+ # determine the level of access that you want to provide your users
2742
+ # when transferring files into and out of your Amazon S3 bucket or
2743
+ # Amazon EFS file system. The IAM role should also contain a trust
2744
+ # relationship that allows the server to access your resources when
2745
+ # servicing your users' transfer requests.
1863
2746
  # @return [String]
1864
2747
  #
1865
2748
  # @!attribute [rw] ssh_public_keys
@@ -2144,13 +3027,13 @@ module Aws::Transfer
2144
3027
  # @!attribute [rw] step_type
2145
3028
  # One of the available step types.
2146
3029
  #
2147
- # * *COPY*\: copy the file to another location
3030
+ # * *COPY*\: Copy the file to another location.
2148
3031
  #
2149
- # * *CUSTOM*\: custom step with a lambda target
3032
+ # * *CUSTOM*\: Perform a custom step with an Lambda function target.
2150
3033
  #
2151
- # * *DELETE*\: delete the file
3034
+ # * *DELETE*\: Delete the file.
2152
3035
  #
2153
- # * *TAG*\: add a tag to the file
3036
+ # * *TAG*\: Add a tag to the file.
2154
3037
  # @return [String]
2155
3038
  #
2156
3039
  # @!attribute [rw] outputs
@@ -2160,7 +3043,7 @@ module Aws::Transfer
2160
3043
  #
2161
3044
  # @!attribute [rw] error
2162
3045
  # Specifies the details for an error, if it occurred during execution
2163
- # of the specified workfow step.
3046
+ # of the specified workflow step.
2164
3047
  # @return [Types::ExecutionError]
2165
3048
  #
2166
3049
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ExecutionStepResult AWS API Documentation
@@ -2177,7 +3060,7 @@ module Aws::Transfer
2177
3060
  #
2178
3061
  # @!attribute [rw] s3_file_location
2179
3062
  # Specifies the S3 details for the file being used, such as bucket,
2180
- # Etag, and so forth.
3063
+ # ETag, and so forth.
2181
3064
  # @return [Types::S3FileLocation]
2182
3065
  #
2183
3066
  # @!attribute [rw] efs_file_location
@@ -2250,8 +3133,8 @@ module Aws::Transfer
2250
3133
  # @return [String]
2251
3134
  #
2252
3135
  # @!attribute [rw] directory_id
2253
- # The identifier of the Amazon Web Services Directory Service
2254
- # directory that you want to stop sharing.
3136
+ # The identifier of the Directory Service directory that you want to
3137
+ # stop sharing.
2255
3138
  # @return [String]
2256
3139
  #
2257
3140
  # @!attribute [rw] function
@@ -2269,6 +3152,90 @@ module Aws::Transfer
2269
3152
  include Aws::Structure
2270
3153
  end
2271
3154
 
3155
+ # @note When making an API call, you may pass ImportCertificateRequest
3156
+ # data as a hash:
3157
+ #
3158
+ # {
3159
+ # usage: "SIGNING", # required, accepts SIGNING, ENCRYPTION
3160
+ # certificate: "CertificateBodyType", # required
3161
+ # certificate_chain: "CertificateChainType",
3162
+ # private_key: "PrivateKeyType",
3163
+ # active_date: Time.now,
3164
+ # inactive_date: Time.now,
3165
+ # description: "Description",
3166
+ # tags: [
3167
+ # {
3168
+ # key: "TagKey", # required
3169
+ # value: "TagValue", # required
3170
+ # },
3171
+ # ],
3172
+ # }
3173
+ #
3174
+ # @!attribute [rw] usage
3175
+ # Specifies whether this certificate is used for signing or
3176
+ # encryption.
3177
+ # @return [String]
3178
+ #
3179
+ # @!attribute [rw] certificate
3180
+ # The file that contains the certificate to import.
3181
+ # @return [String]
3182
+ #
3183
+ # @!attribute [rw] certificate_chain
3184
+ # An optional list of certificates that make up the chain for the
3185
+ # certificate that's being imported.
3186
+ # @return [String]
3187
+ #
3188
+ # @!attribute [rw] private_key
3189
+ # The file that contains the private key for the certificate that's
3190
+ # being imported.
3191
+ # @return [String]
3192
+ #
3193
+ # @!attribute [rw] active_date
3194
+ # An optional date that specifies when the certificate becomes active.
3195
+ # @return [Time]
3196
+ #
3197
+ # @!attribute [rw] inactive_date
3198
+ # An optional date that specifies when the certificate becomes
3199
+ # inactive.
3200
+ # @return [Time]
3201
+ #
3202
+ # @!attribute [rw] description
3203
+ # A short description that helps identify the certificate.
3204
+ # @return [String]
3205
+ #
3206
+ # @!attribute [rw] tags
3207
+ # Key-value pairs that can be used to group and search for
3208
+ # certificates.
3209
+ # @return [Array<Types::Tag>]
3210
+ #
3211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportCertificateRequest AWS API Documentation
3212
+ #
3213
+ class ImportCertificateRequest < Struct.new(
3214
+ :usage,
3215
+ :certificate,
3216
+ :certificate_chain,
3217
+ :private_key,
3218
+ :active_date,
3219
+ :inactive_date,
3220
+ :description,
3221
+ :tags)
3222
+ SENSITIVE = [:certificate, :certificate_chain, :private_key]
3223
+ include Aws::Structure
3224
+ end
3225
+
3226
+ # @!attribute [rw] certificate_id
3227
+ # An array of identifiers for the imported certificates. You use this
3228
+ # identifier for working with profiles and partner profiles.
3229
+ # @return [String]
3230
+ #
3231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportCertificateResponse AWS API Documentation
3232
+ #
3233
+ class ImportCertificateResponse < Struct.new(
3234
+ :certificate_id)
3235
+ SENSITIVE = []
3236
+ include Aws::Structure
3237
+ end
3238
+
2272
3239
  # @note When making an API call, you may pass ImportSshPublicKeyRequest
2273
3240
  # data as a hash:
2274
3241
  #
@@ -2284,6 +3251,8 @@ module Aws::Transfer
2284
3251
  #
2285
3252
  # @!attribute [rw] ssh_public_key_body
2286
3253
  # The public key portion of an SSH key pair.
3254
+ #
3255
+ # Transfer Family accepts RSA, ECDSA, and ED25519 keys.
2287
3256
  # @return [String]
2288
3257
  #
2289
3258
  # @!attribute [rw] user_name
@@ -2463,6 +3432,154 @@ module Aws::Transfer
2463
3432
  include Aws::Structure
2464
3433
  end
2465
3434
 
3435
+ # @note When making an API call, you may pass ListAgreementsRequest
3436
+ # data as a hash:
3437
+ #
3438
+ # {
3439
+ # max_results: 1,
3440
+ # next_token: "NextToken",
3441
+ # server_id: "ServerId", # required
3442
+ # }
3443
+ #
3444
+ # @!attribute [rw] max_results
3445
+ # The maximum number of agreements to return.
3446
+ # @return [Integer]
3447
+ #
3448
+ # @!attribute [rw] next_token
3449
+ # When you can get additional results from the `ListAgreements` call,
3450
+ # a `NextToken` parameter is returned in the output. You can then pass
3451
+ # in a subsequent command to the `NextToken` parameter to continue
3452
+ # listing additional agreements.
3453
+ # @return [String]
3454
+ #
3455
+ # @!attribute [rw] server_id
3456
+ # The identifier of the server for which you want a list of
3457
+ # agreements.
3458
+ # @return [String]
3459
+ #
3460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAgreementsRequest AWS API Documentation
3461
+ #
3462
+ class ListAgreementsRequest < Struct.new(
3463
+ :max_results,
3464
+ :next_token,
3465
+ :server_id)
3466
+ SENSITIVE = []
3467
+ include Aws::Structure
3468
+ end
3469
+
3470
+ # @!attribute [rw] next_token
3471
+ # Returns a token that you can use to call `ListAgreements` again and
3472
+ # receive additional results, if there are any.
3473
+ # @return [String]
3474
+ #
3475
+ # @!attribute [rw] agreements
3476
+ # Returns an array, where each item contains the details of an
3477
+ # agreement.
3478
+ # @return [Array<Types::ListedAgreement>]
3479
+ #
3480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAgreementsResponse AWS API Documentation
3481
+ #
3482
+ class ListAgreementsResponse < Struct.new(
3483
+ :next_token,
3484
+ :agreements)
3485
+ SENSITIVE = []
3486
+ include Aws::Structure
3487
+ end
3488
+
3489
+ # @note When making an API call, you may pass ListCertificatesRequest
3490
+ # data as a hash:
3491
+ #
3492
+ # {
3493
+ # max_results: 1,
3494
+ # next_token: "NextToken",
3495
+ # }
3496
+ #
3497
+ # @!attribute [rw] max_results
3498
+ # The maximum number of certificates to return.
3499
+ # @return [Integer]
3500
+ #
3501
+ # @!attribute [rw] next_token
3502
+ # When you can get additional results from the `ListCertificates`
3503
+ # call, a `NextToken` parameter is returned in the output. You can
3504
+ # then pass in a subsequent command to the `NextToken` parameter to
3505
+ # continue listing additional certificates.
3506
+ # @return [String]
3507
+ #
3508
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListCertificatesRequest AWS API Documentation
3509
+ #
3510
+ class ListCertificatesRequest < Struct.new(
3511
+ :max_results,
3512
+ :next_token)
3513
+ SENSITIVE = []
3514
+ include Aws::Structure
3515
+ end
3516
+
3517
+ # @!attribute [rw] next_token
3518
+ # Returns the next token, which you can use to list the next
3519
+ # certificate.
3520
+ # @return [String]
3521
+ #
3522
+ # @!attribute [rw] certificates
3523
+ # Returns an array of the certificates that are specified in the
3524
+ # `ListCertificates` call.
3525
+ # @return [Array<Types::ListedCertificate>]
3526
+ #
3527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListCertificatesResponse AWS API Documentation
3528
+ #
3529
+ class ListCertificatesResponse < Struct.new(
3530
+ :next_token,
3531
+ :certificates)
3532
+ SENSITIVE = []
3533
+ include Aws::Structure
3534
+ end
3535
+
3536
+ # @note When making an API call, you may pass ListConnectorsRequest
3537
+ # data as a hash:
3538
+ #
3539
+ # {
3540
+ # max_results: 1,
3541
+ # next_token: "NextToken",
3542
+ # }
3543
+ #
3544
+ # @!attribute [rw] max_results
3545
+ # The maximum number of connectors to return.
3546
+ # @return [Integer]
3547
+ #
3548
+ # @!attribute [rw] next_token
3549
+ # When you can get additional results from the `ListConnectors` call,
3550
+ # a `NextToken` parameter is returned in the output. You can then pass
3551
+ # in a subsequent command to the `NextToken` parameter to continue
3552
+ # listing additional connectors.
3553
+ # @return [String]
3554
+ #
3555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListConnectorsRequest AWS API Documentation
3556
+ #
3557
+ class ListConnectorsRequest < Struct.new(
3558
+ :max_results,
3559
+ :next_token)
3560
+ SENSITIVE = []
3561
+ include Aws::Structure
3562
+ end
3563
+
3564
+ # @!attribute [rw] next_token
3565
+ # Returns a token that you can use to call `ListConnectors` again and
3566
+ # receive additional results, if there are any.
3567
+ # @return [String]
3568
+ #
3569
+ # @!attribute [rw] connectors
3570
+ # Returns an array, where each item contains the details of a
3571
+ # connector.
3572
+ # @return [Array<Types::ListedConnector>]
3573
+ #
3574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListConnectorsResponse AWS API Documentation
3575
+ #
3576
+ class ListConnectorsResponse < Struct.new(
3577
+ :next_token,
3578
+ :connectors)
3579
+ SENSITIVE = []
3580
+ include Aws::Structure
3581
+ end
3582
+
2466
3583
  # @note When making an API call, you may pass ListExecutionsRequest
2467
3584
  # data as a hash:
2468
3585
  #
@@ -2473,7 +3590,7 @@ module Aws::Transfer
2473
3590
  # }
2474
3591
  #
2475
3592
  # @!attribute [rw] max_results
2476
- # Specifies the aximum number of executions to return.
3593
+ # Specifies the maximum number of executions to return.
2477
3594
  # @return [Integer]
2478
3595
  #
2479
3596
  # @!attribute [rw] next_token
@@ -2483,13 +3600,13 @@ module Aws::Transfer
2483
3600
  #
2484
3601
  # This is useful for pagination, for instance. If you have 100
2485
3602
  # executions for a workflow, you might only want to list first 10. If
2486
- # so, callthe API by specifing the `max-results`\:
3603
+ # so, call the API by specifying the `max-results`\:
2487
3604
  #
2488
3605
  # `aws transfer list-executions --max-results 10`
2489
3606
  #
2490
3607
  # This returns details for the first 10 executions, as well as the
2491
3608
  # pointer (`NextToken`) to the eleventh execution. You can now call
2492
- # the API again, suppling the `NextToken` value you received:
3609
+ # the API again, supplying the `NextToken` value you received:
2493
3610
  #
2494
3611
  # `aws transfer list-executions --max-results 10 --next-token
2495
3612
  # $somePointerReturnedFromPreviousListResult`
@@ -2549,6 +3666,59 @@ module Aws::Transfer
2549
3666
  include Aws::Structure
2550
3667
  end
2551
3668
 
3669
+ # @note When making an API call, you may pass ListProfilesRequest
3670
+ # data as a hash:
3671
+ #
3672
+ # {
3673
+ # max_results: 1,
3674
+ # next_token: "NextToken",
3675
+ # profile_type: "LOCAL", # accepts LOCAL, PARTNER
3676
+ # }
3677
+ #
3678
+ # @!attribute [rw] max_results
3679
+ # The maximum number of profiles to return.
3680
+ # @return [Integer]
3681
+ #
3682
+ # @!attribute [rw] next_token
3683
+ # When there are additional results that were not returned, a
3684
+ # `NextToken` parameter is returned. You can use that value for a
3685
+ # subsequent call to `ListProfiles` to continue listing results.
3686
+ # @return [String]
3687
+ #
3688
+ # @!attribute [rw] profile_type
3689
+ # Indicates whether to list only `LOCAL` type profiles or only
3690
+ # `PARTNER` type profiles. If not supplied in the request, the command
3691
+ # lists all types of profiles.
3692
+ # @return [String]
3693
+ #
3694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListProfilesRequest AWS API Documentation
3695
+ #
3696
+ class ListProfilesRequest < Struct.new(
3697
+ :max_results,
3698
+ :next_token,
3699
+ :profile_type)
3700
+ SENSITIVE = []
3701
+ include Aws::Structure
3702
+ end
3703
+
3704
+ # @!attribute [rw] next_token
3705
+ # Returns a token that you can use to call `ListProfiles` again and
3706
+ # receive additional results, if there are any.
3707
+ # @return [String]
3708
+ #
3709
+ # @!attribute [rw] profiles
3710
+ # Returns an array, where each item contains the details of a profile.
3711
+ # @return [Array<Types::ListedProfile>]
3712
+ #
3713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListProfilesResponse AWS API Documentation
3714
+ #
3715
+ class ListProfilesResponse < Struct.new(
3716
+ :next_token,
3717
+ :profiles)
3718
+ SENSITIVE = []
3719
+ include Aws::Structure
3720
+ end
3721
+
2552
3722
  # @note When making an API call, you may pass ListSecurityPoliciesRequest
2553
3723
  # data as a hash:
2554
3724
  #
@@ -2831,33 +4001,33 @@ module Aws::Transfer
2831
4001
  # @return [String]
2832
4002
  #
2833
4003
  # @!attribute [rw] home_directory_type
2834
- # The type of landing directory (folder) you want your users' home
2835
- # directory to be when they log into the server. If you set it to
2836
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
2837
- # as is in their file transfer protocol clients. If you set it
4004
+ # The type of landing directory (folder) that you want your users'
4005
+ # home directory to be when they log in to the server. If you set it
4006
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
4007
+ # paths as is in their file transfer protocol clients. If you set it
2838
4008
  # `LOGICAL`, you need to provide mappings in the
2839
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
2840
- # paths visible to your users.
4009
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
4010
+ # EFS paths visible to your users.
2841
4011
  # @return [String]
2842
4012
  #
2843
4013
  # @!attribute [rw] role
2844
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
2845
- # controls your users' access to your Amazon S3 bucket or EFS file
2846
- # system. The policies attached to this role determine the level of
2847
- # access that you want to provide your users when transferring files
2848
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
2849
- # role should also contain a trust relationship that allows the server
2850
- # to access your resources when servicing your users' transfer
2851
- # requests.
4014
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
4015
+ # (IAM) role that controls your users' access to your Amazon S3
4016
+ # bucket or Amazon EFS file system. The policies attached to this role
4017
+ # determine the level of access that you want to provide your users
4018
+ # when transferring files into and out of your Amazon S3 bucket or
4019
+ # Amazon EFS file system. The IAM role should also contain a trust
4020
+ # relationship that allows the server to access your resources when
4021
+ # servicing your users' transfer requests.
2852
4022
  # @return [String]
2853
4023
  #
2854
4024
  # @!attribute [rw] external_id
2855
4025
  # A unique identifier that is required to identify specific groups
2856
4026
  # within your directory. The users of the group that you associate
2857
4027
  # have access to your Amazon S3 or Amazon EFS resources over the
2858
- # enabled protocols using Amazon Web Services Transfer Family. If you
2859
- # know the group name, you can view the SID values by running the
2860
- # following command using Windows PowerShell.
4028
+ # enabled protocols using Transfer Family. If you know the group name,
4029
+ # you can view the SID values by running the following command using
4030
+ # Windows PowerShell.
2861
4031
  #
2862
4032
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
2863
4033
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -2865,10 +4035,10 @@ module Aws::Transfer
2865
4035
  # In that command, replace *YourGroupName* with the name of your
2866
4036
  # Active Directory group.
2867
4037
  #
2868
- # The regex used to validate this parameter is a string of characters
2869
- # consisting of uppercase and lowercase alphanumeric characters with
2870
- # no spaces. You can also include underscores or any of the following
2871
- # characters: =,.@:/-
4038
+ # The regular expression used to validate this parameter is a string
4039
+ # of characters consisting of uppercase and lowercase alphanumeric
4040
+ # characters with no spaces. You can also include underscores or any
4041
+ # of the following characters: =,.@:/-
2872
4042
  # @return [String]
2873
4043
  #
2874
4044
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedAccess AWS API Documentation
@@ -2882,6 +4052,134 @@ module Aws::Transfer
2882
4052
  include Aws::Structure
2883
4053
  end
2884
4054
 
4055
+ # Describes the properties of an agreement.
4056
+ #
4057
+ # @!attribute [rw] arn
4058
+ # The Amazon Resource Name (ARN) of the specified agreement.
4059
+ # @return [String]
4060
+ #
4061
+ # @!attribute [rw] agreement_id
4062
+ # A unique identifier for the agreement. This identifier is returned
4063
+ # when you create an agreement.
4064
+ # @return [String]
4065
+ #
4066
+ # @!attribute [rw] description
4067
+ # The current description for the agreement. You can change it by
4068
+ # calling the `UpdateAgreement` operation and providing a new
4069
+ # description.
4070
+ # @return [String]
4071
+ #
4072
+ # @!attribute [rw] status
4073
+ # The agreement can be either `ACTIVE` or `INACTIVE`.
4074
+ # @return [String]
4075
+ #
4076
+ # @!attribute [rw] server_id
4077
+ # The unique identifier for the agreement.
4078
+ # @return [String]
4079
+ #
4080
+ # @!attribute [rw] local_profile_id
4081
+ # A unique identifier for the AS2 local profile.
4082
+ # @return [String]
4083
+ #
4084
+ # @!attribute [rw] partner_profile_id
4085
+ # A unique identifier for the partner profile.
4086
+ # @return [String]
4087
+ #
4088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedAgreement AWS API Documentation
4089
+ #
4090
+ class ListedAgreement < Struct.new(
4091
+ :arn,
4092
+ :agreement_id,
4093
+ :description,
4094
+ :status,
4095
+ :server_id,
4096
+ :local_profile_id,
4097
+ :partner_profile_id)
4098
+ SENSITIVE = []
4099
+ include Aws::Structure
4100
+ end
4101
+
4102
+ # Describes the properties of a certificate.
4103
+ #
4104
+ # @!attribute [rw] arn
4105
+ # The Amazon Resource Name (ARN) of the specified certificate.
4106
+ # @return [String]
4107
+ #
4108
+ # @!attribute [rw] certificate_id
4109
+ # An array of identifiers for the imported certificates. You use this
4110
+ # identifier for working with profiles and partner profiles.
4111
+ # @return [String]
4112
+ #
4113
+ # @!attribute [rw] usage
4114
+ # Specifies whether this certificate is used for signing or
4115
+ # encryption.
4116
+ # @return [String]
4117
+ #
4118
+ # @!attribute [rw] status
4119
+ # The certificate can be either `ACTIVE`, `PENDING_ROTATION`, or
4120
+ # `INACTIVE`. `PENDING_ROTATION` means that this certificate will
4121
+ # replace the current certificate when it expires.
4122
+ # @return [String]
4123
+ #
4124
+ # @!attribute [rw] active_date
4125
+ # An optional date that specifies when the certificate becomes active.
4126
+ # @return [Time]
4127
+ #
4128
+ # @!attribute [rw] inactive_date
4129
+ # An optional date that specifies when the certificate becomes
4130
+ # inactive.
4131
+ # @return [Time]
4132
+ #
4133
+ # @!attribute [rw] type
4134
+ # The type for the certificate. If a private key has been specified
4135
+ # for the certificate, its type is `CERTIFICATE_WITH_PRIVATE_KEY`. If
4136
+ # there is no private key, the type is `CERTIFICATE`.
4137
+ # @return [String]
4138
+ #
4139
+ # @!attribute [rw] description
4140
+ # The name or short description that's used to identify the
4141
+ # certificate.
4142
+ # @return [String]
4143
+ #
4144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedCertificate AWS API Documentation
4145
+ #
4146
+ class ListedCertificate < Struct.new(
4147
+ :arn,
4148
+ :certificate_id,
4149
+ :usage,
4150
+ :status,
4151
+ :active_date,
4152
+ :inactive_date,
4153
+ :type,
4154
+ :description)
4155
+ SENSITIVE = []
4156
+ include Aws::Structure
4157
+ end
4158
+
4159
+ # Returns details of the connector that is specified.
4160
+ #
4161
+ # @!attribute [rw] arn
4162
+ # The Amazon Resource Name (ARN) of the specified connector.
4163
+ # @return [String]
4164
+ #
4165
+ # @!attribute [rw] connector_id
4166
+ # The unique identifier for the connector.
4167
+ # @return [String]
4168
+ #
4169
+ # @!attribute [rw] url
4170
+ # The URL of the partner's AS2 endpoint.
4171
+ # @return [String]
4172
+ #
4173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedConnector AWS API Documentation
4174
+ #
4175
+ class ListedConnector < Struct.new(
4176
+ :arn,
4177
+ :connector_id,
4178
+ :url)
4179
+ SENSITIVE = []
4180
+ include Aws::Structure
4181
+ end
4182
+
2885
4183
  # Returns properties of the execution that is specified.
2886
4184
  #
2887
4185
  # @!attribute [rw] execution_id
@@ -2896,8 +4194,8 @@ module Aws::Transfer
2896
4194
  # @return [Types::FileLocation]
2897
4195
  #
2898
4196
  # @!attribute [rw] service_metadata
2899
- # A container object for the session details associated with a
2900
- # workflow.
4197
+ # A container object for the session details that are associated with
4198
+ # a workflow.
2901
4199
  # @return [Types::ServiceMetadata]
2902
4200
  #
2903
4201
  # @!attribute [rw] status
@@ -2916,6 +4214,45 @@ module Aws::Transfer
2916
4214
  include Aws::Structure
2917
4215
  end
2918
4216
 
4217
+ # Returns the properties of the profile that was specified.
4218
+ #
4219
+ # @!attribute [rw] arn
4220
+ # The Amazon Resource Name (ARN) of the specified profile.
4221
+ # @return [String]
4222
+ #
4223
+ # @!attribute [rw] profile_id
4224
+ # A unique identifier for the local or partner AS2 profile.
4225
+ # @return [String]
4226
+ #
4227
+ # @!attribute [rw] as_2_id
4228
+ # The `As2Id` is the *AS2-name*, as defined in the [RFC 4130][1]. For
4229
+ # inbound transfers, this is the `AS2-From` header for the AS2
4230
+ # messages sent from the partner. For outbound connectors, this is the
4231
+ # `AS2-To` header for the AS2 messages sent to the partner using the
4232
+ # `StartFileTransfer` API operation. This ID cannot include spaces.
4233
+ #
4234
+ #
4235
+ #
4236
+ # [1]: https://datatracker.ietf.org/doc/html/rfc4130
4237
+ # @return [String]
4238
+ #
4239
+ # @!attribute [rw] profile_type
4240
+ # Indicates whether to list only `LOCAL` type profiles or only
4241
+ # `PARTNER` type profiles. If not supplied in the request, the command
4242
+ # lists all types of profiles.
4243
+ # @return [String]
4244
+ #
4245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedProfile AWS API Documentation
4246
+ #
4247
+ class ListedProfile < Struct.new(
4248
+ :arn,
4249
+ :profile_id,
4250
+ :as_2_id,
4251
+ :profile_type)
4252
+ SENSITIVE = []
4253
+ include Aws::Structure
4254
+ end
4255
+
2919
4256
  # Returns properties of a file transfer protocol-enabled server that was
2920
4257
  # specified.
2921
4258
  #
@@ -2930,25 +4267,25 @@ module Aws::Transfer
2930
4267
  # @return [String]
2931
4268
  #
2932
4269
  # @!attribute [rw] identity_provider_type
2933
- # Specifies the mode of authentication for a server. The default value
2934
- # is `SERVICE_MANAGED`, which allows you to store and access user
2935
- # credentials within the Amazon Web Services Transfer Family service.
4270
+ # The mode of authentication for a server. The default value is
4271
+ # `SERVICE_MANAGED`, which allows you to store and access user
4272
+ # credentials within the Transfer Family service.
2936
4273
  #
2937
4274
  # Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory
2938
- # groups in Amazon Web Services Managed Active Directory or Microsoft
2939
- # Active Directory in your on-premises environment or in Amazon Web
2940
- # Services using AD Connectors. This option also requires you to
2941
- # provide a Directory ID using the `IdentityProviderDetails`
4275
+ # groups in Directory Service for Microsoft Active Directory or
4276
+ # Microsoft Active Directory in your on-premises environment or in
4277
+ # Amazon Web Services using AD Connector. This option also requires
4278
+ # you to provide a Directory ID by using the `IdentityProviderDetails`
2942
4279
  # parameter.
2943
4280
  #
2944
4281
  # Use the `API_GATEWAY` value to integrate with an identity provider
2945
4282
  # of your choosing. The `API_GATEWAY` setting requires you to provide
2946
- # an API Gateway endpoint URL to call for authentication using the
2947
- # `IdentityProviderDetails` parameter.
4283
+ # an Amazon API Gateway endpoint URL to call for authentication by
4284
+ # using the `IdentityProviderDetails` parameter.
2948
4285
  #
2949
- # Use the `AWS_LAMBDA` value to directly use a Lambda function as your
2950
- # identity provider. If you choose this value, you must specify the
2951
- # ARN for the lambda function in the `Function` parameter for the
4286
+ # Use the `AWS_LAMBDA` value to directly use an Lambda function as
4287
+ # your identity provider. If you choose this value, you must specify
4288
+ # the ARN for the Lambda function in the `Function` parameter or the
2952
4289
  # `IdentityProviderDetails` data type.
2953
4290
  # @return [String]
2954
4291
  #
@@ -2959,11 +4296,10 @@ module Aws::Transfer
2959
4296
  # @return [String]
2960
4297
  #
2961
4298
  # @!attribute [rw] logging_role
2962
- # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
2963
- # Identity and Access Management (IAM) role that allows a server to
2964
- # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
2965
- # events. When set, user activity can be viewed in your CloudWatch
2966
- # logs.
4299
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
4300
+ # (IAM) role that allows a server to turn on Amazon CloudWatch logging
4301
+ # for Amazon S3 or Amazon EFSevents. When set, you can view user
4302
+ # activity in your CloudWatch logs.
2967
4303
  # @return [String]
2968
4304
  #
2969
4305
  # @!attribute [rw] server_id
@@ -2972,10 +4308,10 @@ module Aws::Transfer
2972
4308
  # @return [String]
2973
4309
  #
2974
4310
  # @!attribute [rw] state
2975
- # Specifies the condition of a server for the server that was
2976
- # described. A value of `ONLINE` indicates that the server can accept
2977
- # jobs and transfer files. A `State` value of `OFFLINE` means that the
2978
- # server cannot perform file transfer operations.
4311
+ # The condition of the server that was described. A value of `ONLINE`
4312
+ # indicates that the server can accept jobs and transfer files. A
4313
+ # `State` value of `OFFLINE` means that the server cannot perform file
4314
+ # transfer operations.
2979
4315
  #
2980
4316
  # The states of `STARTING` and `STOPPING` indicate that the server is
2981
4317
  # in an intermediate state, either not fully able to respond, or not
@@ -3018,24 +4354,24 @@ module Aws::Transfer
3018
4354
  # @return [String]
3019
4355
  #
3020
4356
  # @!attribute [rw] home_directory_type
3021
- # The type of landing directory (folder) you want your users' home
3022
- # directory to be when they log into the server. If you set it to
3023
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
3024
- # as is in their file transfer protocol clients. If you set it
4357
+ # The type of landing directory (folder) that you want your users'
4358
+ # home directory to be when they log in to the server. If you set it
4359
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
4360
+ # paths as is in their file transfer protocol clients. If you set it
3025
4361
  # `LOGICAL`, you need to provide mappings in the
3026
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
3027
- # paths visible to your users.
4362
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
4363
+ # EFS paths visible to your users.
3028
4364
  # @return [String]
3029
4365
  #
3030
4366
  # @!attribute [rw] role
3031
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
3032
- # controls your users' access to your Amazon S3 bucket or EFS file
3033
- # system. The policies attached to this role determine the level of
3034
- # access that you want to provide your users when transferring files
3035
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
3036
- # role should also contain a trust relationship that allows the server
3037
- # to access your resources when servicing your users' transfer
3038
- # requests.
4367
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
4368
+ # (IAM) role that controls your users' access to your Amazon S3
4369
+ # bucket or Amazon EFS file system. The policies attached to this role
4370
+ # determine the level of access that you want to provide your users
4371
+ # when transferring files into and out of your Amazon S3 bucket or
4372
+ # Amazon EFS file system. The IAM role should also contain a trust
4373
+ # relationship that allows the server to access your resources when
4374
+ # servicing your users' transfer requests.
3039
4375
  #
3040
4376
  # <note markdown="1"> The IAM role that controls your users' access to your Amazon S3
3041
4377
  # bucket for servers with `Domain=S3`, or your EFS file system for
@@ -3099,16 +4435,15 @@ module Aws::Transfer
3099
4435
  # Consists of the logging role and the log group name.
3100
4436
  #
3101
4437
  # @!attribute [rw] logging_role
3102
- # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
3103
- # Identity and Access Management (IAM) role that allows a server to
3104
- # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
3105
- # events. When set, user activity can be viewed in your CloudWatch
3106
- # logs.
4438
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
4439
+ # (IAM) role that allows a server to turn on Amazon CloudWatch logging
4440
+ # for Amazon S3 or Amazon EFSevents. When set, you can view user
4441
+ # activity in your CloudWatch logs.
3107
4442
  # @return [String]
3108
4443
  #
3109
4444
  # @!attribute [rw] log_group_name
3110
- # The name of the CloudWatch logging group for the Amazon Web Services
3111
- # Transfer server to which this workflow belongs.
4445
+ # The name of the CloudWatch logging group for the Transfer Family
4446
+ # server to which this workflow belongs.
3112
4447
  # @return [String]
3113
4448
  #
3114
4449
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/LoggingConfiguration AWS API Documentation
@@ -3168,12 +4503,13 @@ module Aws::Transfer
3168
4503
  # passive_ip: "PassiveIp",
3169
4504
  # tls_session_resumption_mode: "DISABLED", # accepts DISABLED, ENABLED, ENFORCED
3170
4505
  # set_stat_option: "DEFAULT", # accepts DEFAULT, ENABLE_NO_OP
4506
+ # as_2_transports: ["HTTP"], # accepts HTTP
3171
4507
  # }
3172
4508
  #
3173
4509
  # @!attribute [rw] passive_ip
3174
4510
  # Indicates passive mode, for FTP and FTPS protocols. Enter a single
3175
- # dotted-quad IPv4 address, such as the external IP address of a
3176
- # firewall, router, or load balancer. For example:
4511
+ # IPv4 address, such as the public IP address of a firewall, router,
4512
+ # or load balancer. For example:
3177
4513
  #
3178
4514
  # ` aws transfer update-server --protocol-details PassiveIp=0.0.0.0 `
3179
4515
  #
@@ -3181,10 +4517,10 @@ module Aws::Transfer
3181
4517
  # you want to use.
3182
4518
  #
3183
4519
  # <note markdown="1"> If you change the `PassiveIp` value, you must stop and then restart
3184
- # your Transfer server for the change to take effect. For details on
3185
- # using Passive IP (PASV) in a NAT environment, see [Configuring your
3186
- # FTPS server behind a firewall or NAT with Amazon Web Services
3187
- # Transfer Family][1].
4520
+ # your Transfer Family server for the change to take effect. For
4521
+ # details on using passive mode (PASV) in a NAT environment, see
4522
+ # [Configuring your FTPS server behind a firewall or NAT with Transfer
4523
+ # Family][1].
3188
4524
  #
3189
4525
  # </note>
3190
4526
  #
@@ -3194,14 +4530,15 @@ module Aws::Transfer
3194
4530
  # @return [String]
3195
4531
  #
3196
4532
  # @!attribute [rw] tls_session_resumption_mode
3197
- # A property used with Transfer servers that use the FTPS protocol.
3198
- # TLS Session Resumption provides a mechanism to resume or share a
3199
- # negotiated secret key between the control and data connection for an
3200
- # FTPS session. `TlsSessionResumptionMode` determines whether or not
3201
- # the server resumes recent, negotiated sessions through a unique
3202
- # session ID. This property is available during `CreateServer` and
3203
- # `UpdateServer` calls. If a `TlsSessionResumptionMode` value is not
3204
- # specified during CreateServer, it is set to `ENFORCED` by default.
4533
+ # A property used with Transfer Family servers that use the FTPS
4534
+ # protocol. TLS Session Resumption provides a mechanism to resume or
4535
+ # share a negotiated secret key between the control and data
4536
+ # connection for an FTPS session. `TlsSessionResumptionMode`
4537
+ # determines whether or not the server resumes recent, negotiated
4538
+ # sessions through a unique session ID. This property is available
4539
+ # during `CreateServer` and `UpdateServer` calls. If a
4540
+ # `TlsSessionResumptionMode` value is not specified during
4541
+ # `CreateServer`, it is set to `ENFORCED` by default.
3205
4542
  #
3206
4543
  # * `DISABLED`\: the server does not process TLS session resumption
3207
4544
  # client requests and creates a new TLS session for each request.
@@ -3228,37 +4565,43 @@ module Aws::Transfer
3228
4565
  #
3229
4566
  # @!attribute [rw] set_stat_option
3230
4567
  # Use the `SetStatOption` to ignore the error that is generated when
3231
- # the client attempts to use SETSTAT on a file you are uploading to an
3232
- # S3 bucket.
4568
+ # the client attempts to use `SETSTAT` on a file you are uploading to
4569
+ # an S3 bucket.
3233
4570
  #
3234
4571
  # Some SFTP file transfer clients can attempt to change the attributes
3235
4572
  # of remote files, including timestamp and permissions, using
3236
- # commands, such as SETSTAT when uploading the file. However, these
4573
+ # commands, such as `SETSTAT` when uploading the file. However, these
3237
4574
  # commands are not compatible with object storage systems, such as
3238
4575
  # Amazon S3. Due to this incompatibility, file uploads from these
3239
4576
  # clients can result in errors even when the file is otherwise
3240
4577
  # successfully uploaded.
3241
4578
  #
3242
4579
  # Set the value to `ENABLE_NO_OP` to have the Transfer Family server
3243
- # ignore the SETSTAT command, and upload files without needing to make
3244
- # any changes to your SFTP client. While the `SetStatOption`
4580
+ # ignore the `SETSTAT` command, and upload files without needing to
4581
+ # make any changes to your SFTP client. While the `SetStatOption`
3245
4582
  # `ENABLE_NO_OP` setting ignores the error, it does generate a log
3246
- # entry in CloudWatch Logs, so you can determine when the client is
3247
- # making a SETSTAT call.
4583
+ # entry in Amazon CloudWatch Logs, so you can determine when the
4584
+ # client is making a `SETSTAT` call.
3248
4585
  #
3249
4586
  # <note markdown="1"> If you want to preserve the original timestamp for your file, and
3250
- # modify other file attributes using SETSTAT, you can use Amazon EFS
4587
+ # modify other file attributes using `SETSTAT`, you can use Amazon EFS
3251
4588
  # as backend storage with Transfer Family.
3252
4589
  #
3253
4590
  # </note>
3254
4591
  # @return [String]
3255
4592
  #
4593
+ # @!attribute [rw] as_2_transports
4594
+ # Indicates the transport method for the AS2 messages. Currently, only
4595
+ # HTTP is supported.
4596
+ # @return [Array<String>]
4597
+ #
3256
4598
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ProtocolDetails AWS API Documentation
3257
4599
  #
3258
4600
  class ProtocolDetails < Struct.new(
3259
4601
  :passive_ip,
3260
4602
  :tls_session_resumption_mode,
3261
- :set_stat_option)
4603
+ :set_stat_option,
4604
+ :as_2_transports)
3262
4605
  SENSITIVE = []
3263
4606
  include Aws::Structure
3264
4607
  end
@@ -3306,16 +4649,16 @@ module Aws::Transfer
3306
4649
  include Aws::Structure
3307
4650
  end
3308
4651
 
3309
- # Specifies the details for the file location for the file being used in
3310
- # the workflow. Only applicable if you are using S3 storage.
4652
+ # Specifies the details for the file location for the file that's being
4653
+ # used in the workflow. Only applicable if you are using S3 storage.
3311
4654
  #
3312
4655
  # @!attribute [rw] bucket
3313
4656
  # Specifies the S3 bucket that contains the file being used.
3314
4657
  # @return [String]
3315
4658
  #
3316
4659
  # @!attribute [rw] key
3317
- # The name assigned to the file when it was created in S3. You use the
3318
- # object key to retrieve the object.
4660
+ # The name assigned to the file when it was created in Amazon S3. You
4661
+ # use the object key to retrieve the object.
3319
4662
  # @return [String]
3320
4663
  #
3321
4664
  # @!attribute [rw] version_id
@@ -3369,8 +4712,8 @@ module Aws::Transfer
3369
4712
  # @return [String]
3370
4713
  #
3371
4714
  # @!attribute [rw] key
3372
- # The name assigned to the file when it was created in S3. You use the
3373
- # object key to retrieve the object.
4715
+ # The name assigned to the file when it was created in Amazon S3. You
4716
+ # use the object key to retrieve the object.
3374
4717
  # @return [String]
3375
4718
  #
3376
4719
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/S3InputFileLocation AWS API Documentation
@@ -3452,7 +4795,8 @@ module Aws::Transfer
3452
4795
  #
3453
4796
  class SendWorkflowStepStateResponse < Aws::EmptyStructure; end
3454
4797
 
3455
- # A container object for the session details associated with a workflow.
4798
+ # A container object for the session details that are associated with a
4799
+ # workflow.
3456
4800
  #
3457
4801
  # @!attribute [rw] user_details
3458
4802
  # The Server ID (`ServerId`), Session ID (`SessionId`) and user
@@ -3496,6 +4840,8 @@ module Aws::Transfer
3496
4840
  # @!attribute [rw] ssh_public_key_body
3497
4841
  # Specifies the content of the SSH public key as specified by the
3498
4842
  # `PublicKeyId`.
4843
+ #
4844
+ # Transfer Family accepts RSA, ECDSA, and ED25519 keys.
3499
4845
  # @return [String]
3500
4846
  #
3501
4847
  # @!attribute [rw] ssh_public_key_id
@@ -3513,6 +4859,45 @@ module Aws::Transfer
3513
4859
  include Aws::Structure
3514
4860
  end
3515
4861
 
4862
+ # @note When making an API call, you may pass StartFileTransferRequest
4863
+ # data as a hash:
4864
+ #
4865
+ # {
4866
+ # connector_id: "ConnectorId", # required
4867
+ # send_file_paths: ["FilePath"], # required
4868
+ # }
4869
+ #
4870
+ # @!attribute [rw] connector_id
4871
+ # The unique identifier for the connector.
4872
+ # @return [String]
4873
+ #
4874
+ # @!attribute [rw] send_file_paths
4875
+ # An array of strings. Each string represents the absolute path for
4876
+ # one outbound file transfer. For example, `
4877
+ # DOC-EXAMPLE-BUCKET/myfile.txt `.
4878
+ # @return [Array<String>]
4879
+ #
4880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartFileTransferRequest AWS API Documentation
4881
+ #
4882
+ class StartFileTransferRequest < Struct.new(
4883
+ :connector_id,
4884
+ :send_file_paths)
4885
+ SENSITIVE = []
4886
+ include Aws::Structure
4887
+ end
4888
+
4889
+ # @!attribute [rw] transfer_id
4890
+ # Returns the unique identifier for this file transfer.
4891
+ # @return [String]
4892
+ #
4893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartFileTransferResponse AWS API Documentation
4894
+ #
4895
+ class StartFileTransferResponse < Struct.new(
4896
+ :transfer_id)
4897
+ SENSITIVE = []
4898
+ include Aws::Structure
4899
+ end
4900
+
3516
4901
  # @note When making an API call, you may pass StartServerRequest
3517
4902
  # data as a hash:
3518
4903
  #
@@ -3672,7 +5057,7 @@ module Aws::Transfer
3672
5057
  #
3673
5058
  # {
3674
5059
  # server_id: "ServerId", # required
3675
- # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
5060
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS, AS2
3676
5061
  # source_ip: "SourceIp",
3677
5062
  # user_name: "UserName", # required
3678
5063
  # user_password: "UserPassword",
@@ -3753,8 +5138,6 @@ module Aws::Transfer
3753
5138
 
3754
5139
  # The request was denied due to request throttling.
3755
5140
  #
3756
- # HTTP Status Code: 400
3757
- #
3758
5141
  # @!attribute [rw] retry_after_seconds
3759
5142
  # @return [String]
3760
5143
  #
@@ -3826,13 +5209,13 @@ module Aws::Transfer
3826
5209
  # @return [String]
3827
5210
  #
3828
5211
  # @!attribute [rw] home_directory_type
3829
- # The type of landing directory (folder) you want your users' home
3830
- # directory to be when they log into the server. If you set it to
3831
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
3832
- # as is in their file transfer protocol clients. If you set it
5212
+ # The type of landing directory (folder) that you want your users'
5213
+ # home directory to be when they log in to the server. If you set it
5214
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
5215
+ # paths as is in their file transfer protocol clients. If you set it
3833
5216
  # `LOGICAL`, you need to provide mappings in the
3834
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
3835
- # paths visible to your users.
5217
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
5218
+ # EFS paths visible to your users.
3836
5219
  # @return [String]
3837
5220
  #
3838
5221
  # @!attribute [rw] home_directory_mappings
@@ -3841,10 +5224,10 @@ module Aws::Transfer
3841
5224
  # make them visible. You must specify the `Entry` and `Target` pair,
3842
5225
  # where `Entry` shows how the path is made visible and `Target` is the
3843
5226
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
3844
- # it is displayed as is. You also must ensure that your Amazon Web
3845
- # Services Identity and Access Management (IAM) role provides access
3846
- # to paths in `Target`. This value can only be set when
3847
- # `HomeDirectoryType` is set to *LOGICAL*.
5227
+ # it is displayed as is. You also must ensure that your Identity and
5228
+ # Access Management (IAM) role provides access to paths in `Target`.
5229
+ # This value can be set only when `HomeDirectoryType` is set to
5230
+ # *LOGICAL*.
3848
5231
  #
3849
5232
  # The following is an `Entry` and `Target` pair example.
3850
5233
  #
@@ -3862,19 +5245,19 @@ module Aws::Transfer
3862
5245
  # @return [Array<Types::HomeDirectoryMapEntry>]
3863
5246
  #
3864
5247
  # @!attribute [rw] policy
3865
- # A session policy for your user so that you can use the same IAM role
3866
- # across multiple users. This policy scopes down user access to
3867
- # portions of their Amazon S3 bucket. Variables that you can use
3868
- # inside this policy include `$\{Transfer:UserName\}`,
3869
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
5248
+ # A session policy for your user so that you can use the same Identity
5249
+ # and Access Management (IAM) role across multiple users. This policy
5250
+ # scopes down a user's access to portions of their Amazon S3 bucket.
5251
+ # Variables that you can use inside this policy include
5252
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
5253
+ # `$\{Transfer:HomeBucket\}`.
3870
5254
  #
3871
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
3872
- # use session policies.
5255
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
5256
+ # Amazon EFS does not use session policies.
3873
5257
  #
3874
- # For session policies, Amazon Web Services Transfer Family stores the
3875
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
3876
- # the policy. You save the policy as a JSON blob and pass it in the
3877
- # `Policy` argument.
5258
+ # For session policies, Transfer Family stores the policy as a JSON
5259
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
5260
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
3878
5261
  #
3879
5262
  # For an example of a session policy, see [Example session policy][1].
3880
5263
  #
@@ -3899,14 +5282,14 @@ module Aws::Transfer
3899
5282
  # @return [Types::PosixProfile]
3900
5283
  #
3901
5284
  # @!attribute [rw] role
3902
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
3903
- # controls your users' access to your Amazon S3 bucket or EFS file
3904
- # system. The policies attached to this role determine the level of
3905
- # access that you want to provide your users when transferring files
3906
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
3907
- # role should also contain a trust relationship that allows the server
3908
- # to access your resources when servicing your users' transfer
3909
- # requests.
5285
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
5286
+ # (IAM) role that controls your users' access to your Amazon S3
5287
+ # bucket or Amazon EFS file system. The policies attached to this role
5288
+ # determine the level of access that you want to provide your users
5289
+ # when transferring files into and out of your Amazon S3 bucket or
5290
+ # Amazon EFS file system. The IAM role should also contain a trust
5291
+ # relationship that allows the server to access your resources when
5292
+ # servicing your users' transfer requests.
3910
5293
  # @return [String]
3911
5294
  #
3912
5295
  # @!attribute [rw] server_id
@@ -3918,9 +5301,9 @@ module Aws::Transfer
3918
5301
  # A unique identifier that is required to identify specific groups
3919
5302
  # within your directory. The users of the group that you associate
3920
5303
  # have access to your Amazon S3 or Amazon EFS resources over the
3921
- # enabled protocols using Amazon Web Services Transfer Family. If you
3922
- # know the group name, you can view the SID values by running the
3923
- # following command using Windows PowerShell.
5304
+ # enabled protocols using Transfer Family. If you know the group name,
5305
+ # you can view the SID values by running the following command using
5306
+ # Windows PowerShell.
3924
5307
  #
3925
5308
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
3926
5309
  # -Properties * | Select SamAccountName,ObjectSid`
@@ -3928,10 +5311,10 @@ module Aws::Transfer
3928
5311
  # In that command, replace *YourGroupName* with the name of your
3929
5312
  # Active Directory group.
3930
5313
  #
3931
- # The regex used to validate this parameter is a string of characters
3932
- # consisting of uppercase and lowercase alphanumeric characters with
3933
- # no spaces. You can also include underscores or any of the following
3934
- # characters: =,.@:/-
5314
+ # The regular expression used to validate this parameter is a string
5315
+ # of characters consisting of uppercase and lowercase alphanumeric
5316
+ # characters with no spaces. You can also include underscores or any
5317
+ # of the following characters: =,.@:/-
3935
5318
  # @return [String]
3936
5319
  #
3937
5320
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccessRequest AWS API Documentation
@@ -3968,6 +5351,268 @@ module Aws::Transfer
3968
5351
  include Aws::Structure
3969
5352
  end
3970
5353
 
5354
+ # @note When making an API call, you may pass UpdateAgreementRequest
5355
+ # data as a hash:
5356
+ #
5357
+ # {
5358
+ # agreement_id: "AgreementId", # required
5359
+ # server_id: "ServerId", # required
5360
+ # description: "Description",
5361
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE
5362
+ # local_profile_id: "ProfileId",
5363
+ # partner_profile_id: "ProfileId",
5364
+ # base_directory: "HomeDirectory",
5365
+ # access_role: "Role",
5366
+ # }
5367
+ #
5368
+ # @!attribute [rw] agreement_id
5369
+ # A unique identifier for the agreement. This identifier is returned
5370
+ # when you create an agreement.
5371
+ # @return [String]
5372
+ #
5373
+ # @!attribute [rw] server_id
5374
+ # A system-assigned unique identifier for a server instance. This is
5375
+ # the specific server that the agreement uses.
5376
+ # @return [String]
5377
+ #
5378
+ # @!attribute [rw] description
5379
+ # To replace the existing description, provide a short description for
5380
+ # the agreement.
5381
+ # @return [String]
5382
+ #
5383
+ # @!attribute [rw] status
5384
+ # You can update the status for the agreement, either activating an
5385
+ # inactive agreement or the reverse.
5386
+ # @return [String]
5387
+ #
5388
+ # @!attribute [rw] local_profile_id
5389
+ # A unique identifier for the AS2 local profile.
5390
+ #
5391
+ # To change the local profile identifier, provide a new value here.
5392
+ # @return [String]
5393
+ #
5394
+ # @!attribute [rw] partner_profile_id
5395
+ # A unique identifier for the partner profile. To change the partner
5396
+ # profile identifier, provide a new value here.
5397
+ # @return [String]
5398
+ #
5399
+ # @!attribute [rw] base_directory
5400
+ # To change the landing directory (folder) for files that are
5401
+ # transferred, provide the bucket folder that you want to use; for
5402
+ # example, `/DOC-EXAMPLE-BUCKET/home/mydirectory `.
5403
+ # @return [String]
5404
+ #
5405
+ # @!attribute [rw] access_role
5406
+ # With AS2, you can send files by calling `StartFileTransfer` and
5407
+ # specifying the file paths in the request parameter, `SendFilePaths`.
5408
+ # We use the file’s parent directory (for example, for
5409
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
5410
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
5411
+ # store the MDN when we receive them from the partner, and write a
5412
+ # final JSON file containing relevant metadata of the transmission.
5413
+ # So, the `AccessRole` needs to provide read and write access to the
5414
+ # parent directory of the file location used in the
5415
+ # `StartFileTransfer` request. Additionally, you need to provide read
5416
+ # and write access to the parent directory of the files that you
5417
+ # intend to send with `StartFileTransfer`.
5418
+ # @return [String]
5419
+ #
5420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAgreementRequest AWS API Documentation
5421
+ #
5422
+ class UpdateAgreementRequest < Struct.new(
5423
+ :agreement_id,
5424
+ :server_id,
5425
+ :description,
5426
+ :status,
5427
+ :local_profile_id,
5428
+ :partner_profile_id,
5429
+ :base_directory,
5430
+ :access_role)
5431
+ SENSITIVE = []
5432
+ include Aws::Structure
5433
+ end
5434
+
5435
+ # @!attribute [rw] agreement_id
5436
+ # A unique identifier for the agreement. This identifier is returned
5437
+ # when you create an agreement.
5438
+ # @return [String]
5439
+ #
5440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAgreementResponse AWS API Documentation
5441
+ #
5442
+ class UpdateAgreementResponse < Struct.new(
5443
+ :agreement_id)
5444
+ SENSITIVE = []
5445
+ include Aws::Structure
5446
+ end
5447
+
5448
+ # @note When making an API call, you may pass UpdateCertificateRequest
5449
+ # data as a hash:
5450
+ #
5451
+ # {
5452
+ # certificate_id: "CertificateId", # required
5453
+ # active_date: Time.now,
5454
+ # inactive_date: Time.now,
5455
+ # description: "Description",
5456
+ # }
5457
+ #
5458
+ # @!attribute [rw] certificate_id
5459
+ # The identifier of the certificate object that you are updating.
5460
+ # @return [String]
5461
+ #
5462
+ # @!attribute [rw] active_date
5463
+ # An optional date that specifies when the certificate becomes active.
5464
+ # @return [Time]
5465
+ #
5466
+ # @!attribute [rw] inactive_date
5467
+ # An optional date that specifies when the certificate becomes
5468
+ # inactive.
5469
+ # @return [Time]
5470
+ #
5471
+ # @!attribute [rw] description
5472
+ # A short description to help identify the certificate.
5473
+ # @return [String]
5474
+ #
5475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateCertificateRequest AWS API Documentation
5476
+ #
5477
+ class UpdateCertificateRequest < Struct.new(
5478
+ :certificate_id,
5479
+ :active_date,
5480
+ :inactive_date,
5481
+ :description)
5482
+ SENSITIVE = []
5483
+ include Aws::Structure
5484
+ end
5485
+
5486
+ # @!attribute [rw] certificate_id
5487
+ # Returns the identifier of the certificate object that you are
5488
+ # updating.
5489
+ # @return [String]
5490
+ #
5491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateCertificateResponse AWS API Documentation
5492
+ #
5493
+ class UpdateCertificateResponse < Struct.new(
5494
+ :certificate_id)
5495
+ SENSITIVE = []
5496
+ include Aws::Structure
5497
+ end
5498
+
5499
+ # @note When making an API call, you may pass UpdateConnectorRequest
5500
+ # data as a hash:
5501
+ #
5502
+ # {
5503
+ # connector_id: "ConnectorId", # required
5504
+ # url: "Url",
5505
+ # as_2_config: {
5506
+ # local_profile_id: "ProfileId",
5507
+ # partner_profile_id: "ProfileId",
5508
+ # message_subject: "MessageSubject",
5509
+ # compression: "ZLIB", # accepts ZLIB, DISABLED
5510
+ # encryption_algorithm: "AES128_CBC", # accepts AES128_CBC, AES192_CBC, AES256_CBC
5511
+ # signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE
5512
+ # mdn_signing_algorithm: "SHA256", # accepts SHA256, SHA384, SHA512, SHA1, NONE, DEFAULT
5513
+ # mdn_response: "SYNC", # accepts SYNC, NONE
5514
+ # },
5515
+ # access_role: "Role",
5516
+ # logging_role: "Role",
5517
+ # }
5518
+ #
5519
+ # @!attribute [rw] connector_id
5520
+ # The unique identifier for the connector.
5521
+ # @return [String]
5522
+ #
5523
+ # @!attribute [rw] url
5524
+ # The URL of the partner's AS2 endpoint.
5525
+ # @return [String]
5526
+ #
5527
+ # @!attribute [rw] as_2_config
5528
+ # A structure that contains the parameters for a connector object.
5529
+ # @return [Types::As2ConnectorConfig]
5530
+ #
5531
+ # @!attribute [rw] access_role
5532
+ # With AS2, you can send files by calling `StartFileTransfer` and
5533
+ # specifying the file paths in the request parameter, `SendFilePaths`.
5534
+ # We use the file’s parent directory (for example, for
5535
+ # `--send-file-paths /bucket/dir/file.txt`, parent directory is
5536
+ # `/bucket/dir/`) to temporarily store a processed AS2 message file,
5537
+ # store the MDN when we receive them from the partner, and write a
5538
+ # final JSON file containing relevant metadata of the transmission.
5539
+ # So, the `AccessRole` needs to provide read and write access to the
5540
+ # parent directory of the file location used in the
5541
+ # `StartFileTransfer` request. Additionally, you need to provide read
5542
+ # and write access to the parent directory of the files that you
5543
+ # intend to send with `StartFileTransfer`.
5544
+ # @return [String]
5545
+ #
5546
+ # @!attribute [rw] logging_role
5547
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
5548
+ # (IAM) role that allows a connector to turn on CloudWatch logging for
5549
+ # Amazon S3 events. When set, you can view connector activity in your
5550
+ # CloudWatch logs.
5551
+ # @return [String]
5552
+ #
5553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateConnectorRequest AWS API Documentation
5554
+ #
5555
+ class UpdateConnectorRequest < Struct.new(
5556
+ :connector_id,
5557
+ :url,
5558
+ :as_2_config,
5559
+ :access_role,
5560
+ :logging_role)
5561
+ SENSITIVE = []
5562
+ include Aws::Structure
5563
+ end
5564
+
5565
+ # @!attribute [rw] connector_id
5566
+ # Returns the identifier of the connector object that you are
5567
+ # updating.
5568
+ # @return [String]
5569
+ #
5570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateConnectorResponse AWS API Documentation
5571
+ #
5572
+ class UpdateConnectorResponse < Struct.new(
5573
+ :connector_id)
5574
+ SENSITIVE = []
5575
+ include Aws::Structure
5576
+ end
5577
+
5578
+ # @note When making an API call, you may pass UpdateProfileRequest
5579
+ # data as a hash:
5580
+ #
5581
+ # {
5582
+ # profile_id: "ProfileId", # required
5583
+ # certificate_ids: ["CertificateId"],
5584
+ # }
5585
+ #
5586
+ # @!attribute [rw] profile_id
5587
+ # The identifier of the profile object that you are updating.
5588
+ # @return [String]
5589
+ #
5590
+ # @!attribute [rw] certificate_ids
5591
+ # An array of identifiers for the imported certificates. You use this
5592
+ # identifier for working with profiles and partner profiles.
5593
+ # @return [Array<String>]
5594
+ #
5595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateProfileRequest AWS API Documentation
5596
+ #
5597
+ class UpdateProfileRequest < Struct.new(
5598
+ :profile_id,
5599
+ :certificate_ids)
5600
+ SENSITIVE = []
5601
+ include Aws::Structure
5602
+ end
5603
+
5604
+ # @!attribute [rw] profile_id
5605
+ # Returns the identifier for the profile that's being updated.
5606
+ # @return [String]
5607
+ #
5608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateProfileResponse AWS API Documentation
5609
+ #
5610
+ class UpdateProfileResponse < Struct.new(
5611
+ :profile_id)
5612
+ SENSITIVE = []
5613
+ include Aws::Structure
5614
+ end
5615
+
3971
5616
  # @note When making an API call, you may pass UpdateServerRequest
3972
5617
  # data as a hash:
3973
5618
  #
@@ -3977,6 +5622,7 @@ module Aws::Transfer
3977
5622
  # passive_ip: "PassiveIp",
3978
5623
  # tls_session_resumption_mode: "DISABLED", # accepts DISABLED, ENABLED, ENFORCED
3979
5624
  # set_stat_option: "DEFAULT", # accepts DEFAULT, ENABLE_NO_OP
5625
+ # as_2_transports: ["HTTP"], # accepts HTTP
3980
5626
  # },
3981
5627
  # endpoint_details: {
3982
5628
  # address_allocation_ids: ["AddressAllocationId"],
@@ -3996,7 +5642,7 @@ module Aws::Transfer
3996
5642
  # logging_role: "NullableRole",
3997
5643
  # post_authentication_login_banner: "PostAuthenticationLoginBanner",
3998
5644
  # pre_authentication_login_banner: "PreAuthenticationLoginBanner",
3999
- # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
5645
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS, AS2
4000
5646
  # security_policy_name: "SecurityPolicyName",
4001
5647
  # server_id: "ServerId", # required
4002
5648
  # workflow_details: {
@@ -4054,32 +5700,36 @@ module Aws::Transfer
4054
5700
  # @!attribute [rw] protocol_details
4055
5701
  # The protocol settings that are configured for your server.
4056
5702
  #
4057
- # * Use the `PassiveIp` parameter to indicate passive mode (for FTP
4058
- # and FTPS protocols). Enter a single dotted-quad IPv4 address, such
4059
- # as the external IP address of a firewall, router, or load
5703
+ # * To indicate passive mode (for FTP and FTPS protocols), use the
5704
+ # `PassiveIp` parameter. Enter a single dotted-quad IPv4 address,
5705
+ # such as the external IP address of a firewall, router, or load
4060
5706
  # balancer.
4061
5707
  #
4062
- # * Use the `SetStatOption` to ignore the error that is generated when
4063
- # the client attempts to use SETSTAT on a file you are uploading to
4064
- # an S3 bucket. Set the value to `ENABLE_NO_OP` to have the Transfer
4065
- # Family server ignore the SETSTAT command, and upload files without
4066
- # needing to make any changes to your SFTP client. Note that with
4067
- # `SetStatOption` set to `ENABLE_NO_OP`, Transfer generates a log
4068
- # entry to CloudWatch Logs, so you can determine when the client is
4069
- # making a SETSTAT call.
4070
- #
4071
- # * Use the `TlsSessionResumptionMode` parameter to determine whether
4072
- # or not your Transfer server resumes recent, negotiated sessions
4073
- # through a unique session ID.
5708
+ # * To ignore the error that is generated when the client attempts to
5709
+ # use the `SETSTAT` command on a file that you are uploading to an
5710
+ # Amazon S3 bucket, use the `SetStatOption` parameter. To have the
5711
+ # Transfer Family server ignore the `SETSTAT` command and upload
5712
+ # files without needing to make any changes to your SFTP client, set
5713
+ # the value to `ENABLE_NO_OP`. If you set the `SetStatOption`
5714
+ # parameter to `ENABLE_NO_OP`, Transfer Family generates a log entry
5715
+ # to Amazon CloudWatch Logs, so that you can determine when the
5716
+ # client is making a `SETSTAT` call.
5717
+ #
5718
+ # * To determine whether your Transfer Family server resumes recent,
5719
+ # negotiated sessions through a unique session ID, use the
5720
+ # `TlsSessionResumptionMode` parameter.
5721
+ #
5722
+ # * `As2Transports` indicates the transport method for the AS2
5723
+ # messages. Currently, only HTTP is supported.
4074
5724
  # @return [Types::ProtocolDetails]
4075
5725
  #
4076
5726
  # @!attribute [rw] endpoint_details
4077
5727
  # The virtual private cloud (VPC) endpoint settings that are
4078
5728
  # configured for your server. When you host your endpoint within your
4079
- # VPC, you can make it accessible only to resources within your VPC,
4080
- # or you can attach Elastic IP addresses and make it accessible to
4081
- # clients over the internet. Your VPC's default security groups are
4082
- # automatically assigned to your endpoint.
5729
+ # VPC, you can make your endpoint accessible only to resources within
5730
+ # your VPC, or you can attach Elastic IP addresses and make your
5731
+ # endpoint accessible to clients over the internet. Your VPC's
5732
+ # default security groups are automatically assigned to your endpoint.
4083
5733
  # @return [Types::EndpointDetails]
4084
5734
  #
4085
5735
  # @!attribute [rw] endpoint_type
@@ -4111,15 +5761,37 @@ module Aws::Transfer
4111
5761
  # @return [String]
4112
5762
  #
4113
5763
  # @!attribute [rw] host_key
4114
- # The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
4115
- # my-new-server-key`.
5764
+ # The RSA, ECDSA, or ED25519 private key to use for your server.
5765
+ #
5766
+ # Use the following command to generate an RSA 2048 bit key with no
5767
+ # passphrase:
5768
+ #
5769
+ # `ssh-keygen -t rsa -b 2048 -N "" -m PEM -f my-new-server-key`.
5770
+ #
5771
+ # Use a minimum value of 2048 for the `-b` option. You can create a
5772
+ # stronger key by using 3072 or 4096.
5773
+ #
5774
+ # Use the following command to generate an ECDSA 256 bit key with no
5775
+ # passphrase:
5776
+ #
5777
+ # `ssh-keygen -t ecdsa -b 256 -N "" -m PEM -f my-new-server-key`.
5778
+ #
5779
+ # Valid values for the `-b` option for ECDSA are 256, 384, and 521.
5780
+ #
5781
+ # Use the following command to generate an ED25519 key with no
5782
+ # passphrase:
5783
+ #
5784
+ # `ssh-keygen -t ed25519 -N "" -f my-new-server-key`.
5785
+ #
5786
+ # For all of these commands, you can replace *my-new-server-key* with
5787
+ # a string of your choice.
4116
5788
  #
4117
5789
  # If you aren't planning to migrate existing users from an existing
4118
- # server to a new server, don't update the host key. Accidentally
4119
- # changing a server's host key can be disruptive.
5790
+ # SFTP-enabled server to a new server, don't update the host key.
5791
+ # Accidentally changing a server's host key can be disruptive.
4120
5792
  #
4121
5793
  # For more information, see [Change the host key for your SFTP-enabled
4122
- # server][1] in the *Amazon Web ServicesTransfer Family User Guide*.
5794
+ # server][1] in the *Transfer Family User Guide*.
4123
5795
  #
4124
5796
  #
4125
5797
  #
@@ -4132,15 +5804,14 @@ module Aws::Transfer
4132
5804
  # @return [Types::IdentityProviderDetails]
4133
5805
  #
4134
5806
  # @!attribute [rw] logging_role
4135
- # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
4136
- # Identity and Access Management (IAM) role that allows a server to
4137
- # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
4138
- # events. When set, user activity can be viewed in your CloudWatch
4139
- # logs.
5807
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
5808
+ # (IAM) role that allows a server to turn on Amazon CloudWatch logging
5809
+ # for Amazon S3 or Amazon EFSevents. When set, you can view user
5810
+ # activity in your CloudWatch logs.
4140
5811
  # @return [String]
4141
5812
  #
4142
5813
  # @!attribute [rw] post_authentication_login_banner
4143
- # Specify a string to display when users connect to a server. This
5814
+ # Specifies a string to display when users connect to a server. This
4144
5815
  # string is displayed after the user authenticates.
4145
5816
  #
4146
5817
  # <note markdown="1"> The SFTP protocol does not support post-authentication display
@@ -4150,9 +5821,9 @@ module Aws::Transfer
4150
5821
  # @return [String]
4151
5822
  #
4152
5823
  # @!attribute [rw] pre_authentication_login_banner
4153
- # Specify a string to display when users connect to a server. This
5824
+ # Specifies a string to display when users connect to a server. This
4154
5825
  # string is displayed before the user authenticates. For example, the
4155
- # following banner displays details about using the system.
5826
+ # following banner displays details about using the system:
4156
5827
  #
4157
5828
  # `This system is for the use of authorized users only. Individuals
4158
5829
  # using this computer system without authority, or in excess of their
@@ -4165,28 +5836,34 @@ module Aws::Transfer
4165
5836
  # file transfer protocol client can connect to your server's
4166
5837
  # endpoint. The available protocols are:
4167
5838
  #
4168
- # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer
5839
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
4169
5840
  # over SSH
4170
5841
  #
4171
- # * File Transfer Protocol Secure (FTPS): File transfer with TLS
5842
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
4172
5843
  # encryption
4173
5844
  #
4174
- # * File Transfer Protocol (FTP): Unencrypted file transfer
5845
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
5846
+ #
5847
+ # * `AS2` (Applicability Statement 2): used for transporting
5848
+ # structured business-to-business data
5849
+ #
5850
+ # <note markdown="1"> * If you select `FTPS`, you must choose a certificate stored in
5851
+ # Certificate Manager (ACM) which is used to identify your server
5852
+ # when clients connect to it over FTPS.
4175
5853
  #
4176
- # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in Amazon
4177
- # Web ServicesCertificate Manager (ACM) which will be used to identify
4178
- # your server when clients connect to it over FTPS.
5854
+ # * If `Protocol` includes either `FTP` or `FTPS`, then the
5855
+ # `EndpointType` must be `VPC` and the `IdentityProviderType` must
5856
+ # be `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
4179
5857
  #
4180
- # If `Protocol` includes either `FTP` or `FTPS`, then the
4181
- # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
4182
- # `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
5858
+ # * If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot
5859
+ # be associated.
4183
5860
  #
4184
- # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
4185
- # associated.
5861
+ # * If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
5862
+ # to `PUBLIC` and the `IdentityProviderType` can be set to
5863
+ # `SERVICE_MANAGED`.
4186
5864
  #
4187
- # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
4188
- # to `PUBLIC` and the `IdentityProviderType` can be set to
4189
- # `SERVICE_MANAGED`.
5865
+ # * If `Protocol` includes `AS2`, then the `EndpointType` must be
5866
+ # `VPC`, and domain must be Amazon S3.
4190
5867
  #
4191
5868
  # </note>
4192
5869
  # @return [Array<String>]
@@ -4203,7 +5880,7 @@ module Aws::Transfer
4203
5880
  #
4204
5881
  # @!attribute [rw] workflow_details
4205
5882
  # Specifies the workflow ID for the workflow to assign and the
4206
- # execution role used for executing the workflow.
5883
+ # execution role that's used for executing the workflow.
4207
5884
  #
4208
5885
  # To remove an associated workflow from a server, you can provide an
4209
5886
  # empty `OnUpload` object, as in the following example.
@@ -4276,13 +5953,13 @@ module Aws::Transfer
4276
5953
  # @return [String]
4277
5954
  #
4278
5955
  # @!attribute [rw] home_directory_type
4279
- # The type of landing directory (folder) you want your users' home
4280
- # directory to be when they log into the server. If you set it to
4281
- # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
4282
- # as is in their file transfer protocol clients. If you set it
5956
+ # The type of landing directory (folder) that you want your users'
5957
+ # home directory to be when they log in to the server. If you set it
5958
+ # to `PATH`, the user will see the absolute Amazon S3 bucket or EFS
5959
+ # paths as is in their file transfer protocol clients. If you set it
4283
5960
  # `LOGICAL`, you need to provide mappings in the
4284
- # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
4285
- # paths visible to your users.
5961
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or Amazon
5962
+ # EFS paths visible to your users.
4286
5963
  # @return [String]
4287
5964
  #
4288
5965
  # @!attribute [rw] home_directory_mappings
@@ -4291,10 +5968,10 @@ module Aws::Transfer
4291
5968
  # make them visible. You must specify the `Entry` and `Target` pair,
4292
5969
  # where `Entry` shows how the path is made visible and `Target` is the
4293
5970
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
4294
- # it is displayed as is. You also must ensure that your Amazon Web
4295
- # Services Identity and Access Management (IAM) role provides access
4296
- # to paths in `Target`. This value can only be set when
4297
- # `HomeDirectoryType` is set to *LOGICAL*.
5971
+ # it is displayed as is. You also must ensure that your Identity and
5972
+ # Access Management (IAM) role provides access to paths in `Target`.
5973
+ # This value can be set only when `HomeDirectoryType` is set to
5974
+ # *LOGICAL*.
4298
5975
  #
4299
5976
  # The following is an `Entry` and `Target` pair example.
4300
5977
  #
@@ -4312,19 +5989,19 @@ module Aws::Transfer
4312
5989
  # @return [Array<Types::HomeDirectoryMapEntry>]
4313
5990
  #
4314
5991
  # @!attribute [rw] policy
4315
- # A session policy for your user so that you can use the same IAM role
4316
- # across multiple users. This policy scopes down user access to
4317
- # portions of their Amazon S3 bucket. Variables that you can use
4318
- # inside this policy include `$\{Transfer:UserName\}`,
4319
- # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
5992
+ # A session policy for your user so that you can use the same Identity
5993
+ # and Access Management (IAM) role across multiple users. This policy
5994
+ # scopes down a user's access to portions of their Amazon S3 bucket.
5995
+ # Variables that you can use inside this policy include
5996
+ # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
5997
+ # `$\{Transfer:HomeBucket\}`.
4320
5998
  #
4321
- # <note markdown="1"> This only applies when the domain of `ServerId` is S3. EFS does not
4322
- # use session policies.
5999
+ # <note markdown="1"> This policy applies only when the domain of `ServerId` is Amazon S3.
6000
+ # Amazon EFS does not use session policies.
4323
6001
  #
4324
- # For session policies, Amazon Web Services Transfer Family stores the
4325
- # policy as a JSON blob, instead of the Amazon Resource Name (ARN) of
4326
- # the policy. You save the policy as a JSON blob and pass it in the
4327
- # `Policy` argument.
6002
+ # For session policies, Transfer Family stores the policy as a JSON
6003
+ # blob, instead of the Amazon Resource Name (ARN) of the policy. You
6004
+ # save the policy as a JSON blob and pass it in the `Policy` argument.
4328
6005
  #
4329
6006
  # For an example of a session policy, see [Creating a session
4330
6007
  # policy][1].
@@ -4351,14 +6028,14 @@ module Aws::Transfer
4351
6028
  # @return [Types::PosixProfile]
4352
6029
  #
4353
6030
  # @!attribute [rw] role
4354
- # Specifies the Amazon Resource Name (ARN) of the IAM role that
4355
- # controls your users' access to your Amazon S3 bucket or EFS file
4356
- # system. The policies attached to this role determine the level of
4357
- # access that you want to provide your users when transferring files
4358
- # into and out of your Amazon S3 bucket or EFS file system. The IAM
4359
- # role should also contain a trust relationship that allows the server
4360
- # to access your resources when servicing your users' transfer
4361
- # requests.
6031
+ # The Amazon Resource Name (ARN) of the Identity and Access Management
6032
+ # (IAM) role that controls your users' access to your Amazon S3
6033
+ # bucket or Amazon EFS file system. The policies attached to this role
6034
+ # determine the level of access that you want to provide your users
6035
+ # when transferring files into and out of your Amazon S3 bucket or
6036
+ # Amazon EFS file system. The IAM role should also contain a trust
6037
+ # relationship that allows the server to access your resources when
6038
+ # servicing your users' transfer requests.
4362
6039
  # @return [String]
4363
6040
  #
4364
6041
  # @!attribute [rw] server_id
@@ -4440,7 +6117,7 @@ module Aws::Transfer
4440
6117
  end
4441
6118
 
4442
6119
  # Specifies the workflow ID for the workflow to assign and the execution
4443
- # role used for executing the workflow.
6120
+ # role that's used for executing the workflow.
4444
6121
  #
4445
6122
  # @note When making an API call, you may pass WorkflowDetail
4446
6123
  # data as a hash:
@@ -4550,13 +6227,13 @@ module Aws::Transfer
4550
6227
  # @!attribute [rw] type
4551
6228
  # Currently, the following step types are supported.
4552
6229
  #
4553
- # * *COPY*\: copy the file to another location
6230
+ # * *COPY*\: Copy the file to another location.
4554
6231
  #
4555
- # * *CUSTOM*\: custom step with a lambda target
6232
+ # * *CUSTOM*\: Perform a custom step with an Lambda function target.
4556
6233
  #
4557
- # * *DELETE*\: delete the file
6234
+ # * *DELETE*\: Delete the file.
4558
6235
  #
4559
- # * *TAG*\: add a tag to the file
6236
+ # * *TAG*\: Add a tag to the file.
4560
6237
  # @return [String]
4561
6238
  #
4562
6239
  # @!attribute [rw] copy_step_details