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