aws-sdk-transfer 1.14.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b6d99cc257a9fbe2dd1c248eea093edead665e7
4
- data.tar.gz: ac41759ef49d330cdea6227354e0fce954e85c80
3
+ metadata.gz: 640f4f4d43eb97008366aea349e471a7ec69b1e3
4
+ data.tar.gz: 2b8ba0c1a8dcd6d87cddd7f6fb3e41549fa0b40b
5
5
  SHA512:
6
- metadata.gz: fdd3779e23a66f981e8b9db9206dbd690dd32dbca279f67eca4225ba37eb093d6c59cbda5758d18204ba9fc8698644bf821b384f590ffd25c022241abe3b8320
7
- data.tar.gz: a310e7aeb28f0208f095006192a42683e3010942fc7dc9a54472b67bac0e35975db69ce19d1d1d6375312be625a68e53451754a696fd46817e41e4e889aed5fc
6
+ metadata.gz: 1acd1ed522cc99b0608011624e750c1805eef04e2ad86f42dad100834eaaf2ba8e7c8b7a34db04e35d6e319181a8246fe5207a2b6b84c573818c9d54f26cf23c
7
+ data.tar.gz: eeb3e5a1d74130be87048906d6845253bf96c9414a9cc8fd7b958d23ec8ad568dd62c48aa1be5621949d36a66521b379c54452f1a899e581dce298d32332324b
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-transfer/customizations'
42
42
  # @service
43
43
  module Aws::Transfer
44
44
 
45
- GEM_VERSION = '1.14.0'
45
+ GEM_VERSION = '1.15.0'
46
46
 
47
47
  end
@@ -288,7 +288,7 @@ module Aws::Transfer
288
288
  # Accidentally changing a server's host key can be disruptive.
289
289
  #
290
290
  # For more information, see
291
- # "https://docs.aws.amazon.com/transfer/latest/userguide/change-host-key"
291
+ # "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
292
292
  # in the *AWS SFTP User Guide.*
293
293
  #
294
294
  # @option params [Types::IdentityProviderDetails] :identity_provider_details
@@ -364,7 +364,35 @@ module Aws::Transfer
364
364
  #
365
365
  # @option params [String] :home_directory
366
366
  # The landing directory (folder) for a user when they log in to the
367
- # server using their SFTP client. An example is `/home/username `.
367
+ # server using their SFTP client.
368
+ #
369
+ # An example is <`your-Amazon-S3-bucket-name>/home/username`.
370
+ #
371
+ # @option params [String] :home_directory_type
372
+ # The type of landing directory (folder) you want your users' home
373
+ # directory to be when they log into the SFTP server. If you set it to
374
+ # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
375
+ # their SFTP clients. If you set it `LOGICAL`, you will need to provide
376
+ # mappings in the `HomeDirectoryMappings` for how you want to make S3
377
+ # paths visible to your user.
378
+ #
379
+ # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
380
+ # Logical directory mappings that specify what S3 paths and keys should
381
+ # be visible to your user and how you want to make them visible. You
382
+ # will need to specify the "`Entry`" and "`Target`" pair, where
383
+ # `Entry` shows how the path is made visible and `Target` is the actual
384
+ # S3 path. If you only specify a target, it will be displayed as is. You
385
+ # will need to also make sure that your AWS IAM Role provides access to
386
+ # paths in `Target`. The following is an example.
387
+ #
388
+ # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
389
+ # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
390
+ # ]'`
391
+ #
392
+ # In most cases, you can use this value instead of the scope down policy
393
+ # to lock your user down to the designated home directory ("chroot").
394
+ # To do this, you can set `Entry` to '/' and set `Target` to the
395
+ # HomeDirectory parameter value.
368
396
  #
369
397
  # @option params [String] :policy
370
398
  # A scope-down policy for your user so you can use the same IAM role
@@ -424,6 +452,13 @@ module Aws::Transfer
424
452
  #
