aws-sdk-transfer 1.17.0 → 1.22.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,9 +11,11 @@ module Aws::Transfer
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
14
15
  AddressAllocationId = Shapes::StringShape.new(name: 'AddressAllocationId')
15
16
  AddressAllocationIds = Shapes::ListShape.new(name: 'AddressAllocationIds')
16
17
  Arn = Shapes::StringShape.new(name: 'Arn')
18
+ Certificate = Shapes::StringShape.new(name: 'Certificate')
17
19
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
18
20
  CreateServerRequest = Shapes::StructureShape.new(name: 'CreateServerRequest')
19
21
  CreateServerResponse = Shapes::StructureShape.new(name: 'CreateServerResponse')
@@ -61,6 +63,8 @@ module Aws::Transfer
61
63
  NextToken = Shapes::StringShape.new(name: 'NextToken')
62
64
  NullableRole = Shapes::StringShape.new(name: 'NullableRole')
63
65
  Policy = Shapes::StringShape.new(name: 'Policy')
66
+ Protocol = Shapes::StringShape.new(name: 'Protocol')
67
+ Protocols = Shapes::ListShape.new(name: 'Protocols')
64
68
  Resource = Shapes::StringShape.new(name: 'Resource')
65
69
  ResourceExistsException = Shapes::StructureShape.new(name: 'ResourceExistsException')
66
70
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
@@ -71,6 +75,7 @@ module Aws::Transfer
71
75
  ServerId = Shapes::StringShape.new(name: 'ServerId')
72
76
  ServiceErrorMessage = Shapes::StringShape.new(name: 'ServiceErrorMessage')
73
77
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
78
+ SourceIp = Shapes::StringShape.new(name: 'SourceIp')
74
79
  SshPublicKey = Shapes::StructureShape.new(name: 'SshPublicKey')
75
80
  SshPublicKeyBody = Shapes::StringShape.new(name: 'SshPublicKeyBody')
76
81
  SshPublicKeyCount = Shapes::IntegerShape.new(name: 'SshPublicKeyCount')
@@ -103,17 +108,22 @@ module Aws::Transfer
103
108
  VpcEndpointId = Shapes::StringShape.new(name: 'VpcEndpointId')
104
109
  VpcId = Shapes::StringShape.new(name: 'VpcId')
105
110
 
111
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ServiceErrorMessage, location_name: "Message"))
112
+ AccessDeniedException.struct_class = Types::AccessDeniedException
113
+
106
114
  AddressAllocationIds.member = Shapes::ShapeRef.new(shape: AddressAllocationId)
107
115
 
108
116
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "Message"))
109
117
  ConflictException.struct_class = Types::ConflictException
110
118
 
119
+ CreateServerRequest.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
111
120
  CreateServerRequest.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
112
121
  CreateServerRequest.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
113
122
  CreateServerRequest.add_member(:host_key, Shapes::ShapeRef.new(shape: HostKey, location_name: "HostKey"))
114
123
  CreateServerRequest.add_member(:identity_provider_details, Shapes::ShapeRef.new(shape: IdentityProviderDetails, location_name: "IdentityProviderDetails"))
115
124
  CreateServerRequest.add_member(:identity_provider_type, Shapes::ShapeRef.new(shape: IdentityProviderType, location_name: "IdentityProviderType"))
116
125
  CreateServerRequest.add_member(:logging_role, Shapes::ShapeRef.new(shape: Role, location_name: "LoggingRole"))
126
+ CreateServerRequest.add_member(:protocols, Shapes::ShapeRef.new(shape: Protocols, location_name: "Protocols"))
117
127
  CreateServerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
118
128
  CreateServerRequest.struct_class = Types::CreateServerRequest
119
129
 
@@ -162,12 +172,14 @@ module Aws::Transfer
162
172
  DescribeUserResponse.struct_class = Types::DescribeUserResponse
163
173
 
164
174
  DescribedServer.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
175
+ DescribedServer.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
165
176
  DescribedServer.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
166
177
  DescribedServer.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
167
178
  DescribedServer.add_member(:host_key_fingerprint, Shapes::ShapeRef.new(shape: HostKeyFingerprint, location_name: "HostKeyFingerprint"))
168
179
  DescribedServer.add_member(:identity_provider_details, Shapes::ShapeRef.new(shape: IdentityProviderDetails, location_name: "IdentityProviderDetails"))
169
180
  DescribedServer.add_member(:identity_provider_type, Shapes::ShapeRef.new(shape: IdentityProviderType, location_name: "IdentityProviderType"))
170
181
  DescribedServer.add_member(:logging_role, Shapes::ShapeRef.new(shape: Role, location_name: "LoggingRole"))
182
+ DescribedServer.add_member(:protocols, Shapes::ShapeRef.new(shape: Protocols, location_name: "Protocols"))
171
183
  DescribedServer.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, location_name: "ServerId"))
172
184
  DescribedServer.add_member(:state, Shapes::ShapeRef.new(shape: State, location_name: "State"))
173
185
  DescribedServer.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
@@ -269,6 +281,8 @@ module Aws::Transfer
269
281
 
270
282
  ListedUsers.member = Shapes::ShapeRef.new(shape: ListedUser)
271
283
 
284
+ Protocols.member = Shapes::ShapeRef.new(shape: Protocol)
285
+
272
286
  ResourceExistsException.add_member(:message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "Message"))
273
287
  ResourceExistsException.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, required: true, location_name: "Resource"))
274
288
  ResourceExistsException.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
@@ -310,6 +324,8 @@ module Aws::Transfer
310
324
  Tags.member = Shapes::ShapeRef.new(shape: Tag)
311
325
 
312
326
  TestIdentityProviderRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
327
+ TestIdentityProviderRequest.add_member(:server_protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "ServerProtocol"))
328
+ TestIdentityProviderRequest.add_member(:source_ip, Shapes::ShapeRef.new(shape: SourceIp, location_name: "SourceIp"))
313
329
  TestIdentityProviderRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: UserName, required: true, location_name: "UserName"))
314
330
  TestIdentityProviderRequest.add_member(:user_password, Shapes::ShapeRef.new(shape: UserPassword, location_name: "UserPassword"))
315
331
  TestIdentityProviderRequest.struct_class = Types::TestIdentityProviderRequest
@@ -327,11 +343,13 @@ module Aws::Transfer
327
343
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
328
344
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
329
345
 
346
+ UpdateServerRequest.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
330
347
  UpdateServerRequest.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
331
348
  UpdateServerRequest.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
332
349
  UpdateServerRequest.add_member(:host_key, Shapes::ShapeRef.new(shape: HostKey, location_name: "HostKey"))
333
350
  UpdateServerRequest.add_member(:identity_provider_details, Shapes::ShapeRef.new(shape: IdentityProviderDetails, location_name: "IdentityProviderDetails"))
334
351
  UpdateServerRequest.add_member(:logging_role, Shapes::ShapeRef.new(shape: NullableRole, location_name: "LoggingRole"))
352
+ UpdateServerRequest.add_member(:protocols, Shapes::ShapeRef.new(shape: Protocols, location_name: "Protocols"))
335
353
  UpdateServerRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
336
354
  UpdateServerRequest.struct_class = Types::UpdateServerRequest
337
355
 
@@ -363,7 +381,7 @@ module Aws::Transfer
363
381
  "jsonVersion" => "1.1",
364
382
  "protocol" => "json",
365
383
  "serviceAbbreviation" => "AWS Transfer",
366
- "serviceFullName" => "AWS Transfer for SFTP",
384
+ "serviceFullName" => "AWS Transfer Family",
367
385
  "serviceId" => "Transfer",
368
386
  "signatureVersion" => "v4",
369
387
  "signingName" => "transfer",
@@ -377,10 +395,12 @@ module Aws::Transfer
377
395
  o.http_request_uri = "/"
378
396
  o.input = Shapes::ShapeRef.new(shape: CreateServerRequest)
379
397
  o.output = Shapes::ShapeRef.new(shape: CreateServerResponse)
398
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
380
399
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
381
400
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
382
401
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
383
402
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
403
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
384
404
  end)
385
405
 
