aws-sdk-transfer 1.15.0 → 1.20.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.
@@ -11,7 +11,12 @@ module Aws::Transfer
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
15
+ AddressAllocationId = Shapes::StringShape.new(name: 'AddressAllocationId')
16
+ AddressAllocationIds = Shapes::ListShape.new(name: 'AddressAllocationIds')
14
17
  Arn = Shapes::StringShape.new(name: 'Arn')
18
+ Certificate = Shapes::StringShape.new(name: 'Certificate')
19
+ ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
15
20
  CreateServerRequest = Shapes::StructureShape.new(name: 'CreateServerRequest')
16
21
  CreateServerResponse = Shapes::StructureShape.new(name: 'CreateServerResponse')
17
22
  CreateUserRequest = Shapes::StructureShape.new(name: 'CreateUserRequest')
@@ -58,6 +63,8 @@ module Aws::Transfer
58
63
  NextToken = Shapes::StringShape.new(name: 'NextToken')
59
64
  NullableRole = Shapes::StringShape.new(name: 'NullableRole')
60
65
  Policy = Shapes::StringShape.new(name: 'Policy')
66
+ Protocol = Shapes::StringShape.new(name: 'Protocol')
67
+ Protocols = Shapes::ListShape.new(name: 'Protocols')
61
68
  Resource = Shapes::StringShape.new(name: 'Resource')
62
69
  ResourceExistsException = Shapes::StructureShape.new(name: 'ResourceExistsException')
63
70
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
@@ -77,6 +84,8 @@ module Aws::Transfer
77
84
  State = Shapes::StringShape.new(name: 'State')
78
85
  StatusCode = Shapes::IntegerShape.new(name: 'StatusCode')
79
86
  StopServerRequest = Shapes::StructureShape.new(name: 'StopServerRequest')
87
+ SubnetId = Shapes::StringShape.new(name: 'SubnetId')
88
+ SubnetIds = Shapes::ListShape.new(name: 'SubnetIds')
80
89
  Tag = Shapes::StructureShape.new(name: 'Tag')
81
90
  TagKey = Shapes::StringShape.new(name: 'TagKey')
82
91
  TagKeys = Shapes::ListShape.new(name: 'TagKeys')
@@ -96,13 +105,24 @@ module Aws::Transfer
96
105
  UserName = Shapes::StringShape.new(name: 'UserName')
97
106
  UserPassword = Shapes::StringShape.new(name: 'UserPassword')
98
107
  VpcEndpointId = Shapes::StringShape.new(name: 'VpcEndpointId')
108
+ VpcId = Shapes::StringShape.new(name: 'VpcId')
99
109
 
110
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ServiceErrorMessage, location_name: "Message"))
111
+ AccessDeniedException.struct_class = Types::AccessDeniedException
112
+
113
+ AddressAllocationIds.member = Shapes::ShapeRef.new(shape: AddressAllocationId)
114
+
115
+ ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "Message"))
116
+ ConflictException.struct_class = Types::ConflictException
117
+
118
+ CreateServerRequest.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
100
119
  CreateServerRequest.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
101
120
  CreateServerRequest.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
102
121
  CreateServerRequest.add_member(:host_key, Shapes::ShapeRef.new(shape: HostKey, location_name: "HostKey"))
103
122
  CreateServerRequest.add_member(:identity_provider_details, Shapes::ShapeRef.new(shape: IdentityProviderDetails, location_name: "IdentityProviderDetails"))
104
123
  CreateServerRequest.add_member(:identity_provider_type, Shapes::ShapeRef.new(shape: IdentityProviderType, location_name: "IdentityProviderType"))
105
124
  CreateServerRequest.add_member(:logging_role, Shapes::ShapeRef.new(shape: Role, location_name: "LoggingRole"))
125
+ CreateServerRequest.add_member(:protocols, Shapes::ShapeRef.new(shape: Protocols, location_name: "Protocols"))
106
126
  CreateServerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
107
127
  CreateServerRequest.struct_class = Types::CreateServerRequest
108
128
 
@@ -151,12 +171,14 @@ module Aws::Transfer
151
171
  DescribeUserResponse.struct_class = Types::DescribeUserResponse
152
172
 
153
173
  DescribedServer.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
174
+ DescribedServer.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
154
175
  DescribedServer.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
155
176
  DescribedServer.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
156
177
  DescribedServer.add_member(:host_key_fingerprint, Shapes::ShapeRef.new(shape: HostKeyFingerprint, location_name: "HostKeyFingerprint"))
157
178
  DescribedServer.add_member(:identity_provider_details, Shapes::ShapeRef.new(shape: IdentityProviderDetails, location_name: "IdentityProviderDetails"))
158
179
  DescribedServer.add_member(:identity_provider_type, Shapes::ShapeRef.new(shape: IdentityProviderType, location_name: "IdentityProviderType"))
159
180
  DescribedServer.add_member(:logging_role, Shapes::ShapeRef.new(shape: Role, location_name: "LoggingRole"))
181
+ DescribedServer.add_member(:protocols, Shapes::ShapeRef.new(shape: Protocols, location_name: "Protocols"))
160
182
  DescribedServer.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, location_name: "ServerId"))
161
183
  DescribedServer.add_member(:state, Shapes::ShapeRef.new(shape: State, location_name: "State"))
162
184
  DescribedServer.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
@@ -174,7 +196,10 @@ module Aws::Transfer
174
196
  DescribedUser.add_member(:user_name, Shapes::ShapeRef.new(shape: UserName, location_name: "UserName"))
175
197
  DescribedUser.struct_class = Types::DescribedUser
176
198
 
199
+ EndpointDetails.add_member(:address_allocation_ids, Shapes::ShapeRef.new(shape: AddressAllocationIds, location_name: "AddressAllocationIds"))
200
+ EndpointDetails.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, location_name: "SubnetIds"))
177
201
  EndpointDetails.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: VpcEndpointId, location_name: "VpcEndpointId"))
202
+ EndpointDetails.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, location_name: "VpcId"))
178
203
  EndpointDetails.struct_class = Types::EndpointDetails
179
204
 
180
205
  HomeDirectoryMapEntry.add_member(:entry, Shapes::ShapeRef.new(shape: MapEntry, required: true, location_name: "Entry"))
@@ -255,6 +280,8 @@ module Aws::Transfer
255
280
 
256
281
  ListedUsers.member = Shapes::ShapeRef.new(shape: ListedUser)
257
282
 
283
+ Protocols.member = Shapes::ShapeRef.new(shape: Protocol)
284
+
258
285
  ResourceExistsException.add_member(:message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "Message"))
259
286
  ResourceExistsException.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, required: true, location_name: "Resource"))
260
287
  ResourceExistsException.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
@@ -281,6 +308,8 @@ module Aws::Transfer
281
308
  StopServerRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
282
309
  StopServerRequest.struct_class = Types::StopServerRequest
283
310
 
311
+ SubnetIds.member = Shapes::ShapeRef.new(shape: SubnetId)
312
+
284
313
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
285
314
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, required: true, location_name: "Value"))
286
315
  Tag.struct_class = Types::Tag
@@ -296,6 +325,7 @@ module Aws::Transfer
296
325
  TestIdentityProviderRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
297
326
  TestIdentityProviderRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: UserName, required: true, location_name: "UserName"))
298
327
  TestIdentityProviderRequest.add_member(:user_password, Shapes::ShapeRef.new(shape: UserPassword, location_name: "UserPassword"))
328
+ TestIdentityProviderRequest.add_member(:server_protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "ServerProtocol"))
299
329
  TestIdentityProviderRequest.struct_class = Types::TestIdentityProviderRequest
300
330
 
301
331
  TestIdentityProviderResponse.add_member(:response, Shapes::ShapeRef.new(shape: Response, location_name: "Response"))
@@ -311,11 +341,13 @@ module Aws::Transfer
311
341
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
312
342
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
313
343
 
344
+ UpdateServerRequest.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
314
345
  UpdateServerRequest.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
315
346
  UpdateServerRequest.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
316
347
  UpdateServerRequest.add_member(:host_key, Shapes::ShapeRef.new(shape: HostKey, location_name: "HostKey"))
317
348
  UpdateServerRequest.add_member(:identity_provider_details, Shapes::ShapeRef.new(shape: IdentityProviderDetails, location_name: "IdentityProviderDetails"))
318
349
  UpdateServerRequest.add_member(:logging_role, Shapes::ShapeRef.new(shape: NullableRole, location_name: "LoggingRole"))
350
+ UpdateServerRequest.add_member(:protocols, Shapes::ShapeRef.new(shape: Protocols, location_name: "Protocols"))
319
351
  UpdateServerRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
320
352
  UpdateServerRequest.struct_class = Types::UpdateServerRequest
321
353
 
@@ -347,7 +379,7 @@ module Aws::Transfer
347
379
  "jsonVersion" => "1.1",
348
380
  "protocol" => "json",
349
381
  "serviceAbbreviation" => "AWS Transfer",
350
- "serviceFullName" => "AWS Transfer for SFTP",
382
+ "serviceFullName" => "AWS Transfer Family",
351
383
  "serviceId" => "Transfer",
352
384
  "signatureVersion" => "v4",
353
385
  "signingName" => "transfer",
@@ -361,10 +393,12 @@ module Aws::Transfer
361
393
  o.http_request_uri = "/"
362
394
  o.input = Shapes::ShapeRef.new(shape: CreateServerRequest)
363
395
  o.output = Shapes::ShapeRef.new(shape: CreateServerResponse)
396
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
364
397
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
365
398
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
366
399
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
367
400
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
401
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
368
402
  end)
369
403
 
