aws-sdk-datasync 1.44.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c2efc6b70bdee6d055996b722aa9c8270e100da4d9c4674df7bccf45af4c197
4
- data.tar.gz: 52e20ca7e271fd9a4a21286b5e57c3560c3ed9ef459da3ae5b3816bcce620f49
3
+ metadata.gz: f4b4666d779f79d3e61f739a78e58ce6c2f99dd4896bca06a5c8974f27687418
4
+ data.tar.gz: 9bef7aa7fb8dfbc06c9ed60e1866017981cfe83749133ce08f2ce3ba393d8d9f
5
5
  SHA512:
6
- metadata.gz: ba869cf5f4d09f71a1c7661feeca4febafd689ec0dba84985bcd6794c290044e24e042dcbd6f3a4ed28e6d87e484e28211b9ed51bc84e3779a480d320dad8382
7
- data.tar.gz: fd40c644489a8baf373d2f0227c67ce5695d253938c5bc804f454169d4f19277c2ff764d33979ae2ef2daa70284c6c1176a6eb32f9dffe135a7d90481e67dedc
6
+ metadata.gz: 14263ad0d6e96e6ff3cc74963fdb1716d5956bf6c0fd85a93b57e02da0da9cd3cd3b76e87f0ed91850100ee7bb1532ec54c09e4180f8ade5254c10b0c8e3a0dc
7
+ data.tar.gz: 2cafbcf534a3933d757cebb5d39b78a5679f91df0f7baac2aec6e9c88e744f6452268b77835cdfa655de193c3ab7f7afe5e6a212c8b7116e7e4cfb9201444eed
data/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.47.0 (2022-05-27)
5
+ ------------------
6
+
7
+ * Feature - AWS DataSync now supports TLS encryption in transit, file system policies and access points for EFS locations.
8
+
9
+ 1.46.0 (2022-05-05)
10
+ ------------------
11
+
12
+ * Feature - AWS DataSync now supports a new ObjectTags Task API option that can be used to control whether Object Tags are transferred.
13
+
14
+ 1.45.0 (2022-04-05)
15
+ ------------------
16
+
17
+ * Feature - AWS DataSync now supports Amazon FSx for OpenZFS locations.
18
+
4
19
  1.44.0 (2022-02-24)
5
20
  ------------------
6
21
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.44.0
1
+ 1.47.0
@@ -508,50 +508,53 @@ module Aws::DataSync
508
508
  req.send_request(options)
509
509
  end
510
510
 
511
- # Creates an endpoint for an Amazon EFS file system.
511
+ # Creates an endpoint for an Amazon EFS file system that DataSync can
512
+ # access for a transfer. For more information, see [Creating a location
513
+ # for Amazon EFS][1].
514
+ #
515
+ #
516
+ #
517
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/create-efs-location.html
512
518
  #
513
519
  # @option params [String] :subdirectory
514
- # A subdirectory in the location’s path. This subdirectory in the EFS
515
- # file system is used to read data from the EFS source location or write
516
- # data to the EFS destination. By default, DataSync uses the root
517
- # directory.
520
+ # Specifies a mount path for your Amazon EFS file system. This is where
521
+ # DataSync reads or writes data (depending on if this is a source or
522
+ # destination location). By default, DataSync uses the root directory,
523
+ # but you can also include subdirectories.
518
524
  #
519
- # <note markdown="1"> `Subdirectory` must be specified with forward slashes. For example,
520
- # `/path/to/folder`.
525
+ # <note markdown="1"> You must specify a value with forward slashes (for example,
526
+ # `/path/to/folder`).
521
527
  #
522
528
  # </note>
523
529
  #
524
530
  # @option params [required, String] :efs_filesystem_arn
525
- # The Amazon Resource Name (ARN) for the Amazon EFS file system.
531
+ # Specifies the ARN for the Amazon EFS file system.
526
532
  #
527
533
  # @option params [required, Types::Ec2Config] :ec2_config
528
- # The subnet and security group that the Amazon EFS file system uses.
529
- # The security group that you provide needs to be able to communicate
530
- # with the security group on the mount target in the subnet specified.
534
+ # Specifies the subnet and security groups DataSync uses to access your
535
+ # Amazon EFS file system.
531
536
  #
532
- # The exact relationship between security group M (of the mount target)
533
- # and security group S (which you provide for DataSync to use at this
534
- # stage) is as follows:
537
+ # @option params [Array<Types::TagListEntry>] :tags
538
+ # Specifies the key-value pair that represents a tag that you want to
539
+ # add to the resource. The value can be an empty string. This value
540
+ # helps you manage, filter, and search for your resources. We recommend
541
+ # that you create a name tag for your location.
535
542
  #
536
- # * Security group M (which you associate with the mount target) must
537
- # allow inbound access for the Transmission Control Protocol (TCP) on
538
- # the NFS port (2049) from security group S. You can enable inbound
539
- # connections either by IP address (CIDR range) or security group.
543
+ # @option params [String] :access_point_arn
544
+ # Specifies the Amazon Resource Name (ARN) of the access point that
545
+ # DataSync uses to access the Amazon EFS file system.
540
546
  #
541
- # * Security group S (provided to DataSync to access EFS) should have a
542
- # rule that enables outbound connections to the NFS port on one of the
543
- # file system’s mount targets. You can enable outbound connections
544
- # either by IP address (CIDR range) or security group.
547
+ # @option params [String] :file_system_access_role_arn
548
+ # Specifies an Identity and Access Management (IAM) role that DataSync
549
+ # assumes when mounting the Amazon EFS file system.
545
550
  #
546
- # For information about security groups and mount targets, see
547
- # Security Groups for Amazon EC2 Instances and Mount Targets in the
548
- # *Amazon EFS User Guide.*
551
+ # @option params [String] :in_transit_encryption
552
+ # Specifies whether you want DataSync to use TLS encryption when
553
+ # transferring data to or from your Amazon EFS file system.
549
554
  #
550
- # @option params [Array<Types::TagListEntry>] :tags
551
- # The key-value pair that represents a tag that you want to add to the
552
- # resource. The value can be an empty string. This value helps you
553
- # manage, filter, and search for your resources. We recommend that you
554
- # create a name tag for your location.
555
+ # If you specify an access point using `AccessPointArn` or an IAM role
556
+ # using `FileSystemAccessRoleArn`, you must set this parameter to
557
+ # `TLS1_2`.
555
558
  #
556
559
  # @return [Types::CreateLocationEfsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
557
560
  #
@@ -572,6 +575,9 @@ module Aws::DataSync
572
575
  # value: "TagValue",
573
576
  # },
574
577
  # ],
578
+ # access_point_arn: "EfsAccessPointArn",
579
+ # file_system_access_role_arn: "IamRoleArn",
580
+ # in_transit_encryption: "NONE", # accepts NONE, TLS1_2
575
581
  # })
576
582
  #
577
583
  # @example Response structure
@@ -638,6 +644,67 @@ module Aws::DataSync
638
644
  req.send_request(options)
639
645
  end
640
646
 
647
+ # Creates an endpoint for an Amazon FSx for OpenZFS file system.
648
+ #
649
+ # @option params [required, String] :fsx_filesystem_arn
650
+ # The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.
651
+ #
652
+ # @option params [required, Types::FsxProtocol] :protocol
653
+ # The type of protocol that DataSync uses to access your file system.
654
+ #
655
+ # @option params [required, Array<String>] :security_group_arns
656
+ # The ARNs of the security groups that are used to configure the FSx for
657
+ # OpenZFS file system.
658
+ #
659
+ # @option params [String] :subdirectory
660
+ # A subdirectory in the location's path that must begin with `/fsx`.
661
+ # DataSync uses this subdirectory to read or write data (depending on
662
+ # whether the file system is a source or destination location).
663
+ #
664
+ # @option params [Array<Types::TagListEntry>] :tags
665
+ # The key-value pair that represents a tag that you want to add to the
666
+ # resource. The value can be an empty string. This value helps you
667
+ # manage, filter, and search for your resources. We recommend that you
668
+ # create a name tag for your location.
669
+ #
670
+ # @return [Types::CreateLocationFsxOpenZfsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
671
+ #
672
+ # * {Types::CreateLocationFsxOpenZfsResponse#location_arn #location_arn} => String
673
+ #
674
+ # @example Request syntax with placeholder values
675
+ #
676
+ # resp = client.create_location_fsx_open_zfs({
677
+ # fsx_filesystem_arn: "FsxFilesystemArn", # required
678
+ # protocol: { # required
679
+ # nfs: {
680
+ # mount_options: {
681
+ # version: "AUTOMATIC", # accepts AUTOMATIC, NFS3, NFS4_0, NFS4_1
682
+ # },
683
+ # },
684
+ # },
685
+ # security_group_arns: ["Ec2SecurityGroupArn"], # required
686
+ # subdirectory: "FsxOpenZfsSubdirectory",
687
+ # tags: [
688
+ # {
689
+ # key: "TagKey", # required
690
+ # value: "TagValue",
691
+ # },
692
+ # ],
693
+ # })
694
+ #
695
+ # @example Response structure
696
+ #
697
+ # resp.location_arn #=> String
698
+ #
699
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxOpenZfs AWS API Documentation
700
+ #
701
+ # @overload create_location_fsx_open_zfs(params = {})
702
+ # @param [Hash] params ({})
703
+ def create_location_fsx_open_zfs(params = {}, options = {})
704
+ req = build_request(:create_location_fsx_open_zfs, params)
705
+ req.send_request(options)
706
+ end
707
+
641
708
  # Creates an endpoint for an Amazon FSx for Windows File Server file