425
453
  # resp = client.create_user({
426
454
  # home_directory: "HomeDirectory",
455
+ # home_directory_type: "PATH", # accepts PATH, LOGICAL
456
+ # home_directory_mappings: [
457
+ # {
458
+ # entry: "MapEntry", # required
459
+ # target: "MapTarget", # required
460
+ # },
461
+ # ],
427
462
  # policy: "Policy",
428
463
  # role: "Role", # required
429
464
  # server_id: "ServerId", # required
@@ -620,6 +655,10 @@ module Aws::Transfer
620
655
  # resp.server_id #=> String
621
656
  # resp.user.arn #=> String
622
657
  # resp.user.home_directory #=> String
658
+ # resp.user.home_directory_mappings #=> Array
659
+ # resp.user.home_directory_mappings[0].entry #=> String
660
+ # resp.user.home_directory_mappings[0].target #=> String
661
+ # resp.user.home_directory_type #=> String, one of "PATH", "LOGICAL"
623
662
  # resp.user.policy #=> String
624
663
  # resp.user.role #=> String
625
664
  # resp.user.ssh_public_keys #=> Array
@@ -818,6 +857,7 @@ module Aws::Transfer
818
857
  # resp.users #=> Array
819
858
  # resp.users[0].arn #=> String
820
859
  # resp.users[0].home_directory #=> String
860
+ # resp.users[0].home_directory_type #=> String, one of "PATH", "LOGICAL"
821
861
  # resp.users[0].role #=> String
822
862
  # resp.users[0].ssh_public_key_count #=> Integer
823
863
  # resp.users[0].user_name #=> String
@@ -1099,8 +1139,35 @@ module Aws::Transfer
1099
1139
  #
1100
1140
  # @option params [String] :home_directory
1101
1141
  # A parameter that specifies the landing directory (folder) for a user
1102
- # when they log in to the server using their client. An example is
1103
- # `/home/username `.
1142
+ # when they log in to the server using their client.
1143
+ #
1144
+ # An example is `<your-Amazon-S3-bucket-name>/home/username`.
1145
+ #
1146
+ # @option params [String] :home_directory_type
1147
+ # The type of landing directory (folder) you want your users' home
1148
+ # directory to be when they log into the SFTP serve. If you set it to
1149
+ # `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
1150
+ # their SFTP clients. If you set it `LOGICAL`, you will need to provide
1151
+ # mappings in the `HomeDirectoryMappings` for how you want to make S3
1152
+ # paths visible to your user.
1153
+ #
1154
+ # @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
1155
+ # Logical directory mappings that specify what S3 paths and keys should
1156
+ # be visible to your user and how you want to make them visible. You
1157
+ # will need to specify the "`Entry`" and "`Target`" pair, where
1158
+ # `Entry` shows how the path is made visible and `Target` is the actual
1159
+ # S3 path. If you only specify a target, it will be displayed as is. You
1160
+ # will need to also make sure that your AWS IAM Role provides access to
1161
+ # paths in `Target`. The following is an example.
1162
+ #
1163
+ # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
1164
+ # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
1165
+ # ]'`
1166
+ #
1167
+ # In most cases, you can use this value instead of the scope down policy
1168
+ # to lock your user down to the designated home directory ("chroot").
1169
+ # To do this, you can set `Entry` to '/' and set `Target` to the
1170
+ # HomeDirectory parameter value.
1104
1171
  #
1105
1172
  # @option params [String] :policy
1106
1173
  # Allows you to supply a scope-down policy for your user so you can use
@@ -1155,6 +1222,13 @@ module Aws::Transfer
1155
1222
  #
1156
1223
  # resp = client.update_user({
1157
1224
  # home_directory: "HomeDirectory",
1225
+ # home_directory_type: "PATH", # accepts PATH, LOGICAL
1226
+ # home_directory_mappings: [
1227
+ # {
1228
+ # entry: "MapEntry", # required
1229
+ # target: "MapTarget", # required
1230
+ # },
1231
+ # ],
1158
1232
  # policy: "Policy",
