aws-sdk-transfer 1.32.0 → 1.33.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 996c86038af3aaa7227c722e3cd5354b8cdbabd132a8a36be8faac4191059588
|
4
|
+
data.tar.gz: 21092ed796a8518b5992865ba1de33825c8449cbf470e17a66a51c1dcb5b48d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b39c067e39c7125d8bac5d11be5b1275d9d11529d130bb1d693dc000d5338b985bca712c4fc9a63c1d9d18703db158ca6a59a7af691fcd86b3f3dd80a3103714
|
7
|
+
data.tar.gz: a0af612b16737ff005eac0d7770203ff1251b878dec11911aff19fd9c476d15046ba18fab0a672110e96171bcebd4e37ff5f35a56e3ae477780c07e7bc5ee5ec
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.33.0 (2021-05-25)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - AWS Transfer Family customers can now use AWS Managed Active Directory or AD Connector to authenticate their end users, enabling seamless migration of file transfer workflows that rely on AD authentication, without changing end users' credentials or needing a custom authorizer.
|
8
|
+
|
4
9
|
1.32.0 (2021-03-10)
|
5
10
|
------------------
|
6
11
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.33.0
|
data/lib/aws-sdk-transfer.rb
CHANGED
@@ -28,7 +28,7 @@ require_relative 'aws-sdk-transfer/customizations'
|
|
28
28
|
# structure.
|
29
29
|
#
|
30
30
|
# transfer = Aws::Transfer::Client.new
|
31
|
-
# resp = transfer.
|
31
|
+
# resp = transfer.create_access(params)
|
32
32
|
#
|
33
33
|
# See {Client} for more information.
|
34
34
|
#
|
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-transfer/customizations'
|
|
48
48
|
# @!group service
|
49
49
|
module Aws::Transfer
|
50
50
|
|
51
|
-
GEM_VERSION = '1.
|
51
|
+
GEM_VERSION = '1.33.0'
|
52
52
|
|
53
53
|
end
|
@@ -337,7 +337,179 @@ module Aws::Transfer
|
|
337
337
|
|
338
338
|
# @!group API Operations
|
339
339
|
|
340
|
-
#
|
340
|
+
# Used by administrators to choose which groups in the directory should
|
341
|
+
# have access to upload and download files over the enabled protocols
|
342
|
+
# using AWS Transfer Family. For example, a Microsoft Active Directory
|
343
|
+
# might contain 50,000 users, but only a small fraction might need the
|
344
|
+
# ability to transfer files to the server. An administrator can use
|
345
|
+
# `CreateAccess` to limit the access to the correct set of users who
|
346
|
+
# need this ability.
|
347
|
+
#
|
348
|
+
# @option params [String] :home_directory
|
349
|
+
# The landing directory (folder) for a user when they log in to the
|
350
|
+
# server using the client.
|
351
|
+
#
|
352
|
+
# A `HomeDirectory` example is `/directory_name/home/mydirectory`.
|
353
|
+
#
|
354
|
+
# @option params [String] :home_directory_type
|
355
|
+
# The type of landing directory (folder) that you want your users' home
|
356
|
+
# directory to be when they log in to the server. If you set it to
|
357
|
+
# `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
|
358
|
+
# their file transfer protocol clients. If you set it `LOGICAL`, you
|
359
|
+
# must provide mappings in the `HomeDirectoryMappings` for how you want
|
360
|
+
# to make Amazon S3 paths visible to your users.
|
361
|
+
#
|
362
|
+
# @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
|
363
|
+
# Logical directory mappings that specify what Amazon S3 or Amazon EFS
|
364
|
+
# paths and keys should be visible to your user and how you want to make
|
365
|
+
# them visible. You must specify the `Entry` and `Target` pair, where
|
366
|
+
# `Entry` shows how the path is made visible and `Target` is the actual
|
367
|
+
# Amazon S3 or Amazon EFS path. If you only specify a target, it will be
|
368
|
+
# displayed as is. You also must ensure that your AWS Identity and
|
369
|
+
# Access Management (IAM) role provides access to paths in `Target`.
|
370
|
+
# This value can only be set when `HomeDirectoryType` is set to
|
371
|
+
# *LOGICAL*.
|
372
|
+
#
|
373
|
+
# The following is an `Entry` and `Target` pair example.
|
374
|
+
#
|
375
|
+
# `[ \{ "Entry": "your-personal-report.pdf", "Target":
|
376
|
+
# "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]`
|
377
|
+
#
|
378
|
+
# In most cases, you can use this value instead of the scope-down policy
|
379
|
+
# to lock down your user to the designated home directory
|
380
|
+
# ("`chroot`"). To do this, you can set `Entry` to `/` and set
|
381
|
+
# `Target` to the `HomeDirectory` parameter value.
|
382
|
+
#
|
383
|
+
# The following is an `Entry` and `Target` pair example for `chroot`.
|
384
|
+
#
|
385
|
+
# `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
|
386
|
+
#
|
387
|
+
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon S3
|
388
|
+
# or Amazon EFS, the entry will be ignored. As a workaround, you can use
|
389
|
+
# the Amazon S3 API or EFS API to create 0-byte objects as place holders
|
390
|
+
# for your directory. If using the AWS CLI, use the `s3api` or `efsapi`
|
391
|
+
# call instead of `s3` or `efs` so you can use the `put-object`
|
392
|
+
# operation. For example, you can use the following.
|
393
|
+
#
|
394
|
+
# `aws s3api put-object --bucket bucketname --key path/to/folder/`
|
395
|
+
#
|
396
|
+
# The end of the key name must end in a `/` for it to be considered a
|
397
|
+
# folder.
|
398
|
+
#
|
399
|
+
# </note>
|
400
|
+
#
|
401
|
+
# Required: No
|
402
|
+
#
|
403
|
+
# @option params [String] :policy
|
404
|
+
# A scope-down policy for your user so that you can use the same IAM
|
405
|
+
# role across multiple users. This policy scopes down user access to
|
406
|
+
# portions of their Amazon S3 bucket. Variables that you can use inside
|
407
|
+
# this policy include `$\{Transfer:UserName\}`,
|
408
|
+
# `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
|
409
|
+
#
|
410
|
+
# <note markdown="1"> This only applies when domain of `ServerId` is S3. Amazon EFS does not
|
411
|
+
# use scope down policy.
|
412
|
+
#
|
413
|
+
# For scope-down policies, AWS Transfer Family stores the policy as a
|
414
|
+
# JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
|
415
|
+
# You save the policy as a JSON blob and pass it in the `Policy`
|
416
|
+
# argument.
|
417
|
+
#
|
418
|
+
# For an example of a scope-down policy, see [Example scope-down
|
419
|
+
# policy][1].
|
420
|
+
#
|
421
|
+
# For more information, see [AssumeRole][2] in the *AWS Security Token
|
422
|
+
# Service API Reference*.
|
423
|
+
#
|
424
|
+
# </note>
|
425
|
+
#
|
426
|
+
#
|
427
|
+
#
|
428
|
+
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/scope-down-policy.html
|
429
|
+
# [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
|
430
|
+
#
|
431
|
+
# @option params [Types::PosixProfile] :posix_profile
|
432
|
+
# The full POSIX identity, including user ID (`Uid`), group ID (`Gid`),
|
433
|
+
# and any secondary groups IDs (`SecondaryGids`), that controls your
|
434
|
+
# users' access to your Amazon EFS file systems. The POSIX permissions
|
435
|
+
# that are set on files and directories in your file system determine
|
436
|
+
# the level of access your users get when transferring files into and
|
437
|
+
# out of your Amazon EFS file systems.
|
438
|
+
#
|
439
|
+
# @option params [required, String] :role
|
440
|
+
# Specifies the IAM role that controls your users' access to your
|
441
|
+
# Amazon S3 bucket or EFS file system. The policies attached to this
|
442
|
+
# role determine the level of access that you want to provide your users
|
443
|
+
# when transferring files into and out of your Amazon S3 bucket or EFS
|
444
|
+
# file system. The IAM role should also contain a trust relationship
|
445
|
+
# that allows the server to access your resources when servicing your
|
446
|
+
# users' transfer requests.
|
447
|
+
#
|
448
|
+
# @option params [required, String] :server_id
|
449
|
+
# A system-assigned unique identifier for a server instance. This is the
|
450
|
+
# specific server that you added your user to.
|
451
|
+
#
|
452
|
+
# @option params [required, String] :external_id
|
453
|
+
# A unique identifier that is required to identify specific groups
|
454
|
+
# within your directory. The users of the group that you associate have
|
455
|
+
# access to your Amazon S3 or Amazon EFS resources over the enabled
|
456
|
+
# protocols using AWS Transfer Family. If you know the group name, you
|
457
|
+
# can view the SID values by running the following command using Windows
|
458
|
+
# PowerShell.
|
459
|
+
#
|
460
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
461
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
462
|
+
#
|
463
|
+
# In that command, replace *YourGroupName* with the name of your Active
|
464
|
+
# Directory group.
|
465
|
+
#
|
466
|
+
# The regex used to validate this parameter is a string of characters
|
467
|
+
# consisting of uppercase and lowercase alphanumeric characters with no
|
468
|
+
# spaces. You can also include underscores or any of the following
|
469
|
+
# characters: =,.@:/-
|
470
|
+
#
|
471
|
+
# @return [Types::CreateAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
472
|
+
#
|
473
|
+
# * {Types::CreateAccessResponse#server_id #server_id} => String
|
474
|
+
# * {Types::CreateAccessResponse#external_id #external_id} => String
|
475
|
+
#
|
476
|
+
# @example Request syntax with placeholder values
|
477
|
+
#
|
478
|
+
# resp = client.create_access({
|
479
|
+
# home_directory: "HomeDirectory",
|
480
|
+
# home_directory_type: "PATH", # accepts PATH, LOGICAL
|
481
|
+
# home_directory_mappings: [
|
482
|
+
# {
|
483
|
+
# entry: "MapEntry", # required
|
484
|
+
# target: "MapTarget", # required
|
485
|
+
# },
|
486
|
+
# ],
|
487
|
+
# policy: "Policy",
|
488
|
+
# posix_profile: {
|
489
|
+
# uid: 1, # required
|
490
|
+
# gid: 1, # required
|
491
|
+
# secondary_gids: [1],
|
492
|
+
# },
|
493
|
+
# role: "Role", # required
|
494
|
+
# server_id: "ServerId", # required
|
495
|
+
# external_id: "ExternalId", # required
|
496
|
+
# })
|
497
|
+
#
|
498
|
+
# @example Response structure
|
499
|
+
#
|
500
|
+
# resp.server_id #=> String
|
501
|
+
# resp.external_id #=> String
|
502
|
+
#
|
503
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/CreateAccess AWS API Documentation
|
504
|
+
#
|
505
|
+
# @overload create_access(params = {})
|
506
|
+
# @param [Hash] params ({})
|
507
|
+
def create_access(params = {}, options = {})
|
508
|
+
req = build_request(:create_access, params)
|
509
|
+
req.send_request(options)
|
510
|
+
end
|
511
|
+
|
512
|
+
# Instantiates an auto-scaling virtual server based on the selected file
|
341
513
|
# transfer protocol in AWS. When you make updates to your file transfer
|
342
514
|
# protocol-enabled server or when you work with users, use the
|
343
515
|
# service-generated `ServerId` property that is assigned to the newly
|
@@ -383,22 +555,42 @@ module Aws::Transfer
|
|
383
555
|
# [3]: https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html
|
384
556
|
#
|
385
557
|
# @option params [String] :domain
|
558
|
+
# The domain of the storage system that is used for file transfers.
|
559
|
+
# There are two domains available: Amazon Simple Storage Service (Amazon
|
560
|
+
# S3) and Amazon Elastic File System (Amazon EFS). The default value is
|
561
|
+
# S3.
|
562
|
+
#
|
563
|
+
# <note markdown="1"> After the server is created, the domain cannot be changed.
|
564
|
+
#
|
565
|
+
# </note>
|
386
566
|
#
|
387
567
|
# @option params [Types::EndpointDetails] :endpoint_details
|
388
568
|
# The virtual private cloud (VPC) endpoint settings that are configured
|
389
569
|
# for your server. When you host your endpoint within your VPC, you can
|
390
570
|
# make it accessible only to resources within your VPC, or you can
|
391
|
-
# attach Elastic
|
571
|
+
# attach Elastic IP addresses and make it accessible to clients over the
|
392
572
|
# internet. Your VPC's default security groups are automatically
|
393
573
|
# assigned to your endpoint.
|
394
574
|
#
|
395
575
|
# @option params [String] :endpoint_type
|
396
|
-
# The type of
|
397
|
-
#
|
398
|
-
# VPC endpoint
|
399
|
-
# only within your VPC
|
400
|
-
#
|
401
|
-
#
|
576
|
+
# The type of endpoint that you want your server to use. You can choose
|
577
|
+
# to make your server's endpoint publicly accessible (PUBLIC) or host
|
578
|
+
# it inside your VPC. With an endpoint that is hosted in a VPC, you can
|
579
|
+
# restrict access to your server and resources only within your VPC or
|
580
|
+
# choose to make it internet facing by attaching Elastic IP addresses
|
581
|
+
# directly to it.
|
582
|
+
#
|
583
|
+
# <note markdown="1"> After March 31, 2021, you won't be able to create a server using
|
584
|
+
# `EndpointType=VPC_ENDPOINT` in your AWS account if your account
|
585
|
+
# hasn't already done so before March 31, 2021. If you have already
|
586
|
+
# created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
|
587
|
+
# on or before March 31, 2021, you will not be affected. After this
|
588
|
+
# date, use `EndpointType`=`VPC`.
|
589
|
+
#
|
590
|
+
# For more information, see
|
591
|
+
# https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
|
592
|
+
#
|
593
|
+
# It is recommended that you use `VPC` as the `EndpointType`. With this
|
402
594
|
# endpoint type, you have the option to directly associate up to three
|
403
595
|
# Elastic IPv4 addresses (BYO IP included) with your server's endpoint
|
404
596
|
# and use VPC security groups to restrict traffic by the client's
|
@@ -423,19 +615,25 @@ module Aws::Transfer
|
|
423
615
|
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/edit-server-config.html#configuring-servers-change-host-key
|
424
616
|
#
|
425
617
|
# @option params [Types::IdentityProviderDetails] :identity_provider_details
|
426
|
-
# Required when `IdentityProviderType` is set to `
|
427
|
-
# an array containing all of the information
|
618
|
+
# Required when `IdentityProviderType` is set to `AWS_DIRECTORY_SERVICE`
|
619
|
+
# or `API_GATEWAY`. Accepts an array containing all of the information
|
620
|
+
# required to use a directory in `AWS_DIRECTORY_SERVICE` or invoke a
|
428
621
|
# customer-supplied authentication API, including the API Gateway URL.
|
429
622
|
# Not required when `IdentityProviderType` is set to `SERVICE_MANAGED`.
|
430
623
|
#
|
431
624
|
# @option params [String] :identity_provider_type
|
432
625
|
# Specifies the mode of authentication for a server. The default value
|
433
626
|
# is `SERVICE_MANAGED`, which allows you to store and access user
|
434
|
-
# credentials within the AWS Transfer Family service. Use
|
435
|
-
# `
|
436
|
-
#
|
437
|
-
#
|
438
|
-
#
|
627
|
+
# credentials within the AWS Transfer Family service. Use
|
628
|
+
# `AWS_DIRECTORY_SERVICE` to provide access to Active Directory groups
|
629
|
+
# in AWS Managed Active Directory or Microsoft Active Directory in your
|
630
|
+
# on-premises environment or in AWS using AD Connectors. This option
|
631
|
+
# also requires you to provide a Directory ID using the
|
632
|
+
# `IdentityProviderDetails` parameter. Use the `API_GATEWAY` value to
|
633
|
+
# integrate with an identity provider of your choosing. The
|
634
|
+
# `API_GATEWAY` setting requires you to provide an API Gateway endpoint
|
635
|
+
# URL to call for authentication using the `IdentityProviderDetails`
|
636
|
+
# parameter.
|
439
637
|
#
|
440
638
|
# @option params [String] :logging_role
|
441
639
|
# Allows the service to write your users' activity to your Amazon
|
@@ -459,7 +657,8 @@ module Aws::Transfer
|
|
459
657
|
# when clients connect to it over FTPS.
|
460
658
|
#
|
461
659
|
# If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
|
462
|
-
# must be `VPC` and the `IdentityProviderType` must be
|
660
|
+
# must be `VPC` and the `IdentityProviderType` must be
|
661
|
+
# `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
|
463
662
|
#
|
464
663
|
# If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
|
465
664
|
# associated.
|
@@ -498,8 +697,9 @@ module Aws::Transfer
|
|
498
697
|
# identity_provider_details: {
|
499
698
|
# url: "Url",
|
500
699
|
# invocation_role: "Role",
|
700
|
+
# directory_id: "DirectoryId",
|
501
701
|
# },
|
502
|
-
# identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY
|
702
|
+
# identity_provider_type: "SERVICE_MANAGED", # accepts SERVICE_MANAGED, API_GATEWAY, AWS_DIRECTORY_SERVICE
|
503
703
|
# logging_role: "Role",
|
504
704
|
# protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
|
505
705
|
# security_policy_name: "SecurityPolicyName",
|
@@ -537,8 +737,7 @@ module Aws::Transfer
|
|
537
737
|
# The landing directory (folder) for a user when they log in to the
|
538
738
|
# server using the client.
|
539
739
|
#
|
540
|
-
#
|
541
|
-
# <code>your-Amazon-S3-bucket-name>/home/username</code> </i>.
|
740
|
+
# A `HomeDirectory` example is `/bucket_name/home/mydirectory`.
|
542
741
|
#
|
543
742
|
# @option params [String] :home_directory_type
|
544
743
|
# The type of landing directory (folder) you want your users' home
|
@@ -549,31 +748,37 @@ module Aws::Transfer
|
|
549
748
|
# you want to make Amazon S3 paths visible to your users.
|
550
749
|
#
|
551
750
|
# @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
|
552
|
-
# Logical directory mappings that specify what Amazon S3
|
553
|
-
# should be visible to your user and how you want to make them
|
554
|
-
# You will need to specify the
|
751
|
+
# Logical directory mappings that specify what Amazon S3 or EFS paths
|
752
|
+
# and keys should be visible to your user and how you want to make them
|
753
|
+
# visible. You will need to specify the `Entry` and `Target` pair, where
|
555
754
|
# `Entry` shows how the path is made visible and `Target` is the actual
|
556
|
-
# Amazon S3 path. If you only specify a target, it will be
|
557
|
-
# is. You will need to also make sure that your IAM role
|
558
|
-
# to paths in `Target`.
|
755
|
+
# Amazon S3 or EFS path. If you only specify a target, it will be
|
756
|
+
# displayed as is. You will need to also make sure that your IAM role
|
757
|
+
# provides access to paths in `Target`. This value can only be set when
|
758
|
+
# `HomeDirectoryType` is set to `LOGICAL`.
|
559
759
|
#
|
560
|
-
#
|
561
|
-
#
|
562
|
-
#
|
760
|
+
# The following is an `Entry` and `Target` pair example.
|
761
|
+
#
|
762
|
+
# `[ \{ "Entry": "your-personal-report.pdf", "Target":
|
763
|
+
# "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]`
|
563
764
|
#
|
564
765
|
# In most cases, you can use this value instead of the scope-down policy
|
565
|
-
# to lock your user down to the designated home directory
|
566
|
-
# To do this, you can set `Entry` to
|
567
|
-
# HomeDirectory parameter value.
|
568
|
-
#
|
569
|
-
#
|
570
|
-
#
|
571
|
-
#
|
572
|
-
#
|
573
|
-
# the
|
574
|
-
#
|
575
|
-
#
|
576
|
-
#
|
766
|
+
# to lock your user down to the designated home directory
|
767
|
+
# ("`chroot`"). To do this, you can set `Entry` to `/` and set
|
768
|
+
# `Target` to the HomeDirectory parameter value.
|
769
|
+
#
|
770
|
+
# The following is an `Entry` and `Target` pair example for `chroot`.
|
771
|
+
#
|
772
|
+
# `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
|
773
|
+
#
|
774
|
+
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon S3
|
775
|
+
# or EFS, the entry will be ignored. As a workaround, you can use the
|
776
|
+
# Amazon S3 API or EFS API to create 0 byte objects as place holders for
|
777
|
+
# your directory. If using the CLI, use the `s3api` or `efsapi` call
|
778
|
+
# instead of `s3` or `efs` so you can use the put-object operation. For
|
779
|
+
# example, you use the following: `aws s3api put-object --bucket
|
780
|
+
# bucketname --key path/to/folder/`. Make sure that the end of the key
|
781
|
+
# name ends in a `/` for it to be considered a folder.
|
577
782
|
#
|
578
783
|
# </note>
|
579
784
|
#
|
@@ -584,12 +789,15 @@ module Aws::Transfer
|
|
584
789
|
# policy include `$\{Transfer:UserName\}`,
|
585
790
|
# `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
|
586
791
|
#
|
587
|
-
# <note markdown="1">
|
792
|
+
# <note markdown="1"> This only applies when domain of ServerId is S3. EFS does not use
|
793
|
+
# scope down policy.
|
794
|
+
#
|
795
|
+
# For scope-down policies, AWS Transfer Family stores the policy as a
|
588
796
|
# JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
|
589
797
|
# You save the policy as a JSON blob and pass it in the `Policy`
|
590
798
|
# argument.
|
591
799
|
#
|
592
|
-
# For an example of a scope-down policy, see [
|
800
|
+
# For an example of a scope-down policy, see [Example scope-down
|
593
801
|
# policy][1].
|
594
802
|
#
|
595
803
|
# For more information, see [AssumeRole][2] in the *AWS Security Token
|
@@ -599,18 +807,25 @@ module Aws::Transfer
|
|
599
807
|
#
|
600
808
|
#
|
601
809
|
#
|
602
|
-
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/
|
810
|
+
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/scope-down-policy.html
|
603
811
|
# [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
|
604
812
|
#
|
605
813
|
# @option params [Types::PosixProfile] :posix_profile
|
814
|
+
# Specifies the full POSIX identity, including user ID (`Uid`), group ID
|
815
|
+
# (`Gid`), and any secondary groups IDs (`SecondaryGids`), that controls
|
816
|
+
# your users' access to your Amazon EFS file systems. The POSIX
|
817
|
+
# permissions that are set on files and directories in Amazon EFS
|
818
|
+
# determine the level of access your users get when transferring files
|
819
|
+
# into and out of your Amazon EFS file systems.
|
606
820
|
#
|
607
821
|
# @option params [required, String] :role
|
608
|
-
#
|
609
|
-
# bucket. The policies attached to this
|
610
|
-
# access you want to provide your users
|
611
|
-
# out of your Amazon S3 bucket or
|
612
|
-
#
|
613
|
-
# resources when servicing your
|
822
|
+
# Specifies the IAM role that controls your users' access to your
|
823
|
+
# Amazon S3 bucket or EFS file system. The policies attached to this
|
824
|
+
# role will determine the level of access you want to provide your users
|
825
|
+
# when transferring files into and out of your Amazon S3 bucket or EFS
|
826
|
+
# file system. The IAM role should also contain a trust relationship
|
827
|
+
# that allows the server to access your resources when servicing your
|
828
|
+
# users' transfer requests.
|
614
829
|
#
|
615
830
|
# @option params [required, String] :server_id
|
616
831
|
# A system-assigned unique identifier for a server instance. This is the
|
@@ -680,6 +895,50 @@ module Aws::Transfer
|
|
680
895
|
req.send_request(options)
|
681
896
|
end
|
682
897
|
|
898
|
+
# Allows you to delete the access specified in the `ServerID` and
|
899
|
+
# `ExternalID` parameters.
|
900
|
+
#
|
901
|
+
# @option params [required, String] :server_id
|
902
|
+
# A system-assigned unique identifier for a server that has this user
|
903
|
+
# assigned.
|
904
|
+
#
|
905
|
+
# @option params [required, String] :external_id
|
906
|
+
# A unique identifier that is required to identify specific groups
|
907
|
+
# within your directory. The users of the group that you associate have
|
908
|
+
# access to your Amazon S3 or Amazon EFS resources over the enabled
|
909
|
+
# protocols using AWS Transfer Family. If you know the group name, you
|
910
|
+
# can view the SID values by running the following command using Windows
|
911
|
+
# PowerShell.
|
912
|
+
#
|
913
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
914
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
915
|
+
#
|
916
|
+
# In that command, replace *YourGroupName* with the name of your Active
|
917
|
+
# Directory group.
|
918
|
+
#
|
919
|
+
# The regex used to validate this parameter is a string of characters
|
920
|
+
# consisting of uppercase and lowercase alphanumeric characters with no
|
921
|
+
# spaces. You can also include underscores or any of the following
|
922
|
+
# characters: =,.@:/-
|
923
|
+
#
|
924
|
+
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
|
925
|
+
#
|
926
|
+
# @example Request syntax with placeholder values
|
927
|
+
#
|
928
|
+
# resp = client.delete_access({
|
929
|
+
# server_id: "ServerId", # required
|
930
|
+
# external_id: "ExternalId", # required
|
931
|
+
# })
|
932
|
+
#
|
933
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DeleteAccess AWS API Documentation
|
934
|
+
#
|
935
|
+
# @overload delete_access(params = {})
|
936
|
+
# @param [Hash] params ({})
|
937
|
+
def delete_access(params = {}, options = {})
|
938
|
+
req = build_request(:delete_access, params)
|
939
|
+
req.send_request(options)
|
940
|
+
end
|
941
|
+
|
683
942
|
# Deletes the file transfer protocol-enabled server that you specify.
|
684
943
|
#
|
685
944
|
# No response returns from this operation.
|
@@ -773,6 +1032,73 @@ module Aws::Transfer
|
|
773
1032
|
req.send_request(options)
|
774
1033
|
end
|
775
1034
|
|
1035
|
+
# Describes the access that is assigned to the specific file transfer
|
1036
|
+
# protocol-enabled server, as identified by its `ServerId` property and
|
1037
|
+
# its `ExternalID`.
|
1038
|
+
#
|
1039
|
+
# The response from this call returns the properties of the access that
|
1040
|
+
# is associated with the `ServerId` value that was specified.
|
1041
|
+
#
|
1042
|
+
# @option params [required, String] :server_id
|
1043
|
+
# A system-assigned unique identifier for a server that has this access
|
1044
|
+
# assigned.
|
1045
|
+
#
|
1046
|
+
# @option params [required, String] :external_id
|
1047
|
+
# A unique identifier that is required to identify specific groups
|
1048
|
+
# within your directory. The users of the group you associate have
|
1049
|
+
# access to your Amazon S3 or Amazon EFS resources over the enabled
|
1050
|
+
# protocols using AWS Transfer Family. If you know the group name, you
|
1051
|
+
# can view the SID values by running the following command using Windows
|
1052
|
+
# PowerShell.
|
1053
|
+
#
|
1054
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
1055
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
1056
|
+
#
|
1057
|
+
# In that command, replace *YourGroupName* with the name of your Active
|
1058
|
+
# Directory group.
|
1059
|
+
#
|
1060
|
+
# The regex used to validate this parameter is a string of characters
|
1061
|
+
# consisting of uppercase and lowercase alphanumeric characters with no
|
1062
|
+
# spaces. You can also include underscores or any of the following
|
1063
|
+
# characters: =,.@:/-
|
1064
|
+
#
|
1065
|
+
# @return [Types::DescribeAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1066
|
+
#
|
1067
|
+
# * {Types::DescribeAccessResponse#server_id #server_id} => String
|
1068
|
+
# * {Types::DescribeAccessResponse#access #access} => Types::DescribedAccess
|
1069
|
+
#
|
1070
|
+
# @example Request syntax with placeholder values
|
1071
|
+
#
|
1072
|
+
# resp = client.describe_access({
|
1073
|
+
# server_id: "ServerId", # required
|
1074
|
+
# external_id: "ExternalId", # required
|
1075
|
+
# })
|
1076
|
+
#
|
1077
|
+
# @example Response structure
|
1078
|
+
#
|
1079
|
+
# resp.server_id #=> String
|
1080
|
+
# resp.access.home_directory #=> String
|
1081
|
+
# resp.access.home_directory_mappings #=> Array
|
1082
|
+
# resp.access.home_directory_mappings[0].entry #=> String
|
1083
|
+
# resp.access.home_directory_mappings[0].target #=> String
|
1084
|
+
# resp.access.home_directory_type #=> String, one of "PATH", "LOGICAL"
|
1085
|
+
# resp.access.policy #=> String
|
1086
|
+
# resp.access.posix_profile.uid #=> Integer
|
1087
|
+
# resp.access.posix_profile.gid #=> Integer
|
1088
|
+
# resp.access.posix_profile.secondary_gids #=> Array
|
1089
|
+
# resp.access.posix_profile.secondary_gids[0] #=> Integer
|
1090
|
+
# resp.access.role #=> String
|
1091
|
+
# resp.access.external_id #=> String
|
1092
|
+
#
|
1093
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeAccess AWS API Documentation
|
1094
|
+
#
|
1095
|
+
# @overload describe_access(params = {})
|
1096
|
+
# @param [Hash] params ({})
|
1097
|
+
def describe_access(params = {}, options = {})
|
1098
|
+
req = build_request(:describe_access, params)
|
1099
|
+
req.send_request(options)
|
1100
|
+
end
|
1101
|
+
|
776
1102
|
# Describes the security policy that is attached to your file transfer
|
777
1103
|
# protocol-enabled server. The response contains a description of the
|
778
1104
|
# security policy's properties. For more information about security
|
@@ -855,7 +1181,8 @@ module Aws::Transfer
|
|
855
1181
|
# resp.server.host_key_fingerprint #=> String
|
856
1182
|
# resp.server.identity_provider_details.url #=> String
|
857
1183
|
# resp.server.identity_provider_details.invocation_role #=> String
|
858
|
-
# resp.server.
|
1184
|
+
# resp.server.identity_provider_details.directory_id #=> String
|
1185
|
+
# resp.server.identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY", "AWS_DIRECTORY_SERVICE"
|
859
1186
|
# resp.server.logging_role #=> String
|
860
1187
|
# resp.server.protocols #=> Array
|
861
1188
|
# resp.server.protocols[0] #=> String, one of "SFTP", "FTP", "FTPS"
|
@@ -981,6 +1308,56 @@ module Aws::Transfer
|
|
981
1308
|
req.send_request(options)
|
982
1309
|
end
|
983
1310
|
|
1311
|
+
# Lists the details for all the accesses you have on your server.
|
1312
|
+
#
|
1313
|
+
# @option params [Integer] :max_results
|
1314
|
+
# Specifies the maximum number of access SIDs to return.
|
1315
|
+
#
|
1316
|
+
# @option params [String] :next_token
|
1317
|
+
# When you can get additional results from the `ListAccesses` call, a
|
1318
|
+
# `NextToken` parameter is returned in the output. You can then pass in
|
1319
|
+
# a subsequent command to the `NextToken` parameter to continue listing
|
1320
|
+
# additional accesses.
|
1321
|
+
#
|
1322
|
+
# @option params [required, String] :server_id
|
1323
|
+
# A system-assigned unique identifier for a server that has users
|
1324
|
+
# assigned to it.
|
1325
|
+
#
|
1326
|
+
# @return [Types::ListAccessesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1327
|
+
#
|
1328
|
+
# * {Types::ListAccessesResponse#next_token #next_token} => String
|
1329
|
+
# * {Types::ListAccessesResponse#server_id #server_id} => String
|
1330
|
+
# * {Types::ListAccessesResponse#accesses #accesses} => Array<Types::ListedAccess>
|
1331
|
+
#
|
1332
|
+
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
|
1333
|
+
#
|
1334
|
+
# @example Request syntax with placeholder values
|
1335
|
+
#
|
1336
|
+
# resp = client.list_accesses({
|
1337
|
+
# max_results: 1,
|
1338
|
+
# next_token: "NextToken",
|
1339
|
+
# server_id: "ServerId", # required
|
1340
|
+
# })
|
1341
|
+
#
|
1342
|
+
# @example Response structure
|
1343
|
+
#
|
1344
|
+
# resp.next_token #=> String
|
1345
|
+
# resp.server_id #=> String
|
1346
|
+
# resp.accesses #=> Array
|
1347
|
+
# resp.accesses[0].home_directory #=> String
|
1348
|
+
# resp.accesses[0].home_directory_type #=> String, one of "PATH", "LOGICAL"
|
1349
|
+
# resp.accesses[0].role #=> String
|
1350
|
+
# resp.accesses[0].external_id #=> String
|
1351
|
+
#
|
1352
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListAccesses AWS API Documentation
|
1353
|
+
#
|
1354
|
+
# @overload list_accesses(params = {})
|
1355
|
+
# @param [Hash] params ({})
|
1356
|
+
def list_accesses(params = {}, options = {})
|
1357
|
+
req = build_request(:list_accesses, params)
|
1358
|
+
req.send_request(options)
|
1359
|
+
end
|
1360
|
+
|
984
1361
|
# Lists the security policies that are attached to your file transfer
|
985
1362
|
# protocol-enabled servers.
|
986
1363
|
#
|
@@ -1056,7 +1433,7 @@ module Aws::Transfer
|
|
1056
1433
|
# resp.servers #=> Array
|
1057
1434
|
# resp.servers[0].arn #=> String
|
1058
1435
|
# resp.servers[0].domain #=> String, one of "S3", "EFS"
|
1059
|
-
# resp.servers[0].identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY"
|
1436
|
+
# resp.servers[0].identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY", "AWS_DIRECTORY_SERVICE"
|
1060
1437
|
# resp.servers[0].endpoint_type #=> String, one of "PUBLIC", "VPC", "VPC_ENDPOINT"
|
1061
1438
|
# resp.servers[0].logging_role #=> String
|
1062
1439
|
# resp.servers[0].server_id #=> String
|
@@ -1072,8 +1449,8 @@ module Aws::Transfer
|
|
1072
1449
|
req.send_request(options)
|
1073
1450
|
end
|
1074
1451
|
|
1075
|
-
# Lists all of the tags associated with the Amazon Resource
|
1076
|
-
# you specify. The resource can be a user, server, or role.
|
1452
|
+
# Lists all of the tags associated with the Amazon Resource Name (ARN)
|
1453
|
+
# that you specify. The resource can be a user, server, or role.
|
1077
1454
|
#
|
1078
1455
|
# @option params [required, String] :arn
|
1079
1456
|
# Requests the tags associated with a particular Amazon Resource Name
|
@@ -1284,11 +1661,12 @@ module Aws::Transfer
|
|
1284
1661
|
end
|
1285
1662
|
|
1286
1663
|
# If the `IdentityProviderType` of a file transfer protocol-enabled
|
1287
|
-
# server is `API_Gateway`, tests whether your
|
1288
|
-
# successfully. We highly recommend that you
|
1289
|
-
# your authentication method as soon as you
|
1290
|
-
# so, you can troubleshoot issues with the
|
1291
|
-
# ensure that your users can
|
1664
|
+
# server is `AWS_DIRECTORY_SERVICE` or `API_Gateway`, tests whether your
|
1665
|
+
# identity provider is set up successfully. We highly recommend that you
|
1666
|
+
# call this operation to test your authentication method as soon as you
|
1667
|
+
# create your server. By doing so, you can troubleshoot issues with the
|
1668
|
+
# identity provider integration to ensure that your users can
|
1669
|
+
# successfully use the service.
|
1292
1670
|
#
|
1293
1671
|
# @option params [required, String] :server_id
|
1294
1672
|
# A system-assigned identifier for a specific server. That server's
|
@@ -1381,6 +1759,173 @@ module Aws::Transfer
|
|
1381
1759
|
req.send_request(options)
|
1382
1760
|
end
|
1383
1761
|
|
1762
|
+
# Allows you to update parameters for the access specified in the
|
1763
|
+
# `ServerID` and `ExternalID` parameters.
|
1764
|
+
#
|
1765
|
+
# @option params [String] :home_directory
|
1766
|
+
# The landing directory (folder) for a user when they log in to the
|
1767
|
+
# server using the client.
|
1768
|
+
#
|
1769
|
+
# A `HomeDirectory` example is `/directory_name/home/mydirectory`.
|
1770
|
+
#
|
1771
|
+
# @option params [String] :home_directory_type
|
1772
|
+
# The type of landing directory (folder) that you want your users' home
|
1773
|
+
# directory to be when they log in to the server. If you set it to
|
1774
|
+
# `PATH`, the user will see the absolute Amazon S3 bucket paths as is in
|
1775
|
+
# their file transfer protocol clients. If you set it `LOGICAL`, you
|
1776
|
+
# must provide mappings in the `HomeDirectoryMappings` for how you want
|
1777
|
+
# to make Amazon S3 paths visible to your users.
|
1778
|
+
#
|
1779
|
+
# @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
|
1780
|
+
# Logical directory mappings that specify what Amazon S3 or Amazon EFS
|
1781
|
+
# paths and keys should be visible to your user and how you want to make
|
1782
|
+
# them visible. You must specify the `Entry` and `Target` pair, where
|
1783
|
+
# `Entry` shows how the path is made visible and `Target` is the actual
|
1784
|
+
# Amazon S3 or Amazon EFS path. If you only specify a target, it will be
|
1785
|
+
# displayed as is. You also must ensure that your AWS Identity and
|
1786
|
+
# Access Management (IAM) role provides access to paths in `Target`.
|
1787
|
+
# This value can only be set when `HomeDirectoryType` is set to
|
1788
|
+
# *LOGICAL*.
|
1789
|
+
#
|
1790
|
+
# The following is an `Entry` and `Target` pair example.
|
1791
|
+
#
|
1792
|
+
# `[ \{ "Entry": "your-personal-report.pdf", "Target":
|
1793
|
+
# "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \} ]`
|
1794
|
+
#
|
1795
|
+
# In most cases, you can use this value instead of the scope-down policy
|
1796
|
+
# to lock down your user to the designated home directory
|
1797
|
+
# ("`chroot`"). To do this, you can set `Entry` to `/` and set
|
1798
|
+
# `Target` to the `HomeDirectory` parameter value.
|
1799
|
+
#
|
1800
|
+
# The following is an `Entry` and `Target` pair example for `chroot`.
|
1801
|
+
#
|
1802
|
+
# `[ \{ "Entry": "/", "Target": "/bucket_name/home/mydirectory" \} ]`
|
1803
|
+
#
|
1804
|
+
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon S3
|
1805
|
+
# or Amazon EFS, the entry will be ignored. As a workaround, you can use
|
1806
|
+
# the Amazon S3 API or EFS API to create 0-byte objects as place holders
|
1807
|
+
# for your directory. If using the AWS CLI, use the `s3api` or `efsapi`
|
1808
|
+
# call instead of `s3` or `efs` so you can use the `put-object`
|
1809
|
+
# operation. For example, you can use the following.
|
1810
|
+
#
|
1811
|
+
# `aws s3api put-object --bucket bucketname --key path/to/folder/`
|
1812
|
+
#
|
1813
|
+
# The end of the key name must end in a `/` for it to be considered a
|
1814
|
+
# folder.
|
1815
|
+
#
|
1816
|
+
# </note>
|
1817
|
+
#
|
1818
|
+
# Required: No
|
1819
|
+
#
|
1820
|
+
# @option params [String] :policy
|
1821
|
+
# A scope-down policy for your user so that you can use the same IAM
|
1822
|
+
# role across multiple users. This policy scopes down user access to
|
1823
|
+
# portions of their Amazon S3 bucket. Variables that you can use inside
|
1824
|
+
# this policy include `$\{Transfer:UserName\}`,
|
1825
|
+
# `$\{Transfer:HomeDirectory\}`, and `$\{Transfer:HomeBucket\}`.
|
1826
|
+
#
|
1827
|
+
# <note markdown="1"> This only applies when domain of `ServerId` is S3. Amazon EFS does not
|
1828
|
+
# use scope down policy.
|
1829
|
+
#
|
1830
|
+
# For scope-down policies, AWS Transfer Family stores the policy as a
|
1831
|
+
# JSON blob, instead of the Amazon Resource Name (ARN) of the policy.
|
1832
|
+
# You save the policy as a JSON blob and pass it in the `Policy`
|
1833
|
+
# argument.
|
1834
|
+
#
|
1835
|
+
# For an example of a scope-down policy, see [Example scope-down
|
1836
|
+
# policy][1].
|
1837
|
+
#
|
1838
|
+
# For more information, see [AssumeRole][2] in the *AWS Security Token
|
1839
|
+
# Service API Reference*.
|
1840
|
+
#
|
1841
|
+
# </note>
|
1842
|
+
#
|
1843
|
+
#
|
1844
|
+
#
|
1845
|
+
# [1]: https://docs.aws.amazon.com/transfer/latest/userguide/scope-down-policy.html
|
1846
|
+
# [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
|
1847
|
+
#
|
1848
|
+
# @option params [Types::PosixProfile] :posix_profile
|
1849
|
+
# The full POSIX identity, including user ID (`Uid`), group ID (`Gid`),
|
1850
|
+
# and any secondary groups IDs (`SecondaryGids`), that controls your
|
1851
|
+
# users' access to your Amazon EFS file systems. The POSIX permissions
|
1852
|
+
# that are set on files and directories in your file system determine
|
1853
|
+
# the level of access your users get when transferring files into and
|
1854
|
+
# out of your Amazon EFS file systems.
|
1855
|
+
#
|
1856
|
+
# @option params [String] :role
|
1857
|
+
# Specifies the IAM role that controls your users' access to your
|
1858
|
+
# Amazon S3 bucket or EFS file system. The policies attached to this
|
1859
|
+
# role determine the level of access that you want to provide your users
|
1860
|
+
# when transferring files into and out of your Amazon S3 bucket or EFS
|
1861
|
+
# file system. The IAM role should also contain a trust relationship
|
1862
|
+
# that allows the server to access your resources when servicing your
|
1863
|
+
# users' transfer requests.
|
1864
|
+
#
|
1865
|
+
# @option params [required, String] :server_id
|
1866
|
+
# A system-assigned unique identifier for a server instance. This is the
|
1867
|
+
# specific server that you added your user to.
|
1868
|
+
#
|
1869
|
+
# @option params [required, String] :external_id
|
1870
|
+
# A unique identifier that is required to identify specific groups
|
1871
|
+
# within your directory. The users of the group that you associate have
|
1872
|
+
# access to your Amazon S3 or Amazon EFS resources over the enabled
|
1873
|
+
# protocols using AWS Transfer Family. If you know the group name, you
|
1874
|
+
# can view the SID values by running the following command using Windows
|
1875
|
+
# PowerShell.
|
1876
|
+
#
|
1877
|
+
# `Get-ADGroup -Filter \{samAccountName -like "YourGroupName*"\}
|
1878
|
+
# -Properties * | Select SamaccountName,ObjectSid`
|
1879
|
+
#
|
1880
|
+
# In that command, replace *YourGroupName* with the name of your Active
|
1881
|
+
# Directory group.
|
1882
|
+
#
|
1883
|
+
# The regex used to validate this parameter is a string of characters
|
1884
|
+
# consisting of uppercase and lowercase alphanumeric characters with no
|
1885
|
+
# spaces. You can also include underscores or any of the following
|
1886
|
+
# characters: =,.@:/-
|
1887
|
+
#
|
1888
|
+
# @return [Types::UpdateAccessResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1889
|
+
#
|
1890
|
+
# * {Types::UpdateAccessResponse#server_id #server_id} => String
|
1891
|
+
# * {Types::UpdateAccessResponse#external_id #external_id} => String
|
1892
|
+
#
|
1893
|
+
# @example Request syntax with placeholder values
|
1894
|
+
#
|
1895
|
+
# resp = client.update_access({
|
1896
|
+
# home_directory: "HomeDirectory",
|
1897
|
+
# home_directory_type: "PATH", # accepts PATH, LOGICAL
|
1898
|
+
# home_directory_mappings: [
|
1899
|
+
# {
|
1900
|
+
# entry: "MapEntry", # required
|
1901
|
+
# target: "MapTarget", # required
|
1902
|
+
# },
|
1903
|
+
# ],
|
1904
|
+
# policy: "Policy",
|
1905
|
+
# posix_profile: {
|
1906
|
+
# uid: 1, # required
|
1907
|
+
# gid: 1, # required
|
1908
|
+
# secondary_gids: [1],
|
1909
|
+
# },
|
1910
|
+
# role: "Role",
|
1911
|
+
# server_id: "ServerId", # required
|
1912
|
+
# external_id: "ExternalId", # required
|
1913
|
+
# })
|
1914
|
+
#
|
1915
|
+
# @example Response structure
|
1916
|
+
#
|
1917
|
+
# resp.server_id #=> String
|
1918
|
+
# resp.external_id #=> String
|
1919
|
+
#
|
1920
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/UpdateAccess AWS API Documentation
|
1921
|
+
#
|
1922
|
+
# @overload update_access(params = {})
|
1923
|
+
# @param [Hash] params ({})
|
1924
|
+
def update_access(params = {}, options = {})
|
1925
|
+
req = build_request(:update_access, params)
|
1926
|
+
req.send_request(options)
|
1927
|
+
end
|
1928
|
+
|
1384
1929
|
# Updates the file transfer protocol-enabled server's properties after
|
1385
1930
|
# that server has been created.
|
1386
1931
|
#
|
@@ -1434,12 +1979,24 @@ module Aws::Transfer
|
|
1434
1979
|
# with your server's endpoint.
|
1435
1980
|
#
|
1436
1981
|
# @option params [String] :endpoint_type
|
1437
|
-
# The type of endpoint that you want your server to
|
1438
|
-
#
|
1439
|
-
#
|
1440
|
-
# within your VPC
|
1441
|
-
#
|
1442
|
-
#
|
1982
|
+
# The type of endpoint that you want your server to use. You can choose
|
1983
|
+
# to make your server's endpoint publicly accessible (PUBLIC) or host
|
1984
|
+
# it inside your VPC. With an endpoint that is hosted in a VPC, you can
|
1985
|
+
# restrict access to your server and resources only within your VPC or
|
1986
|
+
# choose to make it internet facing by attaching Elastic IP addresses
|
1987
|
+
# directly to it.
|
1988
|
+
#
|
1989
|
+
# <note markdown="1"> After March 31, 2021, you won't be able to create a server using
|
1990
|
+
# `EndpointType=VPC_ENDPOINT` in your AWS account if your account
|
1991
|
+
# hasn't already done so before March 31, 2021. If you have already
|
1992
|
+
# created servers with `EndpointType=VPC_ENDPOINT` in your AWS account
|
1993
|
+
# on or before March 31, 2021, you will not be affected. After this
|
1994
|
+
# date, use `EndpointType`=`VPC`.
|
1995
|
+
#
|
1996
|
+
# For more information, see
|
1997
|
+
# https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint.
|
1998
|
+
#
|
1999
|
+
# It is recommended that you use `VPC` as the `EndpointType`. With this
|
1443
2000
|
# endpoint type, you have the option to directly associate up to three
|
1444
2001
|
# Elastic IPv4 addresses (BYO IP included) with your server's endpoint
|
1445
2002
|
# and use VPC security groups to restrict traffic by the client's
|
@@ -1469,8 +2026,8 @@ module Aws::Transfer
|
|
1469
2026
|
#
|
1470
2027
|
# @option params [String] :logging_role
|
1471
2028
|
# Changes the AWS Identity and Access Management (IAM) role that allows
|
1472
|
-
# Amazon S3 events to be logged in Amazon CloudWatch,
|
1473
|
-
# or off.
|
2029
|
+
# Amazon S3 or Amazon EFS events to be logged in Amazon CloudWatch,
|
2030
|
+
# turning logging on or off.
|
1474
2031
|
#
|
1475
2032
|
# @option params [Array<String>] :protocols
|
1476
2033
|
# Specifies the file transfer protocol or protocols over which your file
|
@@ -1490,7 +2047,8 @@ module Aws::Transfer
|
|
1490
2047
|
# when clients connect to it over FTPS.
|
1491
2048
|
#
|
1492
2049
|
# If `Protocol` includes either `FTP` or `FTPS`, then the `EndpointType`
|
1493
|
-
# must be `VPC` and the `IdentityProviderType` must be
|
2050
|
+
# must be `VPC` and the `IdentityProviderType` must be
|
2051
|
+
# `AWS_DIRECTORY_SERVICE` or `API_GATEWAY`.
|
1494
2052
|
#
|
1495
2053
|
# If `Protocol` includes `FTP`, then `AddressAllocationIds` cannot be
|
1496
2054
|
# associated.
|
@@ -1529,6 +2087,7 @@ module Aws::Transfer
|
|
1529
2087
|
# identity_provider_details: {
|
1530
2088
|
# url: "Url",
|
1531
2089
|
# invocation_role: "Role",
|
2090
|
+
# directory_id: "DirectoryId",
|
1532
2091
|
# },
|
1533
2092
|
# logging_role: "NullableRole",
|
1534
2093
|
# protocols: ["SFTP"], # accepts SFTP, FTP, FTPS
|
@@ -1565,37 +2124,39 @@ module Aws::Transfer
|
|
1565
2124
|
# @option params [String] :home_directory_type
|
1566
2125
|
# The type of landing directory (folder) you want your users' home
|
1567
2126
|
# directory to be when they log into the server. If you set it to
|
1568
|
-
# `PATH`, the user will see the absolute Amazon S3 bucket
|
1569
|
-
# their file transfer protocol clients. If you set it
|
1570
|
-
# will need to provide mappings in the
|
1571
|
-
# you want to make Amazon S3
|
2127
|
+
# `PATH`, the user will see the absolute Amazon S3 bucket or EFS paths
|
2128
|
+
# as is in their file transfer protocol clients. If you set it
|
2129
|
+
# `LOGICAL`, you will need to provide mappings in the
|
2130
|
+
# `HomeDirectoryMappings` for how you want to make Amazon S3 or EFS
|
2131
|
+
# paths visible to your users.
|
1572
2132
|
#
|
1573
2133
|
# @option params [Array<Types::HomeDirectoryMapEntry>] :home_directory_mappings
|
1574
|
-
# Logical directory mappings that specify what Amazon S3
|
1575
|
-
# should be visible to your user and how you want to make
|
1576
|
-
# You will need to specify the "`Entry`" and
|
1577
|
-
# `Entry` shows how the path is made visible
|
1578
|
-
#
|
1579
|
-
#
|
1580
|
-
# to paths in `Target`. The
|
2134
|
+
# Logical directory mappings that specify what Amazon S3 or Amazon EFS
|
2135
|
+
# paths and keys should be visible to your user and how you want to make
|
2136
|
+
# them visible. You will need to specify the "`Entry`" and
|
2137
|
+
# "`Target`" pair, where `Entry` shows how the path is made visible
|
2138
|
+
# and `Target` is the actual Amazon S3 or Amazon EFS path. If you only
|
2139
|
+
# specify a target, it will be displayed as is. You will need to also
|
2140
|
+
# make sure that your IAM role provides access to paths in `Target`. The
|
2141
|
+
# following is an example.
|
1581
2142
|
#
|
1582
2143
|
# `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
|
1583
2144
|
# "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
|
1584
2145
|
# ]'`
|
1585
2146
|
#
|
1586
2147
|
# In most cases, you can use this value instead of the scope-down policy
|
1587
|
-
# to lock your user
|
1588
|
-
# To do this, you can set `Entry` to '/' and set
|
1589
|
-
# HomeDirectory parameter value.
|
1590
|
-
#
|
1591
|
-
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
|
1592
|
-
#
|
1593
|
-
# S3 API to create 0
|
1594
|
-
# If using the CLI, use the `s3api`
|
1595
|
-
#
|
1596
|
-
# s3api put-object --bucket
|
1597
|
-
# that the end of the key
|
1598
|
-
# folder.
|
2148
|
+
# to lock down your user to the designated home directory
|
2149
|
+
# ("`chroot`"). To do this, you can set `Entry` to '/' and set
|
2150
|
+
# `Target` to the HomeDirectory parameter value.
|
2151
|
+
#
|
2152
|
+
# <note markdown="1"> If the target of a logical directory entry does not exist in Amazon S3
|
2153
|
+
# or EFS, the entry will be ignored. As a workaround, you can use the
|
2154
|
+
# Amazon S3 API or EFS API to create 0-byte objects as place holders for
|
2155
|
+
# your directory. If using the AWS CLI, use the `s3api` or `efsapi` call
|
2156
|
+
# instead of `s3` `efs` so you can use the put-object operation. For
|
2157
|
+
# example, you use the following: `aws s3api put-object --bucket
|
2158
|
+
# bucketname --key path/to/folder/`. Make sure that the end of the key
|
2159
|
+
# name ends in a / for it to be considered a folder.
|
1599
2160
|
#
|
1600
2161
|
# </note>
|
1601
2162
|
#
|
@@ -1625,14 +2186,20 @@ module Aws::Transfer
|
|
1625
2186
|
# [2]: https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html
|
1626
2187
|
#
|
1627
2188
|
# @option params [Types::PosixProfile] :posix_profile
|
2189
|
+
# Specifies the full POSIX identity, including user ID (`Uid`), group ID
|
2190
|
+
# (`Gid`), and any secondary groups IDs (`SecondaryGids`), that controls
|
2191
|
+
# your users' access to your Amazon Elastic File Systems (Amazon EFS).
|
2192
|
+
# The POSIX permissions that are set on files and directories in your
|
2193
|
+
# file system determines the level of access your users get when
|
2194
|
+
# transferring files into and out of your Amazon EFS file systems.
|
1628
2195
|
#
|
1629
2196
|
# @option params [String] :role
|
1630
2197
|
# The IAM role that controls your users' access to your Amazon S3
|
1631
|
-
# bucket. The policies attached to this role
|
2198
|
+
# bucket. The policies attached to this role determine the level of
|
1632
2199
|
# access you want to provide your users when transferring files into and
|
1633
|
-
# out of your
|
1634
|
-
#
|
1635
|
-
#
|
2200
|
+
# out of your S3 bucket or buckets. The IAM role should also contain a
|
2201
|
+
# trust relationship that allows the server to access your resources
|
2202
|
+
# when servicing your users' transfer requests.
|
1636
2203
|
#
|
1637
2204
|
# @option params [required, String] :server_id
|
1638
2205
|
# A system-assigned unique identifier for a server instance that the
|
@@ -1700,7 +2267,7 @@ module Aws::Transfer
|
|
1700
2267
|
params: params,
|
1701
2268
|
config: config)
|
1702
2269
|
context[:gem_name] = 'aws-sdk-transfer'
|
1703
|
-
context[:gem_version] = '1.
|
2270
|
+
context[:gem_version] = '1.33.0'
|
1704
2271
|
Seahorse::Client::Request.new(handlers, context)
|
1705
2272
|
end
|
1706
2273
|
|