642
709
  # system.
643
710
  #
@@ -652,8 +719,8 @@ module Aws::DataSync
652
719
  # file system.
653
720
  #
654
721
  # @option params [required, Array<String>] :security_group_arns
655
- # The Amazon Resource Names (ARNs) of the security groups that are used
656
- # to configure the FSx for Windows File Server file system.
722
+ # The ARNs of the security groups that are used to configure the FSx for
723
+ # Windows File Server file system.
657
724
  #
658
725
  # @option params [Array<Types::TagListEntry>] :tags
659
726
  # The key-value pair that represents a tag that you want to add to the
@@ -884,7 +951,7 @@ module Aws::DataSync
884
951
  # @option params [required, String] :server_hostname
885
952
  # The name of the NFS server. This value is the IP address or Domain
886
953
  # Name Service (DNS) name of the NFS server. An agent that is installed
887
- # on-premises uses this host name to mount the NFS server in a network.
954
+ # on-premises uses this hostname to mount the NFS server in a network.
888
955
  #
889
956
  # If you are copying data to or from your Snowcone device, see [NFS
890
957
  # Server on Snowcone][1] for more information.
@@ -964,8 +1031,8 @@ module Aws::DataSync
964
1031
  # @option params [required, String] :server_hostname
965
1032
  # The name of the self-managed object storage server. This value is the
966
1033
  # IP address or Domain Name Service (DNS) name of the object storage
967
- # server. An agent uses this host name to mount the object storage
968
- # server in a network.
1034
+ # server. An agent uses this hostname to mount the object storage server
1035
+ # in a network.
969
1036
  #
970
1037
  # @option params [Integer] :server_port
971
1038
  # The port that your self-managed object storage server accepts inbound
@@ -1079,13 +1146,13 @@ module Aws::DataSync
1079
1146
  #
1080
1147
  # @option params [required, Types::S3Config] :s3_config
1081
1148
  # The Amazon Resource Name (ARN) of the Identity and Access Management
1082
- # (IAM) role that is used to access an Amazon S3 bucket.
1149
+ # (IAM) role used to access an Amazon S3 bucket.
1083
1150
  #
1084
1151
  # For detailed information about using such a role, see Creating a
1085
1152
  # Location for Amazon S3 in the *DataSync User Guide*.
1086
1153
  #
1087
1154
  # @option params [Array<String>] :agent_arns
1088
- # If you are using DataSync on an Amazon Web Services Outpost, specify
1155
+ # If you're using DataSync on an Amazon Web Services Outpost, specify
1089
1156
  # the Amazon Resource Names (ARNs) of the DataSync agents deployed on
1090
1157
  # your Outpost. For more information about launching a DataSync agent on
1091
1158
  # an Amazon Web Services Outpost, see [Deploy your DataSync agent on
@@ -1343,6 +1410,7 @@ module Aws::DataSync
1343
1410
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
1344
1411
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
1345
1412
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
1413
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
1346
1414
  # },
1347
1415
  # excludes: [
1348
1416
  # {
@@ -1500,11 +1568,12 @@ module Aws::DataSync
1500
1568
  req.send_request(options)
1501
1569
  end
1502
1570
 
1503
- # Returns metadata, such as the path information about an Amazon EFS
1504
- # location.
1571
+ # Returns metadata about your DataSync location for an Amazon EFS file
1572
+ # system.
1505
1573
  #
1506
1574
  # @option params [required, String] :location_arn
1507
- # The Amazon Resource Name (ARN) of the EFS location to describe.
1575
+ # The Amazon Resource Name (ARN) of the Amazon EFS file system location
1576
+ # that you want information about.
1508
1577
  #
1509
1578
  # @return [Types::DescribeLocationEfsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1510
1579
  #
@@ -1512,6 +1581,9 @@ module Aws::DataSync
1512
1581
  # * {Types::DescribeLocationEfsResponse#location_uri #location_uri} => String
1513
1582
  # * {Types::DescribeLocationEfsResponse#ec2_config #ec2_config} => Types::Ec2Config
1514
1583
  # * {Types::DescribeLocationEfsResponse#creation_time #creation_time} => Time
1584
+ # * {Types::DescribeLocationEfsResponse#access_point_arn #access_point_arn} => String
1585
+ # * {Types::DescribeLocationEfsResponse#file_system_access_role_arn #file_system_access_role_arn} => String
1586
+ # * {Types::DescribeLocationEfsResponse#in_transit_encryption #in_transit_encryption} => String
1515
1587
  #
1516
1588
  # @example Request syntax with placeholder values
1517
1589
  #
@@ -1527,6 +1599,9 @@ module Aws::DataSync
1527
1599
  # resp.ec2_config.security_group_arns #=> Array
1528
1600
  # resp.ec2_config.security_group_arns[0] #=> String
1529
1601
  # resp.creation_time #=> Time
1602
+ # resp.access_point_arn #=> String
1603
+ # resp.file_system_access_role_arn #=> String
1604
+ # resp.in_transit_encryption #=> String, one of "NONE", "TLS1_2"
1530
1605
  #
1531
1606
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfs AWS API Documentation
1532
1607
  #
@@ -1537,8 +1612,8 @@ module Aws::DataSync
1537
1612
  req.send_request(options)
1538
1613
  end
1539
1614
 
1540
- # Returns metadata, such as the path information about an Amazon FSx for
1541
- # Lustre location.
1615
+ # Returns metadata about an Amazon FSx for Lustre location, such as
1616
+ # information about its path.
1542
1617
  #
1543
1618
  # @option params [required, String] :location_arn
1544
1619
  # The Amazon Resource Name (ARN) of the FSx for Lustre location to
@@ -1574,8 +1649,47 @@ module Aws::DataSync
1574
1649
  req.send_request(options)
1575
1650
  end
1576
1651
 
1577
- # Returns metadata, such as the path information about an Amazon FSx for
1578
- # Windows File Server location.
1652
+ # Returns metadata about an Amazon FSx for OpenZFS location, such as
1653
+ # information about its path.
1654
+ #
1655
+ # @option params [required, String] :location_arn
1656
+ # The Amazon Resource Name (ARN) of the FSx for OpenZFS location to
1657
+ # describe.
1658
+ #
1659
+ # @return [Types::DescribeLocationFsxOpenZfsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1660
+ #
1661
+ # * {Types::DescribeLocationFsxOpenZfsResponse#location_arn #location_arn} => String
1662
+ # * {Types::DescribeLocationFsxOpenZfsResponse#location_uri #location_uri} => String
1663
+ # * {Types::DescribeLocationFsxOpenZfsResponse#security_group_arns #security_group_arns} => Array&lt;String&gt;
1664
+ # * {Types::DescribeLocationFsxOpenZfsResponse#protocol #protocol} => Types::FsxProtocol
1665
+ # * {Types::DescribeLocationFsxOpenZfsResponse#creation_time #creation_time} => Time
1666
+ #
1667
+ # @example Request syntax with placeholder values
1668
+ #
1669
+ # resp = client.describe_location_fsx_open_zfs({
1670
+ # location_arn: "LocationArn", # required
1671
+ # })
1672
+ #
1673
+ # @example Response structure
1674
+ #
1675
+ # resp.location_arn #=> String
1676
+ # resp.location_uri #=> String
1677
+ # resp.security_group_arns #=> Array
1678
+ # resp.security_group_arns[0] #=> String
1679
+ # resp.protocol.nfs.mount_options.version #=> String, one of "AUTOMATIC", "NFS3", "NFS4_0", "NFS4_1"
1680
+ # resp.creation_time #=> Time
1681
+ #
1682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxOpenZfs AWS API Documentation
1683
+ #
1684
+ # @overload describe_location_fsx_open_zfs(params = {})
1685
+ # @param [Hash] params ({})
1686
+ def describe_location_fsx_open_zfs(params = {}, options = {})
1687
+ req = build_request(:describe_location_fsx_open_zfs, params)
1688
+ req.send_request(options)
1689
+ end
1690
+
1691
+ # Returns metadata about an Amazon FSx for Windows File Server location,
1692
+ # such as information about its path.
1579
1693
  #