370
404
  api.add_operation(:create_user, Seahorse::Model::Operation.new.tap do |o|
@@ -386,6 +420,7 @@ module Aws::Transfer
386
420
  o.http_request_uri = "/"
387
421
  o.input = Shapes::ShapeRef.new(shape: DeleteServerRequest)
388
422
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
423
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
389
424
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
390
425
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
391
426
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -578,7 +613,9 @@ module Aws::Transfer
578
613
  o.http_request_uri = "/"
579
614
  o.input = Shapes::ShapeRef.new(shape: UpdateServerRequest)
580
615
  o.output = Shapes::ShapeRef.new(shape: UpdateServerResponse)
616
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
581
617
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
618
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
582
619
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
583
620
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
584
621
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
@@ -6,10 +6,71 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Transfer
9
+
10
+ # When Transfer returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::Transfer::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all Transfer errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::Transfer::Errors::ServiceError
18
+ # # rescues all Transfer API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {AccessDeniedException}
29
+ # * {ConflictException}
30
+ # * {InternalServiceError}
31
+ # * {InvalidNextTokenException}
32
+ # * {InvalidRequestException}
33
+ # * {ResourceExistsException}
34
+ # * {ResourceNotFoundException}
35
+ # * {ServiceUnavailableException}
36
+ # * {ThrottlingException}
37
+ #
38
+ # Additionally, error classes are dynamically generated for service errors based on the error code
39
+ # if they are not defined above.
9
40
  module Errors
10
41
 
11
42
  extend Aws::Errors::DynamicErrors
12
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
+
59
+ class ConflictException < ServiceError
60
+
61
+ # @param [Seahorse::Client::RequestContext] context
62
+ # @param [String] message
63
+ # @param [Aws::Transfer::Types::ConflictException] data
64
+ def initialize(context, message, data = Aws::EmptyStructure.new)
65
+ super(context, message, data)
66
+ end
67
+
68
+ # @return [String]
69
+ def message
70
+ @message || @data[:message]
71
+ end
72
+ end
73
+
13
74
  class InternalServiceError < ServiceError
14
75
 
15
76
  # @param [Seahorse::Client::RequestContext] context
@@ -23,7 +84,6 @@ module Aws::Transfer
23
84
  def message
24
85
  @message || @data[:message]
25
86
  end
26
-
27
87
  end
28
88
 
29
89
  class InvalidNextTokenException < ServiceError
@@ -39,7 +99,6 @@ module Aws::Transfer
39
99
  def message
40
100
  @message || @data[:message]
41
101
  end
42
-
43
102
  end
44
103
 
45
104
  class InvalidRequestException < ServiceError
@@ -55,7 +114,6 @@ module Aws::Transfer
55
114
  def message
56
115
  @message || @data[:message]
57
116
  end
58
-
59
117
  end
60
118
 
61
119
  class ResourceExistsException < ServiceError
@@ -81,7 +139,6 @@ module Aws::Transfer
81
139
  def resource_type
82
140
  @data[:resource_type]
83
141
  end
84
-
85
142
  end
86
143
 
87
144
  class ResourceNotFoundException < ServiceError
@@ -107,7 +164,6 @@ module Aws::Transfer
107
164
  def resource_type
108
165
  @data[:resource_type]
109
166
  end
110
-
111
167
  end
112
168
 
113
169
  class ServiceUnavailableException < ServiceError
@@ -123,7 +179,6 @@ module Aws::Transfer
123
179
  def message
124
180
  @message || @data[:message]
125
181
  end
126
-
127
182
  end
128
183
 
129
184
  class ThrottlingException < ServiceError
@@ -139,7 +194,6 @@ module Aws::Transfer
139
194
  def retry_after_seconds
140
195
  @data[:retry_after_seconds]
141
196
  end
142
-
143
197
  end
144
198
 
145
199
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::Transfer
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,14 +8,44 @@
8
8
  module Aws::Transfer
9
9
  module Types
10
10
 
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.
26
+ #
27
+ # @!attribute [rw] message
28
+ # @return [String]
29
+ #
30
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ConflictException AWS API Documentation
31
+ #
32
+ class ConflictException < Struct.new(
33
+ :message)
34
+ include Aws::Structure
35
+ end
36
+
11
37
  # @note When making an API call, you may pass CreateServerRequest
12
38
  # data as a hash:
13
39
  #
14
40
  # {
41
+ # certificate: "Certificate",
15
42
  # endpoint_details: {
43
+ # address_allocation_ids: ["AddressAllocationId"],
44
+ # subnet_ids: ["SubnetId"],
16
45
  # vpc_endpoint_id: "VpcEndpointId",
46
+ # vpc_id: "VpcId",
17
47
  # },
18
- # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC_ENDPOINT
48
+ # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC, VPC_ENDPOINT
19
49
  # host_key: "HostKey",
20
50
  # identity_provider_details: {
21
51
  # url: "Url",
@@ -23,6 +53,7 @@ module Aws::Transfer
23
53
  # },
24
54
  # identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
25
55
  # logging_role: "Role",
56
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
26
57
  # tags: [
27
58
  # {
28
59
  # key: "TagKey", # required
@@ -31,16 +62,26 @@ module Aws::Transfer
31
62
  # ],
32
63
  # }
33
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
+ # @return [String]
69
+ #
34
70
  # @!attribute [rw] endpoint_details
35
- # The virtual private cloud (VPC) endpoint settings that you want to
36
- # configure for your SFTP server. This parameter is required when you
37
- # specify a value for the `EndpointType` parameter.
71
+ # The virtual private cloud (VPC) endpoint settings that are
72
+ # configured for your file transfer protocol-enabled server. When you
73
+ # host your endpoint within your VPC, you can make it accessible only
74
+ # to resources within your VPC, or you can attach Elastic IPs and make
75
+ # it accessible to clients over the internet. Your VPC's default
76
+ # security groups are automatically assigned to your endpoint.
38
77
  # @return [Types::EndpointDetails]
39
78
  #
40
79
  # @!attribute [rw] endpoint_type
41
- # The type of VPC endpoint that you want your SFTP server to connect
42
- # to. If you connect to a VPC endpoint, your SFTP server isn't
43
- # accessible over the public internet.
80
+ # The type of VPC endpoint that you want your file transfer
81
+ # protocol-enabled server to connect to. You can choose to connect to
82
+ # the public internet or a virtual private cloud (VPC) endpoint. With
83
+ # a VPC endpoint, you can restrict access to your server and resources
84
+ # only within your VPC.
44
85
  # @return [String]
45
86
  #
46
87
  # @!attribute [rw] host_key
@@ -48,56 +89,77 @@ module Aws::Transfer
48
89
  # my-new-server-key` command.
49
90
  #
50
91
  # If you aren't planning to migrate existing users from an existing
51
- # SFTP server to a new AWS SFTP server, don't update the host key.
92
+ # SFTP-enabled server to a new server, don't update the host key.
52
93
  # Accidentally changing a server's host key can be disruptive.
53
94
  #
54
- # For more information, see
55
- # "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
56
- # in the *AWS SFTP User Guide.*
95
+ # For more information, see [Changing the Host Key for Your AWS
96
+ # Transfer Family Server][1] in the *AWS Transfer Family User Guide*.
97
+ #
98
+ #
99
+ #
100
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
57
101
  # @return [String]
58
102
  #
59
103
  # @!attribute [rw] identity_provider_details
60
- # This parameter is required when the `IdentityProviderType` is set to
61
- # `API_GATEWAY`. Accepts an array containing all of the information
62
- # required to call a customer-supplied authentication API, including
63
- # the API Gateway URL. This property is not required when the
64
- # `IdentityProviderType` is set to `SERVICE_MANAGED`.
104
+ # Required when `IdentityProviderType` is set to `API_GATEWAY`.
105
+ # Accepts an array containing all of the information required to call
106
+ # a customer-supplied authentication API, including the API Gateway
107
+ # URL. Not required when `IdentityProviderType` is set to
108
+ # `SERVICE_MANAGED`.
65
109
  # @return [Types::IdentityProviderDetails]
66
110
  #
67
111
  # @!attribute [rw] identity_provider_type
68
- # Specifies the mode of authentication for the SFTP server. The
69
- # default value is `SERVICE_MANAGED`, which allows you to store and
70
- # access SFTP user credentials within the AWS Transfer for SFTP
71
- # service. Use the `API_GATEWAY` value to integrate with an identity
72
- # provider of your choosing. The `API_GATEWAY` setting requires you to
73
- # provide an API Gateway endpoint URL to call for authentication using
74
- # the `IdentityProviderDetails` parameter.
112
+ # Specifies the mode of authentication for a file transfer
113
+ # protocol-enabled server. The default value is `SERVICE_MANAGED`,
114
+ # which allows you to store and access user credentials within the AWS
115
+ # Transfer Family service. Use the `API_GATEWAY` value to integrate
116
+ # with an identity provider of your choosing. The `API_GATEWAY`
117
+ # setting requires you to provide an API Gateway endpoint URL to call
118
+ # for authentication using the `IdentityProviderDetails` parameter.
75
119
  # @return [String]
76
120
  #
77
121
  # @!attribute [rw] logging_role
78
- # A value that allows the service to write your SFTP users' activity
79
- # to your Amazon CloudWatch logs for monitoring and auditing purposes.
122
+ # Allows the service to write your users' activity to your Amazon
123
+ # CloudWatch logs for monitoring and auditing purposes.
80
124
  # @return [String]
81
125
  #
126
+ # @!attribute [rw] protocols
127
+ # Specifies the file transfer protocol or protocols over which your
128
+ # file transfer protocol client can connect to your server's
129
+ # endpoint. The available protocols are:
130
+ #
131
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer
132
+ # over SSH
133
+ #
134
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
135
+ # encryption
136
+ #
137
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
138
+ # @return [Array<String>]
139
+ #
82
140
  # @!attribute [rw] tags
83
- # Key-value pairs that can be used to group and search for servers.
141
+ # Key-value pairs that can be used to group and search for file
142
+ # transfer protocol-enabled servers.
84
143
  # @return [Array<Types::Tag>]
85
144
  #
86
145
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServerRequest AWS API Documentation
87
146
  #
88
147
  class CreateServerRequest < Struct.new(
148
+ :certificate,
89
149
  :endpoint_details,
90
150
  :endpoint_type,
91
151
  :host_key,
92
152
  :identity_provider_details,
93
153
  :identity_provider_type,
94
154
  :logging_role,
155
+ :protocols,
95
156
  :tags)
96
157
  include Aws::Structure
97
158
  end
98
159
 
99
160
  # @!attribute [rw] server_id
100
- # The service-assigned ID of the SFTP server that is created.
161
+ # The service-assigned ID of the file transfer protocol-enabled server
162
+ # that is created.
101
163
  # @return [String]
102
164
  #
103
165
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateServerResponse AWS API Documentation
@@ -134,38 +196,50 @@ module Aws::Transfer
134
196
  #
135
197
  # @!attribute [rw] home_directory
136
198
  # The landing directory (folder) for a user when they log in to the
137
- # server using their SFTP client.
199
+ # file transfer protocol-enabled server using the client.
138
200
  #
139
- # An example is &lt;`your-Amazon-S3-bucket-name>/home/username`.
201
+ # An example is `your-Amazon-S3-bucket-name>/home/username`.
140
202
  # @return [String]
141
203
  #
142
204
  # @!attribute [rw] home_directory_type
143
205
  # The type of landing directory (folder) you want your users' home
144
- # directory to be when they log into the SFTP server. If you set it to
145
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is
146
- # in their SFTP clients. If you set it `LOGICAL`, you will need to
147
- # provide mappings in the `HomeDirectoryMappings` for how you want to
148
- # make S3 paths visible to your user.
206
+ # directory to be when they log into the file transfer
207
+ # protocol-enabled server. If you set it to `PATH`, the user will see
208
+ # the absolute Amazon S3 bucket paths as is in their file transfer
209
+ # protocol clients. If you set it `LOGICAL`, you will need to provide
210
+ # mappings in the `HomeDirectoryMappings` for how you want to make
211
+ # Amazon S3 paths visible to your users.
149
212
  # @return [String]
150
213
  #
151
214
  # @!attribute [rw] home_directory_mappings
152
- # Logical directory mappings that specify what S3 paths and keys
153
- # should be visible to your user and how you want to make them
215
+ # Logical directory mappings that specify what Amazon S3 paths and
216
+ # keys should be visible to your user and how you want to make them
154
217
  # visible. You will need to specify the "`Entry`" and "`Target`"
155
218
  # pair, where `Entry` shows how the path is made visible and `Target`
156
- # is the actual S3 path. If you only specify a target, it will be
157
- # displayed as is. You will need to also make sure that your AWS IAM
158
- # Role provides access to paths in `Target`. The following is an
219
+ # is the actual Amazon S3 path. If you only specify a target, it will
220
+ # be displayed as is. You will need to also make sure that your AWS
221
+ # IAM Role provides access to paths in `Target`. The following is an
159
222
  # example.
160
223
  #
161
224
  # `'[ "/bucket2/documentation", \{ "Entry":
162
225
  # "your-personal-report.pdf", "Target":
163
226
  # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
164
227
  #
165
- # In most cases, you can use this value instead of the scope down
228
+ # In most cases, you can use this value instead of the scope-down
166
229
  # policy to lock your user down to the designated home directory
167
230
  # ("chroot"). To do this, you can set `Entry` to '/' and set
168
231
  # `Target` to the HomeDirectory parameter value.
232
+ #
233
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
234
+ # S3, the entry will be ignored. As a workaround, you can use the
235
+ # Amazon S3 api to create 0 byte objects as place holders for your
236
+ # directory. If using the CLI, use the `s3api` call instead of `s3` so
237
+ # you can use the put-object operation. For example, you use the
238
+ # following: `aws s3api put-object --bucket bucketname --key
239
+ # path/to/folder/`. Make sure that the end of the key name ends in a
240
+ # '/' for it to be considered a folder.
241
+ #
242
+ # </note>
169
243
  # @return [Array<Types::HomeDirectoryMapEntry>]
170
244
  #
171
245
  # @!attribute [rw] policy
@@ -175,40 +249,44 @@ module Aws::Transfer
175
249
  # inside this policy include `$\{Transfer:UserName\}`,
176
250
  # `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
177
251
  #
178
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as
179
- # a JSON blob, instead of the Amazon Resource Name (ARN) of the
180
- # policy. You save the policy as a JSON blob and pass it in the
181
- # `Policy` argument.
252
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
253
+ # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
254
+ # You save the policy as a JSON blob and pass it in the `Policy`
255
+ # argument.
182
256
  #
183
- # For an example of a scope-down policy, see
184
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
185
- # a Scope-Down Policy.
257
+ # For an example of a scope-down policy, see [Creating a Scope-Down
258
+ # Policy][1].
186
259
  #
187
- # For more information, see
188
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
189
- # in the *AWS Security Token Service API Reference*.
260
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
261
+ # Service API Reference*.
190
262
  #
191
263
  # </note>
264
+ #
265
+ #
266
+ #
267
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
268
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
192
269
  # @return [String]
193
270
  #
194
271
  # @!attribute [rw] role
195
- # The IAM role that controls your user's access to your Amazon S3
272
+ # The IAM role that controls your users' access to your Amazon S3
196
273
  # bucket. The policies attached to this role will determine the level
197
274
  # of access you want to provide your users when transferring files
198
275
  # into and out of your Amazon S3 bucket or buckets. The IAM role
199
- # should also contain a trust relationship that allows the SFTP server
200
- # to access your resources when servicing your SFTP user's transfer
201
- # requests.
276
+ # should also contain a trust relationship that allows the file
277
+ # transfer protocol-enabled server to access your resources when
278
+ # servicing your users' transfer requests.
202
279
  # @return [String]
203
280
  #
204
281
  # @!attribute [rw] server_id
205
- # A system-assigned unique identifier for an SFTP server instance.
206
- # This is the specific SFTP server that you added your user to.
282
+ # A system-assigned unique identifier for a file transfer
283
+ # protocol-enabled server instance. This is the specific server that
284
+ # you added your user to.
207
285
  # @return [String]
208
286
  #
209
287
  # @!attribute [rw] ssh_public_key_body
210
288
  # The public portion of the Secure Shell (SSH) key used to
211
- # authenticate the user to the SFTP server.
289
+ # authenticate the user to the file transfer protocol-enabled server.
212
290
  # @return [String]
213
291
  #
214
292
  # @!attribute [rw] tags
@@ -217,11 +295,11 @@ module Aws::Transfer
217
295
  # @return [Array<Types::Tag>]
218
296
  #
219
297
  # @!attribute [rw] user_name
220
- # A unique string that identifies a user and is associated with a
221
- # server as specified by the `ServerId`. This user name must be a
222
- # minimum of 3 and a maximum of 32 characters long. The following are
223
- # valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user
224
- # name can't start with a hyphen.
298
+ # A unique string that identifies a user and is associated with a file
299
+ # transfer protocol-enabled server as specified by the `ServerId`.
300
+ # This user name must be a minimum of 3 and a maximum of 32 characters
301
+ # long. The following are valid characters: a-z, A-Z, 0-9, underscore,
302
+ # and hyphen. The user name can't start with a hyphen.
225
303
  # @return [String]
226
304
  #
227
305
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateUserRequest AWS API Documentation
@@ -240,12 +318,13 @@ module Aws::Transfer
240
318
  end
241
319
 
242
320
  # @!attribute [rw] server_id
243
- # The ID of the SFTP server that the user is attached to.
321
+ # The ID of the file transfer protocol-enabled server that the user is
322
+ # attached to.
244
323
  # @return [String]
245
324
  #
246
325
  # @!attribute [rw] user_name
247
- # A unique string that identifies a user account associated with an
248
- # SFTP server.
326
+ # A unique string that identifies a user account associated with a
327
+ # file transfer protocol-enabled server.
249
328
  # @return [String]
250
329
  #
251
330
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateUserResponse AWS API Documentation
@@ -264,7 +343,8 @@ module Aws::Transfer
264
343
  # }
265
344
  #
266
345
  # @!attribute [rw] server_id
267
- # A unique system-assigned identifier for an SFTP server instance.
346
+ # A unique system-assigned identifier for a file transfer
347
+ # protocol-enabled server instance.
268
348
  # @return [String]
269
349
  #
270
350
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteServerRequest AWS API Documentation
@@ -284,8 +364,8 @@ module Aws::Transfer
284
364
  # }
285
365
  #
286
366
  # @!attribute [rw] server_id
287
- # A system-assigned unique identifier for a Secure File Transfer
288
- # Protocol (SFTP) server instance that has the user assigned to it.
367
+ # A system-assigned unique identifier for a file transfer
368
+ # protocol-enabled server instance that has the user assigned to it.
289
369
  # @return [String]
290
370
  #
291
371
  # @!attribute [rw] ssh_public_key_id
@@ -315,13 +395,13 @@ module Aws::Transfer
315
395
  # }
316
396
  #
317
397
  # @!attribute [rw] server_id
318
- # A system-assigned unique identifier for an SFTP server instance that
319
- # has the user assigned to it.
398
+ # A system-assigned unique identifier for a file transfer
399
+ # protocol-enabled server instance that has the user assigned to it.
320
400
  # @return [String]
321
401
  #
322
402
  # @!attribute [rw] user_name
323
- # A unique string that identifies a user that is being deleted from
324
- # the server.
403
+ # A unique string that identifies a user that is being deleted from a
404
+ # file transfer protocol-enabled server.
325
405
  # @return [String]
326
406
  #
327
407
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteUserRequest AWS API Documentation
@@ -340,7 +420,8 @@ module Aws::Transfer
340
420
  # }
341
421
  #
342
422
  # @!attribute [rw] server_id
343
- # A system-assigned unique identifier for an SFTP server.
423
+ # A system-assigned unique identifier for a file transfer
424
+ # protocol-enabled server.
344
425
  # @return [String]
345
426
  #
346
427
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServerRequest AWS API Documentation
@@ -351,8 +432,8 @@ module Aws::Transfer
351
432
  end
352
433
 
353
434
  # @!attribute [rw] server
354
- # An array containing the properties of the server with the `ServerID`
355
- # you specified.
435
+ # An array containing the properties of a file transfer
436
+ # protocol-enabled server with the `ServerID` you specified.
356
437
  # @return [Types::DescribedServer]
357
438
  #
358
439
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeServerResponse AWS API Documentation
@@ -371,14 +452,15 @@ module Aws::Transfer
371
452
  # }
372
453
  #
373
454
  # @!attribute [rw] server_id
374
- # A system-assigned unique identifier for an SFTP server that has this
375
- # user assigned.
455
+ # A system-assigned unique identifier for a file transfer
456
+ # protocol-enabled server that has this user assigned.
376
457
  # @return [String]
377
458
  #
378
459
  # @!attribute [rw] user_name
379
- # The name of the user assigned to one or more servers. User names are
380
- # part of the sign-in credentials to use the AWS Transfer for SFTP
381
- # service and perform file transfer tasks.
460
+ # The name of the user assigned to one or more file transfer
461
+ # protocol-enabled servers. User names are part of the sign-in
462
+ # credentials to use the AWS Transfer Family service and perform file
463
+ # transfer tasks.
382
464
  # @return [String]
383
465
  #
384
466
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeUserRequest AWS API Documentation
@@ -390,8 +472,8 @@ module Aws::Transfer
390
472
  end
391
473
 
392
474
  # @!attribute [rw] server_id
393
- # A system-assigned unique identifier for an SFTP server that has this
394
- # user assigned.
475
+ # A system-assigned unique identifier for a file transfer
476
+ # protocol-enabled server that has this user assigned.
395
477
  # @return [String]
396
478
  #
397
479
  # @!attribute [rw] user
@@ -407,65 +489,86 @@ module Aws::Transfer
407
489
  include Aws::Structure
408
490
  end
409
491
 
410
- # Describes the properties of the server that was specified. Information
411
- # returned includes the following: the server Amazon Resource Name
412
- # (ARN), the authentication configuration and type, the logging role,
413
- # the server ID and state, and assigned tags or metadata.
492
+ # Describes the properties of a file transfer protocol-enabled server
493
+ # that was specified. Information returned includes the following: the
494
+ # server Amazon Resource Name (ARN), the authentication configuration
495
+ # and type, the logging role, the server ID and state, and assigned tags
496
+ # or metadata.
414
497
  #
415
498
  # @!attribute [rw] arn
416
- # Specifies the unique Amazon Resource Name (ARN) for the server to be
417
- # described.
499
+ # Specifies the unique Amazon Resource Name (ARN) for a file transfer
500
+ # protocol-enabled server to be described.
501
+ # @return [String]
502
+ #
503
+ # @!attribute [rw] certificate
504
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
505
+ # certificate. Required when `Protocols` is set to `FTPS`.
418
506
  # @return [String]
419
507
  #
420
508
  # @!attribute [rw] endpoint_details
421
509
  # The virtual private cloud (VPC) endpoint settings that you
422
- # configured for your SFTP server.
510
+ # configured for your file transfer protocol-enabled server.
423
511
  # @return [Types::EndpointDetails]
424
512
  #
425
513
  # @!attribute [rw] endpoint_type
426
- # The type of endpoint that your SFTP server is connected to. If your
427
- # SFTP server is connected to a VPC endpoint, your server isn't
428
- # accessible over the public internet.
514
+ # The type of endpoint that your file transfer protocol-enabled server
515
+ # is connected to. If your server is connected to a VPC endpoint, your
516
+ # server isn't accessible over the public internet.
429
517
  # @return [String]
430
518
  #
431
519
  # @!attribute [rw] host_key_fingerprint
432
- # This value contains the message-digest algorithm (MD5) hash of the
433
- # server's host key. This value is equivalent to the output of the
434
- # `ssh-keygen -l -E md5 -f my-new-server-key` command.
520
+ # Contains the message-digest algorithm (MD5) hash of a file transfer
521
+ # protocol-enabled server's host key. This value is equivalent to the
522
+ # output of the `ssh-keygen -l -E md5 -f my-new-server-key` command.
435
523
  # @return [String]
436
524
  #
437
525
  # @!attribute [rw] identity_provider_details
438
526
  # Specifies information to call a customer-supplied authentication
439
527
  # API. This field is not populated when the `IdentityProviderType` of
440
- # the server is `SERVICE_MANAGED`&gt;.
528
+ # a file transfer protocol-enabled server is `SERVICE_MANAGED`.
441
529
  # @return [Types::IdentityProviderDetails]
442
530
  #
443
531
  # @!attribute [rw] identity_provider_type
444
- # This property defines the mode of authentication method enabled for
445
- # this service. A value of `SERVICE_MANAGED` means that you are using
446
- # this server to store and access SFTP user credentials within the
447
- # service. A value of `API_GATEWAY` indicates that you have integrated
448
- # an API Gateway endpoint that will be invoked for authenticating your
449
- # user into the service.
532
+ # Defines the mode of authentication method enabled for this service.
533
+ # A value of `SERVICE_MANAGED` means that you are using this file
534
+ # transfer protocol-enabled server to store and access user
535
+ # credentials within the service. A value of `API_GATEWAY` indicates
536
+ # that you have integrated an API Gateway endpoint that will be
537
+ # invoked for authenticating your user into the service.
450
538
  # @return [String]
451
539
  #
452
540
  # @!attribute [rw] logging_role
453
- # This property is an AWS Identity and Access Management (IAM) entity
454
- # that allows the server to turn on Amazon CloudWatch logging for
455
- # Amazon S3 events. When set, user activity can be viewed in your
456
- # CloudWatch logs.
541
+ # An AWS Identity and Access Management (IAM) entity that allows a
542
+ # file transfer protocol-enabled server to turn on Amazon CloudWatch
543
+ # logging for Amazon S3 events. When set, user activity can be viewed
544
+ # in your CloudWatch logs.
457
545
  # @return [String]
458
546
  #
547
+ # @!attribute [rw] protocols
548
+ # Specifies the file transfer protocol or protocols over which your
549
+ # file transfer protocol client can connect to your server's
550
+ # endpoint. The available protocols are:
551
+ #
552
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer
553
+ # over SSH
554
+ #
555
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
556
+ # encryption
557
+ #
558
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
559
+ # @return [Array<String>]
560
+ #
459
561
  # @!attribute [rw] server_id
460
- # This property is a unique system-assigned identifier for the SFTP
461
- # server that you instantiate.
562
+ # Unique system-assigned identifier for a file transfer
563
+ # protocol-enabled server that you instantiate.
462
564
  # @return [String]
463
565
  #
464
566
  # @!attribute [rw] state
465
- # The condition of the SFTP server for the server that was described.
466
- # A value of `ONLINE` indicates that the server can accept jobs and
467
- # transfer files. A `State` value of `OFFLINE` means that the server
468
- # cannot perform file transfer operations.
567
+ # The condition of a file transfer protocol-enabled server for the
568
+ # server that was described. A value of `ONLINE` indicates that the
569
+ # server can accept jobs and transfer files. A `State` value of
570
+ # `OFFLINE` means that the server cannot perform file transfer
571
+ # operations.
469
572
  #
470
573
  # The states of `STARTING` and `STOPPING` indicate that the server is
471
574
  # in an intermediate state, either not fully able to respond, or not
@@ -474,26 +577,28 @@ module Aws::Transfer
474
577
  # @return [String]
475
578
  #
476
579
  # @!attribute [rw] tags
477
- # This property contains the key-value pairs that you can use to
478
- # search for and group servers that were assigned to the server that
479
- # was described.
580
+ # Contains the key-value pairs that you can use to search for and
581
+ # group file transfer protocol-enabled servers that were assigned to
582
+ # the server that was described.
480
583
  # @return [Array<Types::Tag>]
481
584
  #
482
585
  # @!attribute [rw] user_count
483
- # The number of users that are assigned to the SFTP server you
484
- # specified with the `ServerId`.
586
+ # The number of users that are assigned to a file transfer
587
+ # protocol-enabled server you specified with the `ServerId`.
485
588
  # @return [Integer]
486
589
  #
487
590
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedServer AWS API Documentation
488
591
  #
489
592
  class DescribedServer < Struct.new(
490
593
  :arn,
594
+ :certificate,
491
595
  :endpoint_details,
492
596
  :endpoint_type,
493
597
  :host_key_fingerprint,
494
598
  :identity_provider_details,
495
599
  :identity_provider_type,
496
600
  :logging_role,
601
+ :protocols,
497
602
  :server_id,
498
603
  :state,
499
604
  :tags,
@@ -504,44 +609,40 @@ module Aws::Transfer
504
609
  # Returns properties of the user that you want to describe.
505
610
  #
506
611
  # @!attribute [rw] arn
507
- # This property contains the unique Amazon Resource Name (ARN) for the
508
- # user that was requested to be described.
612
+ # Contains the unique Amazon Resource Name (ARN) for the user that was
613
+ # requested to be described.
509
614
  # @return [String]
510
615
  #
511
616
  # @!attribute [rw] home_directory
512
- # This property specifies the landing directory (or folder), which is
513
- # the location that files are written to or read from in an Amazon S3
514
- # bucket for the described user. An example is `/your s3 bucket
617
+ # Specifies the landing directory (or folder), which is the location
618
+ # that files are written to or read from in an Amazon S3 bucket for
619
+ # the described user. An example is `/your s3 bucket
515
620
  # name/home/username `.
516
621
  # @return [String]
517
622
  #
518
623
  # @!attribute [rw] home_directory_mappings
519
- # Logical directory mappings that you specified for what S3 paths and
520
- # keys should be visible to your user and how you want to make them
521
- # visible. You will need to specify the "`Entry`" and "`Target`"
522
- # pair, where `Entry` shows how the path is made visible and `Target`
523
- # is the actual S3 path. If you only specify a target, it will be
524
- # displayed as is. You will need to also make sure that your AWS IAM
525
- # Role provides access to paths in `Target`.
526
- #
527
- # In most cases, you can use this value instead of the scope down
528
- # policy to lock your user down to the designated home directory
529
- # ("chroot"). To do this, you can set `Entry` to '/' and set
530
- # `Target` to the HomeDirectory parameter value.
531
- #
532
- # In most cases, you can use this value instead of the scope down
624
+ # Logical directory mappings that you specified for what Amazon S3
625
+ # paths and keys should be visible to your user and how you want to
626
+ # make them visible. You will need to specify the "`Entry`" and
627
+ # "`Target`" pair, where `Entry` shows how the path is made visible
628
+ # and `Target` is the actual Amazon S3 path. If you only specify a
629
+ # target, it will be displayed as is. You will need to also make sure
630
+ # that your AWS IAM Role provides access to paths in `Target`.
631
+ #
632
+ # In most cases, you can use this value instead of the scope-down
533
633
  # policy to lock your user down to the designated home directory
534
634
  # ("chroot"). To do this, you can set `Entry` to '/' and set
535
635
  # `Target` to the HomeDirectory parameter value.
536
636
  # @return [Array<Types::HomeDirectoryMapEntry>]
537
637
  #
538
638
  # @!attribute [rw] home_directory_type
539
- # The type of landing directory (folder) you mapped for your users'
540
- # to see when they log into the SFTP server. If you set it to `PATH`,
541
- # the user will see the absolute Amazon S3 bucket paths as is in their
542
- # SFTP clients. If you set it `LOGICAL`, you will need to provide
543
- # mappings in the `HomeDirectoryMappings` for how you want to make S3
544
- # paths visible to your user.
639
+ # The type of landing directory (folder) you mapped for your users to
640
+ # see when they log into the file transfer protocol-enabled server. If
641
+ # you set it to `PATH`, the user will see the absolute Amazon S3
642
+ # bucket paths as is in their file transfer protocol clients. If you
643
+ # set it `LOGICAL`, you will need to provide mappings in the
644
+ # `HomeDirectoryMappings` for how you want to make Amazon S3 paths
645
+ # visible to your users.
545
646
  # @return [String]
546
647
  #
547
648
  # @!attribute [rw] policy
@@ -549,31 +650,30 @@ module Aws::Transfer
549
650
  # @return [String]
550
651
  #
551
652
  # @!attribute [rw] role
552
- # This property specifies the IAM role that controls your user's
553
- # access to your Amazon S3 bucket. The policies attached to this role
554
- # will determine the level of access you want to provide your users
555
- # when transferring files into and out of your Amazon S3 bucket or
556
- # buckets. The IAM role should also contain a trust relationship that
557
- # allows the SFTP server to access your resources when servicing your
558
- # SFTP user's transfer requests.
653
+ # Specifies the IAM role that controls your users' access to your
654
+ # Amazon S3 bucket. The policies attached to this role will determine
655
+ # the level of access you want to provide your users when transferring
656
+ # files into and out of your Amazon S3 bucket or buckets. The IAM role
657
+ # should also contain a trust relationship that allows a file transfer
658
+ # protocol-enabled server to access your resources when servicing your
659
+ # users' transfer requests.
559
660
  # @return [String]
560
661
  #
561
662
  # @!attribute [rw] ssh_public_keys
562
- # This property contains the public key portion of the Secure Shell
563
- # (SSH) keys stored for the described user.
663
+ # Contains the public key portion of the Secure Shell (SSH) keys
664
+ # stored for the described user.
564
665
  # @return [Array<Types::SshPublicKey>]
565
666
  #
566
667
  # @!attribute [rw] tags
567
- # This property contains the key-value pairs for the user requested.
568
- # Tag can be used to search for and group users for a variety of
569
- # purposes.
668
+ # Contains the key-value pairs for the user requested. Tag can be used
669
+ # to search for and group users for a variety of purposes.
570
670
  # @return [Array<Types::Tag>]
571
671
  #
572
672
  # @!attribute [rw] user_name
573
- # This property is the name of the user that was requested to be
574
- # described. User names are used for authentication purposes. This is
575
- # the string that will be used by your user when they log in to your
576
- # SFTP server.
673
+ # The name of the user that was requested to be described. User names
674
+ # are used for authentication purposes. This is the string that will
675
+ # be used by your user when they log in to your file transfer
676
+ # protocol-enabled server.
577
677
  # @return [String]
578
678
  #
579
679
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedUser AWS API Documentation
@@ -591,24 +691,53 @@ module Aws::Transfer
591
691
  include Aws::Structure
592
692
  end
593
693
 
594
- # The configuration settings for the virtual private cloud (VPC)
595
- # endpoint for your SFTP server.
694
+ # The virtual private cloud (VPC) endpoint settings that are configured
695
+ # for your file transfer protocol-enabled server. With a VPC endpoint,
696
+ # you can restrict access to your server and resources only within your
697
+ # VPC. To control incoming internet traffic, invoke the `UpdateServer`
698
+ # API and attach an Elastic IP to your server's endpoint.
596
699
  #
597
700
  # @note When making an API call, you may pass EndpointDetails
598
701
  # data as a hash:
599
702
  #
600
703
  # {
704
+ # address_allocation_ids: ["AddressAllocationId"],
705
+ # subnet_ids: ["SubnetId"],
601
706
  # vpc_endpoint_id: "VpcEndpointId",
707
+ # vpc_id: "VpcId",
602
708
  # }
603
709
  #
710
+ # @!attribute [rw] address_allocation_ids
711
+ # A list of address allocation IDs that are required to attach an
712
+ # Elastic IP address to your file transfer protocol-enabled server's
713
+ # endpoint. This is only valid in the `UpdateServer` API.
714
+ #
715
+ # <note markdown="1"> This property can only be use when `EndpointType` is set to `VPC`.
716
+ #
717
+ # </note>
718
+ # @return [Array<String>]
719
+ #
720
+ # @!attribute [rw] subnet_ids
721
+ # A list of subnet IDs that are required to host your file transfer
722
+ # protocol-enabled server endpoint in your VPC.
723
+ # @return [Array<String>]
724
+ #
604
725
  # @!attribute [rw] vpc_endpoint_id
605
726
  # The ID of the VPC endpoint.
606
727
  # @return [String]
607
728
  #
729
+ # @!attribute [rw] vpc_id
730
+ # The VPC ID of the VPC in which a file transfer protocol-enabled
731
+ # server's endpoint will be hosted.
732
+ # @return [String]
733
+ #
608
734
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/EndpointDetails AWS API Documentation
609
735
  #
610
736
  class EndpointDetails < Struct.new(
611
- :vpc_endpoint_id)
737
+ :address_allocation_ids,
738
+ :subnet_ids,
739
+ :vpc_endpoint_id,
740
+ :vpc_id)
612
741
  include Aws::Structure
613
742
  end
614
743
 
@@ -640,8 +769,8 @@ module Aws::Transfer
640
769
  end
641
770
 
642
771
  # Returns information related to the type of user authentication that is
643
- # in use for a server's users. A server can have only one method of
644
- # authentication.
772
+ # in use for a file transfer protocol-enabled server's users. A server
773
+ # can have only one method of authentication.
645
774
  #
646
775
  # @note When making an API call, you may pass IdentityProviderDetails
647
776
  # data as a hash:
@@ -652,13 +781,13 @@ module Aws::Transfer
652
781
  # }
653
782
  #
654
783
  # @!attribute [rw] url
655
- # The `Url` parameter provides contains the location of the service
656
- # endpoint used to authenticate users.
784
+ # Contains the location of the service endpoint used to authenticate
785
+ # users.
657
786
  # @return [String]
658
787
  #
659
788
  # @!attribute [rw] invocation_role
660
- # The `InvocationRole` parameter provides the type of `InvocationRole`
661
- # used to authenticate the user account.
789
+ # Provides the type of `InvocationRole` used to authenticate the user
790
+ # account.
662
791
  # @return [String]
663
792
  #
664
793
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/IdentityProviderDetails AWS API Documentation
@@ -679,7 +808,8 @@ module Aws::Transfer
679
808
  # }
680
809
  #
681
810
  # @!attribute [rw] server_id
682
- # A system-assigned unique identifier for an SFTP server.
811
+ # A system-assigned unique identifier for a file transfer
812
+ # protocol-enabled server.
683
813
  # @return [String]
684
814
  #
685
815
  # @!attribute [rw] ssh_public_key_body
@@ -687,8 +817,8 @@ module Aws::Transfer
687
817
  # @return [String]
688
818
  #
689
819
  # @!attribute [rw] user_name
690
- # The name of the user account that is assigned to one or more
691
- # servers.
820
+ # The name of the user account that is assigned to one or more file
821
+ # transfer protocol-enabled servers.
692
822
  # @return [String]
693
823
  #
694
824
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ImportSshPublicKeyRequest AWS API Documentation
@@ -700,17 +830,18 @@ module Aws::Transfer
700
830
  include Aws::Structure
701
831
  end
702
832
 
703
- # This response identifies the user, the server they belong to, and the
704
- # identifier of the SSH public key associated with that user. A user can
705
- # have more than one key on each server that they are associated with.
833
+ # Identifies the user, the file transfer protocol-enabled server they
834
+ # belong to, and the identifier of the SSH public key associated with
835
+ # that user. A user can have more than one key on each server that they
836
+ # are associated with.
706
837
  #
707
838
  # @!attribute [rw] server_id
708
- # A system-assigned unique identifier for an SFTP server.
839
+ # A system-assigned unique identifier for a file transfer
840
+ # protocol-enabled server.
709
841
  # @return [String]
710
842
  #
711
843
  # @!attribute [rw] ssh_public_key_id
712
- # This identifier is the name given to a public key by the system that
713
- # was imported.
844
+ # The name given to a public key by the system that was imported.
714
845
  # @return [String]
715
846
  #
716
847
  # @!attribute [rw] user_name
@@ -726,8 +857,8 @@ module Aws::Transfer
726
857
  include Aws::Structure
727
858
  end
728
859
 
729
- # This exception is thrown when an error occurs in the AWS Transfer for
730
- # SFTP service.
860
+ # This exception is thrown when an error occurs in the AWS Transfer
861
+ # Family service.
731
862
  #
732
863
  # @!attribute [rw] message
733
864
  # @return [String]
@@ -772,15 +903,15 @@ module Aws::Transfer
772
903
  # }
773
904
  #
774
905
  # @!attribute [rw] max_results
775
- # Specifies the number of servers to return as a response to the
776
- # `ListServers` query.
906
+ # Specifies the number of file transfer protocol-enabled servers to
907
+ # return as a response to the `ListServers` query.
777
908
  # @return [Integer]
778
909
  #
779
910
  # @!attribute [rw] next_token
780
- # When additional results are obtained from the `ListServers` command,
911
+ # When additional results are obtained from the`ListServers` command,
781
912
  # a `NextToken` parameter is returned in the output. You can then pass
782
913
  # the `NextToken` parameter in a subsequent command to continue
783
- # listing additional servers.
914
+ # listing additional file transfer protocol-enabled servers.
784
915
  # @return [String]
785
916
  #
786
917
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServersRequest AWS API Documentation
@@ -795,11 +926,11 @@ module Aws::Transfer
795
926
  # When you can get additional results from the `ListServers`
796
927
  # operation, a `NextToken` parameter is returned in the output. In a
797
928
  # following command, you can pass in the `NextToken` parameter to
798
- # continue listing additional servers.
929
+ # continue listing additional file transfer protocol-enabled servers.
799
930
  # @return [String]
800
931
  #
801
932
  # @!attribute [rw] servers
802
- # An array of servers that were listed.
933
+ # An array of file transfer protocol-enabled servers that were listed.
803
934
  # @return [Array<Types::ListedServer>]
804
935
  #
805
936
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListServersResponse AWS API Documentation
@@ -847,7 +978,7 @@ module Aws::Transfer
847
978
  end
848
979
 
849
980
  # @!attribute [rw] arn
850
- # This value is the ARN you specified to list the tags of.
981
+ # The ARN you specified to list the tags of.
851
982
  # @return [String]
852
983
  #
853
984
  # @!attribute [rw] next_token
@@ -894,8 +1025,8 @@ module Aws::Transfer
894
1025
  # @return [String]
895
1026
  #
896
1027
  # @!attribute [rw] server_id
897
- # A system-assigned unique identifier for a Secure File Transfer
898
- # Protocol (SFTP) server that has users assigned to it.
1028
+ # A system-assigned unique identifier for a file transfer
1029
+ # protocol-enabled server that has users assigned to it.
899
1030
  # @return [String]
900
1031
  #
901
1032
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListUsersRequest AWS API Documentation
@@ -915,8 +1046,8 @@ module Aws::Transfer
915
1046
  # @return [String]
916
1047
  #
917
1048
  # @!attribute [rw] server_id
918
- # A system-assigned unique identifier for an SFTP server that the
919
- # users are assigned to.
1049
+ # A system-assigned unique identifier for a file transfer
1050
+ # protocol-enabled server that the users are assigned to.
920
1051
  # @return [String]
921
1052
  #
922
1053
  # @!attribute [rw] users
@@ -933,40 +1064,44 @@ module Aws::Transfer
933
1064
  include Aws::Structure
934
1065
  end
935
1066
 
936
- # Returns properties of the server that was specified.
1067
+ # Returns properties of a file transfer protocol-enabled server that was
1068
+ # specified.
937
1069
  #
938
1070
  # @!attribute [rw] arn
939
- # The unique Amazon Resource Name (ARN) for the server to be listed.
1071
+ # The unique Amazon Resource Name (ARN) for a file transfer
1072
+ # protocol-enabled server to be listed.
940
1073
  # @return [String]
941
1074
  #
942
1075
  # @!attribute [rw] identity_provider_type
943
- # The authentication method used to validate a user for the server
944
- # that was specified. This can include Secure Shell (SSH), user name
945
- # and password combinations, or your own custom authentication method.
946
- # Valid values include `SERVICE_MANAGED` or `API_GATEWAY`.
1076
+ # The authentication method used to validate a user for a file
1077
+ # transfer protocol-enabled server that was specified. This can
1078
+ # include Secure Shell (SSH), user name and password combinations, or
1079
+ # your own custom authentication method. Valid values include
1080
+ # `SERVICE_MANAGED` or `API_GATEWAY`.
947
1081
  # @return [String]
948
1082
  #
949
1083
  # @!attribute [rw] endpoint_type
950
- # The type of VPC endpoint that your SFTP server is connected to. If
951
- # your SFTP server is connected to a VPC endpoint, your server isn't
952
- # accessible over the public internet.
1084
+ # The type of VPC endpoint that your file transfer protocol-enabled
1085
+ # server is connected to. If your server is connected to a VPC
1086
+ # endpoint, your server isn't accessible over the public internet.
953
1087
  # @return [String]
954
1088
  #
955
1089
  # @!attribute [rw] logging_role
956
- # The AWS Identity and Access Management entity that allows the server
957
- # to turn on Amazon CloudWatch logging.
1090
+ # The AWS Identity and Access Management (IAM) entity that allows a
1091
+ # file transfer protocol-enabled server to turn on Amazon CloudWatch
1092
+ # logging.
958
1093
  # @return [String]
959
1094
  #
960
1095
  # @!attribute [rw] server_id
961
- # This value is the unique system assigned identifier for the SFTP
962
- # servers that were listed.
1096
+ # The unique system assigned identifier for a file transfer
1097
+ # protocol-enabled servers that were listed.
963
1098
  # @return [String]
964
1099
  #
965
1100
  # @!attribute [rw] state
966
- # This property describes the condition of the SFTP server for the
967
- # server that was described. A value of `ONLINE`&gt; indicates that
968
- # the server can accept jobs and transfer files. A `State` value of
969
- # `OFFLINE` means that the server cannot perform file transfer
1101
+ # Describes the condition of a file transfer protocol-enabled server
1102
+ # for the server that was described. A value of `ONLINE` indicates
1103
+ # that the server can accept jobs and transfer files. A `State` value
1104
+ # of `OFFLINE` means that the server cannot perform file transfer
970
1105
  # operations.
971
1106
  #
972
1107
  # The states of `STARTING` and `STOPPING` indicate that the server is
@@ -976,8 +1111,8 @@ module Aws::Transfer
976
1111
  # @return [String]
977
1112
  #
978
1113
  # @!attribute [rw] user_count
979
- # This property is a numeric value that indicates the number of users
980
- # that are assigned to the SFTP server you specified with the
1114
+ # A numeric value that indicates the number of users that are assigned
1115
+ # to a file transfer protocol-enabled server you specified with the
981
1116
  # `ServerId`.
982
1117
  # @return [Integer]
983
1118
  #
@@ -997,35 +1132,34 @@ module Aws::Transfer
997
1132
  # Returns properties of the user that you specify.
998
1133
  #
999
1134
  # @!attribute [rw] arn
1000
- # This property is the unique Amazon Resource Name (ARN) for the user
1001
- # that you want to learn about.
1135
+ # The unique Amazon Resource Name (ARN) for the user that you want to
1136
+ # learn about.
1002
1137
  # @return [String]
1003
1138
  #
1004
1139
  # @!attribute [rw] home_directory
1005
- # This value specifies the location that files are written to or read
1006
- # from an Amazon S3 bucket for the user you specify by their ARN.
1140
+ # Specifies the location that files are written to or read from an
1141
+ # Amazon S3 bucket for the user you specify by their ARN.
1007
1142
  # @return [String]
1008
1143
  #
1009
1144
  # @!attribute [rw] home_directory_type
1010
1145
  # The type of landing directory (folder) you mapped for your users'
1011
1146
  # home directory. If you set it to `PATH`, the user will see the
1012
- # absolute Amazon S3 bucket paths as is in their SFTP clients. If you
1013
- # set it `LOGICAL`, you will need to provide mappings in the
1014
- # `HomeDirectoryMappings` for how you want to make S3 paths visible to
1015
- # your user.
1147
+ # absolute Amazon S3 bucket paths as is in their file transfer
1148
+ # protocol clients. If you set it `LOGICAL`, you will need to provide
1149
+ # mappings in the `HomeDirectoryMappings` for how you want to make
1150
+ # Amazon S3 paths visible to your users.
1016
1151
  # @return [String]
1017
1152
  #
1018
1153
  # @!attribute [rw] role
1019
1154
  # The role in use by this user. A *role* is an AWS Identity and Access
1020
- # Management (IAM) entity that, in this case, allows the SFTP server
1021
- # to act on a user's behalf. It allows the server to inherit the
1022
- # trust relationship that enables that user to perform file operations
1023
- # to their Amazon S3 bucket.
1155
+ # Management (IAM) entity that, in this case, allows a file transfer
1156
+ # protocol-enabled server to act on a user's behalf. It allows the
1157
+ # server to inherit the trust relationship that enables that user to
1158
+ # perform file operations to their Amazon S3 bucket.
1024
1159
  # @return [String]
1025
1160
  #
1026
1161
  # @!attribute [rw] ssh_public_key_count
1027
- # This value is the number of SSH public keys stored for the user you
1028
- # specified.
1162
+ # The number of SSH public keys stored for the user you specified.
1029
1163
  # @return [Integer]
1030
1164
  #
1031
1165
  # @!attribute [rw] user_name
@@ -1066,7 +1200,7 @@ module Aws::Transfer
1066
1200
  end
1067
1201
 
1068
1202
  # This exception is thrown when a resource is not found by the AWS
1069
- # Transfer for SFTP service.
1203
+ # Transfer Family service.
1070
1204
  #
1071
1205
  # @!attribute [rw] message
1072
1206
  # @return [String]
@@ -1086,8 +1220,8 @@ module Aws::Transfer
1086
1220
  include Aws::Structure
1087
1221
  end
1088
1222
 
1089
- # The request has failed because the AWS Transfer for SFTP service is
1090
- # not available.
1223
+ # The request has failed because the AWS Transfer Family service is not
1224
+ # available.
1091
1225
  #
1092
1226
  # @!attribute [rw] message
1093
1227
  # @return [String]
@@ -1100,11 +1234,11 @@ module Aws::Transfer
1100
1234
  end
1101
1235
 
1102
1236
  # Provides information about the public Secure Shell (SSH) key that is
1103
- # associated with a user account for a specific server (as identified by
1104
- # `ServerId`). The information returned includes the date the key was
1105
- # imported, the public key contents, and the public key ID. A user can
1106
- # store more than one SSH public key associated with their user name on
1107
- # a specific SFTP server.
1237
+ # associated with a user account for the specific file transfer
1238
+ # protocol-enabled server (as identified by `ServerId`). The information
1239
+ # returned includes the date the key was imported, the public key
1240
+ # contents, and the public key ID. A user can store more than one SSH
1241
+ # public key associated with their user name on a specific server.
1108
1242
  #
1109
1243
  # @!attribute [rw] date_imported
1110
1244
  # The date that the public key was added to the user account.
@@ -1136,8 +1270,8 @@ module Aws::Transfer
1136
1270
  # }
1137
1271
  #
1138
1272
  # @!attribute [rw] server_id
1139
- # A system-assigned unique identifier for an SFTP server that you
1140
- # start.
1273
+ # A system-assigned unique identifier for a file transfer
1274
+ # protocol-enabled server that you start.
1141
1275
  # @return [String]
1142
1276
  #
1143
1277
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StartServerRequest AWS API Documentation
@@ -1155,8 +1289,8 @@ module Aws::Transfer
1155
1289
  # }
1156
1290
  #
1157
1291
  # @!attribute [rw] server_id
1158
- # A system-assigned unique identifier for an SFTP server that you
1159
- # stopped.
1292
+ # A system-assigned unique identifier for a file transfer
1293
+ # protocol-enabled server that you stopped.
1160
1294
  # @return [String]
1161
1295
  #
1162
1296
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/StopServerRequest AWS API Documentation
@@ -1186,8 +1320,8 @@ module Aws::Transfer
1186
1320
  # @return [String]
1187
1321
  #
1188
1322
  # @!attribute [rw] value
1189
- # This property contains one or more values that you assigned to the
1190
- # key name you create.
1323
+ # Contains one or more values that you assigned to the key name you
1324
+ # create.
1191
1325
  # @return [String]
1192
1326
  #
1193
1327
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/Tag AWS API Documentation
@@ -1237,27 +1371,42 @@ module Aws::Transfer
1237
1371
  # server_id: "ServerId", # required
1238
1372
  # user_name: "UserName", # required
1239
1373
  # user_password: "UserPassword",
1374
+ # server_protocol: "SFTP", # accepts SFTP, FTP, FTPS
1240
1375
  # }
1241
1376
  #
1242
1377
  # @!attribute [rw] server_id
1243
- # A system-assigned identifier for a specific server. That server's
1244
- # user authentication method is tested with a user name and password.
1378
+ # A system-assigned identifier for a specific file transfer
1379
+ # protocol-enabled server. That server's user authentication method
1380
+ # is tested with a user name and password.
1245
1381
  # @return [String]
1246
1382
  #
1247
1383
  # @!attribute [rw] user_name
1248
- # This request parameter is the name of the user account to be tested.
1384
+ # The name of the user account to be tested.
1249
1385
  # @return [String]
1250
1386
  #
1251
1387
  # @!attribute [rw] user_password
1252
1388
  # The password of the user account to be tested.
1253
1389
  # @return [String]
1254
1390
  #
1391
+ # @!attribute [rw] server_protocol
1392
+ # The type of file transfer protocol to be tested.
1393
+ #
1394
+ # The available protocols are:
1395
+ #
1396
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP)
1397
+ #
1398
+ # * File Transfer Protocol Secure (FTPS)
1399
+ #
1400
+ # * File Transfer Protocol (FTP)
1401
+ # @return [String]
1402
+ #
1255
1403
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/TestIdentityProviderRequest AWS API Documentation
1256
1404
  #
