aws-sdk-transfer 1.55.0 → 1.58.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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