1580
1694
  # @option params [required, String] :location_arn
1581
1695
  # The Amazon Resource Name (ARN) of the FSx for Windows File Server
@@ -1896,6 +2010,7 @@ module Aws::DataSync
1896
2010
  # resp.options.log_level #=> String, one of "OFF", "BASIC", "TRANSFER"
1897
2011
  # resp.options.transfer_mode #=> String, one of "CHANGED", "ALL"
1898
2012
  # resp.options.security_descriptor_copy_flags #=> String, one of "NONE", "OWNER_DACL", "OWNER_DACL_SACL"
2013
+ # resp.options.object_tags #=> String, one of "PRESERVE", "NONE"
1899
2014
  # resp.excludes #=> Array
1900
2015
  # resp.excludes[0].filter_type #=> String, one of "SIMPLE_PATTERN"
1901
2016
  # resp.excludes[0].value #=> String
@@ -1960,6 +2075,7 @@ module Aws::DataSync
1960
2075
  # resp.options.log_level #=> String, one of "OFF", "BASIC", "TRANSFER"
1961
2076
  # resp.options.transfer_mode #=> String, one of "CHANGED", "ALL"
1962
2077
  # resp.options.security_descriptor_copy_flags #=> String, one of "NONE", "OWNER_DACL", "OWNER_DACL_SACL"
2078
+ # resp.options.object_tags #=> String, one of "PRESERVE", "NONE"
1963
2079
  # resp.excludes #=> Array
1964
2080
  # resp.excludes[0].filter_type #=> String, one of "SIMPLE_PATTERN"
1965
2081
  # resp.excludes[0].value #=> String
@@ -2303,6 +2419,7 @@ module Aws::DataSync
2303
2419
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
2304
2420
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
2305
2421
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
2422
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
2306
2423
  # },
2307
2424
  # includes: [
2308
2425
  # {
@@ -2460,13 +2577,13 @@ module Aws::DataSync
2460
2577
  # The Kerberos key table (keytab) that contains mappings between the
2461
2578
  # defined Kerberos principal and the encrypted keys. You can load the
2462
2579
  # keytab from a file by providing the file's address. If you use the
2463
- # AWS CLI, it performs base64 encoding for you. Otherwise, provide the
2580
+ # CLI, it performs base64 encoding for you. Otherwise, provide the
2464
2581
  # base64-encoded text.
2465
2582
  #
2466
2583
  # @option params [String, StringIO, File] :kerberos_krb_5_conf
2467
2584
  # The `krb5.conf` file that contains the Kerberos configuration
2468
2585
  # information. You can load the `krb5.conf` file by providing the
2469
- # file's address. If you're using the AWS CLI, it performs the base64
2586
+ # file's address. If you're using the CLI, it performs the base64
2470
2587
  # encoding for you. Otherwise, provide the base64-encoded text.
2471
2588
  #
2472
2589
  # @option params [Array<String>] :agent_arns
@@ -2806,6 +2923,7 @@ module Aws::DataSync
2806
2923
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
2807
2924
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
2808
2925
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
2926
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
2809
2927
  # },
2810
2928
  # excludes: [
2811
2929
  # {
@@ -2891,6 +3009,7 @@ module Aws::DataSync
2891
3009
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
2892
3010
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
2893
3011
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
3012
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
2894
3013
  # },
2895
3014
  # })
2896
3015
  #
@@ -2916,7 +3035,7 @@ module Aws::DataSync
2916
3035
  params: params,
2917
3036
  config: config)
2918
3037
  context[:gem_name] = 'aws-sdk-datasync'
2919
- context[:gem_version] = '1.44.0'
3038
+ context[:gem_version] = '1.47.0'
2920
3039
  Seahorse::Client::Request.new(handlers, context)
2921
3040
  end
2922
3041
 
@@ -29,6 +29,8 @@ module Aws::DataSync
29
29
  CreateLocationEfsResponse = Shapes::StructureShape.new(name: 'CreateLocationEfsResponse')
30
30
  CreateLocationFsxLustreRequest = Shapes::StructureShape.new(name: 'CreateLocationFsxLustreRequest')
31
31
  CreateLocationFsxLustreResponse = Shapes::StructureShape.new(name: 'CreateLocationFsxLustreResponse')
32
+ CreateLocationFsxOpenZfsRequest = Shapes::StructureShape.new(name: 'CreateLocationFsxOpenZfsRequest')
33
+ CreateLocationFsxOpenZfsResponse = Shapes::StructureShape.new(name: 'CreateLocationFsxOpenZfsResponse')
32
34
  CreateLocationFsxWindowsRequest = Shapes::StructureShape.new(name: 'CreateLocationFsxWindowsRequest')
33
35
  CreateLocationFsxWindowsResponse = Shapes::StructureShape.new(name: 'CreateLocationFsxWindowsResponse')
34
36
  CreateLocationHdfsRequest = Shapes::StructureShape.new(name: 'CreateLocationHdfsRequest')
@@ -55,6 +57,8 @@ module Aws::DataSync
55
57
  DescribeLocationEfsResponse = Shapes::StructureShape.new(name: 'DescribeLocationEfsResponse')
56
58
  DescribeLocationFsxLustreRequest = Shapes::StructureShape.new(name: 'DescribeLocationFsxLustreRequest')
57
59
  DescribeLocationFsxLustreResponse = Shapes::StructureShape.new(name: 'DescribeLocationFsxLustreResponse')
60
+ DescribeLocationFsxOpenZfsRequest = Shapes::StructureShape.new(name: 'DescribeLocationFsxOpenZfsRequest')
61
+ DescribeLocationFsxOpenZfsResponse = Shapes::StructureShape.new(name: 'DescribeLocationFsxOpenZfsResponse')
58
62
  DescribeLocationFsxWindowsRequest = Shapes::StructureShape.new(name: 'DescribeLocationFsxWindowsRequest')
59
63
  DescribeLocationFsxWindowsResponse = Shapes::StructureShape.new(name: 'DescribeLocationFsxWindowsResponse')
60
64
  DescribeLocationHdfsRequest = Shapes::StructureShape.new(name: 'DescribeLocationHdfsRequest')
@@ -77,7 +81,9 @@ module Aws::DataSync
77
81
  Ec2SecurityGroupArn = Shapes::StringShape.new(name: 'Ec2SecurityGroupArn')
78
82
  Ec2SecurityGroupArnList = Shapes::ListShape.new(name: 'Ec2SecurityGroupArnList')
79
83
  Ec2SubnetArn = Shapes::StringShape.new(name: 'Ec2SubnetArn')
84
+ EfsAccessPointArn = Shapes::StringShape.new(name: 'EfsAccessPointArn')
80
85
  EfsFilesystemArn = Shapes::StringShape.new(name: 'EfsFilesystemArn')
86
+ EfsInTransitEncryption = Shapes::StringShape.new(name: 'EfsInTransitEncryption')
81
87
  EfsSubdirectory = Shapes::StringShape.new(name: 'EfsSubdirectory')
82
88
  Endpoint = Shapes::StringShape.new(name: 'Endpoint')
83
89
  EndpointType = Shapes::StringShape.new(name: 'EndpointType')
@@ -89,6 +95,9 @@ module Aws::DataSync
89
95
  FilterValues = Shapes::ListShape.new(name: 'FilterValues')
90
96
  FsxFilesystemArn = Shapes::StringShape.new(name: 'FsxFilesystemArn')
91
97
  FsxLustreSubdirectory = Shapes::StringShape.new(name: 'FsxLustreSubdirectory')