1257
1405
  class TestIdentityProviderRequest < Struct.new(
1258
1406
  :server_id,
1259
1407
  :user_name,
1260
- :user_password)
1408
+ :user_password,
1409
+ :server_protocol)
1261
1410
  include Aws::Structure
1262
1411
  end
1263
1412
 
@@ -1310,9 +1459,9 @@ module Aws::Transfer
1310
1459
  # }
1311
1460
  #
1312
1461
  # @!attribute [rw] arn
1313
- # This is the value of the resource that will have the tag removed. An
1314
- # Amazon Resource Name (ARN) is an identifier for a specific AWS
1315
- # resource, such as a server, user, or role.
1462
+ # The value of the resource that will have the tag removed. An Amazon
1463
+ # Resource Name (ARN) is an identifier for a specific AWS resource,
1464
+ # such as a server, user, or role.
1316
1465
  # @return [String]
1317
1466
  #
1318
1467
  # @!attribute [rw] tag_keys
@@ -1333,30 +1482,43 @@ module Aws::Transfer
1333
1482
  # data as a hash:
1334
1483
  #
1335
1484
  # {
1485
+ # certificate: "Certificate",
1336
1486
  # endpoint_details: {
1487
+ # address_allocation_ids: ["AddressAllocationId"],
1488
+ # subnet_ids: ["SubnetId"],
1337
1489
  # vpc_endpoint_id: "VpcEndpointId",
