aws-sdk-transfer 1.32.0 → 1.33.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-transfer.rb +2 -2
- data/lib/aws-sdk-transfer/client.rb +662 -95
- data/lib/aws-sdk-transfer/client_api.rb +151 -0
- data/lib/aws-sdk-transfer/types.rb +933 -115
- metadata +5 -6
@@ -19,26 +19,34 @@ module Aws::Transfer
|
|
19
19
|
Arn = Shapes::StringShape.new(name: 'Arn')
|
20
20
|
Certificate = Shapes::StringShape.new(name: 'Certificate')
|
21
21
|
ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
|
22
|
+
CreateAccessRequest = Shapes::StructureShape.new(name: 'CreateAccessRequest')
|
23
|
+
CreateAccessResponse = Shapes::StructureShape.new(name: 'CreateAccessResponse')
|
22
24
|
CreateServerRequest = Shapes::StructureShape.new(name: 'CreateServerRequest')
|
23
25
|
CreateServerResponse = Shapes::StructureShape.new(name: 'CreateServerResponse')
|
24
26
|
CreateUserRequest = Shapes::StructureShape.new(name: 'CreateUserRequest')
|
25
27
|
CreateUserResponse = Shapes::StructureShape.new(name: 'CreateUserResponse')
|
26
28
|
DateImported = Shapes::TimestampShape.new(name: 'DateImported')
|
29
|
+
DeleteAccessRequest = Shapes::StructureShape.new(name: 'DeleteAccessRequest')
|
27
30
|
DeleteServerRequest = Shapes::StructureShape.new(name: 'DeleteServerRequest')
|
28
31
|
DeleteSshPublicKeyRequest = Shapes::StructureShape.new(name: 'DeleteSshPublicKeyRequest')
|
29
32
|
DeleteUserRequest = Shapes::StructureShape.new(name: 'DeleteUserRequest')
|
33
|
+
DescribeAccessRequest = Shapes::StructureShape.new(name: 'DescribeAccessRequest')
|
34
|
+
DescribeAccessResponse = Shapes::StructureShape.new(name: 'DescribeAccessResponse')
|
30
35
|
DescribeSecurityPolicyRequest = Shapes::StructureShape.new(name: 'DescribeSecurityPolicyRequest')
|
31
36
|
DescribeSecurityPolicyResponse = Shapes::StructureShape.new(name: 'DescribeSecurityPolicyResponse')
|
32
37
|
DescribeServerRequest = Shapes::StructureShape.new(name: 'DescribeServerRequest')
|
33
38
|
DescribeServerResponse = Shapes::StructureShape.new(name: 'DescribeServerResponse')
|
34
39
|
DescribeUserRequest = Shapes::StructureShape.new(name: 'DescribeUserRequest')
|
35
40
|
DescribeUserResponse = Shapes::StructureShape.new(name: 'DescribeUserResponse')
|
41
|
+
DescribedAccess = Shapes::StructureShape.new(name: 'DescribedAccess')
|
36
42
|
DescribedSecurityPolicy = Shapes::StructureShape.new(name: 'DescribedSecurityPolicy')
|
37
43
|
DescribedServer = Shapes::StructureShape.new(name: 'DescribedServer')
|
38
44
|
DescribedUser = Shapes::StructureShape.new(name: 'DescribedUser')
|
45
|
+
DirectoryId = Shapes::StringShape.new(name: 'DirectoryId')
|
39
46
|
Domain = Shapes::StringShape.new(name: 'Domain')
|
40
47
|
EndpointDetails = Shapes::StructureShape.new(name: 'EndpointDetails')
|
41
48
|
EndpointType = Shapes::StringShape.new(name: 'EndpointType')
|
49
|
+
ExternalId = Shapes::StringShape.new(name: 'ExternalId')
|
42
50
|
Fips = Shapes::BooleanShape.new(name: 'Fips')
|
43
51
|
HomeDirectory = Shapes::StringShape.new(name: 'HomeDirectory')
|
44
52
|
HomeDirectoryMapEntry = Shapes::StructureShape.new(name: 'HomeDirectoryMapEntry')
|
@@ -53,6 +61,8 @@ module Aws::Transfer
|
|
53
61
|
InternalServiceError = Shapes::StructureShape.new(name: 'InternalServiceError')
|
54
62
|
InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
|
55
63
|
InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
|
64
|
+
ListAccessesRequest = Shapes::StructureShape.new(name: 'ListAccessesRequest')
|
65
|
+
ListAccessesResponse = Shapes::StructureShape.new(name: 'ListAccessesResponse')
|
56
66
|
ListSecurityPoliciesRequest = Shapes::StructureShape.new(name: 'ListSecurityPoliciesRequest')
|
57
67
|
ListSecurityPoliciesResponse = Shapes::StructureShape.new(name: 'ListSecurityPoliciesResponse')
|
58
68
|
ListServersRequest = Shapes::StructureShape.new(name: 'ListServersRequest')
|
@@ -61,6 +71,8 @@ module Aws::Transfer
|
|
61
71
|
ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
|
62
72
|
ListUsersRequest = Shapes::StructureShape.new(name: 'ListUsersRequest')
|
63
73
|
ListUsersResponse = Shapes::StructureShape.new(name: 'ListUsersResponse')
|
74
|
+
ListedAccess = Shapes::StructureShape.new(name: 'ListedAccess')
|
75
|
+
ListedAccesses = Shapes::ListShape.new(name: 'ListedAccesses')
|
64
76
|
ListedServer = Shapes::StructureShape.new(name: 'ListedServer')
|
65
77
|
ListedServers = Shapes::ListShape.new(name: 'ListedServers')
|
66
78
|
ListedUser = Shapes::StructureShape.new(name: 'ListedUser')
|
@@ -115,6 +127,8 @@ module Aws::Transfer
|
|
115
127
|
TestIdentityProviderResponse = Shapes::StructureShape.new(name: 'TestIdentityProviderResponse')
|
116
128
|
ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
|
117
129
|
UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
|
130
|
+
UpdateAccessRequest = Shapes::StructureShape.new(name: 'UpdateAccessRequest')
|
131
|
+
UpdateAccessResponse = Shapes::StructureShape.new(name: 'UpdateAccessResponse')
|
118
132
|
UpdateServerRequest = Shapes::StructureShape.new(name: 'UpdateServerRequest')
|
119
133
|
UpdateServerResponse = Shapes::StructureShape.new(name: 'UpdateServerResponse')
|
120
134
|
UpdateUserRequest = Shapes::StructureShape.new(name: 'UpdateUserRequest')
|
@@ -134,6 +148,20 @@ module Aws::Transfer
|
|
134
148
|
ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "Message"))
|
135
149
|
ConflictException.struct_class = Types::ConflictException
|
136
150
|
|
151
|
+
CreateAccessRequest.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
|
152
|
+
CreateAccessRequest.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
|
153
|
+
CreateAccessRequest.add_member(:home_directory_mappings, Shapes::ShapeRef.new(shape: HomeDirectoryMappings, location_name: "HomeDirectoryMappings"))
|
154
|
+
CreateAccessRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
|
155
|
+
CreateAccessRequest.add_member(:posix_profile, Shapes::ShapeRef.new(shape: PosixProfile, location_name: "PosixProfile"))
|
156
|
+
CreateAccessRequest.add_member(:role, Shapes::ShapeRef.new(shape: Role, required: true, location_name: "Role"))
|
157
|
+
CreateAccessRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
158
|
+
CreateAccessRequest.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
|
159
|
+
CreateAccessRequest.struct_class = Types::CreateAccessRequest
|
160
|
+
|
161
|
+
CreateAccessResponse.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
162
|
+
CreateAccessResponse.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
|
163
|
+
CreateAccessResponse.struct_class = Types::CreateAccessResponse
|
164
|
+
|
137
165
|
CreateServerRequest.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
|
138
166
|
CreateServerRequest.add_member(:domain, Shapes::ShapeRef.new(shape: Domain, location_name: "Domain"))
|
139
167
|
CreateServerRequest.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
|
@@ -166,6 +194,10 @@ module Aws::Transfer
|
|
166
194
|
CreateUserResponse.add_member(:user_name, Shapes::ShapeRef.new(shape: UserName, required: true, location_name: "UserName"))
|
167
195
|
CreateUserResponse.struct_class = Types::CreateUserResponse
|
168
196
|
|
197
|
+
DeleteAccessRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
198
|
+
DeleteAccessRequest.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
|
199
|
+
DeleteAccessRequest.struct_class = Types::DeleteAccessRequest
|
200
|
+
|
169
201
|
DeleteServerRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
170
202
|
DeleteServerRequest.struct_class = Types::DeleteServerRequest
|
171
203
|
|
@@ -178,6 +210,14 @@ module Aws::Transfer
|
|
178
210
|
DeleteUserRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: UserName, required: true, location_name: "UserName"))
|
179
211
|
DeleteUserRequest.struct_class = Types::DeleteUserRequest
|
180
212
|
|
213
|
+
DescribeAccessRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
214
|
+
DescribeAccessRequest.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
|
215
|
+
DescribeAccessRequest.struct_class = Types::DescribeAccessRequest
|
216
|
+
|
217
|
+
DescribeAccessResponse.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
218
|
+
DescribeAccessResponse.add_member(:access, Shapes::ShapeRef.new(shape: DescribedAccess, required: true, location_name: "Access"))
|
219
|
+
DescribeAccessResponse.struct_class = Types::DescribeAccessResponse
|
220
|
+
|
181
221
|
DescribeSecurityPolicyRequest.add_member(:security_policy_name, Shapes::ShapeRef.new(shape: SecurityPolicyName, required: true, location_name: "SecurityPolicyName"))
|
182
222
|
DescribeSecurityPolicyRequest.struct_class = Types::DescribeSecurityPolicyRequest
|
183
223
|
|
@@ -198,6 +238,15 @@ module Aws::Transfer
|
|
198
238
|
DescribeUserResponse.add_member(:user, Shapes::ShapeRef.new(shape: DescribedUser, required: true, location_name: "User"))
|
199
239
|
DescribeUserResponse.struct_class = Types::DescribeUserResponse
|
200
240
|
|
241
|
+
DescribedAccess.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
|
242
|
+
DescribedAccess.add_member(:home_directory_mappings, Shapes::ShapeRef.new(shape: HomeDirectoryMappings, location_name: "HomeDirectoryMappings"))
|
243
|
+
DescribedAccess.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
|
244
|
+
DescribedAccess.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
|
245
|
+
DescribedAccess.add_member(:posix_profile, Shapes::ShapeRef.new(shape: PosixProfile, location_name: "PosixProfile"))
|
246
|
+
DescribedAccess.add_member(:role, Shapes::ShapeRef.new(shape: Role, location_name: "Role"))
|
247
|
+
DescribedAccess.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "ExternalId"))
|
248
|
+
DescribedAccess.struct_class = Types::DescribedAccess
|
249
|
+
|
201
250
|
DescribedSecurityPolicy.add_member(:fips, Shapes::ShapeRef.new(shape: Fips, location_name: "Fips"))
|
202
251
|
DescribedSecurityPolicy.add_member(:security_policy_name, Shapes::ShapeRef.new(shape: SecurityPolicyName, required: true, location_name: "SecurityPolicyName"))
|
203
252
|
DescribedSecurityPolicy.add_member(:ssh_ciphers, Shapes::ShapeRef.new(shape: SecurityPolicyOptions, location_name: "SshCiphers"))
|
@@ -250,6 +299,7 @@ module Aws::Transfer
|
|
250
299
|
|
251
300
|
IdentityProviderDetails.add_member(:url, Shapes::ShapeRef.new(shape: Url, location_name: "Url"))
|
252
301
|
IdentityProviderDetails.add_member(:invocation_role, Shapes::ShapeRef.new(shape: Role, location_name: "InvocationRole"))
|
302
|
+
IdentityProviderDetails.add_member(:directory_id, Shapes::ShapeRef.new(shape: DirectoryId, location_name: "DirectoryId"))
|
253
303
|
IdentityProviderDetails.struct_class = Types::IdentityProviderDetails
|
254
304
|
|
255
305
|
ImportSshPublicKeyRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
@@ -271,6 +321,16 @@ module Aws::Transfer
|
|
271
321
|
InvalidRequestException.add_member(:message, Shapes::ShapeRef.new(shape: Message, required: true, location_name: "Message"))
|
272
322
|
InvalidRequestException.struct_class = Types::InvalidRequestException
|
273
323
|
|
324
|
+
ListAccessesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
|
325
|
+
ListAccessesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
|
326
|
+
ListAccessesRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
327
|
+
ListAccessesRequest.struct_class = Types::ListAccessesRequest
|
328
|
+
|
329
|
+
ListAccessesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
|
330
|
+
ListAccessesResponse.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
331
|
+
ListAccessesResponse.add_member(:accesses, Shapes::ShapeRef.new(shape: ListedAccesses, required: true, location_name: "Accesses"))
|
332
|
+
ListAccessesResponse.struct_class = Types::ListAccessesResponse
|
333
|
+
|
274
334
|
ListSecurityPoliciesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
|
275
335
|
ListSecurityPoliciesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
|
276
336
|
ListSecurityPoliciesRequest.struct_class = Types::ListSecurityPoliciesRequest
|
@@ -307,6 +367,14 @@ module Aws::Transfer
|
|
307
367
|
ListUsersResponse.add_member(:users, Shapes::ShapeRef.new(shape: ListedUsers, required: true, location_name: "Users"))
|
308
368
|
ListUsersResponse.struct_class = Types::ListUsersResponse
|
309
369
|
|
370
|
+
ListedAccess.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
|
371
|
+
ListedAccess.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
|
372
|
+
ListedAccess.add_member(:role, Shapes::ShapeRef.new(shape: Role, location_name: "Role"))
|
373
|
+
ListedAccess.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, location_name: "ExternalId"))
|
374
|
+
ListedAccess.struct_class = Types::ListedAccess
|
375
|
+
|
376
|
+
ListedAccesses.member = Shapes::ShapeRef.new(shape: ListedAccess)
|
377
|
+
|
310
378
|
ListedServer.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
|
311
379
|
ListedServer.add_member(:domain, Shapes::ShapeRef.new(shape: Domain, location_name: "Domain"))
|
312
380
|
ListedServer.add_member(:identity_provider_type, Shapes::ShapeRef.new(shape: IdentityProviderType, location_name: "IdentityProviderType"))
|
@@ -404,6 +472,20 @@ module Aws::Transfer
|
|
404
472
|
UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
|
405
473
|
UntagResourceRequest.struct_class = Types::UntagResourceRequest
|
406
474
|
|
475
|
+
UpdateAccessRequest.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
|
476
|
+
UpdateAccessRequest.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
|
477
|
+
UpdateAccessRequest.add_member(:home_directory_mappings, Shapes::ShapeRef.new(shape: HomeDirectoryMappings, location_name: "HomeDirectoryMappings"))
|
478
|
+
UpdateAccessRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
|
479
|
+
UpdateAccessRequest.add_member(:posix_profile, Shapes::ShapeRef.new(shape: PosixProfile, location_name: "PosixProfile"))
|
480
|
+
UpdateAccessRequest.add_member(:role, Shapes::ShapeRef.new(shape: Role, location_name: "Role"))
|
481
|
+
UpdateAccessRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
482
|
+
UpdateAccessRequest.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
|
483
|
+
UpdateAccessRequest.struct_class = Types::UpdateAccessRequest
|
484
|
+
|
485
|
+
UpdateAccessResponse.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
|
486
|
+
UpdateAccessResponse.add_member(:external_id, Shapes::ShapeRef.new(shape: ExternalId, required: true, location_name: "ExternalId"))
|
487
|
+
UpdateAccessResponse.struct_class = Types::UpdateAccessResponse
|
488
|
+
|
407
489
|
UpdateServerRequest.add_member(:certificate, Shapes::ShapeRef.new(shape: Certificate, location_name: "Certificate"))
|
408
490
|
UpdateServerRequest.add_member(:endpoint_details, Shapes::ShapeRef.new(shape: EndpointDetails, location_name: "EndpointDetails"))
|
409
491
|
UpdateServerRequest.add_member(:endpoint_type, Shapes::ShapeRef.new(shape: EndpointType, location_name: "EndpointType"))
|
@@ -452,6 +534,19 @@ module Aws::Transfer
|
|
452
534
|
"uid" => "transfer-2018-11-05",
|
453
535
|
}
|
454
536
|
|
537
|
+
api.add_operation(:create_access, Seahorse::Model::Operation.new.tap do |o|
|
538
|
+
o.name = "CreateAccess"
|
539
|
+
o.http_method = "POST"
|
540
|
+
o.http_request_uri = "/"
|
541
|
+
o.input = Shapes::ShapeRef.new(shape: CreateAccessRequest)
|
542
|
+
o.output = Shapes::ShapeRef.new(shape: CreateAccessResponse)
|
543
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
544
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
|
545
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
546
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
|
547
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
548
|
+
end)
|
549
|
+
|
455
550
|
api.add_operation(:create_server, Seahorse::Model::Operation.new.tap do |o|
|
456
551
|
o.name = "CreateServer"
|
457
552
|
o.http_method = "POST"
|
@@ -479,6 +574,18 @@ module Aws::Transfer
|
|
479
574
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
480
575
|
end)
|
481
576
|
|
577
|
+
api.add_operation(:delete_access, Seahorse::Model::Operation.new.tap do |o|
|
578
|
+
o.name = "DeleteAccess"
|
579
|
+
o.http_method = "POST"
|
580
|
+
o.http_request_uri = "/"
|
581
|
+
o.input = Shapes::ShapeRef.new(shape: DeleteAccessRequest)
|
582
|
+
o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
|
583
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
584
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
|
585
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
586
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
587
|
+
end)
|
588
|
+
|
482
589
|
api.add_operation(:delete_server, Seahorse::Model::Operation.new.tap do |o|
|
483
590
|
o.name = "DeleteServer"
|
484
591
|
o.http_method = "POST"
|
@@ -517,6 +624,18 @@ module Aws::Transfer
|
|
517
624
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
518
625
|
end)
|
519
626
|
|
627
|
+
api.add_operation(:describe_access, Seahorse::Model::Operation.new.tap do |o|
|
628
|
+
o.name = "DescribeAccess"
|
629
|
+
o.http_method = "POST"
|
630
|
+
o.http_request_uri = "/"
|
631
|
+
o.input = Shapes::ShapeRef.new(shape: DescribeAccessRequest)
|
632
|
+
o.output = Shapes::ShapeRef.new(shape: DescribeAccessResponse)
|
633
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
634
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
|
635
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
636
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
637
|
+
end)
|
638
|
+
|
520
639
|
api.add_operation(:describe_security_policy, Seahorse::Model::Operation.new.tap do |o|
|
521
640
|
o.name = "DescribeSecurityPolicy"
|
522
641
|
o.http_method = "POST"
|
@@ -567,6 +686,25 @@ module Aws::Transfer
|
|
567
686
|
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
568
687
|
end)
|
569
688
|
|
689
|
+
api.add_operation(:list_accesses, Seahorse::Model::Operation.new.tap do |o|
|
690
|
+
o.name = "ListAccesses"
|
691
|
+
o.http_method = "POST"
|
692
|
+
o.http_request_uri = "/"
|
693
|
+
o.input = Shapes::ShapeRef.new(shape: ListAccessesRequest)
|
694
|
+
o.output = Shapes::ShapeRef.new(shape: ListAccessesResponse)
|
695
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
696
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
|
697
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
698
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
699
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
700
|
+
o[:pager] = Aws::Pager.new(
|
701
|
+
limit_key: "max_results",
|
702
|
+
tokens: {
|
703
|
+
"next_token" => "next_token"
|
704
|
+
}
|
705
|
+
)
|
706
|
+
end)
|
707
|
+
|
570
708
|
api.add_operation(:list_security_policies, Seahorse::Model::Operation.new.tap do |o|
|
571
709
|
o.name = "ListSecurityPolicies"
|
572
710
|
o.http_method = "POST"
|
@@ -702,6 +840,19 @@ module Aws::Transfer
|
|
702
840
|
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
703
841
|
end)
|
704
842
|
|
843
|
+
api.add_operation(:update_access, Seahorse::Model::Operation.new.tap do |o|
|
844
|
+
o.name = "UpdateAccess"
|
845
|
+
o.http_method = "POST"
|
846
|
+
o.http_request_uri = "/"
|
847
|
+
o.input = Shapes::ShapeRef.new(shape: UpdateAccessRequest)
|
848
|
+
o.output = Shapes::ShapeRef.new(shape: UpdateAccessResponse)
|
849
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
850
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
|
851
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
|
852
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
|
853
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
854
|
+
end)
|
855
|
+
|
705
856
|
api.add_operation(:update_server, Seahorse::Model::Operation.new.tap do |o|
|
706
857
|
o.name = "UpdateServer"
|
707
858
|
o.http_method = "POST"
|
@@ -38,6 +38,194 @@ module Aws::Transfer
|
|
38
38
|
include Aws::Structure
|
39
39
|
end
|
40
40
|
|
41
|
+
# @note When making an API call, you may pass CreateAccessRequest
|
42
|
+
# data as a hash:
|
43
|
+
#
|
44
|
+
# {
|
45
|
+
# home_directory: "HomeDirectory",
|
46
|
+
# home_directory_type: "PATH", # accepts PATH, LOGICAL
|
47
|
+
# home_directory_mappings: [
|
48
|
+
# {
|
49
|
+
# entry: "MapEntry", # required
|
50
|
+
# target: "MapTarget", # required
|
51
|
+
# },
|
52
|
+
# ],
|
53
|
+
# policy: "Policy",
|
54
|
+
# posix_profile: {
|
55
|
+
# uid: 1, # required
|
56
|
+
# gid: 1, # required
|
57
|
+
# secondary_gids: [1],
|
58
|
+
# },
|
59
|
+
# role: "Role", # required
|
60
|
+
# server_id: "ServerId", # required
|
61
|
+
# external_id: "ExternalId", # required
|
62
|
+
# }
|
63
|
+
#
|
64
|
+
# @!attribute [rw] home_directory
|
65
|
+
# The landing directory (folder) for a user when they log in to the
|
66
|
+
# server using the client.
|
67
|
+
#
|
68
|
+
# A `HomeDirectory` example is `/directory_name/home/mydirectory`.
|
69
|
+
# @return [String]
|
70
|
+
#
|
71
|
+
# @!attribute [rw] home_directory_type
|
72
|
+
# The type of landing directory (folder) that you want your users'
|
73
|
+
# home directory to be when they log in to the server. If you set it
|
74
|
+
# to `PATH`, the user will see the absolute Amazon S3 bucket paths as
|
75
|
+
# is in their file transfer protocol clients. If you set it `LOGICAL`,
|
76
|
+
# you must provide mappings in the `HomeDirectoryMappings` for how you
|
77
|
+
# want to make Amazon S3 paths visible to your users.
|
78
|
+
# @return [String]
|
79
|
+
#
|
80
|
+
# @!attribute [rw] home_directory_mappings
|
81
|
+
# Logical directory mappings that specify what Amazon S3 or Amazon EFS
|
82
|
+
# paths and keys should be visible to your user and how you want to
|
83
|
+
# make them visible. You must specify the `Entry` and `Target` pair,
|
84
|
+
# where `Entry` shows how the path is made visible and `Target` is the
|
85
|
+
# actual Amazon S3 or Amazon EFS path. If you only specify a target,
|
86
|
+
# it will be displayed as is. You also must ensure that your AWS
|
87
|
+
# Identity and Access Management (IAM) role provides access to paths
|
88
|
+
# in `Target`. This value can only be set when `HomeDirectoryType` is
|
89
|
+
# set to *LOGICAL*.
|
90
|
+
#
|
91
|
+
# The following is an `Entry` and `Target` pair example.
|
92
|
+
#
|
93
|
+
# `[ \{ "Entry": "your-personal-report.pdf", "Target":
|
94
|
+
# "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]`
|
95
|
+
#
|
96
|
+
# In most cases, you can use this value instead of the scope-down
|
97
|
+
# policy to lock down your user to the designated home directory
|
98
|
+
# ("`chroot`"). To do this, you can set `Entry` to `/` and set
|
99
|
+
# `Target` to the `HomeDirectory` parameter value.
|
100
|
+
#
|
101
|
+
# The following is an `Entry` and `Target` pair example for `chroot`.
|
102
|
+
#
|
103
|
+
# `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
|
104
|
+
#
|
105
|
+
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
|
106
|
+
# S3 or Amazon EFS, the entry will be ignored. As a workaround, you
|
107
|
+
# can use the Amazon S3 API or EFS API to create 0-byte objects as
|
108
|
+
# place holders for your directory. If using the AWS CLI, use the
|
109
|
+
# `s3api` or `efsapi` call instead of `s3` or `efs` so you can use the
|
110
|
+
# `put-object` operation. For example, you can use the following.
|
111
|
+
#
|
112
|
+
# `aws s3api put-object --bucket bucketname --key path/to/folder/`
|
113
|
+
#
|
114
|
+
# The end of the key name must end in a `/` for it to be considered a
|
115
|
+
# folder.
|
116
|
+
#
|
117
|
+
# </note>
|
118
|
+
#
|
119
|
+
# Required: No
|
120
|
+
# @return [Array<Types::HomeDirectoryMapEntry>]
|
121
|
+
#
|
122
|
+
# @!attribute [rw] policy
|
123
|
+
# A scope-down policy for your user so that you can use the same IAM
|
124
|
+
# role across multiple users. This policy scopes down user access to
|
125
|
+
# portions of their Amazon S3 bucket. Variables that you can use
|
126
|
+
# inside this policy include `$\{Transfer:UserName\}`,
|
127
|
+
# `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
|
128
|
+
#
|
129
|
+
# <note markdown="1"> This only applies when domain of `ServerId` is S3. Amazon EFS does
|
130
|
+
# not use scope down policy.
|
131
|
+
#
|
132
|
+
# For scope-down policies, AWS Transfer Family stores the policy as a
|
133
|
+
# JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
|
134
|
+
# You save the policy as a JSON blob and pass it in the `Policy`
|
135
|
+
# argument.
|
136
|
+
#
|
137
|
+
# For an example of a scope-down policy, see [Example scope-down
|
138
|
+
# policy][1].
|
139
|
+
#
|
140
|
+
# For more information, see [AssumeRole][2] in the *AWS Security Token
|
141
|
+
# Service API Reference*.
|
142
|
+
#
|
143
|
+
# </note>
|
144
|
+
#
|
145
|
+
#
|
146
|
+
#
|
147
|
+
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/scope-down-policy.html
|
148
|
+
# [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
|
149
|
+
# @return [String]
|
150
|
+
#
|
151
|
+
# @!attribute [rw] posix_profile
|
152
|
+
# The full POSIX identity, including user ID (`Uid`), group ID
|
153
|
+
# (`Gid`), and any secondary groups IDs (`SecondaryGids`), that
|
154
|
+
# controls your users' access to your Amazon EFS file systems. The
|
155
|
+
# POSIX permissions that are set on files and directories in your file
|
156
|
+
# system determine the level of access your users get when
|
157
|
+
# transferring files into and out of your Amazon EFS file systems.
|
158
|
+
# @return [Types::PosixProfile]
|
159
|
+
#
|
160
|
+
# @!attribute [rw] role
|
161
|
+
# Specifies the IAM role that controls your users' access to your
|
162
|
+
# Amazon S3 bucket or EFS file system. The policies attached to this
|
163
|
+
# role determine the level of access that you want to provide your
|
164
|
+
# users when transferring files into and out of your Amazon S3 bucket
|
165
|
+
# or EFS file system. The IAM role should also contain a trust
|
166
|
+
# relationship that allows the server to access your resources when
|
167
|
+
# servicing your users' transfer requests.
|
168
|
+
# @return [String]
|
169
|
+
#
|
170
|
+
# @!attribute [rw] server_id
|
171
|
+
# A system-assigned unique identifier for a server instance. This is
|
172
|
+
# the specific server that you added your user to.
|
173
|
+
# @return [String]
|
174
|
+
#
|
175
|
+
# @!attribute [rw] external_id
|
176
|
+
# A unique identifier that is required to identify specific groups
|
177
|
+
# within your directory. The users of the group that you associate
|
178
|
+
# have access to your Amazon S3 or Amazon EFS resources over the
|
179
|
+
# enabled protocols using AWS Transfer Family. If you know the group
|
180
|
+
# name, you can view the SID values by running the following command
|
181
|
+
# using Windows PowerShell.
|
182
|
+
#
|
183
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
184
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
185
|
+
#
|
186
|
+
# In that command, replace *YourGroupName* with the name of your
|
187
|
+
# Active Directory group.
|
188
|
+
#
|
189
|
+
# The regex used to validate this parameter is a string of characters
|
190
|
+
# consisting of uppercase and lowercase alphanumeric characters with
|
191
|
+
# no spaces. You can also include underscores or any of the following
|
192
|
+
# characters: =,.@:/-
|
193
|
+
# @return [String]
|
194
|
+
#
|
195
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAccessRequest AWS API Documentation
|
196
|
+
#
|
197
|
+
class CreateAccessRequest < Struct.new(
|
198
|
+
:home_directory,
|
199
|
+
:home_directory_type,
|
200
|
+
:home_directory_mappings,
|
201
|
+
:policy,
|
202
|
+
:posix_profile,
|
203
|
+
:role,
|
204
|
+
:server_id,
|
205
|
+
:external_id)
|
206
|
+
SENSITIVE = []
|
207
|
+
include Aws::Structure
|
208
|
+
end
|
209
|
+
|
210
|
+
# @!attribute [rw] server_id
|
211
|
+
# The ID of the server that the user is attached to.
|
212
|
+
# @return [String]
|
213
|
+
#
|
214
|
+
# @!attribute [rw] external_id
|
215
|
+
# The external ID of the group whose users have access to your Amazon
|
216
|
+
# S3 or Amazon EFS resources over the enabled protocols using AWS
|
217
|
+
# Transfer Family.
|
218
|
+
# @return [String]
|
219
|
+
#
|
220
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAccessResponse AWS API Documentation
|
221
|
+
#
|
222
|
+
class CreateAccessResponse < Struct.new(
|
223
|
+
:server_id,
|
224
|
+
:external_id)
|
225
|
+
SENSITIVE = []
|
226
|
+
include Aws::Structure
|
227
|
+
end
|
228
|
+
|
41
229
|
# @note When making an API call, you may pass CreateServerRequest
|
42
230
|
# data as a hash:
|
43
231
|
#
|
@@ -56,8 +244,9 @@ module Aws::Transfer
|
|
56
244
|
# identity_provider_details: {
|
57
245
|
# url: "Url",
|
58
246
|
# invocation_role: "Role",
|
247
|
+
# directory_id: "DirectoryId",
|
59
248
|
# },
|
60
|
-
# identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
|
249
|
+
# identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY, AWS_DIRECTORY_SERVICE
|
61
250
|
# logging_role: "Role",
|
62
251
|
# protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
|
63
252
|
# security_policy_name: "SecurityPolicyName",
|
@@ -110,24 +299,44 @@ module Aws::Transfer
|
|
110
299
|
# @return [String]
|
111
300
|
#
|
112
301
|
# @!attribute [rw] domain
|
302
|
+
# The domain of the storage system that is used for file transfers.
|
303
|
+
# There are two domains available: Amazon Simple Storage Service
|
304
|
+
# (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default
|
305
|
+
# value is S3.
|
306
|
+
#
|
307
|
+
# <note markdown="1"> After the server is created, the domain cannot be changed.
|
308
|
+
#
|
309
|
+
# </note>
|
113
310
|
# @return [String]
|
114
311
|
#
|
115
312
|
# @!attribute [rw] endpoint_details
|
116
313
|
# The virtual private cloud (VPC) endpoint settings that are
|
117
314
|
# configured for your server. When you host your endpoint within your
|
118
315
|
# VPC, you can make it accessible only to resources within your VPC,
|
119
|
-
# or you can attach Elastic
|
120
|
-
# the internet. Your VPC's default security groups are
|
121
|
-
# assigned to your endpoint.
|
316
|
+
# or you can attach Elastic IP addresses and make it accessible to
|
317
|
+
# clients over the internet. Your VPC's default security groups are
|
318
|
+
# automatically assigned to your endpoint.
|
122
319
|
# @return [Types::EndpointDetails]
|
123
320
|
#
|
124
321
|
# @!attribute [rw] endpoint_type
|
125
|
-
# The type of
|
126
|
-
#
|
127
|
-
#
|
128
|
-
#
|
129
|
-
#
|
130
|
-
#
|
322
|
+
# The type of endpoint that you want your server to use. You can
|
323
|
+
# choose to make your server's endpoint publicly accessible (PUBLIC)
|
324
|
+
# or host it inside your VPC. With an endpoint that is hosted in a
|
325
|
+
# VPC, you can restrict access to your server and resources only
|
326
|
+
# within your VPC or choose to make it internet facing by attaching
|
327
|
+
# Elastic IP addresses directly to it.
|
328
|
+
#
|
329
|
+
# <note markdown="1"> After March 31, 2021, you won't be able to create a server using
|
330
|
+
# `EndpointType=VPC_ENDPOINT` in your AWS account if your account
|
331
|
+
# hasn't already done so before March 31, 2021. If you have already
|
332
|
+
# created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
|
333
|
+
# on or before March 31, 2021, you will not be affected. After this
|
334
|
+
# date, use `EndpointType`=`VPC`.
|
335
|
+
#
|
336
|
+
# For more information, see
|
337
|
+
# https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
|
338
|
+
#
|
339
|
+
# It is recommended that you use `VPC` as the `EndpointType`. With
|
131
340
|
# this endpoint type, you have the option to directly associate up to
|
132
341
|
# three Elastic IPv4 addresses (BYO IP included) with your server's
|
133
342
|
# endpoint and use VPC security groups to restrict traffic by the
|
@@ -154,20 +363,26 @@ module Aws::Transfer
|
|
154
363
|
# @return [String]
|
155
364
|
#
|
156
365
|
# @!attribute [rw] identity_provider_details
|
157
|
-
# Required when `IdentityProviderType` is set to
|
158
|
-
# Accepts an array
|
159
|
-
#
|
160
|
-
#
|
161
|
-
#
|
366
|
+
# Required when `IdentityProviderType` is set to
|
367
|
+
# `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`. Accepts an array
|
368
|
+
# containing all of the information required to use a directory in
|
369
|
+
# `AWS_DIRECTORY_SERVICE` or invoke a customer-supplied authentication
|
370
|
+
# API, including the API Gateway URL. Not required when
|
371
|
+
# `IdentityProviderType` is set to `SERVICE_MANAGED`.
|
162
372
|
# @return [Types::IdentityProviderDetails]
|
163
373
|
#
|
164
374
|
# @!attribute [rw] identity_provider_type
|
165
375
|
# Specifies the mode of authentication for a server. The default value
|
166
376
|
# is `SERVICE_MANAGED`, which allows you to store and access user
|
167
|
-
# credentials within the AWS Transfer Family service. Use
|
168
|
-
# `
|
169
|
-
#
|
170
|
-
#
|
377
|
+
# credentials within the AWS Transfer Family service. Use
|
378
|
+
# `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups
|
379
|
+
# in AWS Managed Active Directory or Microsoft Active Directory in
|
380
|
+
# your on-premises environment or in AWS using AD Connectors. This
|
381
|
+
# option also requires you to provide a Directory ID using the
|
382
|
+
# `IdentityProviderDetails` parameter. Use the `API_GATEWAY` value to
|
383
|
+
# integrate with an identity provider of your choosing. The
|
384
|
+
# `API_GATEWAY` setting requires you to provide an API Gateway
|
385
|
+
# endpoint URL to call for authentication using the
|
171
386
|
# `IdentityProviderDetails` parameter.
|
172
387
|
# @return [String]
|
173
388
|
#
|
@@ -195,7 +410,7 @@ module Aws::Transfer
|
|
195
410
|
#
|
196
411
|
# If `Protocol` includes either `FTP` or `FTPS`, then the
|
197
412
|
# `EndpointType` must be `VPC` and the `IdentityProviderType` must be
|
198
|
-
# `API_GATEWAY`.
|
413
|
+
# `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
|
199
414
|
#
|
200
415
|
# If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
|
201
416
|
# associated.
|
@@ -280,8 +495,7 @@ module Aws::Transfer
|
|
280
495
|
# The landing directory (folder) for a user when they log in to the
|
281
496
|
# server using the client.
|
282
497
|
#
|
283
|
-
#
|
284
|
-
# <code>your-Amazon-S3-bucket-name>/home/username</code> </i>.
|
498
|
+
# A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
|
285
499
|
# @return [String]
|
286
500
|
#
|
287
501
|
# @!attribute [rw] home_directory_type
|
@@ -294,32 +508,37 @@ module Aws::Transfer
|
|
294
508
|
# @return [String]
|
295
509
|
#
|
296
510
|
# @!attribute [rw] home_directory_mappings
|
297
|
-
# Logical directory mappings that specify what Amazon S3 paths
|
298
|
-
# keys should be visible to your user and how you want to make
|
299
|
-
# visible. You will need to specify the
|
511
|
+
# Logical directory mappings that specify what Amazon S3 or EFS paths
|
512
|
+
# and keys should be visible to your user and how you want to make
|
513
|
+
# them visible. You will need to specify the `Entry` and `Target`
|
300
514
|
# pair, where `Entry` shows how the path is made visible and `Target`
|
301
|
-
# is the actual Amazon S3 path. If you only specify a target,
|
302
|
-
# be displayed as is. You will need to also make sure that
|
303
|
-
# role provides access to paths in `Target`.
|
304
|
-
#
|
515
|
+
# is the actual Amazon S3 or EFS path. If you only specify a target,
|
516
|
+
# it will be displayed as is. You will need to also make sure that
|
517
|
+
# your IAM role provides access to paths in `Target`. This value can
|
518
|
+
# only be set when `HomeDirectoryType` is set to `LOGICAL`.
|
305
519
|
#
|
306
|
-
# `
|
307
|
-
#
|
308
|
-
# "
|
520
|
+
# The following is an `Entry` and `Target` pair example.
|
521
|
+
#
|
522
|
+
# `[ \{ "Entry": "your-personal-report.pdf", "Target":
|
523
|
+
# "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]`
|
309
524
|
#
|
310
525
|
# In most cases, you can use this value instead of the scope-down
|
311
526
|
# policy to lock your user down to the designated home directory
|
312
|
-
# ("chroot"). To do this, you can set `Entry` to
|
527
|
+
# ("`chroot`"). To do this, you can set `Entry` to `/` and set
|
313
528
|
# `Target` to the HomeDirectory parameter value.
|
314
529
|
#
|
530
|
+
# The following is an `Entry` and `Target` pair example for `chroot`.
|
531
|
+
#
|
532
|
+
# `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
|
533
|
+
#
|
315
534
|
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
|
316
|
-
# S3, the entry will be ignored. As a workaround, you can use
|
317
|
-
# Amazon S3 API to create 0 byte objects as place
|
318
|
-
# directory. If using the CLI, use the `s3api`
|
319
|
-
#
|
320
|
-
# following: `aws s3api put-object
|
321
|
-
# path/to/folder/`. Make sure that the end
|
322
|
-
#
|
535
|
+
# S3 or EFS, the entry will be ignored. As a workaround, you can use
|
536
|
+
# the Amazon S3 API or EFS API to create 0 byte objects as place
|
537
|
+
# holders for your directory. If using the CLI, use the `s3api` or
|
538
|
+
# `efsapi` call instead of `s3` or `efs` so you can use the put-object
|
539
|
+
# operation. For example, you use the following: `aws s3api put-object
|
540
|
+
# --bucket bucketname --key path/to/folder/`. Make sure that the end
|
541
|
+
# of the key name ends in a `/` for it to be considered a folder.
|
323
542
|
#
|
324
543
|
# </note>
|
325
544
|
# @return [Array<Types::HomeDirectoryMapEntry>]
|
@@ -331,12 +550,15 @@ module Aws::Transfer
|
|
331
550
|
# inside this policy include `$\{Transfer:UserName\}`,
|
332
551
|
# `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
|
333
552
|
#
|
334
|
-
# <note markdown="1">
|
553
|
+
# <note markdown="1"> This only applies when domain of ServerId is S3. EFS does not use
|
554
|
+
# scope down policy.
|
555
|
+
#
|
556
|
+
# For scope-down policies, AWS Transfer Family stores the policy as a
|
335
557
|
# JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
|
336
558
|
# You save the policy as a JSON blob and pass it in the `Policy`
|
337
559
|
# argument.
|
338
560
|
#
|
339
|
-
# For an example of a scope-down policy, see [
|
561
|
+
# For an example of a scope-down policy, see [Example scope-down
|
340
562
|
# policy][1].
|
341
563
|
#
|
342
564
|
# For more information, see [AssumeRole][2] in the *AWS Security Token
|
@@ -346,20 +568,27 @@ module Aws::Transfer
|
|
346
568
|
#
|
347
569
|
#
|
348
570
|
#
|
349
|
-
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/
|
571
|
+
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/scope-down-policy.html
|
350
572
|
# [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
|
351
573
|
# @return [String]
|
352
574
|
#
|
353
575
|
# @!attribute [rw] posix_profile
|
576
|
+
# Specifies the full POSIX identity, including user ID (`Uid`), group
|
577
|
+
# ID (`Gid`), and any secondary groups IDs (`SecondaryGids`), that
|
578
|
+
# controls your users' access to your Amazon EFS file systems. The
|
579
|
+
# POSIX permissions that are set on files and directories in Amazon
|
580
|
+
# EFS determine the level of access your users get when transferring
|
581
|
+
# files into and out of your Amazon EFS file systems.
|
354
582
|
# @return [Types::PosixProfile]
|
355
583
|
#
|
356
584
|
# @!attribute [rw] role
|
357
|
-
#
|
358
|
-
# bucket. The policies attached to this
|
359
|
-
# of access you want to provide your
|
360
|
-
# into and out of your Amazon S3 bucket
|
361
|
-
#
|
362
|
-
#
|
585
|
+
# Specifies the IAM role that controls your users' access to your
|
586
|
+
# Amazon S3 bucket or EFS file system. The policies attached to this
|
587
|
+
# role will determine the level of access you want to provide your
|
588
|
+
# users when transferring files into and out of your Amazon S3 bucket
|
589
|
+
# or EFS file system. The IAM role should also contain a trust
|
590
|
+
# relationship that allows the server to access your resources when
|
591
|
+
# servicing your users' transfer requests.
|
363
592
|
# @return [String]
|
364
593
|
#
|
365
594
|
# @!attribute [rw] server_id
|
@@ -421,6 +650,48 @@ module Aws::Transfer
|
|
421
650
|
include Aws::Structure
|
422
651
|
end
|
423
652
|
|
653
|
+
# @note When making an API call, you may pass DeleteAccessRequest
|
654
|
+
# data as a hash:
|
655
|
+
#
|
656
|
+
# {
|
657
|
+
# server_id: "ServerId", # required
|
658
|
+
# external_id: "ExternalId", # required
|
659
|
+
# }
|
660
|
+
#
|
661
|
+
# @!attribute [rw] server_id
|
662
|
+
# A system-assigned unique identifier for a server that has this user
|
663
|
+
# assigned.
|
664
|
+
# @return [String]
|
665
|
+
#
|
666
|
+
# @!attribute [rw] external_id
|
667
|
+
# A unique identifier that is required to identify specific groups
|
668
|
+
# within your directory. The users of the group that you associate
|
669
|
+
# have access to your Amazon S3 or Amazon EFS resources over the
|
670
|
+
# enabled protocols using AWS Transfer Family. If you know the group
|
671
|
+
# name, you can view the SID values by running the following command
|
672
|
+
# using Windows PowerShell.
|
673
|
+
#
|
674
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
675
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
676
|
+
#
|
677
|
+
# In that command, replace *YourGroupName* with the name of your
|
678
|
+
# Active Directory group.
|
679
|
+
#
|
680
|
+
# The regex used to validate this parameter is a string of characters
|
681
|
+
# consisting of uppercase and lowercase alphanumeric characters with
|
682
|
+
# no spaces. You can also include underscores or any of the following
|
683
|
+
# characters: =,.@:/-
|
684
|
+
# @return [String]
|
685
|
+
#
|
686
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAccessRequest AWS API Documentation
|
687
|
+
#
|
688
|
+
class DeleteAccessRequest < Struct.new(
|
689
|
+
:server_id,
|
690
|
+
:external_id)
|
691
|
+
SENSITIVE = []
|
692
|
+
include Aws::Structure
|
693
|
+
end
|
694
|
+
|
424
695
|
# @note When making an API call, you may pass DeleteServerRequest
|
425
696
|
# data as a hash:
|
426
697
|
#
|
@@ -500,6 +771,66 @@ module Aws::Transfer
|
|
500
771
|
include Aws::Structure
|
501
772
|
end
|
502
773
|
|
774
|
+
# @note When making an API call, you may pass DescribeAccessRequest
|
775
|
+
# data as a hash:
|
776
|
+
#
|
777
|
+
# {
|
778
|
+
# server_id: "ServerId", # required
|
779
|
+
# external_id: "ExternalId", # required
|
780
|
+
# }
|
781
|
+
#
|
782
|
+
# @!attribute [rw] server_id
|
783
|
+
# A system-assigned unique identifier for a server that has this
|
784
|
+
# access assigned.
|
785
|
+
# @return [String]
|
786
|
+
#
|
787
|
+
# @!attribute [rw] external_id
|
788
|
+
# A unique identifier that is required to identify specific groups
|
789
|
+
# within your directory. The users of the group you associate have
|
790
|
+
# access to your Amazon S3 or Amazon EFS resources over the enabled
|
791
|
+
# protocols using AWS Transfer Family. If you know the group name, you
|
792
|
+
# can view the SID values by running the following command using
|
793
|
+
# Windows PowerShell.
|
794
|
+
#
|
795
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
796
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
797
|
+
#
|
798
|
+
# In that command, replace *YourGroupName* with the name of your
|
799
|
+
# Active Directory group.
|
800
|
+
#
|
801
|
+
# The regex used to validate this parameter is a string of characters
|
802
|
+
# consisting of uppercase and lowercase alphanumeric characters with
|
803
|
+
# no spaces. You can also include underscores or any of the following
|
804
|
+
# characters: =,.@:/-
|
805
|
+
# @return [String]
|
806
|
+
#
|
807
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccessRequest AWS API Documentation
|
808
|
+
#
|
809
|
+
class DescribeAccessRequest < Struct.new(
|
810
|
+
:server_id,
|
811
|
+
:external_id)
|
812
|
+
SENSITIVE = []
|
813
|
+
include Aws::Structure
|
814
|
+
end
|
815
|
+
|
816
|
+
# @!attribute [rw] server_id
|
817
|
+
# A system-assigned unique identifier for a server that has this
|
818
|
+
# access assigned.
|
819
|
+
# @return [String]
|
820
|
+
#
|
821
|
+
# @!attribute [rw] access
|
822
|
+
# The external ID of the server that the access is attached to.
|
823
|
+
# @return [Types::DescribedAccess]
|
824
|
+
#
|
825
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccessResponse AWS API Documentation
|
826
|
+
#
|
827
|
+
class DescribeAccessResponse < Struct.new(
|
828
|
+
:server_id,
|
829
|
+
:access)
|
830
|
+
SENSITIVE = []
|
831
|
+
include Aws::Structure
|
832
|
+
end
|
833
|
+
|
503
834
|
# @note When making an API call, you may pass DescribeSecurityPolicyRequest
|
504
835
|
# data as a hash:
|
505
836
|
#
|
@@ -611,6 +942,100 @@ module Aws::Transfer
|
|
611
942
|
include Aws::Structure
|
612
943
|
end
|
613
944
|
|
945
|
+
# Describes the properties of the access that was specified.
|
946
|
+
#
|
947
|
+
# @!attribute [rw] home_directory
|
948
|
+
# Specifies the landing directory (or folder), which is the location
|
949
|
+
# that files are written to or read from in an Amazon S3 bucket, for
|
950
|
+
# the described access.
|
951
|
+
# @return [String]
|
952
|
+
#
|
953
|
+
# @!attribute [rw] home_directory_mappings
|
954
|
+
# Specifies the logical directory mappings that specify what Amazon S3
|
955
|
+
# or Amazon EFS paths and keys should be visible to the associated
|
956
|
+
# access and how you want to make them visible. You must specify the
|
957
|
+
# "`Entry`" and "`Target`" pair, where `Entry` shows how the path
|
958
|
+
# is made visible and `Target` is the actual Amazon S3 or EFS path. If
|
959
|
+
# you only specify a target, it will be displayed as is. You also must
|
960
|
+
# ensure that your AWS Identity and Access Management (IAM) role
|
961
|
+
# provides access to paths in `Target`.
|
962
|
+
#
|
963
|
+
# In most cases, you can use this value instead of the scope-down
|
964
|
+
# policy to lock down the associated access to the designated home
|
965
|
+
# directory ("`chroot`"). To do this, you can set `Entry` to '/'
|
966
|
+
# and set `Target` to the `HomeDirectory` parameter value.
|
967
|
+
# @return [Array<Types::HomeDirectoryMapEntry>]
|
968
|
+
#
|
969
|
+
# @!attribute [rw] home_directory_type
|
970
|
+
# The type of landing directory (folder) that you want your users'
|
971
|
+
# home directory to be when they log in to the server. If you set it
|
972
|
+
# to `PATH`, the user will see the absolute Amazon S3 bucket paths as
|
973
|
+
# is in their file transfer protocol clients. If you set it to
|
974
|
+
# `LOGICAL`, you must provide mappings in the `HomeDirectoryMappings`
|
975
|
+
# for how you want to make Amazon S3 paths visible to your users.
|
976
|
+
# @return [String]
|
977
|
+
#
|
978
|
+
# @!attribute [rw] policy
|
979
|
+
# A scope-down policy for your user so that you can use the same AWS
|
980
|
+
# Identity and Access Management (IAM) role across multiple users.
|
981
|
+
# This policy scopes down user access to portions of their Amazon S3
|
982
|
+
# bucket. Variables that you can use inside this policy include
|
983
|
+
# `$\{Transfer:UserName\}`, `$\{Transfer:HomeDirectory\}`, and
|
984
|
+
# `$\{Transfer:HomeBucket\}`.
|
985
|
+
# @return [String]
|
986
|
+
#
|
987
|
+
# @!attribute [rw] posix_profile
|
988
|
+
# The full POSIX identity, including user ID (`Uid`), group ID
|
989
|
+
# (`Gid`), and any secondary groups IDs (`SecondaryGids`), that
|
990
|
+
# controls your users' access to your Amazon EFS file systems. The
|
991
|
+
# POSIX permissions that are set on files and directories in your file
|
992
|
+
# system determine the level of access your users get when
|
993
|
+
# transferring files into and out of your Amazon EFS file systems.
|
994
|
+
# @return [Types::PosixProfile]
|
995
|
+
#
|
996
|
+
# @!attribute [rw] role
|
997
|
+
# The IAM role that controls access to your Amazon S3 bucket from the
|
998
|
+
# specified associated access. The policies attached to this role will
|
999
|
+
# determine the level of access that you want to provide the
|
1000
|
+
# associated access when transferring files into and out of your
|
1001
|
+
# Amazon S3 bucket or buckets. The IAM role should also contain a
|
1002
|
+
# trust relationship that allows a server to access your resources
|
1003
|
+
# when servicing transfer requests for the associated access.
|
1004
|
+
# @return [String]
|
1005
|
+
#
|
1006
|
+
# @!attribute [rw] external_id
|
1007
|
+
# A unique identifier that might be required when you assume a role in
|
1008
|
+
# another account. Think of the `ExternalID` as a group membership
|
1009
|
+
# mechanism that uses a unique identifier (often a SID, but could be a
|
1010
|
+
# group name or something else) as a basis. If the administrator of
|
1011
|
+
# the account to which the role belongs provided you with an external
|
1012
|
+
# ID, then provide that value in the `ExternalId` parameter. A
|
1013
|
+
# cross-account role is usually set up to trust everyone in an
|
1014
|
+
# account. Therefore, the administrator of the trusting account might
|
1015
|
+
# send an external ID to the administrator of the trusted account.
|
1016
|
+
# That way, only someone with the ID can assume the role, rather than
|
1017
|
+
# everyone in the account.
|
1018
|
+
#
|
1019
|
+
# The regex used to validate this parameter is a string of characters
|
1020
|
+
# consisting of uppercase and lowercase alphanumeric characters with
|
1021
|
+
# no spaces. You can also include underscores or any of the following
|
1022
|
+
# characters: =,.@:/-
|
1023
|
+
# @return [String]
|
1024
|
+
#
|
1025
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribedAccess AWS API Documentation
|
1026
|
+
#
|
1027
|
+
class DescribedAccess < Struct.new(
|
1028
|
+
:home_directory,
|
1029
|
+
:home_directory_mappings,
|
1030
|
+
:home_directory_type,
|
1031
|
+
:policy,
|
1032
|
+
:posix_profile,
|
1033
|
+
:role,
|
1034
|
+
:external_id)
|
1035
|
+
SENSITIVE = []
|
1036
|
+
include Aws::Structure
|
1037
|
+
end
|
1038
|
+
|
614
1039
|
# Describes the properties of a security policy that was specified. For
|
615
1040
|
# more information about security policies, see [Working with security
|
616
1041
|
# policies][1].
|
@@ -677,6 +1102,8 @@ module Aws::Transfer
|
|
677
1102
|
# @return [String]
|
678
1103
|
#
|
679
1104
|
# @!attribute [rw] domain
|
1105
|
+
# Specifies the domain of the storage system that is used for file
|
1106
|
+
# transfers.
|
680
1107
|
# @return [String]
|
681
1108
|
#
|
682
1109
|
# @!attribute [rw] endpoint_details
|
@@ -699,23 +1126,26 @@ module Aws::Transfer
|
|
699
1126
|
# @!attribute [rw] identity_provider_details
|
700
1127
|
# Specifies information to call a customer-supplied authentication
|
701
1128
|
# API. This field is not populated when the `IdentityProviderType` of
|
702
|
-
# a server is `SERVICE_MANAGED`.
|
1129
|
+
# a server is `AWS_DIRECTORY_SERVICE` or `SERVICE_MANAGED`.
|
703
1130
|
# @return [Types::IdentityProviderDetails]
|
704
1131
|
#
|
705
1132
|
# @!attribute [rw] identity_provider_type
|
706
1133
|
# Specifies the mode of authentication method enabled for this
|
707
|
-
# service. A value of `
|
708
|
-
#
|
709
|
-
#
|
710
|
-
#
|
711
|
-
#
|
1134
|
+
# service. A value of `AWS_DIRECTORY_SERVICE` means that you are
|
1135
|
+
# providing access to Active Directory groups in AWS Managed Active
|
1136
|
+
# Directory or Microsoft Active Directory in your on-premises
|
1137
|
+
# environment or in AWS using AD Connectors. A value of
|
1138
|
+
# `SERVICE_MANAGED` means that you are using this server to store and
|
1139
|
+
# access user credentials within the service. A value of `API_GATEWAY`
|
1140
|
+
# indicates that you have integrated an API Gateway endpoint that will
|
1141
|
+
# be invoked for authenticating your user into the service.
|
712
1142
|
# @return [String]
|
713
1143
|
#
|
714
1144
|
# @!attribute [rw] logging_role
|
715
1145
|
# Specifies the AWS Identity and Access Management (IAM) role that
|
716
1146
|
# allows a server to turn on Amazon CloudWatch logging for Amazon S3
|
717
|
-
# events. When set, user activity can be viewed in your
|
718
|
-
# logs.
|
1147
|
+
# or Amazon EFS events. When set, user activity can be viewed in your
|
1148
|
+
# CloudWatch logs.
|
719
1149
|
# @return [String]
|
720
1150
|
#
|
721
1151
|
# @!attribute [rw] protocols
|
@@ -802,17 +1232,17 @@ module Aws::Transfer
|
|
802
1232
|
#
|
803
1233
|
# @!attribute [rw] home_directory_mappings
|
804
1234
|
# Specifies the logical directory mappings that specify what Amazon S3
|
805
|
-
# paths and keys should be visible to your user and how you
|
806
|
-
# make them visible. You will need to specify the "`Entry`"
|
807
|
-
# "`Target`" pair, where `Entry` shows how the path is made
|
808
|
-
# and `Target` is the actual Amazon S3 path. If you
|
809
|
-
# target, it will be displayed as is. You will need to
|
810
|
-
# that your AWS Identity and Access Management (IAM)
|
811
|
-
# access to paths in `Target`.
|
1235
|
+
# or EFS paths and keys should be visible to your user and how you
|
1236
|
+
# want to make them visible. You will need to specify the "`Entry`"
|
1237
|
+
# and "`Target`" pair, where `Entry` shows how the path is made
|
1238
|
+
# visible and `Target` is the actual Amazon S3 or EFS path. If you
|
1239
|
+
# only specify a target, it will be displayed as is. You will need to
|
1240
|
+
# also make sure that your AWS Identity and Access Management (IAM)
|
1241
|
+
# role provides access to paths in `Target`.
|
812
1242
|
#
|
813
1243
|
# In most cases, you can use this value instead of the scope-down
|
814
1244
|
# policy to lock your user down to the designated home directory
|
815
|
-
# ("chroot"). To do this, you can set `Entry` to '/' and set
|
1245
|
+
# ("`chroot`"). To do this, you can set `Entry` to '/' and set
|
816
1246
|
# `Target` to the HomeDirectory parameter value.
|
817
1247
|
# @return [Array<Types::HomeDirectoryMapEntry>]
|
818
1248
|
#
|
@@ -820,10 +1250,10 @@ module Aws::Transfer
|
|
820
1250
|
# Specifies the type of landing directory (folder) you mapped for your
|
821
1251
|
# users to see when they log into the file transfer protocol-enabled
|
822
1252
|
# server. If you set it to `PATH`, the user will see the absolute
|
823
|
-
# Amazon S3 bucket paths as is in their file transfer protocol
|
1253
|
+
# Amazon S3 bucket or EFS paths as is in their file transfer protocol
|
824
1254
|
# clients. If you set it `LOGICAL`, you will need to provide mappings
|
825
|
-
# in the `HomeDirectoryMappings` for how you want to make Amazon S3
|
826
|
-
# paths visible to your users.
|
1255
|
+
# in the `HomeDirectoryMappings` for how you want to make Amazon S3 or
|
1256
|
+
# EFS paths visible to your users.
|
827
1257
|
# @return [String]
|
828
1258
|
#
|
829
1259
|
# @!attribute [rw] policy
|
@@ -831,13 +1261,20 @@ module Aws::Transfer
|
|
831
1261
|
# @return [String]
|
832
1262
|
#
|
833
1263
|
# @!attribute [rw] posix_profile
|
1264
|
+
# Specifies the full POSIX identity, including user ID (`Uid`), group
|
1265
|
+
# ID (`Gid`), and any secondary groups IDs (`SecondaryGids`), that
|
1266
|
+
# controls your users' access to your Amazon Elastic File System
|
1267
|
+
# (Amazon EFS) file systems. The POSIX permissions that are set on
|
1268
|
+
# files and directories in your file system determine the level of
|
1269
|
+
# access your users get when transferring files into and out of your
|
1270
|
+
# Amazon EFS file systems.
|
834
1271
|
# @return [Types::PosixProfile]
|
835
1272
|
#
|
836
1273
|
# @!attribute [rw] role
|
837
|
-
#
|
838
|
-
#
|
839
|
-
#
|
840
|
-
#
|
1274
|
+
# The IAM role that controls your users' access to your Amazon S3
|
1275
|
+
# bucket. The policies attached to this role will determine the level
|
1276
|
+
# of access you want to provide your users when transferring files
|
1277
|
+
# into and out of your Amazon S3 bucket or buckets. The IAM role
|
841
1278
|
# should also contain a trust relationship that allows a server to
|
842
1279
|
# access your resources when servicing your users' transfer requests.
|
843
1280
|
# @return [String]
|
@@ -879,7 +1316,19 @@ module Aws::Transfer
|
|
879
1316
|
# for your file transfer protocol-enabled server. With a VPC endpoint,
|
880
1317
|
# you can restrict access to your server and resources only within your
|
881
1318
|
# VPC. To control incoming internet traffic, invoke the `UpdateServer`
|
882
|
-
# API and attach an Elastic IP to your server's endpoint.
|
1319
|
+
# API and attach an Elastic IP address to your server's endpoint.
|
1320
|
+
#
|
1321
|
+
# <note markdown="1"> After March 31, 2021, you won't be able to create a server using
|
1322
|
+
# `EndpointType=VPC_ENDPOINT` in your AWS account if your account
|
1323
|
+
# hasn't already done so before March 31, 2021. If you have already
|
1324
|
+
# created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
|
1325
|
+
# on or before March 31, 2021, you will not be affected. After this
|
1326
|
+
# date, use `EndpointType`=`VPC`.
|
1327
|
+
#
|
1328
|
+
# For more information, see
|
1329
|
+
# https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
|
1330
|
+
#
|
1331
|
+
# </note>
|
883
1332
|
#
|
884
1333
|
# @note When making an API call, you may pass EndpointDetails
|
885
1334
|
# data as a hash:
|
@@ -917,6 +1366,9 @@ module Aws::Transfer
|
|
917
1366
|
# <note markdown="1"> This property can only be set when `EndpointType` is set to
|
918
1367
|
# `VPC_ENDPOINT`.
|
919
1368
|
#
|
1369
|
+
# For more information, see
|
1370
|
+
# https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
|
1371
|
+
#
|
920
1372
|
# </note>
|
921
1373
|
# @return [String]
|
922
1374
|
#
|
@@ -934,11 +1386,18 @@ module Aws::Transfer
|
|
934
1386
|
#
|
935
1387
|
# <note markdown="1"> This property can only be set when `EndpointType` is set to `VPC`.
|
936
1388
|
#
|
937
|
-
# You can
|
938
|
-
#
|
939
|
-
# from `PUBLIC` or `VPC_ENDPOINT` to `VPC`.
|
1389
|
+
# You can edit the `SecurityGroupIds` property in the
|
1390
|
+
# [UpdateServer][1] API only if you are changing the `EndpointType`
|
1391
|
+
# from `PUBLIC` or `VPC_ENDPOINT` to `VPC`. To change security groups
|
1392
|
+
# associated with your server's VPC endpoint after creation, use the
|
1393
|
+
# Amazon EC2 [ModifyVpcEndpoint][2] API.
|
940
1394
|
#
|
941
1395
|
# </note>
|
1396
|
+
#
|
1397
|
+
#
|
1398
|
+
#
|
1399
|
+
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html
|
1400
|
+
# [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html
|
942
1401
|
# @return [Array<String>]
|
943
1402
|
#
|
944
1403
|
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/EndpointDetails AWS API Documentation
|
@@ -991,6 +1450,7 @@ module Aws::Transfer
|
|
991
1450
|
# {
|
992
1451
|
# url: "Url",
|
993
1452
|
# invocation_role: "Role",
|
1453
|
+
# directory_id: "DirectoryId",
|
994
1454
|
# }
|
995
1455
|
#
|
996
1456
|
# @!attribute [rw] url
|
@@ -1003,11 +1463,17 @@ module Aws::Transfer
|
|
1003
1463
|
# account.
|
1004
1464
|
# @return [String]
|
1005
1465
|
#
|
1466
|
+
# @!attribute [rw] directory_id
|
1467
|
+
# The identifier of the AWS Directory Service directory that you want
|
1468
|
+
# to stop sharing.
|
1469
|
+
# @return [String]
|
1470
|
+
#
|
1006
1471
|
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/IdentityProviderDetails AWS API Documentation
|
1007
1472
|
#
|
1008
1473
|
class IdentityProviderDetails < Struct.new(
|
1009
1474
|
:url,
|
1010
|
-
:invocation_role
|
1475
|
+
:invocation_role,
|
1476
|
+
:directory_id)
|
1011
1477
|
SENSITIVE = []
|
1012
1478
|
include Aws::Structure
|
1013
1479
|
end
|
@@ -1110,6 +1576,68 @@ module Aws::Transfer
|
|
1110
1576
|
include Aws::Structure
|
1111
1577
|
end
|
1112
1578
|
|
1579
|
+
# @note When making an API call, you may pass ListAccessesRequest
|
1580
|
+
# data as a hash:
|
1581
|
+
#
|
1582
|
+
# {
|
1583
|
+
# max_results: 1,
|
1584
|
+
# next_token: "NextToken",
|
1585
|
+
# server_id: "ServerId", # required
|
1586
|
+
# }
|
1587
|
+
#
|
1588
|
+
# @!attribute [rw] max_results
|
1589
|
+
# Specifies the maximum number of access SIDs to return.
|
1590
|
+
# @return [Integer]
|
1591
|
+
#
|
1592
|
+
# @!attribute [rw] next_token
|
1593
|
+
# When you can get additional results from the `ListAccesses` call, a
|
1594
|
+
# `NextToken` parameter is returned in the output. You can then pass
|
1595
|
+
# in a subsequent command to the `NextToken` parameter to continue
|
1596
|
+
# listing additional accesses.
|
1597
|
+
# @return [String]
|
1598
|
+
#
|
1599
|
+
# @!attribute [rw] server_id
|
1600
|
+
# A system-assigned unique identifier for a server that has users
|
1601
|
+
# assigned to it.
|
1602
|
+
# @return [String]
|
1603
|
+
#
|
1604
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccessesRequest AWS API Documentation
|
1605
|
+
#
|
1606
|
+
class ListAccessesRequest < Struct.new(
|
1607
|
+
:max_results,
|
1608
|
+
:next_token,
|
1609
|
+
:server_id)
|
1610
|
+
SENSITIVE = []
|
1611
|
+
include Aws::Structure
|
1612
|
+
end
|
1613
|
+
|
1614
|
+
# @!attribute [rw] next_token
|
1615
|
+
# When you can get additional results from the `ListAccesses` call, a
|
1616
|
+
# `NextToken` parameter is returned in the output. You can then pass
|
1617
|
+
# in a subsequent command to the `NextToken` parameter to continue
|
1618
|
+
# listing additional accesses.
|
1619
|
+
# @return [String]
|
1620
|
+
#
|
1621
|
+
# @!attribute [rw] server_id
|
1622
|
+
# A system-assigned unique identifier for a server that has users
|
1623
|
+
# assigned to it.
|
1624
|
+
# @return [String]
|
1625
|
+
#
|
1626
|
+
# @!attribute [rw] accesses
|
1627
|
+
# Returns the accesses and their properties for the `ServerId` value
|
1628
|
+
# that you specify.
|
1629
|
+
# @return [Array<Types::ListedAccess>]
|
1630
|
+
#
|
1631
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccessesResponse AWS API Documentation
|
1632
|
+
#
|
1633
|
+
class ListAccessesResponse < Struct.new(
|
1634
|
+
:next_token,
|
1635
|
+
:server_id,
|
1636
|
+
:accesses)
|
1637
|
+
SENSITIVE = []
|
1638
|
+
include Aws::Structure
|
1639
|
+
end
|
1640
|
+
|
1113
1641
|
# @note When making an API call, you may pass ListSecurityPoliciesRequest
|
1114
1642
|
# data as a hash:
|
1115
1643
|
#
|
@@ -1335,6 +1863,64 @@ module Aws::Transfer
|
|
1335
1863
|
include Aws::Structure
|
1336
1864
|
end
|
1337
1865
|
|
1866
|
+
# Lists the properties for one or more specified associated accesses.
|
1867
|
+
#
|
1868
|
+
# @!attribute [rw] home_directory
|
1869
|
+
# Specifies the landing directory (or folder), which is the location
|
1870
|
+
# that files are written to or read from in an Amazon S3 bucket, for
|
1871
|
+
# the described access.
|
1872
|
+
# @return [String]
|
1873
|
+
#
|
1874
|
+
# @!attribute [rw] home_directory_type
|
1875
|
+
# The type of landing directory (folder) that you want your users'
|
1876
|
+
# home directory to be when they log in to the server. If you set it
|
1877
|
+
# to `PATH`, the user will see the absolute Amazon S3 bucket paths as
|
1878
|
+
# is in their file transfer protocol clients. If you set it to
|
1879
|
+
# `LOGICAL`, you must provide mappings in the `HomeDirectoryMappings`
|
1880
|
+
# for how you want to make Amazon S3 paths visible to your users.
|
1881
|
+
# @return [String]
|
1882
|
+
#
|
1883
|
+
# @!attribute [rw] role
|
1884
|
+
# The AWS Identity and Access Management (IAM) role that controls
|
1885
|
+
# access to your Amazon S3 bucket from the specified associated
|
1886
|
+
# access. The policies attached to this role will determine the level
|
1887
|
+
# of access that you want to provide the associated access when
|
1888
|
+
# transferring files into and out of your Amazon S3 bucket or buckets.
|
1889
|
+
# The IAM role should also contain a trust relationship that allows a
|
1890
|
+
# server to access your resources when servicing transfer requests for
|
1891
|
+
# the associated access.
|
1892
|
+
# @return [String]
|
1893
|
+
#
|
1894
|
+
# @!attribute [rw] external_id
|
1895
|
+
# A unique identifier that might be required when you assume a role in
|
1896
|
+
# another account. Think of the `ExternalID` as a group membership
|
1897
|
+
# mechanism that uses a unique identifier (often a SID, but could be a
|
1898
|
+
# group name or something else) as a basis. If the administrator of
|
1899
|
+
# the account to which the role belongs provided you with an external
|
1900
|
+
# ID, then provide that value in the `ExternalId` parameter. A
|
1901
|
+
# cross-account role is usually set up to trust everyone in an
|
1902
|
+
# account. Therefore, the administrator of the trusting account might
|
1903
|
+
# send an external ID to the administrator of the trusted account.
|
1904
|
+
# That way, only someone with the ID can assume the role, rather than
|
1905
|
+
# everyone in the account.
|
1906
|
+
#
|
1907
|
+
# The regex used to validate this parameter is a string of characters
|
1908
|
+
# consisting of uppercase and lowercase alphanumeric characters with
|
1909
|
+
# no spaces. You can also include underscores or any of the following
|
1910
|
+
# characters: =,.@:/-
|
1911
|
+
# @return [String]
|
1912
|
+
#
|
1913
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListedAccess AWS API Documentation
|
1914
|
+
#
|
1915
|
+
class ListedAccess < Struct.new(
|
1916
|
+
:home_directory,
|
1917
|
+
:home_directory_type,
|
1918
|
+
:role,
|
1919
|
+
:external_id)
|
1920
|
+
SENSITIVE = []
|
1921
|
+
include Aws::Structure
|
1922
|
+
end
|
1923
|
+
|
1338
1924
|
# Returns properties of a file transfer protocol-enabled server that was
|
1339
1925
|
# specified.
|
1340
1926
|
#
|
@@ -1344,13 +1930,15 @@ module Aws::Transfer
|
|
1344
1930
|
# @return [String]
|
1345
1931
|
#
|
1346
1932
|
# @!attribute [rw] domain
|
1933
|
+
# Specifies the domain of the storage system that is used for file
|
1934
|
+
# transfers.
|
1347
1935
|
# @return [String]
|
1348
1936
|
#
|
1349
1937
|
# @!attribute [rw] identity_provider_type
|
1350
1938
|
# Specifies the authentication method used to validate a user for a
|
1351
|
-
# server that was specified. This can include Secure Shell (SSH),
|
1352
|
-
# name and password combinations, or
|
1353
|
-
#
|
1939
|
+
# server that was specified. This can include Secure Shell (SSH),
|
1940
|
+
# Active Directory groups, user name and password combinations, or
|
1941
|
+
# your own custom authentication method.
|
1354
1942
|
# @return [String]
|
1355
1943
|
#
|
1356
1944
|
# @!attribute [rw] endpoint_type
|
@@ -1429,6 +2017,16 @@ module Aws::Transfer
|
|
1429
2017
|
# behalf. It allows the server to inherit the trust relationship that
|
1430
2018
|
# enables that user to perform file operations to their Amazon S3
|
1431
2019
|
# bucket.
|
2020
|
+
#
|
2021
|
+
# <note markdown="1"> The IAM role that controls your users' access to your Amazon S3
|
2022
|
+
# bucket for servers with `Domain=S3`, or your EFS file system for
|
2023
|
+
# servers with `Domain=EFS`.
|
2024
|
+
#
|
2025
|
+
# The policies attached to this role determine the level of access you
|
2026
|
+
# want to provide your users when transferring files into and out of
|
2027
|
+
# your S3 buckets or EFS file systems.
|
2028
|
+
#
|
2029
|
+
# </note>
|
1432
2030
|
# @return [String]
|
1433
2031
|
#
|
1434
2032
|
# @!attribute [rw] ssh_public_key_count
|
@@ -1454,6 +2052,13 @@ module Aws::Transfer
|
|
1454
2052
|
include Aws::Structure
|
1455
2053
|
end
|
1456
2054
|
|
2055
|
+
# The full POSIX identity, including user ID (`Uid`), group ID (`Gid`),
|
2056
|
+
# and any secondary groups IDs (`SecondaryGids`), that controls your
|
2057
|
+
# users' access to your Amazon EFS file systems. The POSIX permissions
|
2058
|
+
# that are set on files and directories in your file system determine
|
2059
|
+
# the level of access your users get when transferring files into and
|
2060
|
+
# out of your Amazon EFS file systems.
|
2061
|
+
#
|
1457
2062
|
# @note When making an API call, you may pass PosixProfile
|
1458
2063
|
# data as a hash:
|
1459
2064
|
#
|
@@ -1464,12 +2069,16 @@ module Aws::Transfer
|
|
1464
2069
|
# }
|
1465
2070
|
#
|
1466
2071
|
# @!attribute [rw] uid
|
2072
|
+
# The POSIX user ID used for all EFS operations by this user.
|
1467
2073
|
# @return [Integer]
|
1468
2074
|
#
|
1469
2075
|
# @!attribute [rw] gid
|
2076
|
+
# The POSIX group ID used for all EFS operations by this user.
|
1470
2077
|
# @return [Integer]
|
1471
2078
|
#
|
1472
2079
|
# @!attribute [rw] secondary_gids
|
2080
|
+
# The secondary POSIX group IDs used for all EFS operations by this
|
2081
|
+
# user.
|
1473
2082
|
# @return [Array<Integer>]
|
1474
2083
|
#
|
1475
2084
|
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/PosixProfile AWS API Documentation
|
@@ -1798,6 +2407,194 @@ module Aws::Transfer
|
|
1798
2407
|
include Aws::Structure
|
1799
2408
|
end
|
1800
2409
|
|
2410
|
+
# @note When making an API call, you may pass UpdateAccessRequest
|
2411
|
+
# data as a hash:
|
2412
|
+
#
|
2413
|
+
# {
|
2414
|
+
# home_directory: "HomeDirectory",
|
2415
|
+
# home_directory_type: "PATH", # accepts PATH, LOGICAL
|
2416
|
+
# home_directory_mappings: [
|
2417
|
+
# {
|
2418
|
+
# entry: "MapEntry", # required
|
2419
|
+
# target: "MapTarget", # required
|
2420
|
+
# },
|
2421
|
+
# ],
|
2422
|
+
# policy: "Policy",
|
2423
|
+
# posix_profile: {
|
2424
|
+
# uid: 1, # required
|
2425
|
+
# gid: 1, # required
|
2426
|
+
# secondary_gids: [1],
|
2427
|
+
# },
|
2428
|
+
# role: "Role",
|
2429
|
+
# server_id: "ServerId", # required
|
2430
|
+
# external_id: "ExternalId", # required
|
2431
|
+
# }
|
2432
|
+
#
|
2433
|
+
# @!attribute [rw] home_directory
|
2434
|
+
# The landing directory (folder) for a user when they log in to the
|
2435
|
+
# server using the client.
|
2436
|
+
#
|
2437
|
+
# A `HomeDirectory` example is `/directory_name/home/mydirectory`.
|
2438
|
+
# @return [String]
|
2439
|
+
#
|
2440
|
+
# @!attribute [rw] home_directory_type
|
2441
|
+
# The type of landing directory (folder) that you want your users'
|
2442
|
+
# home directory to be when they log in to the server. If you set it
|
2443
|
+
# to `PATH`, the user will see the absolute Amazon S3 bucket paths as
|
2444
|
+
# is in their file transfer protocol clients. If you set it `LOGICAL`,
|
2445
|
+
# you must provide mappings in the `HomeDirectoryMappings` for how you
|
2446
|
+
# want to make Amazon S3 paths visible to your users.
|
2447
|
+
# @return [String]
|
2448
|
+
#
|
2449
|
+
# @!attribute [rw] home_directory_mappings
|
2450
|
+
# Logical directory mappings that specify what Amazon S3 or Amazon EFS
|
2451
|
+
# paths and keys should be visible to your user and how you want to
|
2452
|
+
# make them visible. You must specify the `Entry` and `Target` pair,
|
2453
|
+
# where `Entry` shows how the path is made visible and `Target` is the
|
2454
|
+
# actual Amazon S3 or Amazon EFS path. If you only specify a target,
|
2455
|
+
# it will be displayed as is. You also must ensure that your AWS
|
2456
|
+
# Identity and Access Management (IAM) role provides access to paths
|
2457
|
+
# in `Target`. This value can only be set when `HomeDirectoryType` is
|
2458
|
+
# set to *LOGICAL*.
|
2459
|
+
#
|
2460
|
+
# The following is an `Entry` and `Target` pair example.
|
2461
|
+
#
|
2462
|
+
# `[ \{ "Entry": "your-personal-report.pdf", "Target":
|
2463
|
+
# "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]`
|
2464
|
+
#
|
2465
|
+
# In most cases, you can use this value instead of the scope-down
|
2466
|
+
# policy to lock down your user to the designated home directory
|
2467
|
+
# ("`chroot`"). To do this, you can set `Entry` to `/` and set
|
2468
|
+
# `Target` to the `HomeDirectory` parameter value.
|
2469
|
+
#
|
2470
|
+
# The following is an `Entry` and `Target` pair example for `chroot`.
|
2471
|
+
#
|
2472
|
+
# `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
|
2473
|
+
#
|
2474
|
+
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
|
2475
|
+
# S3 or Amazon EFS, the entry will be ignored. As a workaround, you
|
2476
|
+
# can use the Amazon S3 API or EFS API to create 0-byte objects as
|
2477
|
+
# place holders for your directory. If using the AWS CLI, use the
|
2478
|
+
# `s3api` or `efsapi` call instead of `s3` or `efs` so you can use the
|
2479
|
+
# `put-object` operation. For example, you can use the following.
|
2480
|
+
#
|
2481
|
+
# `aws s3api put-object --bucket bucketname --key path/to/folder/`
|
2482
|
+
#
|
2483
|
+
# The end of the key name must end in a `/` for it to be considered a
|
2484
|
+
# folder.
|
2485
|
+
#
|
2486
|
+
# </note>
|
2487
|
+
#
|
2488
|
+
# Required: No
|
2489
|
+
# @return [Array<Types::HomeDirectoryMapEntry>]
|
2490
|
+
#
|
2491
|
+
# @!attribute [rw] policy
|
2492
|
+
# A scope-down policy for your user so that you can use the same IAM
|
2493
|
+
# role across multiple users. This policy scopes down user access to
|
2494
|
+
# portions of their Amazon S3 bucket. Variables that you can use
|
2495
|
+
# inside this policy include `$\{Transfer:UserName\}`,
|
2496
|
+
# `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
|
2497
|
+
#
|
2498
|
+
# <note markdown="1"> This only applies when domain of `ServerId` is S3. Amazon EFS does
|
2499
|
+
# not use scope down policy.
|
2500
|
+
#
|
2501
|
+
# For scope-down policies, AWS Transfer Family stores the policy as a
|
2502
|
+
# JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
|
2503
|
+
# You save the policy as a JSON blob and pass it in the `Policy`
|
2504
|
+
# argument.
|
2505
|
+
#
|
2506
|
+
# For an example of a scope-down policy, see [Example scope-down
|
2507
|
+
# policy][1].
|
2508
|
+
#
|
2509
|
+
# For more information, see [AssumeRole][2] in the *AWS Security Token
|
2510
|
+
# Service API Reference*.
|
2511
|
+
#
|
2512
|
+
# </note>
|
2513
|
+
#
|
2514
|
+
#
|
2515
|
+
#
|
2516
|
+
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/scope-down-policy.html
|
2517
|
+
# [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
|
2518
|
+
# @return [String]
|
2519
|
+
#
|
2520
|
+
# @!attribute [rw] posix_profile
|
2521
|
+
# The full POSIX identity, including user ID (`Uid`), group ID
|
2522
|
+
# (`Gid`), and any secondary groups IDs (`SecondaryGids`), that
|
2523
|
+
# controls your users' access to your Amazon EFS file systems. The
|
2524
|
+
# POSIX permissions that are set on files and directories in your file
|
2525
|
+
# system determine the level of access your users get when
|
2526
|
+
# transferring files into and out of your Amazon EFS file systems.
|
2527
|
+
# @return [Types::PosixProfile]
|
2528
|
+
#
|
2529
|
+
# @!attribute [rw] role
|
2530
|
+
# Specifies the IAM role that controls your users' access to your
|
2531
|
+
# Amazon S3 bucket or EFS file system. The policies attached to this
|
2532
|
+
# role determine the level of access that you want to provide your
|
2533
|
+
# users when transferring files into and out of your Amazon S3 bucket
|
2534
|
+
# or EFS file system. The IAM role should also contain a trust
|
2535
|
+
# relationship that allows the server to access your resources when
|
2536
|
+
# servicing your users' transfer requests.
|
2537
|
+
# @return [String]
|
2538
|
+
#
|
2539
|
+
# @!attribute [rw] server_id
|
2540
|
+
# A system-assigned unique identifier for a server instance. This is
|
2541
|
+
# the specific server that you added your user to.
|
2542
|
+
# @return [String]
|
2543
|
+
#
|
2544
|
+
# @!attribute [rw] external_id
|
2545
|
+
# A unique identifier that is required to identify specific groups
|
2546
|
+
# within your directory. The users of the group that you associate
|
2547
|
+
# have access to your Amazon S3 or Amazon EFS resources over the
|
2548
|
+
# enabled protocols using AWS Transfer Family. If you know the group
|
2549
|
+
# name, you can view the SID values by running the following command
|
2550
|
+
# using Windows PowerShell.
|
2551
|
+
#
|
2552
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
2553
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
2554
|
+
#
|
2555
|
+
# In that command, replace *YourGroupName* with the name of your
|
2556
|
+
# Active Directory group.
|
2557
|
+
#
|
2558
|
+
# The regex used to validate this parameter is a string of characters
|
2559
|
+
# consisting of uppercase and lowercase alphanumeric characters with
|
2560
|
+
# no spaces. You can also include underscores or any of the following
|
2561
|
+
# characters: =,.@:/-
|
2562
|
+
# @return [String]
|
2563
|
+
#
|
2564
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccessRequest AWS API Documentation
|
2565
|
+
#
|
2566
|
+
class UpdateAccessRequest < Struct.new(
|
2567
|
+
:home_directory,
|
2568
|
+
:home_directory_type,
|
2569
|
+
:home_directory_mappings,
|
2570
|
+
:policy,
|
2571
|
+
:posix_profile,
|
2572
|
+
:role,
|
2573
|
+
:server_id,
|
2574
|
+
:external_id)
|
2575
|
+
SENSITIVE = []
|
2576
|
+
include Aws::Structure
|
2577
|
+
end
|
2578
|
+
|
2579
|
+
# @!attribute [rw] server_id
|
2580
|
+
# The ID of the server that the user is attached to.
|
2581
|
+
# @return [String]
|
2582
|
+
#
|
2583
|
+
# @!attribute [rw] external_id
|
2584
|
+
# The external ID of the group whose users have access to your Amazon
|
2585
|
+
# S3 or Amazon EFS resources over the enabled protocols using AWS
|
2586
|
+
# Transfer Family.
|
2587
|
+
# @return [String]
|
2588
|
+
#
|
2589
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccessResponse AWS API Documentation
|
2590
|
+
#
|
2591
|
+
class UpdateAccessResponse < Struct.new(
|
2592
|
+
:server_id,
|
2593
|
+
:external_id)
|
2594
|
+
SENSITIVE = []
|
2595
|
+
include Aws::Structure
|
2596
|
+
end
|
2597
|
+
|
1801
2598
|
# @note When making an API call, you may pass UpdateServerRequest
|
1802
2599
|
# data as a hash:
|
1803
2600
|
#
|
@@ -1815,6 +2612,7 @@ module Aws::Transfer
|
|
1815
2612
|
# identity_provider_details: {
|
1816
2613
|
# url: "Url",
|
1817
2614
|
# invocation_role: "Role",
|
2615
|
+
# directory_id: "DirectoryId",
|
1818
2616
|
# },
|
1819
2617
|
# logging_role: "NullableRole",
|
1820
2618
|
# protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
|
@@ -1871,12 +2669,24 @@ module Aws::Transfer
|
|
1871
2669
|
# @return [Types::EndpointDetails]
|
1872
2670
|
#
|
1873
2671
|
# @!attribute [rw] endpoint_type
|
1874
|
-
# The type of endpoint that you want your server to
|
1875
|
-
#
|
1876
|
-
#
|
1877
|
-
#
|
1878
|
-
#
|
1879
|
-
#
|
2672
|
+
# The type of endpoint that you want your server to use. You can
|
2673
|
+
# choose to make your server's endpoint publicly accessible (PUBLIC)
|
2674
|
+
# or host it inside your VPC. With an endpoint that is hosted in a
|
2675
|
+
# VPC, you can restrict access to your server and resources only
|
2676
|
+
# within your VPC or choose to make it internet facing by attaching
|
2677
|
+
# Elastic IP addresses directly to it.
|
2678
|
+
#
|
2679
|
+
# <note markdown="1"> After March 31, 2021, you won't be able to create a server using
|
2680
|
+
# `EndpointType=VPC_ENDPOINT` in your AWS account if your account
|
2681
|
+
# hasn't already done so before March 31, 2021. If you have already
|
2682
|
+
# created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
|
2683
|
+
# on or before March 31, 2021, you will not be affected. After this
|
2684
|
+
# date, use `EndpointType`=`VPC`.
|
2685
|
+
#
|
2686
|
+
# For more information, see
|
2687
|
+
# https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
|
2688
|
+
#
|
2689
|
+
# It is recommended that you use `VPC` as the `EndpointType`. With
|
1880
2690
|
# this endpoint type, you have the option to directly associate up to
|
1881
2691
|
# three Elastic IPv4 addresses (BYO IP included) with your server's
|
1882
2692
|
# endpoint and use VPC security groups to restrict traffic by the
|
@@ -1909,8 +2719,8 @@ module Aws::Transfer
|
|
1909
2719
|
#
|
1910
2720
|
# @!attribute [rw] logging_role
|
1911
2721
|
# Changes the AWS Identity and Access Management (IAM) role that
|
1912
|
-
# allows Amazon S3 events to be logged in Amazon
|
1913
|
-
# logging on or off.
|
2722
|
+
# allows Amazon S3 or Amazon EFS events to be logged in Amazon
|
2723
|
+
# CloudWatch, turning logging on or off.
|
1914
2724
|
# @return [String]
|
1915
2725
|
#
|
1916
2726
|
# @!attribute [rw] protocols
|
@@ -1932,7 +2742,7 @@ module Aws::Transfer
|
|
1932
2742
|
#
|
1933
2743
|
# If `Protocol` includes either `FTP` or `FTPS`, then the
|
1934
2744
|
# `EndpointType` must be `VPC` and the `IdentityProviderType` must be
|
1935
|
-
# `API_GATEWAY`.
|
2745
|
+
# `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
|
1936
2746
|
#
|
1937
2747
|
# If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
|
1938
2748
|
# associated.
|
@@ -2016,39 +2826,40 @@ module Aws::Transfer
|
|
2016
2826
|
# @!attribute [rw] home_directory_type
|
2017
2827
|
# The type of landing directory (folder) you want your users' home
|
2018
2828
|
# directory to be when they log into the server. If you set it to
|
2019
|
-
# `PATH`, the user will see the absolute Amazon S3 bucket
|
2020
|
-
# in their file transfer protocol clients. If you set it
|
2021
|
-
# you will need to provide mappings in the
|
2022
|
-
# how you want to make Amazon S3
|
2829
|
+
# `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
|
2830
|
+
# as is in their file transfer protocol clients. If you set it
|
2831
|
+
# `LOGICAL`, you will need to provide mappings in the
|
2832
|
+
# `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
|
2833
|
+
# paths visible to your users.
|
2023
2834
|
# @return [String]
|
2024
2835
|
#
|
2025
2836
|
# @!attribute [rw] home_directory_mappings
|
2026
|
-
# Logical directory mappings that specify what Amazon S3
|
2027
|
-
# keys should be visible to your user and how you want to
|
2028
|
-
# visible. You will need to specify the "`Entry`" and
|
2029
|
-
# pair, where `Entry` shows how the path is made visible
|
2030
|
-
# is the actual Amazon S3 path. If you only
|
2031
|
-
# be displayed as is. You will need to also
|
2032
|
-
# role provides access to paths in `Target`.
|
2033
|
-
# example.
|
2837
|
+
# Logical directory mappings that specify what Amazon S3 or Amazon EFS
|
2838
|
+
# paths and keys should be visible to your user and how you want to
|
2839
|
+
# make them visible. You will need to specify the "`Entry`" and
|
2840
|
+
# "`Target`" pair, where `Entry` shows how the path is made visible
|
2841
|
+
# and `Target` is the actual Amazon S3 or Amazon EFS path. If you only
|
2842
|
+
# specify a target, it will be displayed as is. You will need to also
|
2843
|
+
# make sure that your IAM role provides access to paths in `Target`.
|
2844
|
+
# The following is an example.
|
2034
2845
|
#
|
2035
2846
|
# `'[ "/bucket2/documentation", \{ "Entry":
|
2036
2847
|
# "your-personal-report.pdf", "Target":
|
2037
2848
|
# "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
|
2038
2849
|
#
|
2039
2850
|
# In most cases, you can use this value instead of the scope-down
|
2040
|
-
# policy to lock your user
|
2041
|
-
# ("chroot"). To do this, you can set `Entry` to '/' and set
|
2851
|
+
# policy to lock down your user to the designated home directory
|
2852
|
+
# ("`chroot`"). To do this, you can set `Entry` to '/' and set
|
2042
2853
|
# `Target` to the HomeDirectory parameter value.
|
2043
2854
|
#
|
2044
2855
|
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
|
2045
|
-
# S3, the entry will be ignored. As a workaround, you can use
|
2046
|
-
# Amazon S3 API to create 0
|
2047
|
-
# directory. If using the CLI, use the `s3api`
|
2048
|
-
#
|
2049
|
-
# following: `aws s3api put-object
|
2050
|
-
# path/to/folder/`. Make sure that the end
|
2051
|
-
# for it to be considered a folder.
|
2856
|
+
# S3 or EFS, the entry will be ignored. As a workaround, you can use
|
2857
|
+
# the Amazon S3 API or EFS API to create 0-byte objects as place
|
2858
|
+
# holders for your directory. If using the AWS CLI, use the `s3api` or
|
2859
|
+
# `efsapi` call instead of `s3` `efs` so you can use the put-object
|
2860
|
+
# operation. For example, you use the following: `aws s3api put-object
|
2861
|
+
# --bucket bucketname --key path/to/folder/`. Make sure that the end
|
2862
|
+
# of the key name ends in a / for it to be considered a folder.
|
2052
2863
|
#
|
2053
2864
|
# </note>
|
2054
2865
|
# @return [Array<Types::HomeDirectoryMapEntry>]
|
@@ -2080,15 +2891,22 @@ module Aws::Transfer
|
|
2080
2891
|
# @return [String]
|
2081
2892
|
#
|
2082
2893
|
# @!attribute [rw] posix_profile
|
2894
|
+
# Specifies the full POSIX identity, including user ID (`Uid`), group
|
2895
|
+
# ID (`Gid`), and any secondary groups IDs (`SecondaryGids`), that
|
2896
|
+
# controls your users' access to your Amazon Elastic File Systems
|
2897
|
+
# (Amazon EFS). The POSIX permissions that are set on files and
|
2898
|
+
# directories in your file system determines the level of access your
|
2899
|
+
# users get when transferring files into and out of your Amazon EFS
|
2900
|
+
# file systems.
|
2083
2901
|
# @return [Types::PosixProfile]
|
2084
2902
|
#
|
2085
2903
|
# @!attribute [rw] role
|
2086
2904
|
# The IAM role that controls your users' access to your Amazon S3
|
2087
|
-
# bucket. The policies attached to this role
|
2088
|
-
#
|
2089
|
-
#
|
2090
|
-
#
|
2091
|
-
#
|
2905
|
+
# bucket. The policies attached to this role determine the level of
|
2906
|
+
# access you want to provide your users when transferring files into
|
2907
|
+
# and out of your S3 bucket or buckets. The IAM role should also
|
2908
|
+
# contain a trust relationship that allows the server to access your
|
2909
|
+
# resources when servicing your users' transfer requests.
|
2092
2910
|
# @return [String]
|
2093
2911
|
#
|
2094
2912
|
# @!attribute [rw] server_id
|