1159
1233
  # role: "Role",
1160
1234
  # server_id: "ServerId", # required
@@ -1188,7 +1262,7 @@ module Aws::Transfer
1188
1262
  params: params,
1189
1263
  config: config)
1190
1264
  context[:gem_name] = 'aws-sdk-transfer'
1191
- context[:gem_version] = '1.14.0'
1265
+ context[:gem_version] = '1.15.0'
1192
1266
  Seahorse::Client::Request.new(handlers, context)
1193
1267
  end
1194
1268
 
@@ -29,6 +29,9 @@ module Aws::Transfer
29
29
  EndpointDetails = Shapes::StructureShape.new(name: 'EndpointDetails')
30
30
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
31
31
  HomeDirectory = Shapes::StringShape.new(name: 'HomeDirectory')
32
+ HomeDirectoryMapEntry = Shapes::StructureShape.new(name: 'HomeDirectoryMapEntry')
33
+ HomeDirectoryMappings = Shapes::ListShape.new(name: 'HomeDirectoryMappings')
34
+ HomeDirectoryType = Shapes::StringShape.new(name: 'HomeDirectoryType')
32
35
  HostKey = Shapes::StringShape.new(name: 'HostKey')
33
36
  HostKeyFingerprint = Shapes::StringShape.new(name: 'HostKeyFingerprint')
34
37
  IdentityProviderDetails = Shapes::StructureShape.new(name: 'IdentityProviderDetails')
@@ -48,6 +51,8 @@ module Aws::Transfer
48
51
  ListedServers = Shapes::ListShape.new(name: 'ListedServers')
49
52
  ListedUser = Shapes::StructureShape.new(name: 'ListedUser')
50
53
  ListedUsers = Shapes::ListShape.new(name: 'ListedUsers')
54
+ MapEntry = Shapes::StringShape.new(name: 'MapEntry')
55
+ MapTarget = Shapes::StringShape.new(name: 'MapTarget')
51
56
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
52
57
  Message = Shapes::StringShape.new(name: 'Message')
53
58
  NextToken = Shapes::StringShape.new(name: 'NextToken')
@@ -58,6 +63,7 @@ module Aws::Transfer
58
63
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
59
64
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
60
65
  Response = Shapes::StringShape.new(name: 'Response')
66
+ RetryAfterSeconds = Shapes::StringShape.new(name: 'RetryAfterSeconds')
61
67
  Role = Shapes::StringShape.new(name: 'Role')
62
68
  ServerId = Shapes::StringShape.new(name: 'ServerId')
63
69
  ServiceErrorMessage = Shapes::StringShape.new(name: 'ServiceErrorMessage')
@@ -79,6 +85,7 @@ module Aws::Transfer
79
85
  Tags = Shapes::ListShape.new(name: 'Tags')
80
86
  TestIdentityProviderRequest = Shapes::StructureShape.new(name: 'TestIdentityProviderRequest')
81
87
  TestIdentityProviderResponse = Shapes::StructureShape.new(name: 'TestIdentityProviderResponse')
88
+ ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
82
89
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
83
90
  UpdateServerRequest = Shapes::StructureShape.new(name: 'UpdateServerRequest')
84
91
  UpdateServerResponse = Shapes::StructureShape.new(name: 'UpdateServerResponse')
@@ -103,6 +110,8 @@ module Aws::Transfer
103
110
  CreateServerResponse.struct_class = Types::CreateServerResponse
104
111
 
105
112
  CreateUserRequest.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
113
+ CreateUserRequest.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
114
+ CreateUserRequest.add_member(:home_directory_mappings, Shapes::ShapeRef.new(shape: HomeDirectoryMappings, location_name: "HomeDirectoryMappings"))
106
115
  CreateUserRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