1490
+ # vpc_id: "VpcId",
1338
1491
  # },
1339
- # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC_ENDPOINT
1492
+ # endpoint_type: "PUBLIC", # accepts PUBLIC, VPC, VPC_ENDPOINT
1340
1493
  # host_key: "HostKey",
1341
1494
  # identity_provider_details: {
1342
1495
  # url: "Url",
1343
1496
  # invocation_role: "Role",
1344
1497
  # },
1345
1498
  # logging_role: "NullableRole",
1499
+ # protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
1346
1500
  # server_id: "ServerId", # required
1347
1501
  # }
1348
1502
  #
1503
+ # @!attribute [rw] certificate
1504
+ # The Amazon Resource Name (ARN) of the AWS Certificate Manager (ACM)
1505
+ # certificate. Required when `Protocols` is set to `FTPS`.
1506
+ # @return [String]
1507
+ #
1349
1508
  # @!attribute [rw] endpoint_details
1350
1509
  # The virtual private cloud (VPC) endpoint settings that are
1351
- # configured for your SFTP server. With a VPC endpoint, your SFTP
1352
- # server isn't accessible over the public internet.
1510
+ # configured for your file transfer protocol-enabled server. With a
1511
+ # VPC endpoint, you can restrict access to your server to resources
1512
+ # only within your VPC. To control incoming internet traffic, you will
1513
+ # need to associate one or more Elastic IP addresses with your
1514
+ # server's endpoint.
1353
1515
  # @return [Types::EndpointDetails]