98
+ FsxOpenZfsSubdirectory = Shapes::StringShape.new(name: 'FsxOpenZfsSubdirectory')
99
+ FsxProtocol = Shapes::StructureShape.new(name: 'FsxProtocol')
100
+ FsxProtocolNfs = Shapes::StructureShape.new(name: 'FsxProtocolNfs')
92
101
  FsxWindowsSubdirectory = Shapes::StringShape.new(name: 'FsxWindowsSubdirectory')
93
102
  Gid = Shapes::StringShape.new(name: 'Gid')
94
103
  HdfsAuthenticationType = Shapes::StringShape.new(name: 'HdfsAuthenticationType')
@@ -141,6 +150,7 @@ module Aws::DataSync
141
150
  ObjectStorageSecretKey = Shapes::StringShape.new(name: 'ObjectStorageSecretKey')
142
151
  ObjectStorageServerPort = Shapes::IntegerShape.new(name: 'ObjectStorageServerPort')
143
152
  ObjectStorageServerProtocol = Shapes::StringShape.new(name: 'ObjectStorageServerProtocol')
153
+ ObjectTags = Shapes::StringShape.new(name: 'ObjectTags')
144
154
  OnPremConfig = Shapes::StructureShape.new(name: 'OnPremConfig')
145
155
  Operator = Shapes::StringShape.new(name: 'Operator')
146
156
  Options = Shapes::StructureShape.new(name: 'Options')
@@ -244,6 +254,9 @@ module Aws::DataSync
244
254
  CreateLocationEfsRequest.add_member(:efs_filesystem_arn, Shapes::ShapeRef.new(shape: EfsFilesystemArn, required: true, location_name: "EfsFilesystemArn"))
245
255
  CreateLocationEfsRequest.add_member(:ec2_config, Shapes::ShapeRef.new(shape: Ec2Config, required: true, location_name: "Ec2Config"))
246
256
  CreateLocationEfsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
257
+ CreateLocationEfsRequest.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: EfsAccessPointArn, location_name: "AccessPointArn"))
258
+ CreateLocationEfsRequest.add_member(:file_system_access_role_arn, Shapes::ShapeRef.new(shape: IamRoleArn, location_name: "FileSystemAccessRoleArn"))
259
+ CreateLocationEfsRequest.add_member(:in_transit_encryption, Shapes::ShapeRef.new(shape: EfsInTransitEncryption, location_name: "InTransitEncryption"))
247
260
  CreateLocationEfsRequest.struct_class = Types::CreateLocationEfsRequest
248
261
 
249
262
  CreateLocationEfsResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
@@ -258,6 +271,16 @@ module Aws::DataSync
258
271
  CreateLocationFsxLustreResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
259
272
  CreateLocationFsxLustreResponse.struct_class = Types::CreateLocationFsxLustreResponse
260
273
 
274
+ CreateLocationFsxOpenZfsRequest.add_member(:fsx_filesystem_arn, Shapes::ShapeRef.new(shape: FsxFilesystemArn, required: true, location_name: "FsxFilesystemArn"))
275
+ CreateLocationFsxOpenZfsRequest.add_member(:protocol, Shapes::ShapeRef.new(shape: FsxProtocol, required: true, location_name: "Protocol"))
276
+ CreateLocationFsxOpenZfsRequest.add_member(:security_group_arns, Shapes::ShapeRef.new(shape: Ec2SecurityGroupArnList, required: true, location_name: "SecurityGroupArns"))
277
+ CreateLocationFsxOpenZfsRequest.add_member(:subdirectory, Shapes::ShapeRef.new(shape: FsxOpenZfsSubdirectory, location_name: "Subdirectory"))
278
+ CreateLocationFsxOpenZfsRequest.add_member(:tags, Shapes::ShapeRef.new(shape: InputTagList, location_name: "Tags"))
279
+ CreateLocationFsxOpenZfsRequest.struct_class = Types::CreateLocationFsxOpenZfsRequest
280
+
281
+ CreateLocationFsxOpenZfsResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
282
+ CreateLocationFsxOpenZfsResponse.struct_class = Types::CreateLocationFsxOpenZfsResponse
283
+
261
284
  CreateLocationFsxWindowsRequest.add_member(:subdirectory, Shapes::ShapeRef.new(shape: FsxWindowsSubdirectory, location_name: "Subdirectory"))
262
285
  CreateLocationFsxWindowsRequest.add_member(:fsx_filesystem_arn, Shapes::ShapeRef.new(shape: FsxFilesystemArn, required: true, location_name: "FsxFilesystemArn"))
263
286
  CreateLocationFsxWindowsRequest.add_member(:security_group_arns, Shapes::ShapeRef.new(shape: Ec2SecurityGroupArnList, required: true, location_name: "SecurityGroupArns"))
@@ -384,6 +407,9 @@ module Aws::DataSync
384
407
  DescribeLocationEfsResponse.add_member(:location_uri, Shapes::ShapeRef.new(shape: LocationUri, location_name: "LocationUri"))
385
408
  DescribeLocationEfsResponse.add_member(:ec2_config, Shapes::ShapeRef.new(shape: Ec2Config, location_name: "Ec2Config"))
386
409
  DescribeLocationEfsResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: Time, location_name: "CreationTime"))
410
+ DescribeLocationEfsResponse.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: EfsAccessPointArn, location_name: "AccessPointArn"))
411
+ DescribeLocationEfsResponse.add_member(:file_system_access_role_arn, Shapes::ShapeRef.new(shape: IamRoleArn, location_name: "FileSystemAccessRoleArn"))
412
+ DescribeLocationEfsResponse.add_member(:in_transit_encryption, Shapes::ShapeRef.new(shape: EfsInTransitEncryption, location_name: "InTransitEncryption"))
387
413
  DescribeLocationEfsResponse.struct_class = Types::DescribeLocationEfsResponse
388
414
 
389
415
  DescribeLocationFsxLustreRequest.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, required: true, location_name: "LocationArn"))
@@ -395,6 +421,16 @@ module Aws::DataSync
395
421
  DescribeLocationFsxLustreResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: Time, location_name: "CreationTime"))
396
422
  DescribeLocationFsxLustreResponse.struct_class = Types::DescribeLocationFsxLustreResponse
397
423
 
424
+ DescribeLocationFsxOpenZfsRequest.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, required: true, location_name: "LocationArn"))
425
+ DescribeLocationFsxOpenZfsRequest.struct_class = Types::DescribeLocationFsxOpenZfsRequest
426
+
427
+ DescribeLocationFsxOpenZfsResponse.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, location_name: "LocationArn"))
428
+ DescribeLocationFsxOpenZfsResponse.add_member(:location_uri, Shapes::ShapeRef.new(shape: LocationUri, location_name: "LocationUri"))
429
+ DescribeLocationFsxOpenZfsResponse.add_member(:security_group_arns, Shapes::ShapeRef.new(shape: Ec2SecurityGroupArnList, location_name: "SecurityGroupArns"))
430
+ DescribeLocationFsxOpenZfsResponse.add_member(:protocol, Shapes::ShapeRef.new(shape: FsxProtocol, location_name: "Protocol"))
431
+ DescribeLocationFsxOpenZfsResponse.add_member(:creation_time, Shapes::ShapeRef.new(shape: Time, location_name: "CreationTime"))
432
+ DescribeLocationFsxOpenZfsResponse.struct_class = Types::DescribeLocationFsxOpenZfsResponse
433
+
398
434
  DescribeLocationFsxWindowsRequest.add_member(:location_arn, Shapes::ShapeRef.new(shape: LocationArn, required: true, location_name: "LocationArn"))
399
435
  DescribeLocationFsxWindowsRequest.struct_class = Types::DescribeLocationFsxWindowsRequest
400
436
 
@@ -522,6 +558,12 @@ module Aws::DataSync
522
558
 
523
559
  FilterValues.member = Shapes::ShapeRef.new(shape: FilterAttributeValue)
524
560
 
561
+ FsxProtocol.add_member(:nfs, Shapes::ShapeRef.new(shape: FsxProtocolNfs, location_name: "NFS"))
562
+ FsxProtocol.struct_class = Types::FsxProtocol
563
+
564
+ FsxProtocolNfs.add_member(:mount_options, Shapes::ShapeRef.new(shape: NfsMountOptions, location_name: "MountOptions"))
565
+ FsxProtocolNfs.struct_class = Types::FsxProtocolNfs
566
+
525
567
  HdfsNameNode.add_member(:hostname, Shapes::ShapeRef.new(shape: HdfsServerHostname, required: true, location_name: "Hostname"))