107
116
  CreateUserRequest.add_member(:role, Shapes::ShapeRef.new(shape: Role, required: true, location_name: "Role"))
108
117
  CreateUserRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
@@ -156,6 +165,8 @@ module Aws::Transfer
156
165
 
157
166
  DescribedUser.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
158
167
  DescribedUser.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
168
+ DescribedUser.add_member(:home_directory_mappings, Shapes::ShapeRef.new(shape: HomeDirectoryMappings, location_name: "HomeDirectoryMappings"))
169
+ DescribedUser.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
159
170
  DescribedUser.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
160
171
  DescribedUser.add_member(:role, Shapes::ShapeRef.new(shape: Role, location_name: "Role"))
161
172
  DescribedUser.add_member(:ssh_public_keys, Shapes::ShapeRef.new(shape: SshPublicKeys, location_name: "SshPublicKeys"))
@@ -166,6 +177,12 @@ module Aws::Transfer
166
177
  EndpointDetails.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: VpcEndpointId, location_name: "VpcEndpointId"))
167
178
  EndpointDetails.struct_class = Types::EndpointDetails
168
179
 
180
+ HomeDirectoryMapEntry.add_member(:entry, Shapes::ShapeRef.new(shape: MapEntry, required: true, location_name: "Entry"))
181
+ HomeDirectoryMapEntry.add_member(:target, Shapes::ShapeRef.new(shape: MapTarget, required: true, location_name: "Target"))
182
+ HomeDirectoryMapEntry.struct_class = Types::HomeDirectoryMapEntry
183
+
184
+ HomeDirectoryMappings.member = Shapes::ShapeRef.new(shape: HomeDirectoryMapEntry)
185
+
169
186
  IdentityProviderDetails.add_member(:url, Shapes::ShapeRef.new(shape: Url, location_name: "Url"))
170
187
  IdentityProviderDetails.add_member(:invocation_role, Shapes::ShapeRef.new(shape: Role, location_name: "InvocationRole"))
171
188
  IdentityProviderDetails.struct_class = Types::IdentityProviderDetails
@@ -230,6 +247,7 @@ module Aws::Transfer
230
247
 
231
248
  ListedUser.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
232
249
  ListedUser.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
250
+ ListedUser.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
233
251
  ListedUser.add_member(:role, Shapes::ShapeRef.new(shape: Role, location_name: "Role"))
234
252
  ListedUser.add_member(:ssh_public_key_count, Shapes::ShapeRef.new(shape: SshPublicKeyCount, location_name: "SshPublicKeyCount"))
235
253
  ListedUser.add_member(:user_name, Shapes::ShapeRef.new(shape: UserName, location_name: "UserName"))
@@ -286,6 +304,9 @@ module Aws::Transfer
286
304
  TestIdentityProviderResponse.add_member(:url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "Url"))
287
305
  TestIdentityProviderResponse.struct_class = Types::TestIdentityProviderResponse
288
306
 
307
+ ThrottlingException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: RetryAfterSeconds, location_name: "RetryAfterSeconds"))
308
+ ThrottlingException.struct_class = Types::ThrottlingException
309
+
289
310
  UntagResourceRequest.add_member(:arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "Arn"))
290
311
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
291
312
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -302,6 +323,8 @@ module Aws::Transfer
302
323
  UpdateServerResponse.struct_class = Types::UpdateServerResponse
303
324
 
304
325
  UpdateUserRequest.add_member(:home_directory, Shapes::ShapeRef.new(shape: HomeDirectory, location_name: "HomeDirectory"))
326
+ UpdateUserRequest.add_member(:home_directory_type, Shapes::ShapeRef.new(shape: HomeDirectoryType, location_name: "HomeDirectoryType"))
327
+ UpdateUserRequest.add_member(:home_directory_mappings, Shapes::ShapeRef.new(shape: HomeDirectoryMappings, location_name: "HomeDirectoryMappings"))
305
328
  UpdateUserRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
