aws-sdk-transfer 1.33.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -83,10 +83,12 @@ module Aws::Transfer
83
83
  Message = Shapes::StringShape.new(name: 'Message')
84
84
  NextToken = Shapes::StringShape.new(name: 'NextToken')
85
85
  NullableRole = Shapes::StringShape.new(name: 'NullableRole')
86
+ PassiveIp = Shapes::StringShape.new(name: 'PassiveIp')
86
87
  Policy = Shapes::StringShape.new(name: 'Policy')
87
88
  PosixId = Shapes::IntegerShape.new(name: 'PosixId')
88
89
  PosixProfile = Shapes::StructureShape.new(name: 'PosixProfile')
89
90
  Protocol = Shapes::StringShape.new(name: 'Protocol')
91
+ ProtocolDetails = Shapes::StructureShape.new(name: 'ProtocolDetails')
90
92
  Protocols = Shapes::ListShape.new(name: 'Protocols')
91
93
  Resource = Shapes::StringShape.new(name: 'Resource')
92
94
  ResourceExistsException = Shapes::StructureShape.new(name: 'ResourceExistsException')
@@ -257,6 +259,7 @@ module Aws::Transfer
257
259
 
258
260
  DescribedServer.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
259
261
  DescribedServer.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
262
+ DescribedServer.add_member(:protocol_details, Shapes::ShapeRef.new(shape: ProtocolDetails, location_name: "ProtocolDetails"))
260
263
  DescribedServer.add_member(:domain, Shapes::ShapeRef.new(shape: Domain, location_name: "Domain"))
261
264
  DescribedServer.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
262
265
  DescribedServer.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
@@ -402,6 +405,9 @@ module Aws::Transfer
402
405
  PosixProfile.add_member(:secondary_gids, Shapes::ShapeRef.new(shape: SecondaryGids, location_name: "SecondaryGids"))
403
406
  PosixProfile.struct_class = Types::PosixProfile
404
407
 
408
+ ProtocolDetails.add_member(:passive_ip, Shapes::ShapeRef.new(shape: PassiveIp, location_name: "PassiveIp"))
409
+ ProtocolDetails.struct_class = Types::ProtocolDetails
410
+
405
411
  Protocols.member = Shapes::ShapeRef.new(shape: Protocol)
406
412
 
407
413
  ResourceExistsException.add_member(:message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "Message"))
@@ -487,6 +493,7 @@ module Aws::Transfer
487
493
  UpdateAccessResponse.struct_class = Types::UpdateAccessResponse
488
494
 
489
495
  UpdateServerRequest.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
496
+ UpdateServerRequest.add_member(:protocol_details, Shapes::ShapeRef.new(shape: ProtocolDetails, location_name: "ProtocolDetails"))
490
497
  UpdateServerRequest.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
491
498
  UpdateServerRequest.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
492
499
  UpdateServerRequest.add_member(:host_key, Shapes::ShapeRef.new(shape: HostKey, location_name: "HostKey"))
@@ -65,16 +65,17 @@ module Aws::Transfer
65
65
  # The landing directory (folder) for a user when they log in to the
66
66
  # server using the client.
67
67
  #
68
- # A `HomeDirectory` example is `/directory_name/home/mydirectory`.
68
+ # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
69
69
  # @return [String]
70
70
  #
71
71
  # @!attribute [rw] home_directory_type
72
- # The type of landing directory (folder) that you want your users'
73
- # home directory to be when they log in to the server. If you set it
74
- # to `PATH`, the user will see the absolute Amazon S3 bucket paths as
75
- # is in their file transfer protocol clients. If you set it `LOGICAL`,
76
- # you must provide mappings in the `HomeDirectoryMappings` for how you
77
- # want to make Amazon S3 paths visible to your users.
72
+ # The type of landing directory (folder) you want your users' home
73
+ # directory to be when they log into the server. If you set it to
74
+ # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
75
+ # as is in their file transfer protocol clients. If you set it
76
+ # `LOGICAL`, you will need to provide mappings in the
77
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
78
+ # paths visible to your users.
78
79
  # @return [String]
79
80
  #
80
81
  # @!attribute [rw] home_directory_mappings
@@ -83,10 +84,10 @@ module Aws::Transfer
83
84
  # make them visible. You must specify the `Entry` and `Target` pair,
84
85
  # where `Entry` shows how the path is made visible and `Target` is the
85
86
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
86
- # it will be displayed as is. You also must ensure that your AWS
87
- # Identity and Access Management (IAM) role provides access to paths
88
- # in `Target`. This value can only be set when `HomeDirectoryType` is
89
- # set to *LOGICAL*.
87
+ # it is displayed as is. You also must ensure that your Amazon Web
88
+ # Services Identity and Access Management (IAM) role provides access
89
+ # to paths in `Target`. This value can only be set when
90
+ # `HomeDirectoryType` is set to *LOGICAL*.
90
91
  #
91
92
  # The following is an `Entry` and `Target` pair example.
92
93
  #
@@ -100,23 +101,18 @@ module Aws::Transfer
100
101
  #
101
102
  # The following is an `Entry` and `Target` pair example for `chroot`.
102
103
  #
103
- # `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
104
+ # `[ \{ "Entry:": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
104
105
  #
105
106
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
106
- # S3 or Amazon EFS, the entry will be ignored. As a workaround, you
107
- # can use the Amazon S3 API or EFS API to create 0-byte objects as
108
- # place holders for your directory. If using the AWS CLI, use the
109
- # `s3api` or `efsapi` call instead of `s3` or `efs` so you can use the
110
- # `put-object` operation. For example, you can use the following.
111
- #
112
- # `aws s3api put-object --bucket bucketname --key path/to/folder/`
113
- #
114
- # The end of the key name must end in a `/` for it to be considered a
115
- # folder.
107
+ # S3 or EFS, the entry is ignored. As a workaround, you can use the
108
+ # Amazon S3 API or EFS API to create 0 byte objects as place holders
109
+ # for your directory. If using the CLI, use the `s3api` or `efsapi`
110
+ # call instead of `s3` or `efs` so you can use the put-object
111
+ # operation. For example, you use the following: `aws s3api put-object
112
+ # --bucket bucketname --key path/to/folder/`. Make sure that the end
113
+ # of the key name ends in a `/` for it to be considered a folder.
116
114
  #
117
115
  # </note>
118
- #
119
- # Required: No
120
116
  # @return [Array<Types::HomeDirectoryMapEntry>]
121
117
  #
122
118
  # @!attribute [rw] policy
@@ -127,18 +123,18 @@ module Aws::Transfer
127
123
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
128
124
  #
129
125
  # <note markdown="1"> This only applies when domain of `ServerId` is S3. Amazon EFS does
130
- # not use scope down policy.
126
+ # not use scope-down policies.
131
127
  #
132
- # For scope-down policies, AWS Transfer Family stores the policy as a
133
- # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
134
- # You save the policy as a JSON blob and pass it in the `Policy`
135
- # argument.
128
+ # For scope-down policies, Amazon Web Services Transfer Family stores
129
+ # the policy as a JSON blob, instead of the Amazon Resource Name (ARN)
130
+ # of the policy. You save the policy as a JSON blob and pass it in the
131
+ # `Policy` argument.
136
132
  #
137
133
  # For an example of a scope-down policy, see [Example scope-down
138
134
  # policy][1].
139
135
  #
140
- # For more information, see [AssumeRole][2] in the *AWS Security Token
141
- # Service API Reference*.
136
+ # For more information, see [AssumeRole][2] in the *Amazon Web
137
+ # Services Security Token Service API Reference*.
142
138
  #
143
139
  # </note>
144
140
  #
@@ -158,13 +154,14 @@ module Aws::Transfer
158
154
  # @return [Types::PosixProfile]
159
155
  #
160
156
  # @!attribute [rw] role
161
- # Specifies the IAM role that controls your users' access to your
162
- # Amazon S3 bucket or EFS file system. The policies attached to this
163
- # role determine the level of access that you want to provide your
164
- # users when transferring files into and out of your Amazon S3 bucket
165
- # or EFS file system. The IAM role should also contain a trust
166
- # relationship that allows the server to access your resources when
167
- # servicing your users' transfer requests.
157
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
158
+ # controls your users' access to your Amazon S3 bucket or EFS file
159
+ # system. The policies attached to this role determine the level of
160
+ # access that you want to provide your users when transferring files
161
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
162
+ # role should also contain a trust relationship that allows the server
163
+ # to access your resources when servicing your users' transfer
164
+ # requests.
168
165
  # @return [String]
169
166
  #
170
167
  # @!attribute [rw] server_id
@@ -176,12 +173,12 @@ module Aws::Transfer
176
173
  # A unique identifier that is required to identify specific groups
177
174
  # within your directory. The users of the group that you associate
178
175
  # have access to your Amazon S3 or Amazon EFS resources over the
179
- # enabled protocols using AWS Transfer Family. If you know the group
180
- # name, you can view the SID values by running the following command
181
- # using Windows PowerShell.
176
+ # enabled protocols using Amazon Web Services Transfer Family. If you
177
+ # know the group name, you can view the SID values by running the
178
+ # following command using Windows PowerShell.
182
179
  #
183
180
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
184
- # -Properties * | Select SamaccountName,ObjectSid`
181
+ # -Properties * | Select SamAccountName,ObjectSid`
185
182
  #
186
183
  # In that command, replace *YourGroupName* with the name of your