1354
1516
  #
1355
1517
  # @!attribute [rw] endpoint_type
1356
- # The type of endpoint that you want your SFTP server to connect to.
1357
- # You can choose to connect to the public internet or a virtual
1358
- # private cloud (VPC) endpoint. With a VPC endpoint, your SFTP server
1359
- # isn't accessible over the public internet.
1518
+ # The type of endpoint that you want your file transfer
1519
+ # protocol-enabled server to connect to. You can choose to connect to
1520
+ # the public internet or a VPC endpoint. With a VPC endpoint, your
1521
+ # server isn't accessible over the public internet.
1360
1522
  # @return [String]
1361
1523
  #
1362
1524
  # @!attribute [rw] host_key
@@ -1364,46 +1526,66 @@ module Aws::Transfer
1364
1526
  # my-new-server-key`.
1365
1527
  #
1366
1528
  # If you aren't planning to migrate existing users from an existing
1367
- # SFTP server to a new AWS SFTP server, don't update the host key.
1368
- # Accidentally changing a server's host key can be disruptive.
1529
+ # file transfer protocol-enabled server to a new server, don't update
1530
+ # the host key. Accidentally changing a server's host key can be
1531
+ # disruptive.
1532
+ #
1533
+ # For more information, see [Changing the Host Key for Your AWS
1534
+ # Transfer Family Server][1] in the *AWS Transfer Family User Guide*.
1369
1535
  #