306
329
  UpdateUserRequest.add_member(:role, Shapes::ShapeRef.new(shape: Role, location_name: "Role"))
307
330
  UpdateUserRequest.add_member(:server_id, Shapes::ShapeRef.new(shape: ServerId, required: true, location_name: "ServerId"))
@@ -379,6 +402,7 @@ module Aws::Transfer
379
402
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
380
403
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
381
404
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
405
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
382
406
  end)
383
407
 
384
408
  api.add_operation(:delete_user, Seahorse::Model::Operation.new.tap do |o|
@@ -428,6 +452,7 @@ module Aws::Transfer
428
452
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
429
453
  o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
430
454
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
455
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
431
456
  end)
432
457
 
433
458
  api.add_operation(:list_servers, Seahorse::Model::Operation.new.tap do |o|
@@ -495,6 +520,7 @@ module Aws::Transfer
495
520
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
496
521
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
497
522
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
523
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
498
524
  end)
499
525
 
500
526
  api.add_operation(:stop_server, Seahorse::Model::Operation.new.tap do |o|
@@ -507,6 +533,7 @@ module Aws::Transfer
507
533
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
508
534
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
509
535
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
536
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
510
537
  end)
511
538
 
512
539
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
@@ -518,6 +545,7 @@ module Aws::Transfer
518
545
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
519
546
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
520
547
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
548
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
521
549
  end)
522
550
 
523
551
  api.add_operation(:test_identity_provider, Seahorse::Model::Operation.new.tap do |o|
@@ -541,6 +569,7 @@ module Aws::Transfer
541
569
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
542
570
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
543
571
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
572
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
544
573
  end)
545
574
 
546
575
  api.add_operation(:update_server, Seahorse::Model::Operation.new.tap do |o|
@@ -552,7 +581,9 @@ module Aws::Transfer
552
581
  o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
553
582
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
554
583
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
584
+ o.errors << Shapes::ShapeRef.new(shape: ResourceExistsException)
555
585
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
586
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
556
587
  end)
557
588
 
558
589
  api.add_operation(:update_user, Seahorse::Model::Operation.new.tap do |o|
@@ -565,6 +596,7 @@ module Aws::Transfer
565
596
  o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
566
597
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
567
598
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
599
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
568
600
  end)
569
601
  end
570
602
 
@@ -126,5 +126,21 @@ module Aws::Transfer
126
126
 
127
127
  end
128
128
 
129
+ class ThrottlingException < ServiceError
130
+
131
+ # @param [Seahorse::Client::RequestContext] context
132
+ # @param [String] message
133
+ # @param [Aws::Transfer::Types::ThrottlingException] data
134
+ def initialize(context, message, data = Aws::EmptyStructure.new)
135
+ super(context, message, data)
136
+ end
137
+
138
+ # @return [String]
139
+ def retry_after_seconds
140
+ @data[:retry_after_seconds]
141
+ end
142
+
143
+ end
144
+
129
145
  end
130
146
  end
@@ -52,7 +52,7 @@ module Aws::Transfer
52
52
  # Accidentally changing a server's host key can be disruptive.
53
53
  #
54
54
  # For more information, see
55
- # "https://docs.aws.amazon.com/transfer/latest/userguide/change-host-key"
55
+ # "https://alpha-docs-aws.amazon.com/transfer/latest/userguide/configuring-servers.html#change-host-key"
56
56
  # in the *AWS SFTP User Guide.*
57
57
  # @return [String]
58
58
  #
@@ -112,6 +112,13 @@ module Aws::Transfer
112
112
  #
113
113
  # {
114
114
  # home_directory: "HomeDirectory",
115
+ # home_directory_type: "PATH", # accepts PATH, LOGICAL
116
+ # home_directory_mappings: [
117
+ # {
118
+ # entry: "MapEntry", # required
119
+ # target: "MapTarget", # required
120
+ # },
121
+ # ],
115
122
  # policy: "Policy",