187
184
  # Active Directory group.
@@ -213,8 +210,8 @@ module Aws::Transfer
213
210
  #
214
211
  # @!attribute [rw] external_id
215
212
  # The external ID of the group whose users have access to your Amazon
216
- # S3 or Amazon EFS resources over the enabled protocols using AWS
217
- # Transfer Family.
213
+ # S3 or Amazon EFS resources over the enabled protocols using Amazon
214
+ # Web Services Transfer Family.
218
215
  # @return [String]
219
216
  #
220
217
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAccessResponse AWS API Documentation
@@ -259,19 +256,21 @@ module Aws::Transfer
259
256
  # }
260
257
  #
261
258
  # @!attribute [rw] certificate
262
- # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
263
- # certificate. Required when `Protocols` is set to `FTPS`.
259
+ # The Amazon Resource Name (ARN) of the Amazon Web Services
260
+ # Certificate Manager (ACM) certificate. Required when `Protocols` is
261
+ # set to `FTPS`.
264
262
  #
265
263
  # To request a new public certificate, see [Request a public
266
- # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
264
+ # certificate][1] in the <i> Amazon Web Services Certificate Manager
265
+ # User Guide</i>.
267
266
  #
268
267
  # To import an existing certificate into ACM, see [Importing
269
- # certificates into ACM][2] in the <i> AWS Certificate Manager User
270
- # Guide</i>.
268
+ # certificates into ACM][2] in the <i> Amazon Web Services Certificate
269
+ # Manager User Guide</i>.
271
270
  #
272
271
  # To request a private certificate to use FTPS through private IP
273
- # addresses, see [Request a private certificate][3] in the <i> AWS
274
- # Certificate Manager User Guide</i>.
272
+ # addresses, see [Request a private certificate][3] in the <i> Amazon
273
+ # Web Services Certificate Manager User Guide</i>.
275
274
  #
276
275
  # Certificates with the following cryptographic algorithms and key
277
276
  # sizes are supported:
@@ -326,12 +325,12 @@ module Aws::Transfer
326
325
  # within your VPC or choose to make it internet facing by attaching
327
326
  # Elastic IP addresses directly to it.
328
327
  #
329
- # <note markdown="1"> After March 31, 2021, you won't be able to create a server using
330
- # `EndpointType=VPC_ENDPOINT` in your AWS account if your account
331
- # hasn't already done so before March 31, 2021. If you have already
332
- # created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
333
- # on or before March 31, 2021, you will not be affected. After this
334
- # date, use `EndpointType`=`VPC`.
328
+ # <note markdown="1"> After May 19, 2021, you won't be able to create a server using
329
+ # `EndpointType=VPC_ENDPOINT` in your Amazon Web Services account if
330
+ # your account hasn't already done so before May 19, 2021. If you
331
+ # have already created servers with `EndpointType=VPC_ENDPOINT` in
332
+ # your Amazon Web Services account on or before May 19, 2021, you will
333
+ # not be affected. After this date, use `EndpointType`=`VPC`.
335
334
  #
336
335
  # For more information, see
337
336
  # https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
@@ -355,7 +354,7 @@ module Aws::Transfer
355
354
  # Accidentally changing a server's host key can be disruptive.
356
355
  #
357
356
  # For more information, see [Change the host key for your SFTP-enabled
358
- # server][1] in the *AWS Transfer Family User Guide*.
357
+ # server][1] in the *Amazon Web Services Transfer Family User Guide*.
359
358
  #
360
359
  #
361
360
  #
@@ -374,21 +373,27 @@ module Aws::Transfer
374
373
  # @!attribute [rw] identity_provider_type
375
374
  # Specifies the mode of authentication for a server. The default value
376
375
  # is `SERVICE_MANAGED`, which allows you to store and access user
377
- # credentials within the AWS Transfer Family service. Use
378
- # `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups
379
- # in AWS Managed Active Directory or Microsoft Active Directory in
380
- # your on-premises environment or in AWS using AD Connectors. This
381
- # option also requires you to provide a Directory ID using the
382
- # `IdentityProviderDetails` parameter. Use the `API_GATEWAY` value to
383
- # integrate with an identity provider of your choosing. The
384
- # `API_GATEWAY` setting requires you to provide an API Gateway
385
- # endpoint URL to call for authentication using the
376
+ # credentials within the Amazon Web Services Transfer Family service.
377
+ #
378
+ # Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory
379
+ # groups in Amazon Web Services Managed Active Directory or Microsoft
380
+ # Active Directory in your on-premises environment or in Amazon Web
381
+ # Services using AD Connectors. This option also requires you to
382
+ # provide a Directory ID using the `IdentityProviderDetails`
383
+ # parameter.
384
+ #
385
+ # Use the `API_GATEWAY` value to integrate with an identity provider
386
+ # of your choosing. The `API_GATEWAY` setting requires you to provide
387
+ # an API Gateway endpoint URL to call for authentication using the
386
388
  # `IdentityProviderDetails` parameter.
387
389
  # @return [String]
388
390
  #
389
391
  # @!attribute [rw] logging_role
390
- # Allows the service to write your users' activity to your Amazon
391
- # CloudWatch logs for monitoring and auditing purposes.
392
+ # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
393
+ # Identity and Access Management (IAM) role that allows a server to
394
+ # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
395
+ # events. When set, user activity can be viewed in your CloudWatch
396
+ # logs.
392
397
  # @return [String]
393
398
  #
394
399
  # @!attribute [rw] protocols
@@ -404,9 +409,9 @@ module Aws::Transfer
404
409
  #
405
410
  # * `FTP` (File Transfer Protocol): Unencrypted file transfer
406
411
  #
407
- # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
408
- # Certificate Manager (ACM) which will be used to identify your server
409
- # when clients connect to it over FTPS.
412
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in Amazon
413
+ # Web Services Certificate Manager (ACM) which is used to identify
414
+ # your server when clients connect to it over FTPS.
410
415
  #
411
416
  # If `Protocol` includes either `FTP` or `FTPS`, then the
412
417
  # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
@@ -501,21 +506,23 @@ module Aws::Transfer
501
506
  # @!attribute [rw] home_directory_type
502
507
  # The type of landing directory (folder) you want your users' home
503
508
  # directory to be when they log into the server. If you set it to
504
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is
505
- # in their file transfer protocol clients. If you set it `LOGICAL`,
506
- # you will need to provide mappings in the `HomeDirectoryMappings` for
507
- # how you want to make Amazon S3 paths visible to your users.
509
+ # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
510
+ # as is in their file transfer protocol clients. If you set it
511
+ # `LOGICAL`, you will need to provide mappings in the
512
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
513
+ # paths visible to your users.
508
514
  # @return [String]
509
515
  #
510
516
  # @!attribute [rw] home_directory_mappings
511
- # Logical directory mappings that specify what Amazon S3 or EFS paths
512
- # and keys should be visible to your user and how you want to make
513
- # them visible. You will need to specify the `Entry` and `Target`
514
- # pair, where `Entry` shows how the path is made visible and `Target`
515
- # is the actual Amazon S3 or EFS path. If you only specify a target,
516
- # it will be displayed as is. You will need to also make sure that
517
- # your IAM role provides access to paths in `Target`. This value can
518
- # only be set when `HomeDirectoryType` is set to `LOGICAL`.
517
+ # Logical directory mappings that specify what Amazon S3 or Amazon EFS
518
+ # paths and keys should be visible to your user and how you want to
519
+ # make them visible. You must specify the `Entry` and `Target` pair,
520
+ # where `Entry` shows how the path is made visible and `Target` is the
521
+ # actual Amazon S3 or Amazon EFS path. If you only specify a target,
522
+ # it is displayed as is. You also must ensure that your Amazon Web
523
+ # Services Identity and Access Management (IAM) role provides access
524
+ # to paths in `Target`. This value can only be set when
525
+ # `HomeDirectoryType` is set to *LOGICAL*.
519
526
  #
520
527
  # The following is an `Entry` and `Target` pair example.
521
528
  #
@@ -529,13 +536,13 @@ module Aws::Transfer
529
536
  #
530
537
  # The following is an `Entry` and `Target` pair example for `chroot`.
531
538
  #
532
- # `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
539
+ # `[ \{ "Entry:": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
533
540
  #
534
541
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
535
- # S3 or EFS, the entry will be ignored. As a workaround, you can use
536
- # the Amazon S3 API or EFS API to create 0 byte objects as place
537
- # holders for your directory. If using the CLI, use the `s3api` or
538
- # `efsapi` call instead of `s3` or `efs` so you can use the put-object
542
+ # S3 or EFS, the entry is ignored. As a workaround, you can use the
543
+ # Amazon S3 API or EFS API to create 0 byte objects as place holders
544
+ # for your directory. If using the CLI, use the `s3api` or `efsapi`
545
+ # call instead of `s3` or `efs` so you can use the put-object
539
546
  # operation. For example, you use the following: `aws s3api put-object
540
547
  # --bucket bucketname --key path/to/folder/`. Make sure that the end
541
548
  # of the key name ends in a `/` for it to be considered a folder.
@@ -544,8 +551,8 @@ module Aws::Transfer
544
551
  # @return [Array<Types::HomeDirectoryMapEntry>]
545
552
  #
546
553
  # @!attribute [rw] policy