526
568
  HdfsNameNode.add_member(:port, Shapes::ShapeRef.new(shape: HdfsServerPort, required: true, location_name: "Port"))
527
569
  HdfsNameNode.struct_class = Types::HdfsNameNode
@@ -536,6 +578,7 @@ module Aws::DataSync
536
578
 
537
579
  InvalidRequestException.add_member(:message, Shapes::ShapeRef.new(shape: string, location_name: "message"))
538
580
  InvalidRequestException.add_member(:error_code, Shapes::ShapeRef.new(shape: string, location_name: "errorCode"))
581
+ InvalidRequestException.add_member(:datasync_error_code, Shapes::ShapeRef.new(shape: string, location_name: "datasyncErrorCode"))
539
582
  InvalidRequestException.struct_class = Types::InvalidRequestException
540
583
 
541
584
  ListAgentsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
@@ -615,6 +658,7 @@ module Aws::DataSync
615
658
  Options.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "LogLevel"))
616
659
  Options.add_member(:transfer_mode, Shapes::ShapeRef.new(shape: TransferMode, location_name: "TransferMode"))
617
660
  Options.add_member(:security_descriptor_copy_flags, Shapes::ShapeRef.new(shape: SmbSecurityDescriptorCopyFlags, location_name: "SecurityDescriptorCopyFlags"))
661
+ Options.add_member(:object_tags, Shapes::ShapeRef.new(shape: ObjectTags, location_name: "ObjectTags"))
618
662
  Options.struct_class = Types::Options
619
663
 
620
664
  OutputTagList.member = Shapes::ShapeRef.new(shape: TagListEntry)
@@ -832,6 +876,16 @@ module Aws::DataSync
832
876
  o.errors << Shapes::ShapeRef.new(shape: InternalException)
833
877
  end)
834
878
 
879
+ api.add_operation(:create_location_fsx_open_zfs, Seahorse::Model::Operation.new.tap do |o|
880
+ o.name = "CreateLocationFsxOpenZfs"
881
+ o.http_method = "POST"
882
+ o.http_request_uri = "/"
883
+ o.input = Shapes::ShapeRef.new(shape: CreateLocationFsxOpenZfsRequest)
884
+ o.output = Shapes::ShapeRef.new(shape: CreateLocationFsxOpenZfsResponse)
885
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
886
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
887
+ end)
888
+
835
889
  api.add_operation(:create_location_fsx_windows, Seahorse::Model::Operation.new.tap do |o|
836
890
  o.name = "CreateLocationFsxWindows"
837
891
  o.http_method = "POST"
@@ -962,6 +1016,16 @@ module Aws::DataSync
962
1016
  o.errors << Shapes::ShapeRef.new(shape: InternalException)
963
1017
  end)
964
1018
 
1019
+ api.add_operation(:describe_location_fsx_open_zfs, Seahorse::Model::Operation.new.tap do |o|
1020
+ o.name = "DescribeLocationFsxOpenZfs"
1021
+ o.http_method = "POST"
1022
+ o.http_request_uri = "/"
1023
+ o.input = Shapes::ShapeRef.new(shape: DescribeLocationFsxOpenZfsRequest)
1024
+ o.output = Shapes::ShapeRef.new(shape: DescribeLocationFsxOpenZfsResponse)
1025
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1026
+ o.errors << Shapes::ShapeRef.new(shape: InternalException)
1027
+ end)
1028
+
965
1029
  api.add_operation(:describe_location_fsx_windows, Seahorse::Model::Operation.new.tap do |o|
966
1030
  o.name = "DescribeLocationFsxWindows"
967
1031
  o.http_method = "POST"
@@ -74,6 +74,11 @@ module Aws::DataSync
74
74
  def error_code
75
75
  @data[:error_code]
76
76
  end
77
+
78
+ # @return [String]
79
+ def datasync_error_code
80
+ @data[:datasync_error_code]
81
+ end
77
82
  end
78
83
 
79
84
  end
@@ -199,63 +199,68 @@ module Aws::DataSync
199
199
  # value: "TagValue",
200
200
  # },
201
201
  # ],
202
+ # access_point_arn: "EfsAccessPointArn",
203
+ # file_system_access_role_arn: "IamRoleArn",
204
+ # in_transit_encryption: "NONE", # accepts NONE, TLS1_2
202
205
  # }
203
206
  #
204
207
  # @!attribute [rw] subdirectory
205
- # A subdirectory in the location’s path. This subdirectory in the EFS
206
- # file system is used to read data from the EFS source location or
207
- # write data to the EFS destination. By default, DataSync uses the
208
- # root directory.
208
+ # Specifies a mount path for your Amazon EFS file system. This is
209
+ # where DataSync reads or writes data (depending on if this is a
210
+ # source or destination location). By default, DataSync uses the root
211
+ # directory, but you can also include subdirectories.
209
212
  #
210
- # <note markdown="1"> `Subdirectory` must be specified with forward slashes. For example,
211
- # `/path/to/folder`.
213
+ # <note markdown="1"> You must specify a value with forward slashes (for example,
214
+ # `/path/to/folder`).
212
215
  #
213
216
  # </note>
214
217
  # @return [String]
215
218
  #
216
219
  # @!attribute [rw] efs_filesystem_arn
217
- # The Amazon Resource Name (ARN) for the Amazon EFS file system.
220
+ # Specifies the ARN for the Amazon EFS file system.
218
221
  # @return [String]
219
222
  #
220
223
  # @!attribute [rw] ec2_config
221
- # The subnet and security group that the Amazon EFS file system uses.
222
- # The security group that you provide needs to be able to communicate
223
- # with the security group on the mount target in the subnet specified.
224
- #
225
- # The exact relationship between security group M (of the mount
226
- # target) and security group S (which you provide for DataSync to use
227
- # at this stage) is as follows:
228
- #
229
- # * Security group M (which you associate with the mount target) must
230
- # allow inbound access for the Transmission Control Protocol (TCP)
231
- # on the NFS port (2049) from security group S. You can enable
232
- # inbound connections either by IP address (CIDR range) or security
233
- # group.
234
- #
235
- # * Security group S (provided to DataSync to access EFS) should have
236
- # a rule that enables outbound connections to the NFS port on one of
237
- # the file system’s mount targets. You can enable outbound
238
- # connections either by IP address (CIDR range) or security group.
239
- #
240
- # For information about security groups and mount targets, see
241
- # Security Groups for Amazon EC2 Instances and Mount Targets in the
242
- # *Amazon EFS User Guide.*
224
+ # Specifies the subnet and security groups DataSync uses to access
225
+ # your Amazon EFS file system.
243
226
  # @return [Types::Ec2Config]
244
227
  #
245
228
  # @!attribute [rw] tags
246
- # The key-value pair that represents a tag that you want to add to the
247
- # resource. The value can be an empty string. This value helps you
248
- # manage, filter, and search for your resources. We recommend that you
249
- # create a name tag for your location.
229
+ # Specifies the key-value pair that represents a tag that you want to
230
+ # add to the resource. The value can be an empty string. This value
231
+ # helps you manage, filter, and search for your resources. We
232
+ # recommend that you create a name tag for your location.
250
233
  # @return [Array<Types::TagListEntry>]
251
234
  #
235
+ # @!attribute [rw] access_point_arn
236
+ # Specifies the Amazon Resource Name (ARN) of the access point that
237
+ # DataSync uses to access the Amazon EFS file system.
238
+ # @return [String]
239
+ #
240
+ # @!attribute [rw] file_system_access_role_arn
241
+ # Specifies an Identity and Access Management (IAM) role that DataSync
242
+ # assumes when mounting the Amazon EFS file system.
243
+ # @return [String]
244
+ #
245
+ # @!attribute [rw] in_transit_encryption
246
+ # Specifies whether you want DataSync to use TLS encryption when
247
+ # transferring data to or from your Amazon EFS file system.
248
+ #
249
+ # If you specify an access point using `AccessPointArn` or an IAM role
250
+ # using `FileSystemAccessRoleArn`, you must set this parameter to
251
+ # `TLS1_2`.
252
+ # @return [String]
253
+ #
252
254
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfsRequest AWS API Documentation
253
255
  #
254
256
  class CreateLocationEfsRequest < Struct.new(
255
257
  :subdirectory,
256
258
  :efs_filesystem_arn,
257
259
  :ec2_config,
258
- :tags)
260
+ :tags,
261
+ :access_point_arn,
262
+ :file_system_access_role_arn,
263
+ :in_transit_encryption)
259
264
  SENSITIVE = []