116
123
  # role: "Role", # required
117
124
  # server_id: "ServerId", # required
@@ -127,9 +134,40 @@ module Aws::Transfer
127
134
  #
128
135
  # @!attribute [rw] home_directory
129
136
  # The landing directory (folder) for a user when they log in to the
130
- # server using their SFTP client. An example is `/home/username `.
137
+ # server using their SFTP client.
138
+ #
139
+ # An example is &lt;`your-Amazon-S3-bucket-name>/home/username`.
140
+ # @return [String]
141
+ #
142
+ # @!attribute [rw] home_directory_type
143
+ # The type of landing directory (folder) you want your users' home
144
+ # directory to be when they log into the SFTP server. If you set it to
145
+ # `PATH`, the user will see the absolute Amazon S3 bucket paths as is
146
+ # in their SFTP clients. If you set it `LOGICAL`, you will need to
147
+ # provide mappings in the `HomeDirectoryMappings` for how you want to
148
+ # make S3 paths visible to your user.
131
149
  # @return [String]
132
150
  #
151
+ # @!attribute [rw] home_directory_mappings
152
+ # Logical directory mappings that specify what S3 paths and keys
153
+ # should be visible to your user and how you want to make them
154
+ # visible. You will need to specify the "`Entry`" and "`Target`"
155
+ # pair, where `Entry` shows how the path is made visible and `Target`
156
+ # is the actual S3 path. If you only specify a target, it will be
157
+ # displayed as is. You will need to also make sure that your AWS IAM
158
+ # Role provides access to paths in `Target`. The following is an
159
+ # example.
160
+ #
161
+ # `'[ "/bucket2/documentation", \{ "Entry":
162
+ # "your-personal-report.pdf", "Target":
163
+ # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
164
+ #
165
+ # In most cases, you can use this value instead of the scope down
166
+ # policy to lock your user down to the designated home directory
167
+ # ("chroot"). To do this, you can set `Entry` to '/' and set
168
+ # `Target` to the HomeDirectory parameter value.
169
+ # @return [Array<Types::HomeDirectoryMapEntry>]
170
+ #
133
171
  # @!attribute [rw] policy
134
172
  # A scope-down policy for your user so you can use the same IAM role
135
173
  # across multiple users. This policy scopes down user access to
@@ -190,6 +228,8 @@ module Aws::Transfer
190
228
  #