547
- # A scope-down policy for your user so you can use the same IAM role
548
- # across multiple users. This policy scopes down user access to
554
+ # A scope-down policy for your user so that you can use the same IAM
555
+ # role across multiple users. This policy scopes down user access to
549
556
  # portions of their Amazon S3 bucket. Variables that you can use
550
557
  # inside this policy include `$\{Transfer:UserName\}`,
551
558
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
@@ -553,16 +560,16 @@ module Aws::Transfer
553
560
  # <note markdown="1"> This only applies when domain of ServerId is S3. EFS does not use
554
561
  # scope down policy.
555
562
  #
556
- # For scope-down policies, AWS Transfer Family stores the policy as a
557
- # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
558
- # You save the policy as a JSON blob and pass it in the `Policy`
559
- # argument.
563
+ # For scope-down policies, Amazon Web Services Transfer Family stores
564
+ # the policy as a JSON blob, instead of the Amazon Resource Name (ARN)
565
+ # of the policy. You save the policy as a JSON blob and pass it in the
566
+ # `Policy` argument.
560
567
  #
561
568
  # For an example of a scope-down policy, see [Example scope-down
562
569
  # policy][1].
563
570
  #
564
- # For more information, see [AssumeRole][2] in the *AWS Security Token
565
- # Service API Reference*.
571
+ # For more information, see [AssumeRole][2] in the *Amazon Web
572
+ # Services Security Token Service API Reference*.
566
573
  #
567
574
  # </note>
568
575
  #
@@ -582,13 +589,14 @@ module Aws::Transfer
582
589
  # @return [Types::PosixProfile]
583
590
  #
584
591
  # @!attribute [rw] role
585
- # Specifies the IAM role that controls your users' access to your
586
- # Amazon S3 bucket or EFS file system. The policies attached to this
587
- # role will determine the level of access you want to provide your
588
- # users when transferring files into and out of your Amazon S3 bucket
589
- # or EFS file system. The IAM role should also contain a trust
590
- # relationship that allows the server to access your resources when
591
- # servicing your users' transfer requests.
592
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
593
+ # controls your users' access to your Amazon S3 bucket or EFS file
594
+ # system. The policies attached to this role determine the level of
595
+ # access that you want to provide your users when transferring files
596
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
597
+ # role should also contain a trust relationship that allows the server
598
+ # to access your resources when servicing your users' transfer
599
+ # requests.
592
600
  # @return [String]
593
601
  #
594
602
  # @!attribute [rw] server_id
@@ -667,12 +675,12 @@ module Aws::Transfer
667
675
  # A unique identifier that is required to identify specific groups
668
676
  # within your directory. The users of the group that you associate
669
677
  # have access to your Amazon S3 or Amazon EFS resources over the
670
- # enabled protocols using AWS Transfer Family. If you know the group
671
- # name, you can view the SID values by running the following command
672
- # using Windows PowerShell.
678
+ # enabled protocols using Amazon Web Services Transfer Family. If you
679
+ # know the group name, you can view the SID values by running the
680
+ # following command using Windows PowerShell.
673
681
  #
674
682
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
675
- # -Properties * | Select SamaccountName,ObjectSid`
683
+ # -Properties * | Select SamAccountName,ObjectSid`
676
684
  #
677
685
  # In that command, replace *YourGroupName* with the name of your
678
686
  # Active Directory group.
@@ -786,14 +794,14 @@ module Aws::Transfer
786
794
  #
787
795
  # @!attribute [rw] external_id
788
796
  # A unique identifier that is required to identify specific groups
789
- # within your directory. The users of the group you associate have
790
- # access to your Amazon S3 or Amazon EFS resources over the enabled
791
- # protocols using AWS Transfer Family. If you know the group name, you
792
- # can view the SID values by running the following command using
793
- # Windows PowerShell.
797
+ # within your directory. The users of the group that you associate
798
+ # have access to your Amazon S3 or Amazon EFS resources over the
799
+ # enabled protocols using Amazon Web Services Transfer Family. If you
800
+ # know the group name, you can view the SID values by running the
801
+ # following command using Windows PowerShell.
794
802
  #
795
803
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
796
- # -Properties * | Select SamaccountName,ObjectSid`
804
+ # -Properties * | Select SamAccountName,ObjectSid`
797
805
  #
798
806
  # In that command, replace *YourGroupName* with the name of your
799
807
  # Active Directory group.
@@ -910,8 +918,8 @@ module Aws::Transfer
910
918
  #
911
919
  # @!attribute [rw] user_name
912
920
  # The name of the user assigned to one or more servers. User names are
913
- # part of the sign-in credentials to use the AWS Transfer Family
914
- # service and perform file transfer tasks.
921
+ # part of the sign-in credentials to use the Amazon Web Services
922
+ # Transfer Family service and perform file transfer tasks.
915
923
  # @return [String]
916
924
  #
917
925
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUserRequest AWS API Documentation
@@ -945,20 +953,22 @@ module Aws::Transfer
945
953
  # Describes the properties of the access that was specified.
946
954
  #
947
955
  # @!attribute [rw] home_directory
948
- # Specifies the landing directory (or folder), which is the location
949
- # that files are written to or read from in an Amazon S3 bucket, for
950
- # the described access.
956
+ # The landing directory (folder) for a user when they log in to the
957
+ # server using the client.
958
+ #
959
+ # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
951
960
  # @return [String]
952
961
  #
953
962
  # @!attribute [rw] home_directory_mappings
954
- # Specifies the logical directory mappings that specify what Amazon S3
955
- # or Amazon EFS paths and keys should be visible to the associated
956
- # access and how you want to make them visible. You must specify the
957
- # "`Entry`" and "`Target`" pair, where `Entry` shows how the path
958
- # is made visible and `Target` is the actual Amazon S3 or EFS path. If
959
- # you only specify a target, it will be displayed as is. You also must
960
- # ensure that your AWS Identity and Access Management (IAM) role
961
- # provides access to paths in `Target`.
963
+ # Logical directory mappings that specify what Amazon S3 or Amazon EFS
964
+ # paths and keys should be visible to your user and how you want to
965
+ # make them visible. You must specify the `Entry` and `Target` pair,
966
+ # where `Entry` shows how the path is made visible and `Target` is the
967
+ # actual Amazon S3 or Amazon EFS path. If you only specify a target,
968
+ # it is displayed as is. You also must ensure that your Amazon Web
969
+ # Services Identity and Access Management (IAM) role provides access
970
+ # to paths in `Target`. This value can only be set when
971
+ # `HomeDirectoryType` is set to *LOGICAL*.
962
972
  #
963
973
  # In most cases, you can use this value instead of the scope-down
964
974
  # policy to lock down the associated access to the designated home
@@ -967,21 +977,21 @@ module Aws::Transfer
967
977
  # @return [Array<Types::HomeDirectoryMapEntry>]
968
978
  #
969
979
  # @!attribute [rw] home_directory_type
970
- # The type of landing directory (folder) that you want your users'
971
- # home directory to be when they log in to the server. If you set it
972
- # to `PATH`, the user will see the absolute Amazon S3 bucket paths as
973
- # is in their file transfer protocol clients. If you set it to
974
- # `LOGICAL`, you must provide mappings in the `HomeDirectoryMappings`
975
- # for how you want to make Amazon S3 paths visible to your users.
980
+ # The type of landing directory (folder) you want your users' home
981
+ # directory to be when they log into the server. If you set it to
982
+ # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
983
+ # as is in their file transfer protocol clients. If you set it
984
+ # `LOGICAL`, you will need to provide mappings in the
985
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
986
+ # paths visible to your users.
976
987
  # @return [String]
977
988
  #
978
989
  # @!attribute [rw] policy
979
- # A scope-down policy for your user so that you can use the same AWS
980
- # Identity and Access Management (IAM) role across multiple users.
981
- # This policy scopes down user access to portions of their Amazon S3
982
- # bucket. Variables that you can use inside this policy include
983
- # `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
984
- # `$\{Transfer:HomeBucket\}`.
990
+ # A scope-down policy for your user so that you can use the same IAM
991
+ # role across multiple users. This policy scopes down user access to
992
+ # portions of their Amazon S3 bucket. Variables that you can use
993
+ # inside this policy include `$\{Transfer:UserName\}`,
994
+ # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
985
995
  # @return [String]
986
996
  #
987
997
  # @!attribute [rw] posix_profile
@@ -994,27 +1004,29 @@ module Aws::Transfer
994
1004
  # @return [Types::PosixProfile]
995
1005
  #
996
1006
  # @!attribute [rw] role
997
- # The IAM role that controls access to your Amazon S3 bucket from the
998
- # specified associated access. The policies attached to this role will
999
- # determine the level of access that you want to provide the
1000
- # associated access when transferring files into and out of your
1001
- # Amazon S3 bucket or buckets. The IAM role should also contain a
1002
- # trust relationship that allows a server to access your resources
1003
- # when servicing transfer requests for the associated access.
1007
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
1008
+ # controls your users' access to your Amazon S3 bucket or EFS file
1009
+ # system. The policies attached to this role determine the level of
1010
+ # access that you want to provide your users when transferring files
1011
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
1012
+ # role should also contain a trust relationship that allows the server
1013
+ # to access your resources when servicing your users' transfer
1014
+ # requests.
1004
1015
  # @return [String]
1005
1016
  #
1006
1017
  # @!attribute [rw] external_id