260
265
  include Aws::Structure
261
266
  end
@@ -264,7 +269,7 @@ module Aws::DataSync
264
269
  #
265
270
  # @!attribute [rw] location_arn
266
271
  # The Amazon Resource Name (ARN) of the Amazon EFS file system
267
- # location that is created.
272
+ # location that you create.
268
273
  # @return [String]
269
274
  #
270
275
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationEfsResponse AWS API Documentation
@@ -336,6 +341,79 @@ module Aws::DataSync
336
341
  include Aws::Structure
337
342
  end
338
343
 
344
+ # @note When making an API call, you may pass CreateLocationFsxOpenZfsRequest
345
+ # data as a hash:
346
+ #
347
+ # {
348
+ # fsx_filesystem_arn: "FsxFilesystemArn", # required
349
+ # protocol: { # required
350
+ # nfs: {
351
+ # mount_options: {
352
+ # version: "AUTOMATIC", # accepts AUTOMATIC, NFS3, NFS4_0, NFS4_1
353
+ # },
354
+ # },
355
+ # },
356
+ # security_group_arns: ["Ec2SecurityGroupArn"], # required
357
+ # subdirectory: "FsxOpenZfsSubdirectory",
358
+ # tags: [
359
+ # {
360
+ # key: "TagKey", # required
361
+ # value: "TagValue",
362
+ # },
363
+ # ],
364
+ # }
365
+ #
366
+ # @!attribute [rw] fsx_filesystem_arn
367
+ # The Amazon Resource Name (ARN) of the FSx for OpenZFS file system.
368
+ # @return [String]
369
+ #
370
+ # @!attribute [rw] protocol
371
+ # The type of protocol that DataSync uses to access your file system.
372
+ # @return [Types::FsxProtocol]
373
+ #
374
+ # @!attribute [rw] security_group_arns
375
+ # The ARNs of the security groups that are used to configure the FSx
376
+ # for OpenZFS file system.
377
+ # @return [Array<String>]
378
+ #
379
+ # @!attribute [rw] subdirectory
380
+ # A subdirectory in the location's path that must begin with `/fsx`.
381
+ # DataSync uses this subdirectory to read or write data (depending on
382
+ # whether the file system is a source or destination location).
383
+ # @return [String]
384
+ #
385
+ # @!attribute [rw] tags
386
+ # The key-value pair that represents a tag that you want to add to the
387
+ # resource. The value can be an empty string. This value helps you
388
+ # manage, filter, and search for your resources. We recommend that you
389
+ # create a name tag for your location.
390
+ # @return [Array<Types::TagListEntry>]
391
+ #
392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxOpenZfsRequest AWS API Documentation
393
+ #
394
+ class CreateLocationFsxOpenZfsRequest < Struct.new(
395
+ :fsx_filesystem_arn,
396
+ :protocol,
397
+ :security_group_arns,
398
+ :subdirectory,
399
+ :tags)
400
+ SENSITIVE = []
401
+ include Aws::Structure
402
+ end
403
+
404
+ # @!attribute [rw] location_arn
405
+ # The ARN of the FSx for OpenZFS file system location that you
406
+ # created.
407
+ # @return [String]
408
+ #
409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxOpenZfsResponse AWS API Documentation
410
+ #
411
+ class CreateLocationFsxOpenZfsResponse < Struct.new(
412
+ :location_arn)
413
+ SENSITIVE = []
414
+ include Aws::Structure
415
+ end
416
+
339
417
  # @note When making an API call, you may pass CreateLocationFsxWindowsRequest
340
418
  # data as a hash:
341
419
  #
@@ -367,8 +445,8 @@ module Aws::DataSync
367
445
  # @return [String]
368
446
  #
369
447
  # @!attribute [rw] security_group_arns
370
- # The Amazon Resource Names (ARNs) of the security groups that are
371
- # used to configure the FSx for Windows File Server file system.
448
+ # The ARNs of the security groups that are used to configure the FSx
449
+ # for Windows File Server file system.
372
450
  # @return [Array<String>]
373
451
  #
374
452
  # @!attribute [rw] tags
@@ -413,7 +491,7 @@ module Aws::DataSync
413
491
 
414
492
  # @!attribute [rw] location_arn
415
493
  # The Amazon Resource Name (ARN) of the FSx for Windows File Server
416
- # file system location that is created.
494
+ # file system location you created.
417
495
  # @return [String]
418
496
  #
419
497
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/CreateLocationFsxWindowsResponse AWS API Documentation
@@ -645,7 +723,7 @@ module Aws::DataSync
645
723
  # @!attribute [rw] server_hostname
646
724
  # The name of the NFS server. This value is the IP address or Domain
647
725
  # Name Service (DNS) name of the NFS server. An agent that is
648
- # installed on-premises uses this host name to mount the NFS server in
726
+ # installed on-premises uses this hostname to mount the NFS server in
649
727
  # a network.
650
728
  #
651
729
  # If you are copying data to or from your Snowcone device, see [NFS
@@ -735,7 +813,7 @@ module Aws::DataSync
735
813
  # @!attribute [rw] server_hostname
736
814
  # The name of the self-managed object storage server. This value is
737
815
  # the IP address or Domain Name Service (DNS) name of the object
738
- # storage server. An agent uses this host name to mount the object
816
+ # storage server. An agent uses this hostname to mount the object
739
817
  # storage server in a network.
740
818
  # @return [String]
741
819
  #
@@ -872,14 +950,14 @@ module Aws::DataSync
872
950
  #
873
951
  # @!attribute [rw] s3_config
874
952
  # The Amazon Resource Name (ARN) of the Identity and Access Management
875
- # (IAM) role that is used to access an Amazon S3 bucket.
953
+ # (IAM) role used to access an Amazon S3 bucket.
876
954
  #
877
955
  # For detailed information about using such a role, see Creating a
878
956
  # Location for Amazon S3 in the *DataSync User Guide*.
879
957
  # @return [Types::S3Config]
880
958
  #
881
959
  # @!attribute [rw] agent_arns
882
- # If you are using DataSync on an Amazon Web Services Outpost, specify
960
+ # If you're using DataSync on an Amazon Web Services Outpost, specify
883
961
  # the Amazon Resource Names (ARNs) of the DataSync agents deployed on
884
962
  # your Outpost. For more information about launching a DataSync agent
885
963
  # on an Amazon Web Services Outpost, see [Deploy your DataSync agent
@@ -1070,6 +1148,7 @@ module Aws::DataSync
1070
1148
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
1071
1149
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
1072
1150
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
1151
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
1073
1152
  # },
1074
1153
  # excludes: [
1075
1154
  # {
@@ -1350,7 +1429,8 @@ module Aws::DataSync
1350
1429
  # }
1351
1430
  #
1352
1431
  # @!attribute [rw] location_arn
1353
- # The Amazon Resource Name (ARN) of the EFS location to describe.
1432
+ # The Amazon Resource Name (ARN) of the Amazon EFS file system
1433
+ # location that you want information about.
1354
1434
  # @return [String]
1355
1435
  #
1356
1436
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfsRequest AWS API Documentation
@@ -1364,33 +1444,47 @@ module Aws::DataSync
1364
1444
  # DescribeLocationEfsResponse
1365
1445
  #
1366
1446
  # @!attribute [rw] location_arn
1367
- # The Amazon Resource Name (ARN) of the EFS location that was
1368
- # described.
1447
+ # The ARN of the Amazon EFS file system location.
1369
1448
  # @return [String]
1370
1449
  #
1371
1450
  # @!attribute [rw] location_uri
1372
- # The URL of the EFS location that was described.
1451
+ # The URL of the Amazon EFS file system location.
1373
1452
  # @return [String]
1374
1453
  #
1375
1454
  # @!attribute [rw] ec2_config
1376
- # The subnet and the security group that DataSync uses to access
1377
- # target EFS file system. The subnet must have at least one mount
1378
- # target for that file system. The security group that you provide
1379
- # needs to be able to communicate with the security group on the mount
1380
- # target in the subnet specified.
1455
+ # The subnet and security groups that DataSync uses to access your
1456
+ # Amazon EFS file system.
1381
1457
  # @return [Types::Ec2Config]
