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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 343cf13d3b47110dd3d54870e1f25502b9601c9c6969b3dd22f97dcadda0267c
4
- data.tar.gz: e6143b4c7a8d6fd3c815c725a3a975c788fa2f6924b5a531151129feea7463fb
3
+ metadata.gz: 996c86038af3aaa7227c722e3cd5354b8cdbabd132a8a36be8faac4191059588
4
+ data.tar.gz: 21092ed796a8518b5992865ba1de33825c8449cbf470e17a66a51c1dcb5b48d8
5
5
  SHA512:
6
- metadata.gz: dd5dccaea84b58e9e5662fbceaa01fd1e2d7c8435b37ac8d4e56f2e155d8cc2a0d084656c175ed6062d6b654354f69bbd9ec3d6f9019ca5cd463489046eafff4
7
- data.tar.gz: 776d532922ec8fcb4e7ce961c9722a2ba0ca0209527967783cba61fc378bab3eb72856039b1840c87d8db9136f7a0bfdf00e8ef405ee6c5877dcb8807692fdd4
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.32.0
1
+ 1.33.0
@@ -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.create_server(params)
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.32.0'
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
- # Instantiates an autoscaling virtual server based on the selected file
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 IPs and make it accessible to clients over the
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 VPC endpoint that you want your server to connect to. You
397
- # can choose to connect to the public internet or a VPC endpoint. With a
398
- # VPC endpoint, you can restrict access to your server and resources
399
- # only within your VPC.
400
- #
401
- # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
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 `API_GATEWAY`. Accepts
427
- # an array containing all of the information required to call a
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 the
435
- # `API_GATEWAY` value to integrate with an identity provider of your
436
- # choosing. The `API_GATEWAY` setting requires you to provide an API
437
- # Gateway endpoint URL to call for authentication using the
438
- # `IdentityProviderDetails` parameter.
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 `API_GATEWAY`.
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
- # An example is <i>
541
- # <code>your-Amazon-S3-bucket-name&gt;/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 paths and keys
553
- # should be visible to your user and how you want to make them visible.
554
- # You will need to specify the "`Entry`" and "`Target`" pair, where
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 displayed as
557
- # is. You will need to also make sure that your IAM role provides access
558
- # to paths in `Target`. The following is an example.
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
- # `'[ "/bucket2/documentation", \{ "Entry": "your-personal-report.pdf",
561
- # "Target": "/bucket3/customized-reports/$\{transfer:UserName\}.pdf" \}
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 ("chroot").
566
- # To do this, you can set `Entry` to '/' and set `Target` to the
567
- # HomeDirectory parameter value.
568
- #
569
- # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
570
- # S3, the entry will be ignored. As a workaround, you can use the Amazon
571
- # S3 API to create 0 byte objects as place holders for your directory.
572
- # If using the CLI, use the `s3api` call instead of `s3` so you can use
573
- # the put-object operation. For example, you use the following: `aws
574
- # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
575
- # that the end of the key name ends in a '/' for it to be considered a
576
- # folder.
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"> For scope-down policies, AWS Transfer Family stores the policy as a
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 [Creating a scope-down
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/users.html#users-policies-scope-down
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
- # The IAM role that controls your users' access to your Amazon S3
609
- # bucket. The policies attached to this role will determine the level of
610
- # access you want to provide your users when transferring files into and
611
- # out of your Amazon S3 bucket or buckets. The IAM role should also
612
- # contain a trust relationship that allows the server to access your
613
- # resources when servicing your users' transfer requests.
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.identity_provider_type #=> String, one of "SERVICE_MANAGED", "API_GATEWAY"
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&lt;Types::ListedAccess&gt;
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 Number (ARN)
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 API Gateway is set up
1288
- # successfully. We highly recommend that you call this operation to test
1289
- # your authentication method as soon as you create your server. By doing
1290
- # so, you can troubleshoot issues with the API Gateway integration to
1291
- # ensure that your users can successfully use the service.
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 connect to. You can
1438
- # choose to connect to the public internet or a VPC endpoint. With a VPC
1439
- # endpoint, you can restrict access to your server and resources only
1440
- # within your VPC.
1441
- #
1442
- # <note markdown="1"> It is recommended that you use `VPC` as the `EndpointType`. With this
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, turning logging on
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 `API_GATEWAY`.
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 paths as is in
1569
- # their file transfer protocol clients. If you set it `LOGICAL`, you
1570
- # will need to provide mappings in the `HomeDirectoryMappings` for how
1571
- # you want to make Amazon S3 paths visible to your users.
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 paths and keys
1575
- # should be visible to your user and how you want to make them visible.
1576
- # You will need to specify the "`Entry`" and "`Target`" pair, where
1577
- # `Entry` shows how the path is made visible and `Target` is the actual
1578
- # Amazon S3 path. If you only specify a target, it will be displayed as
1579
- # is. You will need to also make sure that your IAM role provides access
1580
- # to paths in `Target`. The following is an example.
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 down to the designated home directory ("chroot").
1588
- # To do this, you can set `Entry` to '/' and set `Target` to the
1589
- # HomeDirectory parameter value.
1590
- #
1591
- # <note markdown="1"> If the target of a logical directory entry does not exist in Amazon
1592
- # S3, the entry will be ignored. As a workaround, you can use the Amazon
1593
- # S3 API to create 0 byte objects as place holders for your directory.
1594
- # If using the CLI, use the `s3api` call instead of `s3` so you can use
1595
- # the put-object operation. For example, you use the following: `aws
1596
- # s3api put-object --bucket bucketname --key path/to/folder/`. Make sure
1597
- # that the end of the key name ends in a / for it to be considered a
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 will determine the level of
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 Amazon S3 bucket or buckets. The IAM role should also
1634
- # contain a trust relationship that allows the server to access your
1635
- # resources when servicing your users' transfer requests.
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.32.0'
2270
+ context[:gem_version] = '1.33.0'
1704
2271
  Seahorse::Client::Request.new(handlers, context)
1705
2272
  end
1706
2273