1370
- # For more information, see
1371
- # "https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
1372
- # in the *AWS SFTP User Guide.*
1536
+ #
1537
+ #
1538
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key
1373
1539
  # @return [String]
1374
1540
  #
1375
1541
  # @!attribute [rw] identity_provider_details
1376
- # This response parameter is an array containing all of the
1377
- # information required to call a customer's authentication API
1378
- # method.
1542
+ # An array containing all of the information required to call a
1543
+ # customer's authentication API method.
1379
1544
  # @return [Types::IdentityProviderDetails]
1380
1545
  #
1381
1546
  # @!attribute [rw] logging_role
1382
- # A value that changes the AWS Identity and Access Management (IAM)
1383
- # role that allows Amazon S3 events to be logged in Amazon CloudWatch,
1384
- # turning logging on or off.
1547
+ # Changes the AWS Identity and Access Management (IAM) role that
1548
+ # allows Amazon S3 events to be logged in Amazon CloudWatch, turning
1549
+ # logging on or off.
1385
1550
  # @return [String]
1386
1551
  #
1552
+ # @!attribute [rw] protocols
1553
+ # Specifies the file transfer protocol or protocols over which your
1554
+ # file transfer protocol client can connect to your server's
1555
+ # endpoint. The available protocols are:
1556
+ #
1557
+ # * Secure Shell (SSH) File Transfer Protocol (SFTP): File transfer
1558
+ # over SSH
1559
+ #
1560
+ # * File Transfer Protocol Secure (FTPS): File transfer with TLS
1561
+ # encryption
1562
+ #
1563
+ # * File Transfer Protocol (FTP): Unencrypted file transfer
1564
+ # @return [Array<String>]
1565
+ #
1387
1566
  # @!attribute [rw] server_id