1007
- # A unique identifier that might be required when you assume a role in
1008
- # another account. Think of the `ExternalID` as a group membership
1009
- # mechanism that uses a unique identifier (often a SID, but could be a
1010
- # group name or something else) as a basis. If the administrator of
1011
- # the account to which the role belongs provided you with an external
1012
- # ID, then provide that value in the `ExternalId` parameter. A
1013
- # cross-account role is usually set up to trust everyone in an
1014
- # account. Therefore, the administrator of the trusting account might
1015
- # send an external ID to the administrator of the trusted account.
1016
- # That way, only someone with the ID can assume the role, rather than
1017
- # everyone in the account.
1018
+ # A unique identifier that is required to identify specific groups
1019
+ # within your directory. The users of the group that you associate
1020
+ # have access to your Amazon S3 or Amazon EFS resources over the
1021
+ # enabled protocols using Amazon Web Services Transfer Family. If you
1022
+ # know the group name, you can view the SID values by running the
1023
+ # following command using Windows PowerShell.
1024
+ #
1025
+ # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
1026
+ # -Properties * | Select SamAccountName,ObjectSid`
1027
+ #
1028
+ # In that command, replace *YourGroupName* with the name of your
1029
+ # Active Directory group.
1018
1030
  #
1019
1031
  # The regex used to validate this parameter is a string of characters
1020
1032
  # consisting of uppercase and lowercase alphanumeric characters with
@@ -1097,18 +1109,30 @@ module Aws::Transfer
1097
1109
  # @return [String]
1098
1110
  #
1099
1111
  # @!attribute [rw] certificate
1100
- # Specifies the ARN of the AWS Certificate Manager (ACM) certificate.
1101
- # Required when `Protocols` is set to `FTPS`.
1112
+ # Specifies the ARN of the Amazon Web ServicesCertificate Manager
1113
+ # (ACM) certificate. Required when `Protocols` is set to `FTPS`.
1102
1114
  # @return [String]
1103
1115
  #
1116
+ # @!attribute [rw] protocol_details
1117
+ # The protocol settings that are configured for your server.
1118
+ #
1119
+ # Use the `PassiveIp` parameter to indicate passive mode. Enter a
1120
+ # single dotted-quad IPv4 address, such as the external IP address of
1121
+ # a firewall, router, or load balancer.
1122
+ # @return [Types::ProtocolDetails]
1123
+ #
1104
1124
  # @!attribute [rw] domain
1105
1125
  # Specifies the domain of the storage system that is used for file
1106
1126
  # transfers.
1107
1127
  # @return [String]
1108
1128
  #
1109
1129
  # @!attribute [rw] endpoint_details
1110
- # Specifies the virtual private cloud (VPC) endpoint settings that you
1111
- # configured for your server.
1130
+ # The virtual private cloud (VPC) endpoint settings that are
1131
+ # configured for your server. When you host your endpoint within your
1132
+ # VPC, you can make it accessible only to resources within your VPC,
1133
+ # or you can attach Elastic IP addresses and make it accessible to
1134
+ # clients over the internet. Your VPC's default security groups are
1135
+ # automatically assigned to your endpoint.
1112
1136
  # @return [Types::EndpointDetails]
1113
1137
  #
1114
1138
  # @!attribute [rw] endpoint_type
@@ -1130,22 +1154,29 @@ module Aws::Transfer
1130
1154
  # @return [Types::IdentityProviderDetails]
1131
1155
  #
1132
1156
  # @!attribute [rw] identity_provider_type
1133
- # Specifies the mode of authentication method enabled for this
1134
- # service. A value of `AWS_DIRECTORY_SERVICE` means that you are
1135
- # providing access to Active Directory groups in AWS Managed Active
1136
- # Directory or Microsoft Active Directory in your on-premises
1137
- # environment or in AWS using AD Connectors. A value of
1138
- # `SERVICE_MANAGED` means that you are using this server to store and
1139
- # access user credentials within the service. A value of `API_GATEWAY`
1140
- # indicates that you have integrated an API Gateway endpoint that will
1141
- # be invoked for authenticating your user into the service.
1157
+ # Specifies the mode of authentication for a server. The default value
1158
+ # is `SERVICE_MANAGED`, which allows you to store and access user
1159
+ # credentials within the Amazon Web Services Transfer Family service.
1160
+ #
1161
+ # Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory
1162
+ # groups in Amazon Web Services Managed Active Directory or Microsoft
1163
+ # Active Directory in your on-premises environment or in Amazon Web
1164
+ # Services using AD Connectors. This option also requires you to
1165
+ # provide a Directory ID using the `IdentityProviderDetails`
1166
+ # parameter.
1167
+ #
1168
+ # Use the `API_GATEWAY` value to integrate with an identity provider
1169
+ # of your choosing. The `API_GATEWAY` setting requires you to provide
1170
+ # an API Gateway endpoint URL to call for authentication using the
1171
+ # `IdentityProviderDetails` parameter.
1142
1172
  # @return [String]
1143
1173
  #
1144
1174
  # @!attribute [rw] logging_role
1145
- # Specifies the AWS Identity and Access Management (IAM) role that
1146
- # allows a server to turn on Amazon CloudWatch logging for Amazon S3
1147
- # or Amazon EFS events. When set, user activity can be viewed in your
1148
- # CloudWatch logs.
1175
+ # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
1176
+ # Identity and Access Management (IAM) role that allows a server to
1177
+ # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
1178
+ # events. When set, user activity can be viewed in your CloudWatch
1179
+ # logs.
1149
1180
  # @return [String]
1150
1181
  #
1151
1182
  # @!attribute [rw] protocols