1382
1458
  #
1383
1459
  # @!attribute [rw] creation_time
1384
- # The time that the EFS location was created.
1460
+ # The time that the location was created.
1385
1461
  # @return [Time]
1386
1462
  #
1463
+ # @!attribute [rw] access_point_arn
1464
+ # The ARN of the access point that DataSync uses to access the Amazon
1465
+ # EFS file system.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] file_system_access_role_arn
1469
+ # The Identity and Access Management (IAM) role that DataSync assumes
1470
+ # when mounting the Amazon EFS file system.
1471
+ # @return [String]
1472
+ #
1473
+ # @!attribute [rw] in_transit_encryption
1474
+ # Whether DataSync uses TLS encryption when transferring data to or
1475
+ # from your Amazon EFS file system.
1476
+ # @return [String]
1477
+ #
1387
1478
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationEfsResponse AWS API Documentation
1388
1479
  #
1389
1480
  class DescribeLocationEfsResponse < Struct.new(
1390
1481
  :location_arn,
1391
1482
  :location_uri,
1392
1483
  :ec2_config,
1393
- :creation_time)
1484
+ :creation_time,
1485
+ :access_point_arn,
1486
+ :file_system_access_role_arn,
1487
+ :in_transit_encryption)
1394
1488
  SENSITIVE = []
1395
1489
  include Aws::Structure
1396
1490
  end
@@ -1444,6 +1538,62 @@ module Aws::DataSync
1444
1538
  include Aws::Structure
1445
1539
  end
1446
1540
 
1541
+ # @note When making an API call, you may pass DescribeLocationFsxOpenZfsRequest
1542
+ # data as a hash:
1543
+ #
1544
+ # {
1545
+ # location_arn: "LocationArn", # required
1546
+ # }
1547
+ #
1548
+ # @!attribute [rw] location_arn
1549
+ # The Amazon Resource Name (ARN) of the FSx for OpenZFS location to
1550
+ # describe.
1551
+ # @return [String]
1552
+ #
1553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxOpenZfsRequest AWS API Documentation
1554
+ #
1555
+ class DescribeLocationFsxOpenZfsRequest < Struct.new(
1556
+ :location_arn)
1557
+ SENSITIVE = []
1558
+ include Aws::Structure
1559
+ end
1560
+
1561
+ # @!attribute [rw] location_arn
1562
+ # The ARN of the FSx for OpenZFS location that was described.
1563
+ # @return [String]
1564
+ #
1565
+ # @!attribute [rw] location_uri
1566
+ # The uniform resource identifier (URI) of the FSx for OpenZFS
1567
+ # location that was described.
1568
+ #
1569
+ # Example: `fsxz://us-west-2.fs-1234567890abcdef02/fsx/folderA/folder`
1570
+ # @return [String]
1571
+ #
1572
+ # @!attribute [rw] security_group_arns
1573
+ # The ARNs of the security groups that are configured for the FSx for
1574
+ # OpenZFS file system.
1575
+ # @return [Array<String>]
1576
+ #
1577
+ # @!attribute [rw] protocol
1578
+ # The type of protocol that DataSync uses to access your file system.
1579
+ # @return [Types::FsxProtocol]
1580
+ #
1581
+ # @!attribute [rw] creation_time
1582
+ # The time that the FSx for OpenZFS location was created.
1583
+ # @return [Time]
1584
+ #
1585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/DescribeLocationFsxOpenZfsResponse AWS API Documentation
1586
+ #
1587
+ class DescribeLocationFsxOpenZfsResponse < Struct.new(
1588
+ :location_arn,
1589
+ :location_uri,
1590
+ :security_group_arns,
1591
+ :protocol,
1592
+ :creation_time)
1593
+ SENSITIVE = []
1594
+ include Aws::Structure
1595
+ end
1596
+
1447
1597
  # @note When making an API call, you may pass DescribeLocationFsxWindowsRequest
1448
1598
  # data as a hash:
1449
1599
  #
@@ -1784,7 +1934,7 @@ module Aws::DataSync
1784
1934
  #
1785
1935
  # @!attribute [rw] s3_config
1786
1936
  # The Amazon Resource Name (ARN) of the Identity and Access Management
1787
- # (IAM) role that is used to access an Amazon S3 bucket.
1937
+ # (IAM) role used to access an Amazon S3 bucket.
1788
1938
  #
1789
1939
  # For detailed information about using such a role, see Creating a
1790
1940
  # Location for Amazon S3 in the *DataSync User Guide*.
@@ -2169,11 +2319,8 @@ module Aws::DataSync
2169
2319
  include Aws::Structure
2170
2320
  end
2171
2321
 
2172
- # The subnet and the security group that DataSync uses to access target
2173
- # EFS file system. The subnet must have at least one mount target for
2174
- # that file system. The security group that you provide needs to be able
2175
- # to communicate with the security group on the mount target in the
2176
- # subnet specified.
2322
+ # The subnet and security groups that DataSync uses to access your
2323
+ # Amazon EFS file system.
2177
2324
  #
2178
2325
  # @note When making an API call, you may pass Ec2Config
2179
2326
  # data as a hash:
@@ -2184,13 +2331,30 @@ module Aws::DataSync
2184
2331
  # }
2185
2332
  #
2186
2333
  # @!attribute [rw] subnet_arn
2187
- # The ARN of the subnet and the security group that DataSync uses to
2188
- # access the target EFS file system.
2334
+ # Specifies the ARN of a subnet where DataSync creates the [network
2335
+ # interfaces][1] for managing traffic during your transfer.
2336
+ #
2337
+ # The subnet must be located:
2338
+ #
2339
+ # * In the same virtual private cloud (VPC) as the Amazon EFS file
2340
+ # system.
2341
+ #
2342
+ # * In the same Availability Zone as at least one mount target for the
2343
+ # Amazon EFS file system.
2344
+ #
2345
+ # <note markdown="1"> You don't need to specify a subnet that includes a file system
2346
+ # mount target.
2347
+ #
2348
+ # </note>
2349
+ #
2350
+ #
2351
+ #
2352
+ # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html#required-network-interfaces
2189
2353
  # @return [String]
2190
2354
  #
2191
2355
  # @!attribute [rw] security_group_arns
2192
- # The Amazon Resource Names (ARNs) of the security groups that are
2193
- # configured for the Amazon EC2 resource.
2356
+ # Specifies the Amazon Resource Names (ARNs) of the security groups
2357
+ # associated with an Amazon EFS file system's mount target.
2194
2358
  # @return [Array<String>]
2195
2359
  #
2196
2360
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/Ec2Config AWS API Documentation
@@ -2233,6 +2397,58 @@ module Aws::DataSync
2233
2397
  include Aws::Structure
2234
2398
  end
2235
2399
 
2400
+ # Represents the protocol that DataSync uses to access your Amazon FSx
2401
+ # for OpenZFS file system.
2402
+ #
2403
+ # @note When making an API call, you may pass FsxProtocol
2404
+ # data as a hash:
2405
+ #
2406
+ # {
2407
+ # nfs: {
2408
+ # mount_options: {
2409
+ # version: "AUTOMATIC", # accepts AUTOMATIC, NFS3, NFS4_0, NFS4_1
2410
+ # },
2411
+ # },
2412
+ # }
2413
+ #
2414
+ # @!attribute [rw] nfs
2415
+ # Represents the Network File System (NFS) protocol that DataSync uses
2416
+ # to access your FSx for OpenZFS file system.
2417
+ # @return [Types::FsxProtocolNfs]
2418
+ #
2419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/FsxProtocol AWS API Documentation
2420
+ #
2421
+ class FsxProtocol < Struct.new(
2422
+ :nfs)
2423
+ SENSITIVE = []
2424
+ include Aws::Structure
2425
+ end
2426
+
2427
+ # Represents the Network File System (NFS) protocol that DataSync uses
2428
+ # to access your Amazon FSx for OpenZFS file system.
2429
+ #
2430
+ # @note When making an API call, you may pass FsxProtocolNfs
2431
+ # data as a hash:
2432
+ #
2433
+ # {
2434
+ # mount_options: {
2435
+ # version: "AUTOMATIC", # accepts AUTOMATIC, NFS3, NFS4_0, NFS4_1
2436
+ # },
2437
+ # }
2438
+ #
2439
+ # @!attribute [rw] mount_options
2440
+ # Represents the mount options that are available for DataSync to
2441
+ # access an NFS location.
2442
+ # @return [Types::NfsMountOptions]
2443
+ #
2444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/FsxProtocolNfs AWS API Documentation
2445
+ #
2446
+ class FsxProtocolNfs < Struct.new(
2447
+ :mount_options)
2448
+ SENSITIVE = []
2449
+ include Aws::Structure
2450
+ end
2451
+
2236
2452
  # The NameNode of the Hadoop Distributed File System (HDFS). The