191
229
  class CreateUserRequest < Struct.new(
192
230
  :home_directory,
231
+ :home_directory_type,
232
+ :home_directory_mappings,
193
233
  :policy,
194
234
  :role,
195
235
  :server_id,
@@ -471,8 +511,37 @@ module Aws::Transfer
471
511
  # @!attribute [rw] home_directory
472
512
  # This property specifies the landing directory (or folder), which is
473
513
  # the location that files are written to or read from in an Amazon S3
474
- # bucket for the described user. An example is
475
- # `/bucket_name/home/username `.
514
+ # bucket for the described user. An example is `/your s3 bucket
515
+ # name/home/username `.
516
+ # @return [String]
517
+ #
518
+ # @!attribute [rw] home_directory_mappings
519
+ # Logical directory mappings that you specified for what S3 paths and
520
+ # keys should be visible to your user and how you want to make them
521
+ # visible. You will need to specify the "`Entry`" and "`Target`"
522
+ # pair, where `Entry` shows how the path is made visible and `Target`
523
+ # is the actual S3 path. If you only specify a target, it will be
524
+ # displayed as is. You will need to also make sure that your AWS IAM
525
+ # Role provides access to paths in `Target`.
526
+ #
527
+ # In most cases, you can use this value instead of the scope down
528
+ # policy to lock your user down to the designated home directory
529
+ # ("chroot"). To do this, you can set `Entry` to '/' and set
530
+ # `Target` to the HomeDirectory parameter value.
531
+ #
532
+ # In most cases, you can use this value instead of the scope down
533
+ # policy to lock your user down to the designated home directory
534
+ # ("chroot"). To do this, you can set `Entry` to '/' and set
535
+ # `Target` to the HomeDirectory parameter value.
536
+ # @return [Array<Types::HomeDirectoryMapEntry>]
537
+ #
538
+ # @!attribute [rw] home_directory_type
539
+ # The type of landing directory (folder) you mapped for your users'
540
+ # to see when they log into the SFTP server. If you set it to `PATH`,
541
+ # the user will see the absolute Amazon S3 bucket paths as is in their
542
+ # SFTP clients. If you set it `LOGICAL`, you will need to provide
543
+ # mappings in the `HomeDirectoryMappings` for how you want to make S3
544
+ # paths visible to your user.
476
545
  # @return [String]
477
546
  #
478
547
  # @!attribute [rw] policy
@@ -512,6 +581,8 @@ module Aws::Transfer
512
581
  class DescribedUser < Struct.new(
513
582
  :arn,
514
583
  :home_directory,
584
+ :home_directory_mappings,
585
+ :home_directory_type,
515
586
  :policy,
516
587
  :role,
517
588
  :ssh_public_keys,
@@ -541,6 +612,33 @@ module Aws::Transfer
541
612
  include Aws::Structure
542
613
  end
543
614
 
615
+ # Represents an object that contains entries and a targets for
616
+ # `HomeDirectoryMappings`.
617
+ #
618
+ # @note When making an API call, you may pass HomeDirectoryMapEntry
619
+ # data as a hash:
620
+ #
621
+ # {
622
+ # entry: "MapEntry", # required
623
+ # target: "MapTarget", # required
624
+ # }
625
+ #
626
+ # @!attribute [rw] entry
627
+ # Represents an entry and a target for `HomeDirectoryMappings`.
628
+ # @return [String]
629
+ #
630
+ # @!attribute [rw] target
631
+ # Represents the map target that is used in a `HomeDirectorymapEntry`.
632
+ # @return [String]
633
+ #
634
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/HomeDirectoryMapEntry AWS API Documentation
635
+ #
636
+ class HomeDirectoryMapEntry < Struct.new(
637
+ :entry,
638
+ :target)
639
+ include Aws::Structure
640
+ end
641
+
544
642
  # Returns information related to the type of user authentication that is
545
643
  # in use for a server's users. A server can have only one method of
546
644
  # authentication.
@@ -908,6 +1006,15 @@ module Aws::Transfer
908
1006
  # from an Amazon S3 bucket for the user you specify by their ARN.
909
1007
  # @return [String]
910
1008
  #
1009
+ # @!attribute [rw] home_directory_type
1010
+ # The type of landing directory (folder) you mapped for your users'
1011
+ # home directory. If you set it to `PATH`, the user will see the
1012
+ # absolute Amazon S3 bucket paths as is in their SFTP clients. If you
1013
+ # set it `LOGICAL`, you will need to provide mappings in the
1014
+ # `HomeDirectoryMappings` for how you want to make S3 paths visible to
1015
+ # your user.
1016
+ # @return [String]
1017
+ #
911
1018
  # @!attribute [rw] role
912
1019
  # The role in use by this user. A *role* is an AWS Identity and Access
913
1020
  # Management (IAM) entity that, in this case, allows the SFTP server
@@ -931,6 +1038,7 @@ module Aws::Transfer
931
1038
  class ListedUser < Struct.new(
932
1039
  :arn,
933
1040
  :home_directory,
1041
+ :home_directory_type,
934
1042
  :role,
935
1043
  :ssh_public_key_count,
936
1044
  :user_name)
@@ -1179,6 +1287,20 @@ module Aws::Transfer
1179
1287
  include Aws::Structure
1180
1288
  end
1181
1289
 
1290
+ # The request was denied due to request throttling.
1291
+ #
1292
+ # HTTP Status Code: 400
1293
+ #
1294
+ # @!attribute [rw] retry_after_seconds
1295
+ # @return [String]
1296
+ #
1297
+ # @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ThrottlingException AWS API Documentation
1298
+ #
1299
+ class ThrottlingException < Struct.new(
1300
+ :retry_after_seconds)
1301
+ include Aws::Structure
1302
+ end
1303
+
1182
1304
  # @note When making an API call, you may pass UntagResourceRequest
1183
1305
  # data as a hash:
1184
1306
  #
@@ -1296,6 +1418,13 @@ module Aws::Transfer
1296
1418
  #
1297
1419
  # {
1298
1420
  # home_directory: "HomeDirectory",
1421
+ # home_directory_type: "PATH", # accepts PATH, LOGICAL
1422
+ # home_directory_mappings: [
1423
+ # {
1424
+ # entry: "MapEntry", # required
1425
+ # target: "MapTarget", # required
1426
+ # },
1427
+ # ],
1299
1428
  # policy: "Policy",
1300
1429
  # role: "Role",
1301
1430
  # server_id: "ServerId", # required
@@ -1304,10 +1433,40 @@ module Aws::Transfer
1304
1433
  #
1305
1434
  # @!attribute [rw] home_directory
1306
1435
  # A parameter that specifies the landing directory (folder) for a user
1307
- # when they log in to the server using their client. An example is
1308
- # `/home/username `.
1436
+ # when they log in to the server using their client.
1437
+ #
1438
+ # An example is `<your-Amazon-S3-bucket-name>/home/username`.
1309
1439
  # @return [String]
1310
1440
  #
1441
+ # @!attribute [rw] home_directory_type
1442
+ # The type of landing directory (folder) you want your users' home
1443
+ # directory to be when they log into the SFTP serve. If you set it to
1444
+ # `PATH`, the user will see the absolute Amazon S3 bucket paths as is
1445
+ # in their SFTP clients. If you set it `LOGICAL`, you will need to
1446
+ # provide mappings in the `HomeDirectoryMappings` for how you want to
1447
+ # make S3 paths visible to your user.
1448
+ # @return [String]
1449
+ #
1450
+ # @!attribute [rw] home_directory_mappings
1451
+ # Logical directory mappings that specify what S3 paths and keys
1452
+ # should be visible to your user and how you want to make them
1453
+ # visible. You will need to specify the "`Entry`" and "`Target`"
1454
+ # pair, where `Entry` shows how the path is made visible and `Target`
1455
+ # is the actual S3 path. If you only specify a target, it will be
1456
+ # displayed as is. You will need to also make sure that your AWS IAM
1457
+ # Role provides access to paths in `Target`. The following is an
1458
+ # example.
1459
+ #
1460
+ # `'[ "/bucket2/documentation", \{ "Entry":
1461
+ # "your-personal-report.pdf", "Target":
1462
+ # "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]'`
1463
+ #
1464
+ # In most cases, you can use this value instead of the scope down
1465
+ # policy to lock your user down to the designated home directory
1466
+ # ("chroot"). To do this, you can set `Entry` to '/' and set
1467
+ # `Target` to the HomeDirectory parameter value.
1468
+ # @return [Array<Types::HomeDirectoryMapEntry>]
1469
+ #
1311
1470
  # @!attribute [rw] policy
1312
1471
  # Allows you to supply a scope-down policy for your user so you can
1313
1472
  # use the same AWS Identity and Access Management (IAM) role across
@@ -1360,6 +1519,8 @@ module Aws::Transfer
1360
1519
  #
1361
1520
  class UpdateUserRequest < Struct.new(
1362
1521
  :home_directory,
1522
+ :home_directory_type,
1523
+ :home_directory_mappings,
1363
1524
  :policy,
1364
1525
  :role,
1365
1526
  :server_id,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-transfer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2019-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core