aws-sdk-transfer 1.15.0 → 1.20.0

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