2237
2453
  # NameNode manages the file system's namespace. The NameNode performs
2238
2454
  # operations such as opening, closing, and renaming files and
@@ -2292,11 +2508,15 @@ module Aws::DataSync
2292
2508
  # @!attribute [rw] error_code
2293
2509
  # @return [String]
2294
2510
  #
2511
+ # @!attribute [rw] datasync_error_code
2512
+ # @return [String]
2513
+ #
2295
2514
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/InvalidRequestException AWS API Documentation
2296
2515
  #
2297
2516
  class InvalidRequestException < Struct.new(
2298
2517
  :message,
2299
- :error_code)
2518
+ :error_code,
2519
+ :datasync_error_code)
2300
2520
  SENSITIVE = []
2301
2521
  include Aws::Structure
2302
2522
  end
@@ -2651,14 +2871,13 @@ module Aws::DataSync
2651
2871
  #
2652
2872
  # Format: `TYPE://GLOBAL_ID/SUBDIR`.
2653
2873
  #
2654
- # TYPE designates the type of location. Valid values: NFS \| EFS \|
2655
- # S3.
2874
+ # TYPE designates the type of location (for example, `nfs` or `s3`).
2656
2875
  #
2657
2876
  # GLOBAL\_ID is the globally unique identifier of the resource that
2658
2877
  # backs the location. An example for EFS is `us-east-2.fs-abcd1234`.
2659
2878
  # An example for Amazon S3 is the bucket name, such as `myBucket`. An
2660
- # example for NFS is a valid IPv4 address or a host name compliant
2661
- # with Domain Name Service (DNS).
2879
+ # example for NFS is a valid IPv4 address or a hostname that is
2880
+ # compliant with Domain Name Service (DNS).
2662
2881
  #
2663
2882
  # SUBDIR is a valid file system path, delimited by forward slashes as
2664
2883
  # is the *nix convention. For NFS and Amazon EFS, it's the export
@@ -2777,6 +2996,7 @@ module Aws::DataSync
2777
2996
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
2778
2997
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
2779
2998
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
2999
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
2780
3000
  # }
2781
3001
  #
2782
3002
  # @!attribute [rw] verify_mode
@@ -2793,8 +3013,8 @@ module Aws::DataSync
2793
3013
  # POINT\_IN\_TIME\_CONSISTENT: Scan the entire source and entire
2794
3014
  # destination at the end of the transfer to verify that source and
2795
3015
  # destination are fully synchronized. This option isn't supported
2796
- # when transferring to S3 Glacier or S3 Glacier Deep Archive storage
2797
- # classes.
3016
+ # when transferring to S3 Glacier Flexible Retrieval or S3 Glacier
3017
+ # Deep Archive storage classes.
2798
3018
  #
2799
3019
  # NONE: No additional verification is done at the end of the transfer,
2800
3020
  # but all data transmissions are integrity-checked with checksum
@@ -2852,7 +3072,7 @@ module Aws::DataSync
2852
3072
  # is required for cases when you need to run the same task more than
2853
3073
  # one time.
2854
3074
  #
2855
- # Default value: PRESERVE.
3075
+ # Default Value: `PRESERVE`
2856
3076
  #
2857
3077
  # PRESERVE: Preserve original `Mtime` (recommended)
2858
3078
  #
@@ -3064,6 +3284,14 @@ module Aws::DataSync
3064
3284
  # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/special-files.html
3065
3285
  # @return [String]
3066
3286
  #
3287
+ # @!attribute [rw] object_tags
3288
+ # Specifies whether object tags are maintained when transferring
3289
+ # between object storage systems. If you want your DataSync task to
3290
+ # ignore object tags, specify the `NONE` value.
3291
+ #
3292
+ # Default Value: `PRESERVE`
3293
+ # @return [String]
3294
+ #
3067
3295
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/Options AWS API Documentation
3068
3296
  #
3069
3297
  class Options < Struct.new(
@@ -3080,7 +3308,8 @@ module Aws::DataSync
3080
3308
  :task_queueing,
3081
3309
  :log_level,
3082
3310
  :transfer_mode,
3083
- :security_descriptor_copy_flags)
3311
+ :security_descriptor_copy_flags,
3312
+ :object_tags)
3084
3313
  SENSITIVE = []
3085
3314
  include Aws::Structure
3086
3315
  end
@@ -3161,7 +3390,7 @@ module Aws::DataSync
3161
3390
  end
3162
3391
 
3163
3392
  # The Amazon Resource Name (ARN) of the Identity and Access Management
3164
- # (IAM) role that is used to access an Amazon S3 bucket.
3393
+ # (IAM) role used to access an Amazon S3 bucket.
3165
3394
  #
3166
3395
  # For detailed information about using such a role, see Creating a
3167
3396
  # Location for Amazon S3 in the *DataSync User Guide*.
@@ -3174,12 +3403,7 @@ module Aws::DataSync
3174
3403
  # }
3175
3404
  #
3176
3405
  # @!attribute [rw] bucket_access_role_arn
3177
- # The Amazon S3 bucket to access. This bucket is used as a parameter
3178
- # in the [CreateLocationS3][1] operation.
3179
- #
3180
- #
3181
- #
3182
- # [1]: https://docs.aws.amazon.com/datasync/latest/userguide/API_CreateLocationS3.html
3406
+ # The ARN of the IAM role for accessing the S3 bucket.
3183
3407
  # @return [String]
3184
3408
  #
3185
3409
  # @see http://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/S3Config AWS API Documentation
@@ -3237,6 +3461,7 @@ module Aws::DataSync
3237
3461
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
3238
3462
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
3239
3463
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
3464
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
3240
3465
  # },
3241
3466
  # includes: [
3242
3467
  # {
@@ -3720,15 +3945,15 @@ module Aws::DataSync
3720
3945
  # The Kerberos key table (keytab) that contains mappings between the
3721
3946
  # defined Kerberos principal and the encrypted keys. You can load the
3722
3947
  # keytab from a file by providing the file's address. If you use the
3723
- # AWS CLI, it performs base64 encoding for you. Otherwise, provide the
3948
+ # CLI, it performs base64 encoding for you. Otherwise, provide the
3724
3949
  # base64-encoded text.
3725
3950
  # @return [String]
3726
3951
  #
3727
3952
  # @!attribute [rw] kerberos_krb_5_conf
3728
3953
  # The `krb5.conf` file that contains the Kerberos configuration
3729
3954
  # information. You can load the `krb5.conf` file by providing the
3730
- # file's address. If you're using the AWS CLI, it performs the
3731
- # base64 encoding for you. Otherwise, provide the base64-encoded text.
3955
+ # file's address. If you're using the CLI, it performs the base64
3956
+ # encoding for you. Otherwise, provide the base64-encoded text.
3732
3957
  # @return [String]
3733
3958
  #
3734
3959
  # @!attribute [rw] agent_arns
@@ -4018,6 +4243,7 @@ module Aws::DataSync
4018
4243
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
4019
4244
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
4020
4245
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
4246
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
4021
4247
  # },
4022
4248
  # }
4023
4249
  #
@@ -4079,6 +4305,7 @@ module Aws::DataSync
4079
4305
  # log_level: "OFF", # accepts OFF, BASIC, TRANSFER
4080
4306
  # transfer_mode: "CHANGED", # accepts CHANGED, ALL
4081
4307
  # security_descriptor_copy_flags: "NONE", # accepts NONE, OWNER_DACL, OWNER_DACL_SACL
4308
+ # object_tags: "PRESERVE", # accepts PRESERVE, NONE
4082
4309
  # },
4083
4310
  # excludes: [
4084
4311
  # {
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-datasync/customizations'
48
48
  # @!group service
49
49
  module Aws::DataSync
50
50
 
51
- GEM_VERSION = '1.44.0'
51
+ GEM_VERSION = '1.47.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-datasync
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.44.0
4
+ version: 1.47.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-24 00:00:00.000000000 Z
11
+ date: 2022-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core