1388
- # A system-assigned unique identifier for an SFTP server instance that
1389
- # the user account is assigned to.
1567
+ # A system-assigned unique identifier for a file transfer
1568
+ # protocol-enabled server instance that the user account is assigned
1569
+ # to.
1390
1570
  # @return [String]
1391
1571
  #
1392
1572
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServerRequest AWS API Documentation
1393
1573
  #
1394
1574
  class UpdateServerRequest < Struct.new(
1575
+ :certificate,
1395
1576
  :endpoint_details,
1396
1577
  :endpoint_type,
1397
1578
  :host_key,
1398
1579
  :identity_provider_details,
1399
1580
  :logging_role,
1581
+ :protocols,
1400
1582
  :server_id)
1401
1583
  include Aws::Structure
1402
1584
  end
1403
1585
 
1404
1586
  # @!attribute [rw] server_id
1405
- # A system-assigned unique identifier for an SFTP server that the user
1406
- # account is assigned to.
1587
+ # A system-assigned unique identifier for a file transfer
1588
+ # protocol-enabled server that the user account is assigned to.
1407
1589
  # @return [String]
1408
1590
  #
1409
1591
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateServerResponse AWS API Documentation
@@ -1432,39 +1614,52 @@ module Aws::Transfer
1432
1614
  # }
