aws-sdk-transfer 1.14.0 → 1.15.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 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