386
406
  api.add_operation(:create_user, Seahorse::Model::Operation.new.tap do |o|
@@ -402,6 +422,7 @@ module Aws::Transfer
402
422
  o.http_request_uri = "/"
403
423
  o.input = Shapes::ShapeRef.new(shape: DeleteServerRequest)
404
424
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
425
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
405
426
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
406
427
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
407
428
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -594,6 +615,7 @@ module Aws::Transfer
594
615
  o.http_request_uri = "/"
595
616
  o.input = Shapes::ShapeRef.new(shape: UpdateServerRequest)
596
617
  o.output = Shapes::ShapeRef.new(shape: UpdateServerResponse)
618
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
597
619
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
598
620
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
599
621
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
@@ -25,6 +25,7 @@ module Aws::Transfer
25
25
  # See {Seahorse::Client::RequestContext} for more information.
26
26
  #
27
27
  # ## Error Classes
28
+ # * {AccessDeniedException}
28
29
  # * {ConflictException}
29
30
  # * {InternalServiceError}
30
31
  # * {InvalidNextTokenException}
@@ -40,6 +41,21 @@ module Aws::Transfer
40
41
 
41
42
  extend Aws::Errors::DynamicErrors
42
43
 
44
+ class AccessDeniedException < ServiceError
45
+
46
+ # @param [Seahorse::Client::RequestContext] context
47
+ # @param [String] message
48
+ # @param [Aws::Transfer::Types::AccessDeniedException] data
49
+ def initialize(context, message, data = Aws::EmptyStructure.new)
50
+ super(context, message, data)
51
+ end
52
+
53
+ # @return [String]
54
+ def message
55
+ @message || @data[:message]
56
+ end
57
+ end
58
+
43
59
  class ConflictException < ServiceError
44
60
 
45
61
  # @param [Seahorse::Client::RequestContext] context
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Transfer
9
- # This class provides a resource oriented interface for Transfer.
10
- # To create a resource object:
11
- # resource = Aws::Transfer::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::Transfer::Client.new(region: 'us-west-2')
15
- # resource = Aws::Transfer::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -8,9 +8,21 @@
8
8
  module Aws::Transfer
9
9
  module Types
10
10
 
11
- # This exception is thrown when the `UpdatServer` is called for a server
12
- # that has VPC as the endpoint type and the server's `VpcEndpointID` is
13
- # not in the available state.
11
+ # You do not have sufficient access to perform this action.
12
+ #
13
+ # @!attribute [rw] message
14
+ # @return [String]
15
+ #
16
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/AccessDeniedException AWS API Documentation
17
+ #
18
+ class AccessDeniedException < Struct.new(
19
+ :message)
20
+ include Aws::Structure
21
+ end
22
+
23
+ # This exception is thrown when the `UpdatServer` is called for a file
24
+ # transfer protocol-enabled server that has VPC as the endpoint type and
25
+ # the server's `VpcEndpointID` is not in the available state.
14
26
  #
15
27
  # @!attribute [rw] message
16
28
  # @return [String]
@@ -26,6 +38,7 @@ module Aws::Transfer
26
38
  # data as a hash:
27
39
  #
28
40
  # {
41
+ # certificate: "Certificate",
29
42
  # endpoint_details: {
30
43
  # address_allocation_ids: ["AddressAllocationId"],
31
44
  # subnet_ids: ["SubnetId"],
@@ -40,6 +53,7 @@ module Aws::Transfer
40
53
  # },
41
54
  # identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
42
55
  # logging_role: "Role",
56
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
43
57
  # tags: [
44
58
  # {
45
59
  # key: "TagKey", # required
@@ -48,77 +62,164 @@ module Aws::Transfer
48
62
  # ],
49
63
  # }
50
64
  #
65
+ # @!attribute [rw] certificate
66
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
67
+ # certificate. Required when `Protocols` is set to `FTPS`.
68
+ #
69
+ # To request a new public certificate, see [Request a public
70
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
71
+ #
72
+ # To import an existing certificate into ACM, see [Importing
73
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
74
+ # Guide</i>.
75
+ #
76
+ # To request a private certificate to use FTPS through private IP
77
+ # addresses, see [Request a private certificate][3] in the <i> AWS
78
+ # Certificate Manager User Guide</i>.
79
+ #
80
+ # Certificates with the following cryptographic algorithms and key
81
+ # sizes are supported:
82
+ #
83
+ # * 2048-bit RSA (RSA\_2048)
84
+ #
85
+ # * 4096-bit RSA (RSA\_4096)
86
+ #
87
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
88
+ #
89
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
90
+ #
91
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
92
+ #
93
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
94
+ # with FQDN or IP address specified and information about the issuer.
95
+ #
96
+ # </note>
97
+ #
98
+ #
99
+ #
100
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
101
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
102
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
103
+ # @return [String]
104
+ #
51
105
  # @!attribute [rw] endpoint_details
52
106
  # The virtual private cloud (VPC) endpoint settings that are
53
- # configured for your SFTP server. With a VPC endpoint, you can
54
- # restrict access to your SFTP server to resources only within your
55
- # VPC. To control incoming internet traffic, you will need to invoke
56
- # the `UpdateServer` API and attach an Elastic IP to your server's
57
- # endpoint.
107
+ # configured for your file transfer protocol-enabled server. When you
108
+ # host your endpoint within your VPC, you can make it accessible only
109
+ # to resources within your VPC, or you can attach Elastic IPs and make
110
+ # it accessible to clients over the internet. Your VPC's default
111
+ # security groups are automatically assigned to your endpoint.
58
112
  # @return [Types::EndpointDetails]
59
113
  #
60
114
  # @!attribute [rw] endpoint_type
61
- # The type of VPC endpoint that you want your SFTP server to connect
62
- # to. You can choose to connect to the public internet or a virtual
63
- # private cloud (VPC) endpoint. With a VPC endpoint, you can restrict
64
- # access to your SFTP server and resources only within your VPC.
115
+ # The type of VPC endpoint that you want your file transfer
116
+ # protocol-enabled server to connect to. You can choose to connect to
117
+ # the public internet or a VPC endpoint. With a VPC endpoint, you can
118
+ # restrict access to your server and resources only within your VPC.
119
+ #
120
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With
121
+ # this endpoint type, you have the option to directly associate up to
122
+ # three Elastic IPv4 addresses (BYO IP included) with your server's
123
+ # endpoint and use VPC security groups to restrict traffic by the
124
+ # client's public IP address. This is not possible with
125
+ # `EndpointType` set to `VPC_ENDPOINT`.
126
+ #
127
+ # </note>
65
128
  # @return [String]
66
129
  #
67
130
  # @!attribute [rw] host_key
68
- # The RSA private key as generated by the `ssh-keygen -N "" -f
131
+ # The RSA private key as generated by the `ssh-keygen -N "" -m PEM -f
69
132
  # my-new-server-key` command.
70
133
  #
71
134
  # If you aren't planning to migrate existing users from an existing
72
- # SFTP server to a new AWS SFTP server, don't update the host key.
135
+ # SFTP-enabled server to a new server, don't update the host key.
73
136
  # Accidentally changing a server's host key can be disruptive.
74
137
  #
75
- # For more information, see
76
- # "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
77
- # in the *AWS SFTP User Guide.*
138
+ # For more information, see [Change the host key for your SFTP-enabled
139
+ # server][1] in the *AWS Transfer Family User Guide*.
140
+ #
141
+ #
142
+ #
143
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
78
144
  # @return [String]
79
145
  #
80
146
  # @!attribute [rw] identity_provider_details
81
- # This parameter is required when the `IdentityProviderType` is set to
82
- # `API_GATEWAY`. Accepts an array containing all of the information
83
- # required to call a customer-supplied authentication API, including
84
- # the API Gateway URL. This property is not required when the
85
- # `IdentityProviderType` is set to `SERVICE_MANAGED`.
147
+ # Required when `IdentityProviderType` is set to `API_GATEWAY`.
148
+ # Accepts an array containing all of the information required to call
149
+ # a customer-supplied authentication API, including the API Gateway
150
+ # URL. Not required when `IdentityProviderType` is set to
151
+ # `SERVICE_MANAGED`.
86
152
  # @return [Types::IdentityProviderDetails]
87
153
  #
88
154
  # @!attribute [rw] identity_provider_type
89
- # Specifies the mode of authentication for the SFTP server. The
90
- # default value is `SERVICE_MANAGED`, which allows you to store and
91
- # access SFTP user credentials within the AWS Transfer for SFTP
92
- # service. Use the `API_GATEWAY` value to integrate with an identity
93
- # provider of your choosing. The `API_GATEWAY` setting requires you to
94
- # provide an API Gateway endpoint URL to call for authentication using
95
- # the `IdentityProviderDetails` parameter.
155
+ # Specifies the mode of authentication for a file transfer
156
+ # protocol-enabled server. The default value is `SERVICE_MANAGED`,
157
+ # which allows you to store and access user credentials within the AWS
158
+ # Transfer Family service. Use the `API_GATEWAY` value to integrate
159
+ # with an identity provider of your choosing. The `API_GATEWAY`
160
+ # setting requires you to provide an API Gateway endpoint URL to call
161
+ # for authentication using the `IdentityProviderDetails` parameter.
96
162
  # @return [String]
97
163
  #
98
164
  # @!attribute [rw] logging_role
99
- # A value that allows the service to write your SFTP users' activity
100
- # to your Amazon CloudWatch logs for monitoring and auditing purposes.
165
+ # Allows the service to write your users' activity to your Amazon
166
+ # CloudWatch logs for monitoring and auditing purposes.
101
167
  # @return [String]
102
168
  #
169
+ # @!attribute [rw] protocols
170
+ # Specifies the file transfer protocol or protocols over which your
171
+ # file transfer protocol client can connect to your server's
172
+ # endpoint. The available protocols are:
173
+ #
174
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
175
+ # over SSH
176
+ #
177
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
178
+ # encryption
179
+ #
180
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
181
+ #
182
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
183
+ # Certificate Manager (ACM) which will be used to identify your server
184
+ # when clients connect to it over FTPS.
185
+ #
186
+ # If `Protocol` includes either `FTP` or `FTPS`, then the
187
+ # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
188
+ # `API_GATEWAY`.
189
+ #
190
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
191
+ # associated.
192
+ #
193
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
194
+ # to `PUBLIC` and the `IdentityProviderType` can be set to
195
+ # `SERVICE_MANAGED`.
196
+ #
197
+ # </note>
198
+ # @return [Array<String>]
199
+ #
103
200
  # @!attribute [rw] tags
104
- # Key-value pairs that can be used to group and search for servers.
201
+ # Key-value pairs that can be used to group and search for file
202
+ # transfer protocol-enabled servers.
105
203
  # @return [Array<Types::Tag>]
106
204
  #
107
205
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServerRequest AWS API Documentation
108
206
  #
109
207
  class CreateServerRequest < Struct.new(
208
+ :certificate,
110
209
  :endpoint_details,
111
210
  :endpoint_type,
112
211
  :host_key,
113
212
  :identity_provider_details,
114
213
  :identity_provider_type,
115
214
  :logging_role,
215
+ :protocols,
116
216
  :tags)
117
217
  include Aws::Structure
118
218
  end
119
219
 
120
220
  # @!attribute [rw] server_id
121
- # The service-assigned ID of the SFTP server that is created.
221
+ # The service-assigned ID of the file transfer protocol-enabled server
222
+ # that is created.
122
223
  # @return [String]
123
224
  #
124
225
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServerResponse AWS API Documentation
@@ -155,47 +256,49 @@ module Aws::Transfer
155
256
  #
156
257
  # @!attribute [rw] home_directory
157
258
  # The landing directory (folder) for a user when they log in to the
158
- # server using their SFTP client.
259
+ # file transfer protocol-enabled server using the client.
159
260
  #
160
- # An example is &lt;`your-Amazon-S3-bucket-name>/home/username`.
261
+ # An example is <i>
262
+ # <code>your-Amazon-S3-bucket-name&gt;/home/username</code> </i>.
161
263
  # @return [String]
162
264
  #
163
265
  # @!attribute [rw] home_directory_type
164
266
  # The type of landing directory (folder) you want your users' home
165
- # directory to be when they log into the SFTP server. If you set it to
166
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is
167
- # in their SFTP clients. If you set it `LOGICAL`, you will need to
168
- # provide mappings in the `HomeDirectoryMappings` for how you want to
169
- # make S3 paths visible to your user.
267
+ # directory to be when they log into the file transfer
268
+ # protocol-enabled server. If you set it to `PATH`, the user will see
269
+ # the absolute Amazon S3 bucket paths as is in their file transfer
270
+ # protocol clients. If you set it `LOGICAL`, you will need to provide
271
+ # mappings in the `HomeDirectoryMappings` for how you want to make
272
+ # Amazon S3 paths visible to your users.
170
273
  # @return [String]
171
274
  #
172
275
  # @!attribute [rw] home_directory_mappings
173
- # Logical directory mappings that specify what S3 paths and keys
174
- # should be visible to your user and how you want to make them
276
+ # Logical directory mappings that specify what Amazon S3 paths and
277
+ # keys should be visible to your user and how you want to make them
175
278
  # visible. You will need to specify the "`Entry`" and "`Target`"
176
279
  # pair, where `Entry` shows how the path is made visible and `Target`
177
- # is the actual S3 path. If you only specify a target, it will be
178
- # displayed as is. You will need to also make sure that your AWS IAM
179
- # Role provides access to paths in `Target`. The following is an
280
+ # is the actual Amazon S3 path. If you only specify a target, it will
281
+ # be displayed as is. You will need to also make sure that your IAM
282
+ # role provides access to paths in `Target`. The following is an
180
283
  # example.
181
284
  #
182
285
  # `'[ "/bucket2/documentation", \{ "Entry":
183
286
  # "your-personal-report.pdf", "Target":
184
287
  # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
185
288
  #
186
- # In most cases, you can use this value instead of the scope down
289
+ # In most cases, you can use this value instead of the scope-down
187
290
  # policy to lock your user down to the designated home directory
188
291
  # ("chroot"). To do this, you can set `Entry` to '/' and set
189
292
  # `Target` to the HomeDirectory parameter value.
190
293
  #
191
- # <note markdown="1"> If the target of a logical directory entry does not exist in S3, the
192
- # entry will be ignored. As a workaround, you can use the S3 api to
193
- # create 0 byte objects as place holders for your directory. If using
194
- # the CLI, use the s3api call instead of s3 so you can use the
195
- # put-object operation. For example, you use the following: `aws s3api
196
- # put-object --bucket bucketname --key path/to/folder/`. Make sure
197
- # that the end of the key name ends in a / for it to be considered a
198
- # folder.
294
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
295
+ # S3, the entry will be ignored. As a workaround, you can use the
296
+ # Amazon S3 api to create 0 byte objects as place holders for your
297
+ # directory. If using the CLI, use the `s3api` call instead of `s3` so
298
+ # you can use the put-object operation. For example, you use the
299
+ # following: `aws s3api put-object --bucket bucketname --key
300
+ # path/to/folder/`. Make sure that the end of the key name ends in a
301
+ # '/' for it to be considered a folder.
199
302
  #
200
303
  # </note>
201
304
  # @return [Array<Types::HomeDirectoryMapEntry>]
@@ -207,40 +310,44 @@ module Aws::Transfer
207
310
  # inside this policy include `$\{Transfer:UserName\}`,
208
311
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
209
312
  #
210
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as
211
- # a JSON blob, instead of the Amazon Resource Name (ARN) of the
212
- # policy. You save the policy as a JSON blob and pass it in the
213
- # `Policy` argument.
313
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
314
+ # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
315
+ # You save the policy as a JSON blob and pass it in the `Policy`
316
+ # argument.
214
317
  #
215
- # For an example of a scope-down policy, see
216
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
217
- # a Scope-Down Policy.
318
+ # For an example of a scope-down policy, see [Creating a scope-down
319
+ # policy][1].
218
320
  #
219
- # For more information, see
220
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
221
- # in the *AWS Security Token Service API Reference*.
321
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
322
+ # Service API Reference*.
222
323
  #
223
324
  # </note>
325
+ #
326
+ #
327
+ #
328
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
329
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
224
330
  # @return [String]
225
331
  #
226
332
  # @!attribute [rw] role
227
- # The IAM role that controls your user's access to your Amazon S3
333
+ # The IAM role that controls your users' access to your Amazon S3
228
334
  # bucket. The policies attached to this role will determine the level
229
335
  # of access you want to provide your users when transferring files
230
336
  # into and out of your Amazon S3 bucket or buckets. The IAM role
231
- # should also contain a trust relationship that allows the SFTP server
232
- # to access your resources when servicing your SFTP user's transfer
233
- # requests.
337
+ # should also contain a trust relationship that allows the file
338
+ # transfer protocol-enabled server to access your resources when
339
+ # servicing your users' transfer requests.
234
340
  # @return [String]
235
341
  #
236
342
  # @!attribute [rw] server_id
237
- # A system-assigned unique identifier for an SFTP server instance.
238
- # This is the specific SFTP server that you added your user to.
343
+ # A system-assigned unique identifier for a file transfer
344
+ # protocol-enabled server instance. This is the specific server that
345
+ # you added your user to.
239
346
  # @return [String]
240
347
  #
241
348
  # @!attribute [rw] ssh_public_key_body
242
349
  # The public portion of the Secure Shell (SSH) key used to
243
- # authenticate the user to the SFTP server.
350
+ # authenticate the user to the file transfer protocol-enabled server.
244
351
  # @return [String]
245
352
  #
246
353
  # @!attribute [rw] tags
@@ -249,11 +356,11 @@ module Aws::Transfer
249
356
  # @return [Array<Types::Tag>]
250
357
  #
251
358
  # @!attribute [rw] user_name
252
- # A unique string that identifies a user and is associated with a
253
- # server as specified by the `ServerId`. This user name must be a
254
- # minimum of 3 and a maximum of 32 characters long. The following are
255
- # valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user
256
- # name can't start with a hyphen.
359
+ # A unique string that identifies a user and is associated with a file
360
+ # transfer protocol-enabled server as specified by the `ServerId`.
361
+ # This user name must be a minimum of 3 and a maximum of 32 characters
362
+ # long. The following are valid characters: a-z, A-Z, 0-9, underscore,
363
+ # and hyphen. The user name can't start with a hyphen.
257
364
  # @return [String]
258
365
  #
259
366
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateUserRequest AWS API Documentation
@@ -272,12 +379,13 @@ module Aws::Transfer
272
379
  end
273
380
 
274
381
  # @!attribute [rw] server_id
275
- # The ID of the SFTP server that the user is attached to.
382
+ # The ID of the file transfer protocol-enabled server that the user is
383
+ # attached to.
276
384
  # @return [String]
277
385
  #
278
386
  # @!attribute [rw] user_name
279
- # A unique string that identifies a user account associated with an
280
- # SFTP server.
387
+ # A unique string that identifies a user account associated with a
388
+ # file transfer protocol-enabled server.
281
389
  # @return [String]
282
390
  #
283
391
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateUserResponse AWS API Documentation
@@ -296,7 +404,8 @@ module Aws::Transfer
296
404
  # }
297
405
  #
298
406
  # @!attribute [rw] server_id
299
- # A unique system-assigned identifier for an SFTP server instance.
407
+ # A unique system-assigned identifier for a file transfer
408
+ # protocol-enabled server instance.
300
409
  # @return [String]
301
410
  #
302
411
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServerRequest AWS API Documentation
@@ -316,8 +425,8 @@ module Aws::Transfer
316
425
  # }
317
426
  #
318
427
  # @!attribute [rw] server_id
319
- # A system-assigned unique identifier for a Secure File Transfer
320
- # Protocol (SFTP) server instance that has the user assigned to it.
428
+ # A system-assigned unique identifier for a file transfer
429
+ # protocol-enabled server instance that has the user assigned to it.
321
430
  # @return [String]
322
431
  #
323
432
  # @!attribute [rw] ssh_public_key_id
@@ -347,13 +456,13 @@ module Aws::Transfer
347
456
  # }
348
457
  #
349
458
  # @!attribute [rw] server_id
350
- # A system-assigned unique identifier for an SFTP server instance that
351
- # has the user assigned to it.
459
+ # A system-assigned unique identifier for a file transfer
460
+ # protocol-enabled server instance that has the user assigned to it.
352
461
  # @return [String]
353
462
  #
354
463
  # @!attribute [rw] user_name
355
- # A unique string that identifies a user that is being deleted from
356
- # the server.
464
+ # A unique string that identifies a user that is being deleted from a
465
+ # file transfer protocol-enabled server.
357
466
  # @return [String]
358
467
  #
359
468
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUserRequest AWS API Documentation
@@ -372,7 +481,8 @@ module Aws::Transfer
372
481
  # }
373
482
  #
374
483
  # @!attribute [rw] server_id
375
- # A system-assigned unique identifier for an SFTP server.
484
+ # A system-assigned unique identifier for a file transfer
485
+ # protocol-enabled server.
376
486
  # @return [String]
377
487
  #
378
488
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServerRequest AWS API Documentation
@@ -383,8 +493,8 @@ module Aws::Transfer
383
493
  end
384
494
 
385
495
  # @!attribute [rw] server
386
- # An array containing the properties of the server with the `ServerID`
387
- # you specified.
496
+ # An array containing the properties of a file transfer
497
+ # protocol-enabled server with the `ServerID` you specified.
388
498
  # @return [Types::DescribedServer]
389
499
  #
390
500
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServerResponse AWS API Documentation
@@ -403,14 +513,15 @@ module Aws::Transfer
403
513
  # }
404
514
  #
405
515
  # @!attribute [rw] server_id
406
- # A system-assigned unique identifier for an SFTP server that has this
407
- # user assigned.
516
+ # A system-assigned unique identifier for a file transfer
517
+ # protocol-enabled server that has this user assigned.
408
518
  # @return [String]
409
519
  #
410
520
  # @!attribute [rw] user_name
411
- # The name of the user assigned to one or more servers. User names are
412
- # part of the sign-in credentials to use the AWS Transfer for SFTP
413
- # service and perform file transfer tasks.
521
+ # The name of the user assigned to one or more file transfer
522
+ # protocol-enabled servers. User names are part of the sign-in
523
+ # credentials to use the AWS Transfer Family service and perform file
524
+ # transfer tasks.
414
525
  # @return [String]
415
526
  #
416
527
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUserRequest AWS API Documentation
@@ -422,8 +533,8 @@ module Aws::Transfer
422
533
  end
423
534
 
424
535
  # @!attribute [rw] server_id
425
- # A system-assigned unique identifier for an SFTP server that has this
426
- # user assigned.
536
+ # A system-assigned unique identifier for a file transfer
537
+ # protocol-enabled server that has this user assigned.
427
538
  # @return [String]
428
539
  #
429
540
  # @!attribute [rw] user
@@ -439,65 +550,89 @@ module Aws::Transfer
439
550
  include Aws::Structure
440
551
  end
441
552
 
442
- # Describes the properties of the server that was specified. Information
443
- # returned includes the following: the server Amazon Resource Name
444
- # (ARN), the authentication configuration and type, the logging role,
445
- # the server ID and state, and assigned tags or metadata.
553
+ # Describes the properties of a file transfer protocol-enabled server
554
+ # that was specified. Information returned includes the following: the
555
+ # server Amazon Resource Name (ARN), the certificate ARN (if the FTPS
556
+ # protocol was selected), the endpoint type and details, the
557
+ # authentication configuration and type, the logging role, the file
558
+ # transfer protocol or protocols, the server ID and state, and assigned
559
+ # tags or metadata.
446
560
  #
447
561
  # @!attribute [rw] arn
448
- # Specifies the unique Amazon Resource Name (ARN) for the server to be
449
- # described.
562
+ # Specifies the unique Amazon Resource Name (ARN) for a file transfer
563
+ # protocol-enabled server to be described.
564
+ # @return [String]
565
+ #
566
+ # @!attribute [rw] certificate
567
+ # Specifies the ARN of the AWS Certificate Manager (ACM) certificate.
568
+ # Required when `Protocols` is set to `FTPS`.
450
569
  # @return [String]
451
570
  #
452
571
  # @!attribute [rw] endpoint_details
453
- # The virtual private cloud (VPC) endpoint settings that you
454
- # configured for your SFTP server.
572
+ # Specifies the virtual private cloud (VPC) endpoint settings that you
573
+ # configured for your file transfer protocol-enabled server.
455
574
  # @return [Types::EndpointDetails]
456
575
  #
457
576
  # @!attribute [rw] endpoint_type
458
- # The type of endpoint that your SFTP server is connected to. If your
459
- # SFTP server is connected to a VPC endpoint, your server isn't
460
- # accessible over the public internet.
577
+ # Defines the type of endpoint that your file transfer
578
+ # protocol-enabled server is connected to. If your server is connected
579
+ # to a VPC endpoint, your server isn't accessible over the public
580
+ # internet.
461
581
  # @return [String]
462
582
  #
463
583
  # @!attribute [rw] host_key_fingerprint
464
- # This value contains the message-digest algorithm (MD5) hash of the
465
- # server's host key. This value is equivalent to the output of the
466
- # `ssh-keygen -l -E md5 -f my-new-server-key` command.
584
+ # Specifies the Base64-encoded SHA256 fingerprint of the server's
585
+ # host key. This value is equivalent to the output of the `ssh-keygen
586
+ # -l -f my-new-server-key` command.
467
587
  # @return [String]
468
588
  #
469
589
  # @!attribute [rw] identity_provider_details
470
590
  # Specifies information to call a customer-supplied authentication
471
591
  # API. This field is not populated when the `IdentityProviderType` of
472
- # the server is `SERVICE_MANAGED`&gt;.
592
+ # a file transfer protocol-enabled server is `SERVICE_MANAGED`.
473
593
  # @return [Types::IdentityProviderDetails]
474
594
  #
475
595
  # @!attribute [rw] identity_provider_type
476
- # This property defines the mode of authentication method enabled for
477
- # this service. A value of `SERVICE_MANAGED` means that you are using
478
- # this server to store and access SFTP user credentials within the
479
- # service. A value of `API_GATEWAY` indicates that you have integrated
480
- # an API Gateway endpoint that will be invoked for authenticating your
481
- # user into the service.
596
+ # Specifies the mode of authentication method enabled for this
597
+ # service. A value of `SERVICE_MANAGED` means that you are using this
598
+ # file transfer protocol-enabled server to store and access user
599
+ # credentials within the service. A value of `API_GATEWAY` indicates
600
+ # that you have integrated an API Gateway endpoint that will be
601
+ # invoked for authenticating your user into the service.
482
602
  # @return [String]
483
603
  #
484
604
  # @!attribute [rw] logging_role
485
- # This property is an AWS Identity and Access Management (IAM) entity
486
- # that allows the server to turn on Amazon CloudWatch logging for
487
- # Amazon S3 events. When set, user activity can be viewed in your
488
- # CloudWatch logs.
605
+ # Specifies the AWS Identity and Access Management (IAM) role that
606
+ # allows a file transfer protocol-enabled server to turn on Amazon
607
+ # CloudWatch logging for Amazon S3 events. When set, user activity can
608
+ # be viewed in your CloudWatch logs.
489
609
  # @return [String]
490
610
  #
611
+ # @!attribute [rw] protocols
612
+ # Specifies the file transfer protocol or protocols over which your
613
+ # file transfer protocol client can connect to your server's
614
+ # endpoint. The available protocols are:
615
+ #
616
+ # * `SFTP` (Secure Shell (SSH) File Transfer Protocol): File transfer
617
+ # over SSH
618
+ #
619
+ # * `FTPS` (File Transfer Protocol Secure): File transfer with TLS
620
+ # encryption
621
+ #
622
+ # * `FTP` (File Transfer Protocol): Unencrypted file transfer
623
+ # @return [Array<String>]
624
+ #
491
625
  # @!attribute [rw] server_id
492
- # This property is a unique system-assigned identifier for the SFTP
493
- # server that you instantiate.
626
+ # Specifies the unique system-assigned identifier for a file transfer
627
+ # protocol-enabled server that you instantiate.
494
628
  # @return [String]
495
629
  #
496
630
  # @!attribute [rw] state
497
- # The condition of the SFTP server for the server that was described.
498
- # A value of `ONLINE` indicates that the server can accept jobs and
499
- # transfer files. A `State` value of `OFFLINE` means that the server
500
- # cannot perform file transfer operations.
631
+ # Specifies the condition of a file transfer protocol-enabled server
632
+ # for the server that was described. A value of `ONLINE` indicates
633
+ # that the server can accept jobs and transfer files. A `State` value
634
+ # of `OFFLINE` means that the server cannot perform file transfer
635
+ # operations.
501
636
  #
502
637
  # The states of `STARTING` and `STOPPING` indicate that the server is
503
638
  # in an intermediate state, either not fully able to respond, or not
@@ -506,26 +641,28 @@ module Aws::Transfer
506
641
  # @return [String]
507
642
  #
508
643
  # @!attribute [rw] tags
509
- # This property contains the key-value pairs that you can use to
510
- # search for and group servers that were assigned to the server that
511
- # was described.
644
+ # Specifies the key-value pairs that you can use to search for and
645
+ # group file transfer protocol-enabled servers that were assigned to
646
+ # the server that was described.
512
647
  # @return [Array<Types::Tag>]
513
648
  #
514
649
  # @!attribute [rw] user_count
515
- # The number of users that are assigned to the SFTP server you
516
- # specified with the `ServerId`.
650
+ # Specifies the number of users that are assigned to a file transfer
651
+ # protocol-enabled server you specified with the `ServerId`.
517
652
  # @return [Integer]
518
653
  #
519
654
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedServer AWS API Documentation
520
655
  #
521
656
  class DescribedServer < Struct.new(
522
657
  :arn,
658
+ :certificate,
523
659
  :endpoint_details,
524
660
  :endpoint_type,
525
661
  :host_key_fingerprint,
526
662
  :identity_provider_details,
527
663
  :identity_provider_type,
528
664
  :logging_role,
665
+ :protocols,
529
666
  :server_id,
530
667
  :state,
531
668
  :tags,
@@ -536,44 +673,41 @@ module Aws::Transfer
536
673
  # Returns properties of the user that you want to describe.
537
674
  #
538
675
  # @!attribute [rw] arn
539
- # This property contains the unique Amazon Resource Name (ARN) for the
540
- # user that was requested to be described.
676
+ # Specifies the unique Amazon Resource Name (ARN) for the user that
677
+ # was requested to be described.
541
678
  # @return [String]
542
679
  #
543
680
  # @!attribute [rw] home_directory
544
- # This property specifies the landing directory (or folder), which is
545
- # the location that files are written to or read from in an Amazon S3
546
- # bucket for the described user. An example is `/your s3 bucket
547
- # name/home/username `.
681
+ # Specifies the landing directory (or folder), which is the location
682
+ # that files are written to or read from in an Amazon S3 bucket, for
683
+ # the described user. An example is <i>
684
+ # <code>your-Amazon-S3-bucket-name&gt;/home/username</code> </i>.
548
685
  # @return [String]
549
686
  #
550
687
  # @!attribute [rw] home_directory_mappings
551
- # Logical directory mappings that you specified for what S3 paths and
552
- # keys should be visible to your user and how you want to make them
553
- # visible. You will need to specify the "`Entry`" and "`Target`"
554
- # pair, where `Entry` shows how the path is made visible and `Target`
555
- # is the actual S3 path. If you only specify a target, it will be
556
- # displayed as is. You will need to also make sure that your AWS IAM
557
- # Role provides access to paths in `Target`.
558
- #
559
- # In most cases, you can use this value instead of the scope down
560
- # policy to lock your user down to the designated home directory
561
- # ("chroot"). To do this, you can set `Entry` to '/' and set
562
- # `Target` to the HomeDirectory parameter value.
563
- #
564
- # In most cases, you can use this value instead of the scope down
688
+ # Specifies the logical directory mappings that specify what Amazon S3
689
+ # paths and keys should be visible to your user and how you want to
690
+ # make them visible. You will need to specify the "`Entry`" and
691
+ # "`Target`" pair, where `Entry` shows how the path is made visible
692
+ # and `Target` is the actual Amazon S3 path. If you only specify a
693
+ # target, it will be displayed as is. You will need to also make sure
694
+ # that your AWS Identity and Access Management (IAM) role provides
695
+ # access to paths in `Target`.
696
+ #
697
+ # In most cases, you can use this value instead of the scope-down
565
698
  # policy to lock your user down to the designated home directory
566
699
  # ("chroot"). To do this, you can set `Entry` to '/' and set
567
700
  # `Target` to the HomeDirectory parameter value.
568
701
  # @return [Array<Types::HomeDirectoryMapEntry>]
569
702
  #
570
703
  # @!attribute [rw] home_directory_type
571
- # The type of landing directory (folder) you mapped for your users'
572
- # to see when they log into the SFTP server. If you set it to `PATH`,
573
- # the user will see the absolute Amazon S3 bucket paths as is in their
574
- # SFTP clients. If you set it `LOGICAL`, you will need to provide
575
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
576
- # paths visible to your user.
704
+ # Specifies the type of landing directory (folder) you mapped for your
705
+ # users to see when they log into the file transfer protocol-enabled
706
+ # server. If you set it to `PATH`, the user will see the absolute
707
+ # Amazon S3 bucket paths as is in their file transfer protocol
708
+ # clients. If you set it `LOGICAL`, you will need to provide mappings
709
+ # in the `HomeDirectoryMappings` for how you want to make Amazon S3
710
+ # paths visible to your users.
577
711
  # @return [String]
578
712
  #
579
713
  # @!attribute [rw] policy
@@ -581,31 +715,30 @@ module Aws::Transfer
581
715
  # @return [String]
582
716
  #
583
717
  # @!attribute [rw] role
584
- # This property specifies the IAM role that controls your user's
585
- # access to your Amazon S3 bucket. The policies attached to this role
586
- # will determine the level of access you want to provide your users
587
- # when transferring files into and out of your Amazon S3 bucket or
588
- # buckets. The IAM role should also contain a trust relationship that
589
- # allows the SFTP server to access your resources when servicing your
590
- # SFTP user's transfer requests.
718
+ # Specifies the IAM role that controls your users' access to your
719
+ # Amazon S3 bucket. The policies attached to this role will determine
720
+ # the level of access you want to provide your users when transferring
721
+ # files into and out of your Amazon S3 bucket or buckets. The IAM role
722
+ # should also contain a trust relationship that allows a file transfer
723
+ # protocol-enabled server to access your resources when servicing your
724
+ # users' transfer requests.
591
725
  # @return [String]
592
726
  #
593
727
  # @!attribute [rw] ssh_public_keys
594
- # This property contains the public key portion of the Secure Shell
595
- # (SSH) keys stored for the described user.
728
+ # Specifies the public key portion of the Secure Shell (SSH) keys
729
+ # stored for the described user.
596
730
  # @return [Array<Types::SshPublicKey>]
597
731
  #
598
732
  # @!attribute [rw] tags
599
- # This property contains the key-value pairs for the user requested.
600
- # Tag can be used to search for and group users for a variety of
601
- # purposes.
733
+ # Specifies the key-value pairs for the user requested. Tag can be
734
+ # used to search for and group users for a variety of purposes.
602
735
  # @return [Array<Types::Tag>]
603
736
  #
604
737
  # @!attribute [rw] user_name
605
- # This property is the name of the user that was requested to be
606
- # described. User names are used for authentication purposes. This is
607
- # the string that will be used by your user when they log in to your
608
- # SFTP server.
738
+ # Specifies the name of the user that was requested to be described.
739
+ # User names are used for authentication purposes. This is the string
740
+ # that will be used by your user when they log in to your file
741
+ # transfer protocol-enabled server.
609
742
  # @return [String]
610
743
  #
611
744
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedUser AWS API Documentation
@@ -624,10 +757,10 @@ module Aws::Transfer
624
757
  end
625
758
 
626
759
  # The virtual private cloud (VPC) endpoint settings that are configured
627
- # for your SFTP server. With a VPC endpoint, you can restrict access to
628
- # your SFTP server and resources only within your VPC. To control
629
- # incoming internet traffic, invoke the `UpdateServer` API and attach an
630
- # Elastic IP to your server's endpoint.
760
+ # for your file transfer protocol-enabled server. With a VPC endpoint,
761
+ # you can restrict access to your server and resources only within your
762
+ # VPC. To control incoming internet traffic, invoke the `UpdateServer`
763
+ # API and attach an Elastic IP to your server's endpoint.
631
764
  #
632
765
  # @note When making an API call, you may pass EndpointDetails
633
766
  # data as a hash:
@@ -641,8 +774,8 @@ module Aws::Transfer
641
774
  #
642
775
  # @!attribute [rw] address_allocation_ids
643
776
  # A list of address allocation IDs that are required to attach an
644
- # Elastic IP address to your SFTP server's endpoint. This is only
645
- # valid in the `UpdateServer` API.
777
+ # Elastic IP address to your file transfer protocol-enabled server's
778
+ # endpoint. This is only valid in the `UpdateServer` API.
646
779
  #
647
780
  # <note markdown="1"> This property can only be use when `EndpointType` is set to `VPC`.
648
781
  #
@@ -650,17 +783,30 @@ module Aws::Transfer
650
783
  # @return [Array<String>]
651
784
  #
652
785
  # @!attribute [rw] subnet_ids
653
- # A list of subnet IDs that are required to host your SFTP server
654
- # endpoint in your VPC.
786
+ # A list of subnet IDs that are required to host your file transfer
787
+ # protocol-enabled server endpoint in your VPC.
788
+ #
789
+ # <note markdown="1"> This property can only be used when `EndpointType` is set to `VPC`.
790
+ #
791
+ # </note>
655
792
  # @return [Array<String>]
656
793
  #
657
794
  # @!attribute [rw] vpc_endpoint_id
658
795
  # The ID of the VPC endpoint.
796
+ #
797
+ # <note markdown="1"> This property can only be used when `EndpointType` is set to
798
+ # `VPC_ENDPOINT`.
799
+ #
800
+ # </note>
659
801
  # @return [String]
660
802
  #
661
803
  # @!attribute [rw] vpc_id
662
- # The VPC ID of the virtual private cloud in which the SFTP server's
663
- # endpoint will be hosted.
804
+ # The VPC ID of the VPC in which a file transfer protocol-enabled
805
+ # server's endpoint will be hosted.
806
+ #
807
+ # <note markdown="1"> This property can only be used when `EndpointType` is set to `VPC`.
808
+ #
809
+ # </note>
664
810
  # @return [String]
665
811
  #
666
812
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/EndpointDetails AWS API Documentation
@@ -701,8 +847,8 @@ module Aws::Transfer
701
847
  end
702
848
 
703
849
  # Returns information related to the type of user authentication that is
704
- # in use for a server's users. A server can have only one method of
705
- # authentication.
850
+ # in use for a file transfer protocol-enabled server's users. A server
851
+ # can have only one method of authentication.
706
852
  #
707
853
  # @note When making an API call, you may pass IdentityProviderDetails
708
854
  # data as a hash:
@@ -713,13 +859,13 @@ module Aws::Transfer
713
859
  # }
714
860
  #
715
861
  # @!attribute [rw] url
716
- # The `Url` parameter provides contains the location of the service
717
- # endpoint used to authenticate users.
862
+ # Provides the location of the service endpoint used to authenticate
863
+ # users.
718
864
  # @return [String]
719
865
  #
720
866
  # @!attribute [rw] invocation_role
721
- # The `InvocationRole` parameter provides the type of `InvocationRole`
722
- # used to authenticate the user account.
867
+ # Provides the type of `InvocationRole` used to authenticate the user
868
+ # account.
723
869
  # @return [String]
724
870
  #
725
871
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/IdentityProviderDetails AWS API Documentation
@@ -740,7 +886,8 @@ module Aws::Transfer
740
886
  # }
741
887
  #
742
888
  # @!attribute [rw] server_id
743
- # A system-assigned unique identifier for an SFTP server.
889
+ # A system-assigned unique identifier for a file transfer
890
+ # protocol-enabled server.
744
891
  # @return [String]
745
892
  #
746
893
  # @!attribute [rw] ssh_public_key_body
@@ -748,8 +895,8 @@ module Aws::Transfer
748
895
  # @return [String]
749
896
  #
750
897
  # @!attribute [rw] user_name
751
- # The name of the user account that is assigned to one or more
752
- # servers.
898
+ # The name of the user account that is assigned to one or more file
899
+ # transfer protocol-enabled servers.
753
900
  # @return [String]
754
901
  #
755
902
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKeyRequest AWS API Documentation
@@ -761,17 +908,18 @@ module Aws::Transfer
761
908
  include Aws::Structure
762
909
  end
763
910
 
764
- # This response identifies the user, the server they belong to, and the
765
- # identifier of the SSH public key associated with that user. A user can
766
- # have more than one key on each server that they are associated with.
911
+ # Identifies the user, the file transfer protocol-enabled server they
912
+ # belong to, and the identifier of the SSH public key associated with
913
+ # that user. A user can have more than one key on each server that they
914
+ # are associated with.
767
915
  #
768
916
  # @!attribute [rw] server_id
769
- # A system-assigned unique identifier for an SFTP server.
917
+ # A system-assigned unique identifier for a file transfer
918
+ # protocol-enabled server.
770
919
  # @return [String]
771
920
  #
772
921
  # @!attribute [rw] ssh_public_key_id
773
- # This identifier is the name given to a public key by the system that
774
- # was imported.
922
+ # The name given to a public key by the system that was imported.
775
923
  # @return [String]
776
924
  #
777
925
  # @!attribute [rw] user_name
@@ -787,8 +935,8 @@ module Aws::Transfer
787
935
  include Aws::Structure
788
936
  end
789
937
 
790
- # This exception is thrown when an error occurs in the AWS Transfer for
791
- # SFTP service.
938
+ # This exception is thrown when an error occurs in the AWS Transfer
939
+ # Family service.
792
940
  #
793
941
  # @!attribute [rw] message
794
942
  # @return [String]
@@ -833,15 +981,15 @@ module Aws::Transfer
833
981
  # }
834
982
  #
835
983
  # @!attribute [rw] max_results
836
- # Specifies the number of servers to return as a response to the
837
- # `ListServers` query.
984
+ # Specifies the number of file transfer protocol-enabled servers to
985
+ # return as a response to the `ListServers` query.
838
986
  # @return [Integer]
839
987
  #
840
988
  # @!attribute [rw] next_token
841
- # When additional results are obtained from the `ListServers` command,
989
+ # When additional results are obtained from the`ListServers` command,
842
990
  # a `NextToken` parameter is returned in the output. You can then pass
843
991
  # the `NextToken` parameter in a subsequent command to continue
844
- # listing additional servers.
992
+ # listing additional file transfer protocol-enabled servers.
845
993
  # @return [String]
846
994
  #
847
995
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServersRequest AWS API Documentation
@@ -856,11 +1004,11 @@ module Aws::Transfer
856
1004
  # When you can get additional results from the `ListServers`
857
1005
  # operation, a `NextToken` parameter is returned in the output. In a
858
1006
  # following command, you can pass in the `NextToken` parameter to
859
- # continue listing additional servers.
1007
+ # continue listing additional file transfer protocol-enabled servers.
860
1008
  # @return [String]
861
1009
  #
862
1010
  # @!attribute [rw] servers
863
- # An array of servers that were listed.
1011
+ # An array of file transfer protocol-enabled servers that were listed.
864
1012
  # @return [Array<Types::ListedServer>]
865
1013
  #
866
1014
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServersResponse AWS API Documentation
@@ -908,7 +1056,7 @@ module Aws::Transfer
908
1056
  end
909
1057
 
910
1058
  # @!attribute [rw] arn
911
- # This value is the ARN you specified to list the tags of.
1059
+ # The ARN you specified to list the tags of.
912
1060
  # @return [String]
913
1061
  #
914
1062
  # @!attribute [rw] next_token
@@ -955,8 +1103,8 @@ module Aws::Transfer
955
1103
  # @return [String]
956
1104
  #
957
1105
  # @!attribute [rw] server_id
958
- # A system-assigned unique identifier for a Secure File Transfer
959
- # Protocol (SFTP) server that has users assigned to it.
1106
+ # A system-assigned unique identifier for a file transfer
1107
+ # protocol-enabled server that has users assigned to it.
960
1108
  # @return [String]
961
1109
  #
962
1110
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsersRequest AWS API Documentation
@@ -976,8 +1124,8 @@ module Aws::Transfer
976
1124
  # @return [String]
977
1125
  #
978
1126
  # @!attribute [rw] server_id
979
- # A system-assigned unique identifier for an SFTP server that the
980
- # users are assigned to.
1127
+ # A system-assigned unique identifier for a file transfer
1128
+ # protocol-enabled server that the users are assigned to.
981
1129
  # @return [String]
982
1130
  #
983
1131
  # @!attribute [rw] users
@@ -994,40 +1142,45 @@ module Aws::Transfer
994
1142
  include Aws::Structure
995
1143
  end
996
1144
 
997
- # Returns properties of the server that was specified.
1145
+ # Returns properties of a file transfer protocol-enabled server that was
1146
+ # specified.
998
1147
  #
999
1148
  # @!attribute [rw] arn
1000
- # The unique Amazon Resource Name (ARN) for the server to be listed.
1149
+ # Specifies the unique Amazon Resource Name (ARN) for a file transfer
1150
+ # protocol-enabled server to be listed.
1001
1151
  # @return [String]
1002
1152
  #
1003
1153
  # @!attribute [rw] identity_provider_type
1004
- # The authentication method used to validate a user for the server
1005
- # that was specified. This can include Secure Shell (SSH), user name
1006
- # and password combinations, or your own custom authentication method.
1007
- # Valid values include `SERVICE_MANAGED` or `API_GATEWAY`.
1154
+ # Specifies the authentication method used to validate a user for a
1155
+ # file transfer protocol-enabled server that was specified. This can
1156
+ # include Secure Shell (SSH), user name and password combinations, or
1157
+ # your own custom authentication method. Valid values include
1158
+ # `SERVICE_MANAGED` or `API_GATEWAY`.
1008
1159
  # @return [String]
1009
1160
  #
1010
1161
  # @!attribute [rw] endpoint_type
1011
- # The type of VPC endpoint that your SFTP server is connected to. If
1012
- # your SFTP server is connected to a VPC endpoint, your server isn't
1013
- # accessible over the public internet.
1162
+ # Specifies the type of VPC endpoint that your file transfer
1163
+ # protocol-enabled server is connected to. If your server is connected
1164
+ # to a VPC endpoint, your server isn't accessible over the public
1165
+ # internet.
1014
1166
  # @return [String]
1015
1167
  #
1016
1168
  # @!attribute [rw] logging_role
1017
- # The AWS Identity and Access Management entity that allows the server
1018
- # to turn on Amazon CloudWatch logging.
1169
+ # Specifies the AWS Identity and Access Management (IAM) role that
1170
+ # allows a file transfer protocol-enabled server to turn on Amazon
1171
+ # CloudWatch logging.
1019
1172
  # @return [String]
1020
1173
  #
1021
1174
  # @!attribute [rw] server_id
1022
- # This value is the unique system assigned identifier for the SFTP
1023
- # servers that were listed.
1175
+ # Specifies the unique system assigned identifier for a file transfer
1176
+ # protocol-enabled servers that were listed.
1024
1177
  # @return [String]
1025
1178
  #
1026
1179
  # @!attribute [rw] state
1027
- # This property describes the condition of the SFTP server for the
1028
- # server that was described. A value of `ONLINE`&gt; indicates that
1029
- # the server can accept jobs and transfer files. A `State` value of
1030
- # `OFFLINE` means that the server cannot perform file transfer
1180
+ # Specifies the condition of a file transfer protocol-enabled server
1181
+ # for the server that was described. A value of `ONLINE` indicates
1182
+ # that the server can accept jobs and transfer files. A `State` value
1183
+ # of `OFFLINE` means that the server cannot perform file transfer
1031
1184
  # operations.
1032
1185
  #
1033
1186
  # The states of `STARTING` and `STOPPING` indicate that the server is
@@ -1037,9 +1190,8 @@ module Aws::Transfer
1037
1190
  # @return [String]
1038
1191
  #
1039
1192
  # @!attribute [rw] user_count
1040
- # This property is a numeric value that indicates the number of users
1041
- # that are assigned to the SFTP server you specified with the
1042
- # `ServerId`.
1193
+ # Specifies the number of users that are assigned to a file transfer
1194
+ # protocol-enabled server you specified with the `ServerId`.
1043
1195
  # @return [Integer]
1044
1196
  #
1045
1197
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedServer AWS API Documentation
@@ -1058,40 +1210,41 @@ module Aws::Transfer
1058
1210
  # Returns properties of the user that you specify.
1059
1211
  #
1060
1212
  # @!attribute [rw] arn
1061
- # This property is the unique Amazon Resource Name (ARN) for the user
1062
- # that you want to learn about.
1213
+ # Provides the unique Amazon Resource Name (ARN) for the user that you
1214
+ # want to learn about.
1063
1215
  # @return [String]
1064
1216
  #
1065
1217
  # @!attribute [rw] home_directory
1066
- # This value specifies the location that files are written to or read
1067
- # from an Amazon S3 bucket for the user you specify by their ARN.
1218
+ # Specifies the location that files are written to or read from an
1219
+ # Amazon S3 bucket for the user you specify by their ARN.
1068
1220
  # @return [String]
1069
1221
  #
1070
1222
  # @!attribute [rw] home_directory_type
1071
- # The type of landing directory (folder) you mapped for your users'
1072
- # home directory. If you set it to `PATH`, the user will see the
1073
- # absolute Amazon S3 bucket paths as is in their SFTP clients. If you
1074
- # set it `LOGICAL`, you will need to provide mappings in the
1075
- # `HomeDirectoryMappings` for how you want to make S3 paths visible to
1076
- # your user.
1223
+ # Specifies the type of landing directory (folder) you mapped for your
1224
+ # users' home directory. If you set it to `PATH`, the user will see
1225
+ # the absolute Amazon S3 bucket paths as is in their file transfer
1226
+ # protocol clients. If you set it `LOGICAL`, you will need to provide
1227
+ # mappings in the `HomeDirectoryMappings` for how you want to make
1228
+ # Amazon S3 paths visible to your users.
1077
1229
  # @return [String]
1078
1230
  #
1079
1231
  # @!attribute [rw] role
1080
- # The role in use by this user. A *role* is an AWS Identity and Access
1081
- # Management (IAM) entity that, in this case, allows the SFTP server
1082
- # to act on a user's behalf. It allows the server to inherit the
1083
- # trust relationship that enables that user to perform file operations
1084
- # to their Amazon S3 bucket.
1232
+ # Specifies the role that is in use by this user. A *role* is an AWS
1233
+ # Identity and Access Management (IAM) entity that, in this case,
1234
+ # allows a file transfer protocol-enabled server to act on a user's
1235
+ # behalf. It allows the server to inherit the trust relationship that
1236
+ # enables that user to perform file operations to their Amazon S3
1237
+ # bucket.
1085
1238
  # @return [String]
1086
1239
  #
1087
1240
  # @!attribute [rw] ssh_public_key_count
1088
- # This value is the number of SSH public keys stored for the user you
1241
+ # Specifies the number of SSH public keys stored for the user you
1089
1242
  # specified.
1090
1243
  # @return [Integer]
1091
1244
  #
1092
1245
  # @!attribute [rw] user_name
1093
- # The name of the user whose ARN was specified. User names are used
1094
- # for authentication purposes.
1246
+ # Specifies the name of the user whose ARN was specified. User names
1247
+ # are used for authentication purposes.
1095
1248
  # @return [String]
1096
1249
  #
1097
1250
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedUser AWS API Documentation
@@ -1127,7 +1280,7 @@ module Aws::Transfer
1127
1280
  end
1128
1281
 
1129
1282
  # This exception is thrown when a resource is not found by the AWS
1130
- # Transfer for SFTP service.
1283
+ # Transfer Family service.
1131
1284
  #
1132
1285
  # @!attribute [rw] message
1133
1286
  # @return [String]
@@ -1147,8 +1300,8 @@ module Aws::Transfer
1147
1300
  include Aws::Structure
1148
1301
  end
1149
1302
 
1150
- # The request has failed because the AWS Transfer for SFTP service is
1151
- # not available.
1303
+ # The request has failed because the AWS Transfer Family service is not
1304
+ # available.
1152
1305
  #
1153
1306
  # @!attribute [rw] message
1154
1307
  # @return [String]
@@ -1161,23 +1314,25 @@ module Aws::Transfer
1161
1314
  end
1162
1315
 
1163
1316
  # Provides information about the public Secure Shell (SSH) key that is
1164
- # associated with a user account for a specific server (as identified by
1165
- # `ServerId`). The information returned includes the date the key was
1166
- # imported, the public key contents, and the public key ID. A user can
1167
- # store more than one SSH public key associated with their user name on
1168
- # a specific SFTP server.
1317
+ # associated with a user account for the specific file transfer
1318
+ # protocol-enabled server (as identified by `ServerId`). The information
1319
+ # returned includes the date the key was imported, the public key
1320
+ # contents, and the public key ID. A user can store more than one SSH
1321
+ # public key associated with their user name on a specific server.
1169
1322
  #
1170
1323
  # @!attribute [rw] date_imported
1171
- # The date that the public key was added to the user account.
1324
+ # Specifies the date that the public key was added to the user
1325
+ # account.
1172
1326
  # @return [Time]
1173
1327
  #
1174
1328
  # @!attribute [rw] ssh_public_key_body
1175
- # The content of the SSH public key as specified by the `PublicKeyId`.
1329
+ # Specifies the content of the SSH public key as specified by the
1330
+ # `PublicKeyId`.
1176
1331
  # @return [String]
1177
1332
  #
1178
1333
  # @!attribute [rw] ssh_public_key_id
1179
- # The `SshPublicKeyId` parameter contains the identifier of the public
1180
- # key.
1334
+ # Specifies the `SshPublicKeyId` parameter contains the identifier of
1335
+ # the public key.
1181
1336
  # @return [String]
1182
1337
  #
1183
1338
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/SshPublicKey AWS API Documentation
@@ -1197,8 +1352,8 @@ module Aws::Transfer
1197
1352
  # }
1198
1353
  #
1199
1354
  # @!attribute [rw] server_id
1200
- # A system-assigned unique identifier for an SFTP server that you
1201
- # start.
1355
+ # A system-assigned unique identifier for a file transfer
1356
+ # protocol-enabled server that you start.
1202
1357
  # @return [String]
1203
1358
  #
1204
1359
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServerRequest AWS API Documentation
@@ -1216,8 +1371,8 @@ module Aws::Transfer
1216
1371
  # }
1217
1372
  #
1218
1373
  # @!attribute [rw] server_id
1219
- # A system-assigned unique identifier for an SFTP server that you
1220
- # stopped.
1374
+ # A system-assigned unique identifier for a file transfer
1375
+ # protocol-enabled server that you stopped.
1221
1376
  # @return [String]
1222
1377
  #
1223
1378
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServerRequest AWS API Documentation
@@ -1247,8 +1402,8 @@ module Aws::Transfer
1247
1402
  # @return [String]
1248
1403
  #
1249
1404
  # @!attribute [rw] value
1250
- # This property contains one or more values that you assigned to the
1251
- # key name you create.
1405
+ # Contains one or more values that you assigned to the key name you
1406
+ # create.
1252
1407
  # @return [String]
1253
1408
  #
1254
1409
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/Tag AWS API Documentation
@@ -1296,17 +1451,36 @@ module Aws::Transfer
1296
1451
  #
1297
1452
  # {
1298
1453
  # server_id: "ServerId", # required
1454
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1455
+ # source_ip: "SourceIp",
1299
1456
  # user_name: "UserName", # required
1300
1457
  # user_password: "UserPassword",
1301
1458
  # }
1302
1459
  #
1303
1460
  # @!attribute [rw] server_id
1304
- # A system-assigned identifier for a specific server. That server's
1305
- # user authentication method is tested with a user name and password.
1461
+ # A system-assigned identifier for a specific file transfer
1462
+ # protocol-enabled server. That server's user authentication method
1463
+ # is tested with a user name and password.
1464
+ # @return [String]
1465
+ #
1466
+ # @!attribute [rw] server_protocol
1467
+ # The type of file transfer protocol to be tested.
1468
+ #
1469
+ # The available protocols are:
1470
+ #
1471
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP)
1472
+ #
1473
+ # * File Transfer Protocol Secure (FTPS)
1474
+ #
1475
+ # * File Transfer Protocol (FTP)
1476
+ # @return [String]
1477
+ #
1478
+ # @!attribute [rw] source_ip
1479
+ # The source IP address of the user account to be tested.
1306
1480
  # @return [String]
1307
1481
  #
1308
1482
  # @!attribute [rw] user_name
1309
- # This request parameter is the name of the user account to be tested.
1483
+ # The name of the user account to be tested.
1310
1484
  # @return [String]
1311
1485
  #
1312
1486
  # @!attribute [rw] user_password
@@ -1317,6 +1491,8 @@ module Aws::Transfer
1317
1491
  #
1318
1492
  class TestIdentityProviderRequest < Struct.new(
1319
1493
  :server_id,
1494
+ :server_protocol,
1495
+ :source_ip,
1320
1496
  :user_name,
1321
1497
  :user_password)
1322
1498
  include Aws::Structure
@@ -1371,9 +1547,9 @@ module Aws::Transfer
1371
1547
  # }
1372
1548
  #
1373
1549
  # @!attribute [rw] arn
1374
- # This is the value of the resource that will have the tag removed. An
1375
- # Amazon Resource Name (ARN) is an identifier for a specific AWS
1376
- # resource, such as a server, user, or role.
1550
+ # The value of the resource that will have the tag removed. An Amazon
1551
+ # Resource Name (ARN) is an identifier for a specific AWS resource,
1552
+ # such as a server, user, or role.
1377
1553
  # @return [String]
1378
1554
  #
1379
1555
  # @!attribute [rw] tag_keys
@@ -1394,6 +1570,7 @@ module Aws::Transfer
1394
1570
  # data as a hash:
1395
1571
  #
1396
1572
  # {
1573
+ # certificate: "Certificate",
1397
1574
  # endpoint_details: {
1398
1575
  # address_allocation_ids: ["AddressAllocationId"],
1399
1576
  # subnet_ids: ["SubnetId"],
@@ -1407,70 +1584,157 @@ module Aws::Transfer
1407
1584
  # invocation_role: "Role",
1408
1585
  # },
1409
1586
  # logging_role: "NullableRole",
1587
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1410
1588
  # server_id: "ServerId", # required
1411
1589
  # }
1412
1590
  #
1591
+ # @!attribute [rw] certificate
1592
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
1593
+ # certificate. Required when `Protocols` is set to `FTPS`.
1594
+ #
1595
+ # To request a new public certificate, see [Request a public
1596
+ # certificate][1] in the <i> AWS Certificate Manager User Guide</i>.
1597
+ #
1598
+ # To import an existing certificate into ACM, see [Importing
1599
+ # certificates into ACM][2] in the <i> AWS Certificate Manager User
1600
+ # Guide</i>.
1601
+ #
1602
+ # To request a private certificate to use FTPS through private IP
1603
+ # addresses, see [Request a private certificate][3] in the <i> AWS
1604
+ # Certificate Manager User Guide</i>.
1605
+ #
1606
+ # Certificates with the following cryptographic algorithms and key
1607
+ # sizes are supported:
1608
+ #
1609
+ # * 2048-bit RSA (RSA\_2048)
1610
+ #
1611
+ # * 4096-bit RSA (RSA\_4096)
1612
+ #
1613
+ # * Elliptic Prime Curve 256 bit (EC\_prime256v1)
1614
+ #
1615
+ # * Elliptic Prime Curve 384 bit (EC\_secp384r1)
1616
+ #
1617
+ # * Elliptic Prime Curve 521 bit (EC\_secp521r1)
1618
+ #
1619
+ # <note markdown="1"> The certificate must be a valid SSL/TLS X.509 version 3 certificate
1620
+ # with FQDN or IP address specified and information about the issuer.
1621
+ #
1622
+ # </note>
1623
+ #
1624
+ #
1625
+ #
1626
+ # [1]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html
1627
+ # [2]: https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html
1628
+ # [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
1629
+ # @return [String]
1630
+ #
1413
1631
  # @!attribute [rw] endpoint_details
1414
1632
  # The virtual private cloud (VPC) endpoint settings that are
1415
- # configured for your SFTP server. With a VPC endpoint, you can
1416
- # restrict access to your SFTP server to resources only within your
1417
- # VPC. To control incoming internet traffic, you will need to
1418
- # associate one or more Elastic IP addresses with your server's
1419
- # endpoint.
1633
+ # configured for your file transfer protocol-enabled server. With a
1634
+ # VPC endpoint, you can restrict access to your server to resources
1635
+ # only within your VPC. To control incoming internet traffic, you will
1636
+ # need to associate one or more Elastic IP addresses with your
1637
+ # server's endpoint.
1420
1638
  # @return [Types::EndpointDetails]
1421
1639
  #
1422
1640
  # @!attribute [rw] endpoint_type
1423
- # The type of endpoint that you want your SFTP server to connect to.
1424
- # You can choose to connect to the public internet or a virtual
1425
- # private cloud (VPC) endpoint. With a VPC endpoint, your SFTP server
1426
- # isn't accessible over the public internet.
1641
+ # The type of endpoint that you want your file transfer
1642
+ # protocol-enabled server to connect to. You can choose to connect to
1643
+ # the public internet or a VPC endpoint. With a VPC endpoint, you can
1644
+ # restrict access to your server and resources only within your VPC.
1645
+ #
1646
+ # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With
1647
+ # this endpoint type, you have the option to directly associate up to
1648
+ # three Elastic IPv4 addresses (BYO IP included) with your server's
1649
+ # endpoint and use VPC security groups to restrict traffic by the
1650
+ # client's public IP address. This is not possible with
1651
+ # `EndpointType` set to `VPC_ENDPOINT`.
1652
+ #
1653
+ # </note>
1427
1654
  # @return [String]
1428
1655
  #
1429
1656
  # @!attribute [rw] host_key
1430
- # The RSA private key as generated by `ssh-keygen -N "" -f
1657
+ # The RSA private key as generated by `ssh-keygen -N "" -m PEM -f
1431
1658
  # my-new-server-key`.
1432
1659
  #
1433
1660
  # If you aren't planning to migrate existing users from an existing
1434
- # SFTP server to a new AWS SFTP server, don't update the host key.
1435
- # Accidentally changing a server's host key can be disruptive.
1661
+ # file transfer protocol-enabled server to a new server, don't update
1662
+ # the host key. Accidentally changing a server's host key can be
1663
+ # disruptive.
1664
+ #
1665
+ # For more information, see [Change the host key for your SFTP-enabled
1666
+ # server][1] in the *AWS Transfer Family User Guide*.
1667
+ #
1436
1668
  #
1437
- # For more information, see
1438
- # "https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
1439
- # in the *AWS SFTP User Guide.*
1669
+ #
1670
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
1440
1671
  # @return [String]
1441
1672
  #
1442
1673
  # @!attribute [rw] identity_provider_details
1443
- # This response parameter is an array containing all of the
1444
- # information required to call a customer's authentication API
1445
- # method.
1674
+ # An array containing all of the information required to call a
1675
+ # customer's authentication API method.
1446
1676
  # @return [Types::IdentityProviderDetails]
1447
1677
  #
1448
1678
  # @!attribute [rw] logging_role
1449
- # A value that changes the AWS Identity and Access Management (IAM)
1450
- # role that allows Amazon S3 events to be logged in Amazon CloudWatch,
1451
- # turning logging on or off.
1679
+ # Changes the AWS Identity and Access Management (IAM) role that
1680
+ # allows Amazon S3 events to be logged in Amazon CloudWatch, turning
1681
+ # logging on or off.
1452
1682
  # @return [String]
1453
1683
  #
1684
+ # @!attribute [rw] protocols
1685
+ # Specifies the file transfer protocol or protocols over which your
1686
+ # file transfer protocol client can connect to your server's
1687
+ # endpoint. The available protocols are:
1688
+ #
1689
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer
1690
+ # over SSH
1691
+ #
1692
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
1693
+ # encryption
1694
+ #
1695
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
1696
+ #
1697
+ # <note markdown="1"> If you select `FTPS`, you must choose a certificate stored in AWS
1698
+ # Certificate Manager (ACM) which will be used to identify your server
1699
+ # when clients connect to it over FTPS.
1700
+ #
1701
+ # If `Protocol` includes either `FTP` or `FTPS`, then the
1702
+ # `EndpointType` must be `VPC` and the `IdentityProviderType` must be
1703
+ # `API_GATEWAY`.
1704
+ #
1705
+ # If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
1706
+ # associated.
1707
+ #
1708
+ # If `Protocol` is set only to `SFTP`, the `EndpointType` can be set
1709
+ # to `PUBLIC` and the `IdentityProviderType` can be set to
1710
+ # `SERVICE_MANAGED`.
1711
+ #
1712
+ # </note>
1713
+ # @return [Array<String>]
1714
+ #
1454
1715
  # @!attribute [rw] server_id
1455
- # A system-assigned unique identifier for an SFTP server instance that
1456
- # the user account is assigned to.
1716
+ # A system-assigned unique identifier for a file transfer
1717
+ # protocol-enabled server instance that the user account is assigned
1718
+ # to.
1457
1719
  # @return [String]
1458
1720
  #
1459
1721
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServerRequest AWS API Documentation
1460
1722
  #
1461
1723
  class UpdateServerRequest < Struct.new(
1724
+ :certificate,
1462
1725
  :endpoint_details,
1463
1726
  :endpoint_type,
1464
1727
  :host_key,
1465
1728
  :identity_provider_details,
1466
1729
  :logging_role,
1730
+ :protocols,
1467
1731
  :server_id)
1468
1732
  include Aws::Structure
1469
1733
  end
1470
1734
 
1471
1735
  # @!attribute [rw] server_id
1472
- # A system-assigned unique identifier for an SFTP server that the user
1473
- # account is assigned to.
1736
+ # A system-assigned unique identifier for a file transfer
1737
+ # protocol-enabled server that the user account is assigned to.
1474
1738
  # @return [String]
1475
1739
  #
1476
1740
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServerResponse AWS API Documentation
@@ -1499,98 +1763,103 @@ module Aws::Transfer
1499
1763
  # }
1500
1764
  #
1501
1765
  # @!attribute [rw] home_directory
1502
- # A parameter that specifies the landing directory (folder) for a user
1503
- # when they log in to the server using their client.
1766
+ # Specifies the landing directory (folder) for a user when they log in
1767
+ # to the file transfer protocol-enabled server using their file
1768
+ # transfer protocol client.
1504
1769
  #
1505
- # An example is `<your-Amazon-S3-bucket-name>/home/username`.
1770
+ # An example is `your-Amazon-S3-bucket-name>/home/username`.
1506
1771
  # @return [String]
1507
1772
  #
1508
1773
  # @!attribute [rw] home_directory_type
1509
1774
  # The type of landing directory (folder) you want your users' home
1510
- # directory to be when they log into the SFTP serve. If you set it to
1511
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is
1512
- # in their SFTP clients. If you set it `LOGICAL`, you will need to
1513
- # provide mappings in the `HomeDirectoryMappings` for how you want to
1514
- # make S3 paths visible to your user.
1775
+ # directory to be when they log into the file transfer
1776
+ # protocol-enabled server. If you set it to `PATH`, the user will see
1777
+ # the absolute Amazon S3 bucket paths as is in their file transfer
1778
+ # protocol clients. If you set it `LOGICAL`, you will need to provide
1779
+ # mappings in the `HomeDirectoryMappings` for how you want to make
1780
+ # Amazon S3 paths visible to your users.
1515
1781
  # @return [String]
1516
1782
  #
1517
1783
  # @!attribute [rw] home_directory_mappings
1518
- # Logical directory mappings that specify what S3 paths and keys
1519
- # should be visible to your user and how you want to make them
1784
+ # Logical directory mappings that specify what Amazon S3 paths and
1785
+ # keys should be visible to your user and how you want to make them
1520
1786
  # visible. You will need to specify the "`Entry`" and "`Target`"
1521
1787
  # pair, where `Entry` shows how the path is made visible and `Target`
1522
- # is the actual S3 path. If you only specify a target, it will be
1523
- # displayed as is. You will need to also make sure that your AWS IAM
1524
- # Role provides access to paths in `Target`. The following is an
1788
+ # is the actual Amazon S3 path. If you only specify a target, it will
1789
+ # be displayed as is. You will need to also make sure that your IAM
1790
+ # role provides access to paths in `Target`. The following is an
1525
1791
  # example.
1526
1792
  #
1527
1793
  # `'[ "/bucket2/documentation", \{ "Entry":
1528
1794
  # "your-personal-report.pdf", "Target":
1529
1795
  # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
1530
1796
  #
1531
- # In most cases, you can use this value instead of the scope down
1797
+ # In most cases, you can use this value instead of the scope-down
1532
1798
  # policy to lock your user down to the designated home directory
1533
1799
  # ("chroot"). To do this, you can set `Entry` to '/' and set
1534
1800
  # `Target` to the HomeDirectory parameter value.
1535
1801
  #
1536
- # <note markdown="1"> If the target of a logical directory entry does not exist in S3, the
1537
- # entry will be ignored. As a workaround, you can use the S3 api to
1538
- # create 0 byte objects as place holders for your directory. If using
1539
- # the CLI, use the s3api call instead of s3 so you can use the
1540
- # put-object operation. For example, you use the following: `aws s3api
1541
- # put-object --bucket bucketname --key path/to/folder/`. Make sure
1542
- # that the end of the key name ends in a / for it to be considered a
1543
- # folder.
1802
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1803
+ # S3, the entry will be ignored. As a workaround, you can use the
1804
+ # Amazon S3 api to create 0 byte objects as place holders for your
1805
+ # directory. If using the CLI, use the `s3api` call instead of `s3` so
1806
+ # you can use the put-object operation. For example, you use the
1807
+ # following: `aws s3api put-object --bucket bucketname --key
1808
+ # path/to/folder/`. Make sure that the end of the key name ends in a /
1809
+ # for it to be considered a folder.
1544
1810
  #
1545
1811
  # </note>
1546
1812
  # @return [Array<Types::HomeDirectoryMapEntry>]
1547
1813
  #
1548
1814
  # @!attribute [rw] policy
1549
1815
  # Allows you to supply a scope-down policy for your user so you can
1550
- # use the same AWS Identity and Access Management (IAM) role across
1551
- # multiple users. The policy scopes down user access to portions of
1552
- # your Amazon S3 bucket. Variables you can use inside this policy
1553
- # include `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1554
- # `$\{Transfer:HomeBucket\}`.
1816
+ # use the same IAM role across multiple users. The policy scopes down
1817
+ # user access to portions of your Amazon S3 bucket. Variables you can
1818
+ # use inside this policy include `$\{Transfer:UserName\}`,
1819
+ # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
1555
1820
  #
1556
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as
1557
- # a JSON blob, instead of the Amazon Resource Name (ARN) of the
1558
- # policy. You save the policy as a JSON blob and pass it in the
1559
- # `Policy` argument.
1821
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
1822
+ # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
1823
+ # You save the policy as a JSON blob and pass it in the `Policy`
1824
+ # argument.
1560
1825
  #
1561
- # For an example of a scope-down policy, see
1562
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
1563
- # a Scope-Down Policy.
1826
+ # For an example of a scope-down policy, see [Creating a scope-down
1827
+ # policy][1].
1564
1828
  #
1565
- # For more information, see
1566
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
1567
- # in the *AWS Security Token Service API Reference*.
1829
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
1830
+ # Service API Reference*.
1568
1831
  #
1569
1832
  # </note>
1833
+ #
1834
+ #
1835
+ #
1836
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
1837
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
1570
1838
  # @return [String]
1571
1839
  #
1572
1840
  # @!attribute [rw] role
1573
- # The IAM role that controls your user's access to your Amazon S3
1841
+ # The IAM role that controls your users' access to your Amazon S3
1574
1842
  # bucket. The policies attached to this role will determine the level
1575
1843
  # of access you want to provide your users when transferring files
1576
1844
  # into and out of your Amazon S3 bucket or buckets. The IAM role
1577
- # should also contain a trust relationship that allows the Secure File
1578
- # Transfer Protocol (SFTP) server to access your resources when
1579
- # servicing your SFTP user's transfer requests.
1845
+ # should also contain a trust relationship that allows the file
1846
+ # transfer protocol-enabled server to access your resources when
1847
+ # servicing your users' transfer requests.
1580
1848
  # @return [String]
1581
1849
  #
1582
1850
  # @!attribute [rw] server_id
1583
- # A system-assigned unique identifier for an SFTP server instance that
1584
- # the user account is assigned to.
1851
+ # A system-assigned unique identifier for a file transfer
1852
+ # protocol-enabled server instance that the user account is assigned
1853
+ # to.
1585
1854
  # @return [String]
1586
1855
  #
1587
1856
  # @!attribute [rw] user_name
1588
- # A unique string that identifies a user and is associated with a
1589
- # server as specified by the `ServerId`. This is the string that will
1590
- # be used by your user when they log in to your SFTP server. This user
1591
- # name is a minimum of 3 and a maximum of 32 characters long. The
1592
- # following are valid characters: a-z, A-Z, 0-9, underscore, and
1593
- # hyphen. The user name can't start with a hyphen.
1857
+ # A unique string that identifies a user and is associated with a file
1858
+ # transfer protocol-enabled server as specified by the `ServerId`.
1859
+ # This is the string that will be used by your user when they log in
1860
+ # to your server. This user name is a minimum of 3 and a maximum of 32
1861
+ # characters long. The following are valid characters: a-z, A-Z, 0-9,
1862
+ # underscore, and hyphen. The user name can't start with a hyphen.
1594
1863
  # @return [String]
1595
1864
  #
1596
1865
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUserRequest AWS API Documentation
@@ -1606,17 +1875,19 @@ module Aws::Transfer
1606
1875
  include Aws::Structure
1607
1876
  end
1608
1877
 
1609
- # `UpdateUserResponse` returns the user name and server identifier for
1610
- # the request to update a user's properties.
1878
+ # `UpdateUserResponse` returns the user name and file transfer
1879
+ # protocol-enabled server identifier for the request to update a user's
1880
+ # properties.
1611
1881
  #
1612
1882
  # @!attribute [rw] server_id
1613
- # A system-assigned unique identifier for an SFTP server instance that
1614
- # the user account is assigned to.
1883
+ # A system-assigned unique identifier for a file transfer
1884
+ # protocol-enabled server instance that the user account is assigned
1885
+ # to.
1615
1886
  # @return [String]
1616
1887
  #
1617
1888
  # @!attribute [rw] user_name
1618
- # The unique identifier for a user that is assigned to the SFTP server
1619
- # instance that was specified in the request.
1889
+ # The unique identifier for a user that is assigned to a file transfer
1890
+ # protocol-enabled server instance that was specified in the request.
1620
1891
  # @return [String]
1621
1892
  #
1622
1893
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUserResponse AWS API Documentation