1433
1615
  #
1434
1616
  # @!attribute [rw] home_directory
1435
- # A parameter that specifies the landing directory (folder) for a user
1436
- # when they log in to the server using their client.
1617
+ # Specifies the landing directory (folder) for a user when they log in
1618
+ # to the file transfer protocol-enabled server using their file
1619
+ # transfer protocol client.
1437
1620
  #
1438
- # An example is `<your-Amazon-S3-bucket-name>/home/username`.
1621
+ # An example is `your-Amazon-S3-bucket-name>/home/username`.
1439
1622
  # @return [String]
1440
1623
  #
1441
1624
  # @!attribute [rw] home_directory_type
1442
1625
  # The type of landing directory (folder) you want your users' home
1443
- # directory to be when they log into the SFTP serve. If you set it to
1444
- # `PATH`, the user will see the absolute Amazon S3 bucket paths as is
1445
- # in their SFTP clients. If you set it `LOGICAL`, you will need to
1446
- # provide mappings in the `HomeDirectoryMappings` for how you want to
1447
- # make S3 paths visible to your user.
1626
+ # directory to be when they log into the file transfer
1627
+ # protocol-enabled server. If you set it to `PATH`, the user will see
1628
+ # the absolute Amazon S3 bucket paths as is in their file transfer
1629
+ # protocol clients. If you set it `LOGICAL`, you will need to provide
1630
+ # mappings in the `HomeDirectoryMappings` for how you want to make
1631
+ # Amazon S3 paths visible to your users.
1448
1632
  # @return [String]
1449
1633
  #
1450
1634
  # @!attribute [rw] home_directory_mappings
1451
- # Logical directory mappings that specify what S3 paths and keys
1452
- # should be visible to your user and how you want to make them
1635
+ # Logical directory mappings that specify what Amazon S3 paths and
1636
+ # keys should be visible to your user and how you want to make them
1453
1637
  # visible. You will need to specify the "`Entry`" and "`Target`"
1454
1638
  # pair, where `Entry` shows how the path is made visible and `Target`
1455
- # is the actual S3 path. If you only specify a target, it will be
1456
- # displayed as is. You will need to also make sure that your AWS IAM
1457
- # Role provides access to paths in `Target`. The following is an
1639
+ # is the actual Amazon S3 path. If you only specify a target, it will
1640
+ # be displayed as is. You will need to also make sure that your AWS
1641
+ # IAM Role provides access to paths in `Target`. The following is an
1458
1642
  # example.
1459
1643
  #
1460
1644
  # `'[ "/bucket2/documentation", \{ "Entry":
1461
1645
  # "your-personal-report.pdf", "Target":
1462
1646
  # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
1463
1647
  #
1464
- # In most cases, you can use this value instead of the scope down
1648
+ # In most cases, you can use this value instead of the scope-down
1465
1649
  # policy to lock your user down to the designated home directory
1466
1650
  # ("chroot"). To do this, you can set `Entry` to '/' and set
1467
1651
  # `Target` to the HomeDirectory parameter value.
1652
+ #
1653
+ # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1654
+ # S3, the entry will be ignored. As a workaround, you can use the
1655
+ # Amazon S3 api to create 0 byte objects as place holders for your
1656
+ # directory. If using the CLI, use the `s3api` call instead of `s3` so
1657
+ # you can use the put-object operation. For example, you use the
1658
+ # following: `aws s3api put-object --bucket bucketname --key
1659
+ # path/to/folder/`. Make sure that the end of the key name ends in a /
1660
+ # for it to be considered a folder.
1661
+ #
1662
+ # </note>
1468
1663
  # @return [Array<Types::HomeDirectoryMapEntry>]
1469
1664
  #
1470
1665
  # @!attribute [rw] policy
@@ -1475,44 +1670,48 @@ module Aws::Transfer
1475
1670
  # include `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
1476
1671
  # `$\{Transfer:HomeBucket\}`.
1477
1672
  #
1478
- # <note markdown="1"> For scope-down policies, AWS Transfer for SFTP stores the policy as
1479
- # a JSON blob, instead of the Amazon Resource Name (ARN) of the
1480
- # policy. You save the policy as a JSON blob and pass it in the
1481
- # `Policy` argument.
1673
+ # <note markdown="1"> For scope-down policies, AWS Transfer Family stores the policy as a
1674
+ # JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
1675
+ # You save the policy as a JSON blob and pass it in the `Policy`
1676
+ # argument.
1482
1677
  #
1483
- # For an example of a scope-down policy, see
1484
- # "https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down"&gt;Creating
1485
- # a Scope-Down Policy.
1678
+ # For an example of a scope-down policy, see [Creating a Scope-Down
1679
+ # Policy][1].
1486
1680
  #
1487
- # For more information, see
1488
- # "https://docs.aws.amazon.com/STS/latest/APIReference/API\_AssumeRole.html"
1489
- # in the *AWS Security Token Service API Reference*.
1681
+ # For more information, see [AssumeRole][2] in the *AWS Security Token
1682
+ # Service API Reference*.
1490
1683
  #
1491
1684
  # </note>
1685
+ #
1686
+ #
1687
+ #
1688
+ # [1]: https://docs.aws.amazon.com/transfer/latest/userguide/users.html#users-policies-scope-down
1689
+ # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
1492
1690
  # @return [String]
1493
1691
  #
1494
1692
  # @!attribute [rw] role
1495
- # The IAM role that controls your user's access to your Amazon S3
1693
+ # The IAM role that controls your users' access to your Amazon S3
1496
1694
  # bucket. The policies attached to this role will determine the level
1497
1695
  # of access you want to provide your users when transferring files
1498
1696
  # into and out of your Amazon S3 bucket or buckets. The IAM role
1499
- # should also contain a trust relationship that allows the Secure File
1500
- # Transfer Protocol (SFTP) server to access your resources when
1501
- # servicing your SFTP user's transfer requests.
1697
+ # should also contain a trust relationship that allows the file
1698
+ # transfer protocol-enabled server to access your resources when
1699
+ # servicing your users' transfer requests.
1502
1700
  # @return [String]
1503
1701
  #
1504
1702
  # @!attribute [rw] server_id
1505
- # A system-assigned unique identifier for an SFTP server instance that
1506
- # the user account is assigned to.
1703
+ # A system-assigned unique identifier for a file transfer
1704
+ # protocol-enabled server instance that the user account is assigned
1705
+ # to.
1507
1706
  # @return [String]
1508
1707
  #
1509
1708
  # @!attribute [rw] user_name
1510
- # A unique string that identifies a user and is associated with a
1511
- # server as specified by the `ServerId`. This is the string that will
1512
- # be used by your user when they log in to your SFTP server. This user
1513
- # name is a minimum of 3 and a maximum of 32 characters long. The
1514
- # following are valid characters: a-z, A-Z, 0-9, underscore, and
1515
- # hyphen. The user name can't start with a hyphen.
1709
+ # A unique string that identifies a user and is associated with a file
1710
+ # transfer protocol-enabled server as specified by the `ServerId`.
1711
+ # This is the string that will be used by your user when they log in
1712
+ # to your server. This user name is a minimum of 3 and a maximum of 32
1713
+ # characters long. The following are valid characters: a-z, A-Z, 0-9,
1714
+ # underscore, and hyphen. The user name can't start with a hyphen.
1516
1715
  # @return [String]
1517
1716
  #
1518
1717
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUserRequest AWS API Documentation
@@ -1528,17 +1727,19 @@ module Aws::Transfer
1528
1727
  include Aws::Structure
1529
1728
  end
1530
1729
 
1531
- # `UpdateUserResponse` returns the user name and server identifier for
1532
- # the request to update a user's properties.
1730
+ # `UpdateUserResponse` returns the user name and file transfer
1731
+ # protocol-enabled server identifier for the request to update a user's
1732
+ # properties.
1533
1733
  #
1534
1734
  # @!attribute [rw] server_id
1535
- # A system-assigned unique identifier for an SFTP server instance that
1536
- # the user account is assigned to.
1735
+ # A system-assigned unique identifier for a file transfer
1736
+ # protocol-enabled server instance that the user account is assigned
1737
+ # to.
1537
1738
  # @return [String]
1538
1739
  #
1539
1740
  # @!attribute [rw] user_name
1540
- # The unique identifier for a user that is assigned to the SFTP server
1541
- # instance that was specified in the request.
1741
+ # The unique identifier for a user that is assigned to a file transfer
1742
+ # protocol-enabled server instance that was specified in the request.
1542
1743
  # @return [String]
1543
1744
  #
1544
1745
  # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateUserResponse AWS API Documentation