@@ -1199,6 +1230,7 @@ module Aws::Transfer
1199
1230
  class DescribedServer < Struct.new(
1200
1231
  :arn,
1201
1232
  :certificate,
1233
+ :protocol_details,
1202
1234
  :domain,
1203
1235
  :endpoint_details,
1204
1236
  :endpoint_type,
@@ -1224,21 +1256,22 @@ module Aws::Transfer
1224
1256
  # @return [String]
1225
1257
  #
1226
1258
  # @!attribute [rw] home_directory
1227
- # Specifies the landing directory (or folder), which is the location
1228
- # that files are written to or read from in an Amazon S3 bucket, for
1229
- # the described user. An example is <i>
1230
- # <code>your-Amazon-S3-bucket-name&gt;/home/username</code> </i>.
1259
+ # The landing directory (folder) for a user when they log in to the
1260
+ # server using the client.
1261
+ #
1262
+ # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
1231
1263
  # @return [String]
1232
1264
  #
1233
1265
  # @!attribute [rw] home_directory_mappings
1234
- # Specifies the logical directory mappings that specify what Amazon S3
1235
- # or EFS paths and keys should be visible to your user and how you
1236
- # want to make them visible. You will need to specify the "`Entry`"
1237
- # and "`Target`" pair, where `Entry` shows how the path is made
1238
- # visible and `Target` is the actual Amazon S3 or EFS path. If you
1239
- # only specify a target, it will be displayed as is. You will need to
1240
- # also make sure that your AWS Identity and Access Management (IAM)
1241
- # role provides access to paths in `Target`.
1266
+ # Logical directory mappings that specify what Amazon S3 or Amazon EFS
1267
+ # paths and keys should be visible to your user and how you want to
1268
+ # make them visible. You must specify the `Entry` and `Target` pair,
1269
+ # where `Entry` shows how the path is made visible and `Target` is the
1270
+ # actual Amazon S3 or Amazon EFS path. If you only specify a target,
1271
+ # it is displayed as is. You also must ensure that your Amazon Web
1272
+ # Services Identity and Access Management (IAM) role provides access
1273
+ # to paths in `Target`. This value can only be set when
1274
+ # `HomeDirectoryType` is set to *LOGICAL*.
1242
1275
  #
1243
1276
  # In most cases, you can use this value instead of the scope-down
1244
1277
  # policy to lock your user down to the designated home directory
@@ -1247,17 +1280,21 @@ module Aws::Transfer
1247
1280
  # @return [Array<Types::HomeDirectoryMapEntry>]
1248
1281
  #
1249
1282
  # @!attribute [rw] home_directory_type
1250
- # Specifies the type of landing directory (folder) you mapped for your
1251
- # users to see when they log into the file transfer protocol-enabled
1252
- # server. If you set it to `PATH`, the user will see the absolute
1253
- # Amazon S3 bucket or EFS paths as is in their file transfer protocol
1254
- # clients. If you set it `LOGICAL`, you will need to provide mappings
1255
- # in the `HomeDirectoryMappings` for how you want to make Amazon S3 or
1256
- # EFS paths visible to your users.
1283
+ # The type of landing directory (folder) you want your users' home
1284
+ # directory to be when they log into the server. If you set it to
1285
+ # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
1286
+ # as is in their file transfer protocol clients. If you set it
1287
+ # `LOGICAL`, you will need to provide mappings in the
1288
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
1289
+ # paths visible to your users.
1257
1290
  # @return [String]
1258
1291
  #
1259
1292
  # @!attribute [rw] policy
1260
- # Specifies the name of the policy in use for the described user.
1293
+ # A scope-down policy for your user so that you can use the same IAM
1294
+ # role across multiple users. This policy scopes down user access to
1295
+ # portions of their Amazon S3 bucket. Variables that you can use
1296
+ # inside this policy include `$\{Transfer:UserName\}`,
1297
+ # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1261
1298
  # @return [String]
1262
1299
  #
1263
1300
  # @!attribute [rw] posix_profile
@@ -1271,12 +1308,14 @@ module Aws::Transfer
1271
1308
  # @return [Types::PosixProfile]
1272
1309
  #
1273
1310
  # @!attribute [rw] role
1274
- # The IAM role that controls your users' access to your Amazon S3
1275
- # bucket. The policies attached to this role will determine the level
1276
- # of access you want to provide your users when transferring files
1277
- # into and out of your Amazon S3 bucket or buckets. The IAM role
1278
- # should also contain a trust relationship that allows a server to
1279
- # access your resources when servicing your users' transfer requests.
1311
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
1312
+ # controls your users' access to your Amazon S3 bucket or EFS file
1313
+ # system. The policies attached to this role determine the level of
1314
+ # access that you want to provide your users when transferring files
1315
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
1316
+ # role should also contain a trust relationship that allows the server
1317
+ # to access your resources when servicing your users' transfer
1318
+ # requests.
1280
1319
  # @return [String]
1281
1320
  #
1282
1321
  # @!attribute [rw] ssh_public_keys
@@ -1318,12 +1357,12 @@ module Aws::Transfer
1318
1357
  # VPC. To control incoming internet traffic, invoke the `UpdateServer`
1319
1358
  # API and attach an Elastic IP address to your server's endpoint.
1320
1359
  #
1321
- # <note markdown="1"> After March 31, 2021, you won't be able to create a server using
1322
- # `EndpointType=VPC_ENDPOINT` in your AWS account if your account
1323
- # hasn't already done so before March 31, 2021. If you have already
1324
- # created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
1325
- # on or before March 31, 2021, you will not be affected. After this
1326
- # date, use `EndpointType`=`VPC`.
1360
+ # <note markdown="1"> After May 19, 2021, you won't be able to create a server using
1361
+ # `EndpointType=VPC_ENDPOINT` in your Amazon Web Servicesaccount if your
1362
+ # account hasn't already done so before May 19, 2021. If you have
1363
+ # already created servers with `EndpointType=VPC_ENDPOINT` in your
1364
+ # Amazon Web Servicesaccount on or before May 19, 2021, you will not be
1365
+ # affected. After this date, use `EndpointType`=`VPC`.
1327
1366
  #
1328
1367
  # For more information, see
1329
1368
  # https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
@@ -1415,6 +1454,21 @@ module Aws::Transfer
1415
1454
  # Represents an object that contains entries and targets for
1416
1455
  # `HomeDirectoryMappings`.
1417
1456
  #
1457
+ # The following is an `Entry` and `Target` pair example for `chroot`.
1458
+ #
1459
+ # `[ \{ "Entry:": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
1460
+ #
1461
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon S3
1462
+ # or EFS, the entry is ignored. As a workaround, you can use the Amazon
1463
+ # S3 API or EFS API to create 0 byte objects as place holders for your
1464
+ # directory. If using the CLI, use the `s3api` or `efsapi` call instead
1465
+ # of `s3` or `efs` so you can use the put-object operation. For example,
1466
+ # you use the following: `aws s3api put-object --bucket bucketname --key
1467
+ # path/to/folder/`. Make sure that the end of the key name ends in a `/`
1468
+ # for it to be considered a folder.
1469
+ #
1470
+ # </note>
1471
+ #
1418
1472
  # @note When making an API call, you may pass HomeDirectoryMapEntry
1419
1473
  # data as a hash:
1420
1474
  #
@@ -1424,7 +1478,7 @@ module Aws::Transfer
1424
1478
  # }
1425
1479
  #
1426
1480
  # @!attribute [rw] entry
1427
- # Represents an entry and a target for `HomeDirectoryMappings`.
1481
+ # Represents an entry for `HomeDirectoryMappings`.
1428
1482
  # @return [String]
1429
1483
  #
1430
1484
  # @!attribute [rw] target
@@ -1464,8 +1518,8 @@ module Aws::Transfer
1464
1518
  # @return [String]
1465
1519
  #
1466
1520
  # @!attribute [rw] directory_id
1467
- # The identifier of the AWS Directory Service directory that you want
1468
- # to stop sharing.
1521
+ # The identifier of the Amazon Web ServicesDirectory Service directory
1522
+ # that you want to stop sharing.
1469
1523
  # @return [String]
1470
1524
  #
1471
1525
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/IdentityProviderDetails AWS API Documentation
@@ -1536,8 +1590,8 @@ module Aws::Transfer
1536
1590
  include Aws::Structure
1537
1591
  end
1538
1592
 
1539
- # This exception is thrown when an error occurs in the AWS Transfer
1540
- # Family service.
1593
+ # This exception is thrown when an error occurs in the Amazon Web
1594
+ # ServicesTransfer Family service.
1541
1595
  #
1542
1596
  # @!attribute [rw] message
1543
1597
  # @return [String]
@@ -1747,8 +1801,8 @@ module Aws::Transfer
1747
1801
  #
1748
1802
  # @!attribute [rw] arn
1749
1803
  # Requests the tags associated with a particular Amazon Resource Name
1750
- # (ARN). An ARN is an identifier for a specific AWS resource, such as
1751
- # a server, user, or role.
1804
+ # (ARN). An ARN is an identifier for a specific Amazon Web Services
1805
+ # resource, such as a server, user, or role.
1752
1806
  # @return [String]
1753
1807
  #
1754
1808
  # @!attribute [rw] max_results
@@ -1866,43 +1920,46 @@ module Aws::Transfer
1866
1920
  # Lists the properties for one or more specified associated accesses.
1867
1921
  #
1868
1922
  # @!attribute [rw] home_directory
1869
- # Specifies the landing directory (or folder), which is the location
1870
- # that files are written to or read from in an Amazon S3 bucket, for
1871
- # the described access.
1923
+ # The landing directory (folder) for a user when they log in to the
1924
+ # server using the client.
1925
+ #
1926
+ # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
1872
1927
  # @return [String]
1873
1928
  #
1874
1929
  # @!attribute [rw] home_directory_type
1875
- # The type of landing directory (folder) that you want your users'
1876
- # home directory to be when they log in to the server. If you set it
1877
- # to `PATH`, the user will see the absolute Amazon S3 bucket paths as
1878
- # is in their file transfer protocol clients. If you set it to
1879
- # `LOGICAL`, you must provide mappings in the `HomeDirectoryMappings`
1880
- # for how you want to make Amazon S3 paths visible to your users.
1930
+ # The type of landing directory (folder) you want your users' home
1931
+ # directory to be when they log into the server. If you set it to
1932
+ # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
1933
+ # as is in their file transfer protocol clients. If you set it
1934
+ # `LOGICAL`, you will need to provide mappings in the
1935
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
1936
+ # paths visible to your users.
1881
1937
  # @return [String]
1882
1938
  #
1883
1939
  # @!attribute [rw] role
1884
- # The AWS Identity and Access Management (IAM) role that controls
1885
- # access to your Amazon S3 bucket from the specified associated
1886
- # access. The policies attached to this role will determine the level
1887
- # of access that you want to provide the associated access when
1888
- # transferring files into and out of your Amazon S3 bucket or buckets.
1889
- # The IAM role should also contain a trust relationship that allows a
1890
- # server to access your resources when servicing transfer requests for
1891
- # the associated access.
1940
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
1941
+ # controls your users' access to your Amazon S3 bucket or EFS file
1942
+ # system. The policies attached to this role determine the level of
1943
+ # access that you want to provide your users when transferring files
1944
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
1945
+ # role should also contain a trust relationship that allows the server
1946
+ # to access your resources when servicing your users' transfer
1947
+ # requests.
1892
1948
  # @return [String]
1893
1949
  #
1894
1950
  # @!attribute [rw] external_id
1895
- # A unique identifier that might be required when you assume a role in
1896
- # another account. Think of the `ExternalID` as a group membership
1897
- # mechanism that uses a unique identifier (often a SID, but could be a
1898
- # group name or something else) as a basis. If the administrator of
1899
- # the account to which the role belongs provided you with an external
1900
- # ID, then provide that value in the `ExternalId` parameter. A
1901
- # cross-account role is usually set up to trust everyone in an
1902
- # account. Therefore, the administrator of the trusting account might
1903
- # send an external ID to the administrator of the trusted account.
1904
- # That way, only someone with the ID can assume the role, rather than
1905
- # everyone in the account.
1951
+ # A unique identifier that is required to identify specific groups
1952
+ # within your directory. The users of the group that you associate
1953
+ # have access to your Amazon S3 or Amazon EFS resources over the
1954
+ # enabled protocols using Amazon Web Services Transfer Family. If you
1955
+ # know the group name, you can view the SID values by running the
1956
+ # following command using Windows PowerShell.
1957
+ #
1958
+ # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
1959
+ # -Properties * | Select SamAccountName,ObjectSid`
1960
+ #
1961
+ # In that command, replace *YourGroupName* with the name of your
1962
+ # Active Directory group.
1906
1963
  #
1907
1964
  # The regex used to validate this parameter is a string of characters
1908
1965
  # consisting of uppercase and lowercase alphanumeric characters with
@@ -1935,10 +1992,21 @@ module Aws::Transfer
1935
1992
  # @return [String]
1936
1993
  #
1937
1994
  # @!attribute [rw] identity_provider_type
1938
- # Specifies the authentication method used to validate a user for a
1939
- # server that was specified. This can include Secure Shell (SSH),
1940
- # Active Directory groups, user name and password combinations, or
1941
- # your own custom authentication method.
1995
+ # Specifies the mode of authentication for a server. The default value
1996
+ # is `SERVICE_MANAGED`, which allows you to store and access user
1997
+ # credentials within the Amazon Web Services Transfer Family service.
1998
+ #
1999
+ # Use `AWS_DIRECTORY_SERVICE` to provide access to Active Directory
2000
+ # groups in Amazon Web Services Managed Active Directory or Microsoft
2001
+ # Active Directory in your on-premises environment or in Amazon Web
2002
+ # Services using AD Connectors. This option also requires you to
2003
+ # provide a Directory ID using the `IdentityProviderDetails`
2004
+ # parameter.
2005
+ #
2006
+ # Use the `API_GATEWAY` value to integrate with an identity provider
2007
+ # of your choosing. The `API_GATEWAY` setting requires you to provide
2008
+ # an API Gateway endpoint URL to call for authentication using the
2009
+ # `IdentityProviderDetails` parameter.
1942
2010
  # @return [String]
1943
2011
  #
1944
2012
  # @!attribute [rw] endpoint_type
@@ -1948,8 +2016,11 @@ module Aws::Transfer
1948
2016
  # @return [String]
1949
2017
  #
1950
2018
  # @!attribute [rw] logging_role
1951
- # Specifies the AWS Identity and Access Management (IAM) role that
1952
- # allows a server to turn on Amazon CloudWatch logging.
2019
+ # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
2020
+ # Identity and Access Management (IAM) role that allows a server to
2021
+ # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
2022
+ # events. When set, user activity can be viewed in your CloudWatch
2023
+ # logs.
1953
2024
  # @return [String]
1954
2025
  #
1955
2026
  # @!attribute [rw] server_id
@@ -1997,26 +2068,31 @@ module Aws::Transfer
1997
2068
  # @return [String]
1998
2069
  #
1999
2070
  # @!attribute [rw] home_directory
2000
- # Specifies the location that files are written to or read from an
2001
- # Amazon S3 bucket for the user you specify by their ARN.
2071
+ # The landing directory (folder) for a user when they log in to the
2072
+ # server using the client.
2073
+ #
2074
+ # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
2002
2075
  # @return [String]
2003
2076
  #
2004
2077
  # @!attribute [rw] home_directory_type
2005
- # Specifies the type of landing directory (folder) you mapped for your
2006
- # users' home directory. If you set it to `PATH`, the user will see
2007
- # the absolute Amazon S3 bucket paths as is in their file transfer
2008
- # protocol clients. If you set it `LOGICAL`, you will need to provide
2009
- # mappings in the `HomeDirectoryMappings` for how you want to make
2010
- # Amazon S3 paths visible to your users.
2078
+ # The type of landing directory (folder) you want your users' home
2079
+ # directory to be when they log into the server. If you set it to
2080
+ # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
2081
+ # as is in their file transfer protocol clients. If you set it
2082
+ # `LOGICAL`, you will need to provide mappings in the
2083
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
2084
+ # paths visible to your users.
2011
2085
  # @return [String]
2012
2086
  #
2013
2087
  # @!attribute [rw] role
2014
- # Specifies the role that is in use by this user. A *role* is an AWS
2015
- # Identity and Access Management (IAM) entity that, in this case,
2016
- # allows a file transfer protocol-enabled server to act on a user's
2017
- # behalf. It allows the server to inherit the trust relationship that
2018
- # enables that user to perform file operations to their Amazon S3
2019
- # bucket.
2088
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
2089
+ # controls your users' access to your Amazon S3 bucket or EFS file
2090
+ # system. The policies attached to this role determine the level of
2091
+ # access that you want to provide your users when transferring files
2092
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
2093
+ # role should also contain a trust relationship that allows the server
2094
+ # to access your resources when servicing your users' transfer
2095
+ # requests.
2020
2096
  #
2021
2097
  # <note markdown="1"> The IAM role that controls your users' access to your Amazon S3
2022
2098
  # bucket for servers with `Domain=S3`, or your EFS file system for
@@ -2091,6 +2167,38 @@ module Aws::Transfer
2091
2167
  include Aws::Structure
2092
2168
  end
2093
2169
 
2170
+ # The protocol settings that are configured for your server.
2171
+ #
2172
+ # <note markdown="1"> This type is only valid in the `UpdateServer` API.
2173
+ #
2174
+ # </note>
2175
+ #
2176
+ # @note When making an API call, you may pass ProtocolDetails
2177
+ # data as a hash:
2178
+ #
2179
+ # {
2180
+ # passive_ip: "PassiveIp",
2181
+ # }
2182
+ #
2183
+ # @!attribute [rw] passive_ip
2184
+ # Indicates passive mode, for FTP and FTPS protocols. Enter a single
2185
+ # dotted-quad IPv4 address, such as the external IP address of a
2186
+ # firewall, router, or load balancer. For example:
2187
+ #
2188
+ # ` aws transfer update-server --protocol-details PassiveIp=0.0.0.0 `
2189
+ #
2190
+ # Replace ` 0.0.0.0 ` in the example above with the actual IP address
2191
+ # you want to use.
2192
+ # @return [String]
2193
+ #
2194
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ProtocolDetails AWS API Documentation
2195
+ #
2196
+ class ProtocolDetails < Struct.new(
2197
+ :passive_ip)
2198
+ SENSITIVE = []
2199
+ include Aws::Structure
2200
+ end
2201
+
2094
2202
  # The requested resource does not exist.
2095
2203
  #
2096
2204
  # @!attribute [rw] message
@@ -2112,8 +2220,8 @@ module Aws::Transfer
2112
2220
  include Aws::Structure
2113
2221
  end
2114
2222
 
2115
- # This exception is thrown when a resource is not found by the AWS
2116
- # Transfer Family service.
2223
+ # This exception is thrown when a resource is not found by the Amazon
2224
+ # Web ServicesTransfer Family service.
2117
2225
  #
2118
2226
  # @!attribute [rw] message
2119
2227
  # @return [String]
@@ -2134,8 +2242,8 @@ module Aws::Transfer
2134
2242
  include Aws::Structure
2135
2243
  end
2136
2244
 
2137
- # The request has failed because the AWS Transfer Family service is not
2138
- # available.
2245
+ # The request has failed because the Amazon Web ServicesTransfer Family
2246
+ # service is not available.
2139
2247
  #
2140
2248
  # @!attribute [rw] message
2141
2249
  # @return [String]
@@ -2265,8 +2373,8 @@ module Aws::Transfer
2265
2373
  # }
2266
2374
  #
2267
2375
  # @!attribute [rw] arn
2268
- # An Amazon Resource Name (ARN) for a specific AWS resource, such as a
2269
- # server, user, or role.
2376
+ # An Amazon Resource Name (ARN) for a specific Amazon Web Services
2377
+ # resource, such as a server, user, or role.
2270
2378
  # @return [String]
2271
2379
  #
2272
2380
  # @!attribute [rw] tags
@@ -2388,8 +2496,8 @@ module Aws::Transfer
2388
2496
  #
2389
2497
  # @!attribute [rw] arn
2390
2498
  # The value of the resource that will have the tag removed. An Amazon
2391
- # Resource Name (ARN) is an identifier for a specific AWS resource,
2392
- # such as a server, user, or role.
2499
+ # Resource Name (ARN) is an identifier for a specific Amazon Web
2500
+ # Services resource, such as a server, user, or role.
2393
2501
  # @return [String]
2394
2502
  #
2395
2503
  # @!attribute [rw] tag_keys
@@ -2434,16 +2542,17 @@ module Aws::Transfer
2434
2542
  # The landing directory (folder) for a user when they log in to the
2435
2543
  # server using the client.
2436
2544
  #
2437
- # A `HomeDirectory` example is `/directory_name/home/mydirectory`.
2545
+ # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
2438
2546
  # @return [String]
2439
2547
  #
2440
2548
  # @!attribute [rw] home_directory_type
2441
- # The type of landing directory (folder) that you want your users'
2442
- # home directory to be when they log in to the server. If you set it
2443
- # to `PATH`, the user will see the absolute Amazon S3 bucket paths as
2444
- # is in their file transfer protocol clients. If you set it `LOGICAL`,
2445
- # you must provide mappings in the `HomeDirectoryMappings` for how you
2446
- # want to make Amazon S3 paths visible to your users.
2549
+ # The type of landing directory (folder) you want your users' home
2550
+ # directory to be when they log into the server. If you set it to
2551
+ # `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
2552
+ # as is in their file transfer protocol clients. If you set it
2553
+ # `LOGICAL`, you will need to provide mappings in the
2554
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
2555
+ # paths visible to your users.
2447
2556
  # @return [String]
2448
2557
  #
2449
2558
  # @!attribute [rw] home_directory_mappings
@@ -2452,10 +2561,10 @@ module Aws::Transfer
2452
2561
  # make them visible. You must specify the `Entry` and `Target` pair,
2453
2562
  # where `Entry` shows how the path is made visible and `Target` is the
2454
2563
  # actual Amazon S3 or Amazon EFS path. If you only specify a target,
2455
- # it will be displayed as is. You also must ensure that your AWS
2456
- # Identity and Access Management (IAM) role provides access to paths
2457
- # in `Target`. This value can only be set when `HomeDirectoryType` is
2458
- # set to *LOGICAL*.
2564
+ # it is displayed as is. You also must ensure that your Amazon Web
2565
+ # Services Identity and Access Management (IAM) role provides access
2566
+ # to paths in `Target`. This value can only be set when
2567
+ # `HomeDirectoryType` is set to *LOGICAL*.
2459
2568
  #
2460
2569
  # The following is an `Entry` and `Target` pair example.
2461
2570
  #
@@ -2469,23 +2578,18 @@ module Aws::Transfer
2469
2578
  #
2470
2579
  # The following is an `Entry` and `Target` pair example for `chroot`.
2471
2580
  #
2472
- # `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
2581
+ # `[ \{ "Entry:": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
2473
2582
  #
2474
2583
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
2475
- # S3 or Amazon EFS, the entry will be ignored. As a workaround, you
2476
- # can use the Amazon S3 API or EFS API to create 0-byte objects as
2477
- # place holders for your directory. If using the AWS CLI, use the
2478
- # `s3api` or `efsapi` call instead of `s3` or `efs` so you can use the
2479
- # `put-object` operation. For example, you can use the following.
2480
- #
2481
- # `aws s3api put-object --bucket bucketname --key path/to/folder/`
2482
- #
2483
- # The end of the key name must end in a `/` for it to be considered a
2484
- # folder.
2584
+ # S3 or EFS, the entry is ignored. As a workaround, you can use the
2585
+ # Amazon S3 API or EFS API to create 0 byte objects as place holders
2586
+ # for your directory. If using the CLI, use the `s3api` or `efsapi`
2587
+ # call instead of `s3` or `efs` so you can use the put-object
2588
+ # operation. For example, you use the following: `aws s3api put-object
2589
+ # --bucket bucketname --key path/to/folder/`. Make sure that the end
2590
+ # of the key name ends in a `/` for it to be considered a folder.
2485
2591
  #
2486
2592
  # </note>
2487
- #
2488
- # Required: No
2489
2593
  # @return [Array<Types::HomeDirectoryMapEntry>]
2490
2594
  #
2491
2595
  # @!attribute [rw] policy
@@ -2498,16 +2602,16 @@ module Aws::Transfer
2498
2602
  # <note markdown="1"> This only applies when domain of `ServerId` is S3. Amazon EFS does
2499
2603
  # not use scope down policy.
2500
2604
  #
2501
- # For scope-down policies, AWS Transfer Family stores the policy as a
2502
- # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
2503
- # You save the policy as a JSON blob and pass it in the `Policy`
2504
- # argument.
2605
+ # For scope-down policies, Amazon Web ServicesTransfer Family stores
2606
+ # the policy as a JSON blob, instead of the Amazon Resource Name (ARN)
2607
+ # of the policy. You save the policy as a JSON blob and pass it in the
2608
+ # `Policy` argument.
2505
2609
  #
2506
2610
  # For an example of a scope-down policy, see [Example scope-down
2507
2611
  # policy][1].
2508
2612
  #
2509
- # For more information, see [AssumeRole][2] in the *AWS Security Token
2510
- # Service API Reference*.
2613
+ # For more information, see [AssumeRole][2] in the *Amazon Web
2614
+ # ServicesSecurity Token Service API Reference*.
2511
2615
  #
2512
2616
  # </note>
2513
2617
  #
@@ -2527,13 +2631,14 @@ module Aws::Transfer
2527
2631
  # @return [Types::PosixProfile]
2528
2632
  #
2529
2633
  # @!attribute [rw] role
2530
- # Specifies the IAM role that controls your users' access to your
2531
- # Amazon S3 bucket or EFS file system. The policies attached to this
2532
- # role determine the level of access that you want to provide your
2533
- # users when transferring files into and out of your Amazon S3 bucket
2534
- # or EFS file system. The IAM role should also contain a trust
2535
- # relationship that allows the server to access your resources when
2536
- # servicing your users' transfer requests.
2634
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
2635
+ # controls your users' access to your Amazon S3 bucket or EFS file
2636
+ # system. The policies attached to this role determine the level of
2637
+ # access that you want to provide your users when transferring files
2638
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
2639
+ # role should also contain a trust relationship that allows the server
2640
+ # to access your resources when servicing your users' transfer
2641
+ # requests.
2537
2642
  # @return [String]
2538
2643
  #
2539
2644
  # @!attribute [rw] server_id
@@ -2545,12 +2650,12 @@ module Aws::Transfer
2545
2650
  # A unique identifier that is required to identify specific groups
2546
2651
  # within your directory. The users of the group that you associate
2547
2652
  # have access to your Amazon S3 or Amazon EFS resources over the
2548
- # enabled protocols using AWS Transfer Family. If you know the group
2549
- # name, you can view the SID values by running the following command
2550
- # using Windows PowerShell.
2653
+ # enabled protocols using Amazon Web Services Transfer Family. If you
2654
+ # know the group name, you can view the SID values by running the
2655
+ # following command using Windows PowerShell.
2551
2656
  #
2552
2657
  # `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
2553
- # -Properties * | Select SamaccountName,ObjectSid`
2658
+ # -Properties * | Select SamAccountName,ObjectSid`
2554
2659
  #
2555
2660
  # In that command, replace *YourGroupName* with the name of your
2556
2661
  # Active Directory group.
@@ -2582,8 +2687,8 @@ module Aws::Transfer
2582
2687
  #
2583
2688
  # @!attribute [rw] external_id
2584
2689
  # The external ID of the group whose users have access to your Amazon
2585
- # S3 or Amazon EFS resources over the enabled protocols using AWS
2586
- # Transfer Family.
2690
+ # S3 or Amazon EFS resources over the enabled protocols using Amazon
2691
+ # Web ServicesTransfer Family.
2587
2692
  # @return [String]
2588
2693
  #
2589
2694
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccessResponse AWS API Documentation
@@ -2600,6 +2705,9 @@ module Aws::Transfer
2600
2705
  #
2601
2706
  # {
2602
2707
  # certificate: "Certificate",
2708
+ # protocol_details: {
2709
+ # passive_ip: "PassiveIp",
2710
+ # },
2603
2711
  # endpoint_details: {
2604
2712
  # address_allocation_ids: ["AddressAllocationId"],
2605
2713
  # subnet_ids: ["SubnetId"],
@@ -2621,19 +2729,21 @@ module Aws::Transfer
2621
2729
  # }
2622
2730
  #
2623
2731
  # @!attribute [rw] certificate
2624
- # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
2625
- # certificate. Required when `Protocols` is set to `FTPS`.
2732
+ # The Amazon Resource Name (ARN) of the Amazon Web ServicesCertificate
2733
+ # Manager (ACM) certificate. Required when `Protocols` is set to
2734
+ # `FTPS`.
2626
2735
  #
2627
2736
  # To request a new public certificate, see [Request a public
2628
- # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
2737
+ # certificate][1] in the <i> Amazon Web ServicesCertificate Manager
2738
+ # User Guide</i>.
2629
2739
  #
2630
2740
  # To import an existing certificate into ACM, see [Importing
2631
- # certificates into ACM][2] in the <i> AWS Certificate Manager User
2632
- # Guide</i>.
2741
+ # certificates into ACM][2] in the <i> Amazon Web ServicesCertificate
2742
+ # Manager User Guide</i>.
2633
2743
  #
2634
2744
  # To request a private certificate to use FTPS through private IP
2635
- # addresses, see [Request a private certificate][3] in the <i> AWS
2636
- # Certificate Manager User Guide</i>.
2745
+ # addresses, see [Request a private certificate][3] in the <i> Amazon
2746
+ # Web ServicesCertificate Manager User Guide</i>.
2637
2747
  #
2638
2748
  # Certificates with the following cryptographic algorithms and key
2639
2749
  # sizes are supported:
@@ -2660,12 +2770,21 @@ module Aws::Transfer
2660
2770
  # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
2661
2771
  # @return [String]
2662
2772
  #
2773
+ # @!attribute [rw] protocol_details
2774
+ # The protocol settings that are configured for your server.
2775
+ #
2776
+ # Use the `PassiveIp` parameter to indicate passive mode (for FTP and
2777
+ # FTPS protocols). Enter a single dotted-quad IPv4 address, such as
2778
+ # the external IP address of a firewall, router, or load balancer.
2779
+ # @return [Types::ProtocolDetails]
2780
+ #
2663
2781
  # @!attribute [rw] endpoint_details
2664
2782
  # The virtual private cloud (VPC) endpoint settings that are
2665
- # configured for your server. With a VPC endpoint, you can restrict
2666
- # access to your server to resources only within your VPC. To control
2667
- # incoming internet traffic, you will need to associate one or more
2668
- # Elastic IP addresses with your server's endpoint.
2783
+ # configured for your server. When you host your endpoint within your
2784
+ # VPC, you can make it accessible only to resources within your VPC,
2785
+ # or you can attach Elastic IP addresses and make it accessible to
2786
+ # clients over the internet. Your VPC's default security groups are
2787
+ # automatically assigned to your endpoint.
2669
2788
  # @return [Types::EndpointDetails]
2670
2789
  #
2671
2790
  # @!attribute [rw] endpoint_type
@@ -2676,12 +2795,12 @@ module Aws::Transfer
2676
2795
  # within your VPC or choose to make it internet facing by attaching
2677
2796
  # Elastic IP addresses directly to it.
2678
2797
  #
2679
- # <note markdown="1"> After March 31, 2021, you won't be able to create a server using
2680
- # `EndpointType=VPC_ENDPOINT` in your AWS account if your account
2681
- # hasn't already done so before March 31, 2021. If you have already
2682
- # created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
2683
- # on or before March 31, 2021, you will not be affected. After this
2684
- # date, use `EndpointType`=`VPC`.
2798
+ # <note markdown="1"> After May 19, 2021, you won't be able to create a server using
2799
+ # `EndpointType=VPC_ENDPOINT` in your Amazon Web Servicesaccount if
2800
+ # your account hasn't already done so before May 19, 2021. If you
2801
+ # have already created servers with `EndpointType=VPC_ENDPOINT` in
2802
+ # your Amazon Web Servicesaccount on or before May 19, 2021, you will
2803
+ # not be affected. After this date, use `EndpointType`=`VPC`.
2685
2804
  #
2686
2805
  # For more information, see
2687
2806
  # https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
@@ -2705,7 +2824,7 @@ module Aws::Transfer
2705
2824
  # changing a server's host key can be disruptive.
2706
2825
  #
2707
2826
  # For more information, see [Change the host key for your SFTP-enabled
2708
- # server][1] in the *AWS Transfer Family User Guide*.
2827
+ # server][1] in the *Amazon Web ServicesTransfer Family User Guide*.
2709
2828
  #
2710
2829
  #
2711
2830
  #
@@ -2718,9 +2837,11 @@ module Aws::Transfer
2718
2837
  # @return [Types::IdentityProviderDetails]
2719
2838
  #
2720
2839
  # @!attribute [rw] logging_role
2721
- # Changes the AWS Identity and Access Management (IAM) role that
2722
- # allows Amazon S3 or Amazon EFS events to be logged in Amazon
2723
- # CloudWatch, turning logging on or off.
2840
+ # Specifies the Amazon Resource Name (ARN) of the Amazon Web Services
2841
+ # Identity and Access Management (IAM) role that allows a server to
2842
+ # turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS
2843
+ # events. When set, user activity can be viewed in your CloudWatch
2844
+ # logs.
2724
2845
  # @return [String]
2725
2846
  #
2726
2847
  # @!attribute [rw] protocols
@@ -2736,9 +2857,9 @@ module Aws::Transfer
2736
2857
  #
2737
2858
  # * File Transfer Protocol (FTP): Unencrypted file transfer
2738
2859
  #
2739
- # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
2740
- # Certificate Manager (ACM) which will be used to identify your server
2741
- # when clients connect to it over FTPS.
2860
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in Amazon
2861
+ # Web ServicesCertificate Manager (ACM) which will be used to identify
2862
+ # your server when clients connect to it over FTPS.
2742
2863
  #
2743
2864
  # If `Protocol` includes either `FTP` or `FTPS`, then the
2744
2865
  # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
@@ -2768,6 +2889,7 @@ module Aws::Transfer
2768
2889
  #
2769
2890
  class UpdateServerRequest < Struct.new(
2770
2891
  :certificate,
2892
+ :protocol_details,
2771
2893
  :endpoint_details,
2772
2894
  :endpoint_type,
2773
2895
  :host_key,
@@ -2817,10 +2939,10 @@ module Aws::Transfer
2817
2939
  # }
2818
2940
  #
2819
2941
  # @!attribute [rw] home_directory
2820
- # Specifies the landing directory (folder) for a user when they log in
2821
- # to the server using their file transfer protocol client.
2942
+ # The landing directory (folder) for a user when they log in to the
2943
+ # server using the client.
2822
2944
  #
2823
- # An example is `your-Amazon-S3-bucket-name>/home/username`.
2945
+ # A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
2824
2946
  # @return [String]
2825
2947
  #
2826
2948
  # @!attribute [rw] home_directory_type
@@ -2836,51 +2958,60 @@ module Aws::Transfer
2836
2958
  # @!attribute [rw] home_directory_mappings
2837
2959
  # Logical directory mappings that specify what Amazon S3 or Amazon EFS
2838
2960
  # paths and keys should be visible to your user and how you want to
2839
- # make them visible. You will need to specify the "`Entry`" and
2840
- # "`Target`" pair, where `Entry` shows how the path is made visible
2841
- # and `Target` is the actual Amazon S3 or Amazon EFS path. If you only
2842
- # specify a target, it will be displayed as is. You will need to also
2843
- # make sure that your IAM role provides access to paths in `Target`.
2844
- # The following is an example.
2961
+ # make them visible. You must specify the `Entry` and `Target` pair,
2962
+ # where `Entry` shows how the path is made visible and `Target` is the
2963
+ # actual Amazon S3 or Amazon EFS path. If you only specify a target,
2964
+ # it is displayed as is. You also must ensure that your Amazon Web
2965
+ # Services Identity and Access Management (IAM) role provides access
2966
+ # to paths in `Target`. This value can only be set when
2967
+ # `HomeDirectoryType` is set to *LOGICAL*.
2845
2968
  #
2846
- # `'[ "/bucket2/documentation", \{ "Entry":
2847
- # "your-personal-report.pdf", "Target":
2848
- # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
2969
+ # The following is an `Entry` and `Target` pair example.
2970
+ #
2971
+ # `[ \{ "Entry": "your-personal-report.pdf", "Target":
2972
+ # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]`
2849
2973
  #
2850
2974
  # In most cases, you can use this value instead of the scope-down
2851
2975
  # policy to lock down your user to the designated home directory
2852
2976
  # ("`chroot`"). To do this, you can set `Entry` to '/' and set
2853
2977
  # `Target` to the HomeDirectory parameter value.
2854
2978
  #
2979
+ # The following is an `Entry` and `Target` pair example for `chroot`.
2980
+ #
2981
+ # `[ \{ "Entry:": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
2982
+ #
2855
2983
  # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
2856
- # S3 or EFS, the entry will be ignored. As a workaround, you can use
2857
- # the Amazon S3 API or EFS API to create 0-byte objects as place
2858
- # holders for your directory. If using the AWS CLI, use the `s3api` or
2859
- # `efsapi` call instead of `s3` `efs` so you can use the put-object
2984
+ # S3 or EFS, the entry is ignored. As a workaround, you can use the
2985
+ # Amazon S3 API or EFS API to create 0 byte objects as place holders
2986
+ # for your directory. If using the CLI, use the `s3api` or `efsapi`
2987
+ # call instead of `s3` or `efs` so you can use the put-object
2860
2988
  # operation. For example, you use the following: `aws s3api put-object
2861
2989
  # --bucket bucketname --key path/to/folder/`. Make sure that the end
2862
- # of the key name ends in a / for it to be considered a folder.
2990
+ # of the key name ends in a `/` for it to be considered a folder.
2863
2991
  #
2864
2992
  # </note>
2865
2993
  # @return [Array<Types::HomeDirectoryMapEntry>]
2866
2994
  #
2867
2995
  # @!attribute [rw] policy
2868
- # Allows you to supply a scope-down policy for your user so you can
2869
- # use the same IAM role across multiple users. The policy scopes down
2870
- # user access to portions of your Amazon S3 bucket. Variables you can
2871
- # use inside this policy include `$\{Transfer:UserName\}`,
2996
+ # A scope-down policy for your user so that you can use the same IAM
2997
+ # role across multiple users. This policy scopes down user access to
2998
+ # portions of their Amazon S3 bucket. Variables that you can use
2999
+ # inside this policy include `$\{Transfer:UserName\}`,
2872
3000
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
2873
3001
  #
2874
- # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
2875
- # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
2876
- # You save the policy as a JSON blob and pass it in the `Policy`
2877
- # argument.
3002
+ # <note markdown="1"> This only applies when domain of `ServerId` is S3. Amazon EFS does
3003
+ # not use scope-down policies.
3004
+ #
3005
+ # For scope-down policies, Amazon Web ServicesTransfer Family stores
3006
+ # the policy as a JSON blob, instead of the Amazon Resource Name (ARN)
3007
+ # of the policy. You save the policy as a JSON blob and pass it in the
3008
+ # `Policy` argument.
2878
3009
  #
2879
3010
  # For an example of a scope-down policy, see [Creating a scope-down
2880
3011
  # policy][1].
2881
3012
  #
2882
- # For more information, see [AssumeRole][2] in the *AWS Security Token
2883
- # Service API Reference*.
3013
+ # For more information, see [AssumeRole][2] in the *Amazon Web
3014
+ # Services Security Token Service API Reference*.
2884
3015
  #
2885
3016
  # </note>
2886
3017
  #
@@ -2901,12 +3032,14 @@ module Aws::Transfer
2901
3032
  # @return [Types::PosixProfile]
2902
3033
  #
2903
3034
  # @!attribute [rw] role
2904
- # The IAM role that controls your users' access to your Amazon S3
2905
- # bucket. The policies attached to this role determine the level of
2906
- # access you want to provide your users when transferring files into
2907
- # and out of your S3 bucket or buckets. The IAM role should also
2908
- # contain a trust relationship that allows the server to access your
2909
- # resources when servicing your users' transfer requests.
3035
+ # Specifies the Amazon Resource Name (ARN) of the IAM role that
3036
+ # controls your users' access to your Amazon S3 bucket or EFS file
3037
+ # system. The policies attached to this role determine the level of
3038
+ # access that you want to provide your users when transferring files
3039
+ # into and out of your Amazon S3 bucket or EFS file system. The IAM
3040
+ # role should also contain a trust relationship that allows the server
3041
+ # to access your resources when servicing your users' transfer
3042
+ # requests.
2910
3043
  # @return [String]
2911
3044
  #
2912
3045
  # @!attribute [rw] server_id