@aws-sdk/client-datasync 3.731.1 → 3.737.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.
package/dist-cjs/index.js CHANGED
@@ -123,6 +123,7 @@ __export(src_exports, {
123
123
  S3StorageClass: () => S3StorageClass,
124
124
  ScheduleDisabledBy: () => ScheduleDisabledBy,
125
125
  ScheduleStatus: () => ScheduleStatus,
126
+ SmbAuthenticationType: () => SmbAuthenticationType,
126
127
  SmbSecurityDescriptorCopyFlags: () => SmbSecurityDescriptorCopyFlags,
127
128
  SmbVersion: () => SmbVersion,
128
129
  StartDiscoveryJobCommand: () => StartDiscoveryJobCommand,
@@ -455,6 +456,10 @@ var S3StorageClass = {
455
456
  STANDARD: "STANDARD",
456
457
  STANDARD_IA: "STANDARD_IA"
457
458
  };
459
+ var SmbAuthenticationType = {
460
+ KERBEROS: "KERBEROS",
461
+ NTLM: "NTLM"
462
+ };
458
463
  var FilterType = {
459
464
  SIMPLE_PATTERN: "SIMPLE_PATTERN"
460
465
  };
@@ -806,7 +811,7 @@ var se_CreateLocationS3Command = /* @__PURE__ */ __name(async (input, context) =
806
811
  var se_CreateLocationSmbCommand = /* @__PURE__ */ __name(async (input, context) => {
807
812
  const headers = sharedHeaders("CreateLocationSmb");
808
813
  let body;
809
- body = JSON.stringify((0, import_smithy_client._json)(input));
814
+ body = JSON.stringify(se_CreateLocationSmbRequest(input, context));
810
815
  return buildHttpRpcRequest(context, headers, "/", void 0, body);
811
816
  }, "se_CreateLocationSmbCommand");
812
817
  var se_CreateTaskCommand = /* @__PURE__ */ __name(async (input, context) => {
@@ -1177,7 +1182,7 @@ var se_UpdateLocationS3Command = /* @__PURE__ */ __name(async (input, context) =
1177
1182
  var se_UpdateLocationSmbCommand = /* @__PURE__ */ __name(async (input, context) => {
1178
1183
  const headers = sharedHeaders("UpdateLocationSmb");
1179
1184
  let body;
1180
- body = JSON.stringify((0, import_smithy_client._json)(input));
1185
+ body = JSON.stringify(se_UpdateLocationSmbRequest(input, context));
1181
1186
  return buildHttpRpcRequest(context, headers, "/", void 0, body);
1182
1187
  }, "se_UpdateLocationSmbCommand");
1183
1188
  var se_UpdateStorageSystemCommand = /* @__PURE__ */ __name(async (input, context) => {
@@ -2146,6 +2151,23 @@ var se_CreateLocationObjectStorageRequest = /* @__PURE__ */ __name((input, conte
2146
2151
  Tags: import_smithy_client._json
2147
2152
  });
2148
2153
  }, "se_CreateLocationObjectStorageRequest");
2154
+ var se_CreateLocationSmbRequest = /* @__PURE__ */ __name((input, context) => {
2155
+ return (0, import_smithy_client.take)(input, {
2156
+ AgentArns: import_smithy_client._json,
2157
+ AuthenticationType: [],
2158
+ DnsIpAddresses: import_smithy_client._json,
2159
+ Domain: [],
2160
+ KerberosKeytab: context.base64Encoder,
2161
+ KerberosKrb5Conf: context.base64Encoder,
2162
+ KerberosPrincipal: [],
2163
+ MountOptions: import_smithy_client._json,
2164
+ Password: [],
2165
+ ServerHostname: [],
2166
+ Subdirectory: [],
2167
+ Tags: import_smithy_client._json,
2168
+ User: []
2169
+ });
2170
+ }, "se_CreateLocationSmbRequest");
2149
2171
  var se_DescribeStorageSystemResourceMetricsRequest = /* @__PURE__ */ __name((input, context) => {
2150
2172
  return (0, import_smithy_client.take)(input, {
2151
2173
  DiscoveryJobArn: [],
@@ -2194,6 +2216,22 @@ var se_UpdateLocationObjectStorageRequest = /* @__PURE__ */ __name((input, conte
2194
2216
  Subdirectory: []
2195
2217
  });
2196
2218
  }, "se_UpdateLocationObjectStorageRequest");
2219
+ var se_UpdateLocationSmbRequest = /* @__PURE__ */ __name((input, context) => {
2220
+ return (0, import_smithy_client.take)(input, {
2221
+ AgentArns: import_smithy_client._json,
2222
+ AuthenticationType: [],
2223
+ DnsIpAddresses: import_smithy_client._json,
2224
+ Domain: [],
2225
+ KerberosKeytab: context.base64Encoder,
2226
+ KerberosKrb5Conf: context.base64Encoder,
2227
+ KerberosPrincipal: [],
2228
+ LocationArn: [],
2229
+ MountOptions: import_smithy_client._json,
2230
+ Password: [],
2231
+ Subdirectory: [],
2232
+ User: []
2233
+ });
2234
+ }, "se_UpdateLocationSmbRequest");
2197
2235
  var de_DescribeAgentResponse = /* @__PURE__ */ __name((output, context) => {
2198
2236
  return (0, import_smithy_client.take)(output, {
2199
2237
  AgentArn: import_smithy_client.expectString,
@@ -2326,8 +2364,11 @@ var de_DescribeLocationS3Response = /* @__PURE__ */ __name((output, context) =>
2326
2364
  var de_DescribeLocationSmbResponse = /* @__PURE__ */ __name((output, context) => {
2327
2365
  return (0, import_smithy_client.take)(output, {
2328
2366
  AgentArns: import_smithy_client._json,
2367
+ AuthenticationType: import_smithy_client.expectString,
2329
2368
  CreationTime: (_) => (0, import_smithy_client.expectNonNull)((0, import_smithy_client.parseEpochTimestamp)((0, import_smithy_client.expectNumber)(_))),
2369
+ DnsIpAddresses: import_smithy_client._json,
2330
2370
  Domain: import_smithy_client.expectString,
2371
+ KerberosPrincipal: import_smithy_client.expectString,
2331
2372
  LocationArn: import_smithy_client.expectString,
2332
2373
  LocationUri: import_smithy_client.expectString,
2333
2374
  MountOptions: import_smithy_client._json,
@@ -3787,6 +3828,7 @@ var paginateListTasks = (0, import_core.createPaginator)(DataSyncClient, ListTas
3787
3828
  HdfsRpcProtection,
3788
3829
  ObjectStorageServerProtocol,
3789
3830
  S3StorageClass,
3831
+ SmbAuthenticationType,
3790
3832
  FilterType,
3791
3833
  ManifestAction,
3792
3834
  ManifestFormat,
@@ -99,6 +99,10 @@ export const S3StorageClass = {
99
99
  STANDARD: "STANDARD",
100
100
  STANDARD_IA: "STANDARD_IA",
101
101
  };
102
+ export const SmbAuthenticationType = {
103
+ KERBEROS: "KERBEROS",
104
+ NTLM: "NTLM",
105
+ };
102
106
  export const FilterType = {
103
107
  SIMPLE_PATTERN: "SIMPLE_PATTERN",
104
108
  };
@@ -92,7 +92,7 @@ export const se_CreateLocationS3Command = async (input, context) => {
92
92
  export const se_CreateLocationSmbCommand = async (input, context) => {
93
93
  const headers = sharedHeaders("CreateLocationSmb");
94
94
  let body;
95
- body = JSON.stringify(_json(input));
95
+ body = JSON.stringify(se_CreateLocationSmbRequest(input, context));
96
96
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
97
97
  };
98
98
  export const se_CreateTaskCommand = async (input, context) => {
@@ -463,7 +463,7 @@ export const se_UpdateLocationS3Command = async (input, context) => {
463
463
  export const se_UpdateLocationSmbCommand = async (input, context) => {
464
464
  const headers = sharedHeaders("UpdateLocationSmb");
465
465
  let body;
466
- body = JSON.stringify(_json(input));
466
+ body = JSON.stringify(se_UpdateLocationSmbRequest(input, context));
467
467
  return buildHttpRpcRequest(context, headers, "/", undefined, body);
468
468
  };
469
469
  export const se_UpdateStorageSystemCommand = async (input, context) => {
@@ -1432,6 +1432,23 @@ const se_CreateLocationObjectStorageRequest = (input, context) => {
1432
1432
  Tags: _json,
1433
1433
  });
1434
1434
  };
1435
+ const se_CreateLocationSmbRequest = (input, context) => {
1436
+ return take(input, {
1437
+ AgentArns: _json,
1438
+ AuthenticationType: [],
1439
+ DnsIpAddresses: _json,
1440
+ Domain: [],
1441
+ KerberosKeytab: context.base64Encoder,
1442
+ KerberosKrb5Conf: context.base64Encoder,
1443
+ KerberosPrincipal: [],
1444
+ MountOptions: _json,
1445
+ Password: [],
1446
+ ServerHostname: [],
1447
+ Subdirectory: [],
1448
+ Tags: _json,
1449
+ User: [],
1450
+ });
1451
+ };
1435
1452
  const se_DescribeStorageSystemResourceMetricsRequest = (input, context) => {
1436
1453
  return take(input, {
1437
1454
  DiscoveryJobArn: [],
@@ -1480,6 +1497,22 @@ const se_UpdateLocationObjectStorageRequest = (input, context) => {
1480
1497
  Subdirectory: [],
1481
1498
  });
1482
1499
  };
1500
+ const se_UpdateLocationSmbRequest = (input, context) => {
1501
+ return take(input, {
1502
+ AgentArns: _json,
1503
+ AuthenticationType: [],
1504
+ DnsIpAddresses: _json,
1505
+ Domain: [],
1506
+ KerberosKeytab: context.base64Encoder,
1507
+ KerberosKrb5Conf: context.base64Encoder,
1508
+ KerberosPrincipal: [],
1509
+ LocationArn: [],
1510
+ MountOptions: _json,
1511
+ Password: [],
1512
+ Subdirectory: [],
1513
+ User: [],
1514
+ });
1515
+ };
1483
1516
  const de_DescribeAgentResponse = (output, context) => {
1484
1517
  return take(output, {
1485
1518
  AgentArn: __expectString,
@@ -1612,8 +1645,11 @@ const de_DescribeLocationS3Response = (output, context) => {
1612
1645
  const de_DescribeLocationSmbResponse = (output, context) => {
1613
1646
  return take(output, {
1614
1647
  AgentArns: _json,
1648
+ AuthenticationType: __expectString,
1615
1649
  CreationTime: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))),
1650
+ DnsIpAddresses: _json,
1616
1651
  Domain: __expectString,
1652
+ KerberosPrincipal: __expectString,
1617
1653
  LocationArn: __expectString,
1618
1654
  LocationUri: __expectString,
1619
1655
  MountOptions: _json,
@@ -30,9 +30,8 @@ declare const CreateLocationSmbCommand_base: {
30
30
  * <p>Creates a transfer <i>location</i> for a Server Message Block (SMB) file
31
31
  * server. DataSync can use this location as a source or destination for
32
32
  * transferring data.</p>
33
- * <p>Before you begin, make sure that you understand how DataSync
34
- * <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb">accesses
35
- * SMB file servers</a>.</p>
33
+ * <p>Before you begin, make sure that you understand how DataSync accesses SMB
34
+ * file servers. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">Providing DataSync access to SMB file servers</a>.</p>
36
35
  * @example
37
36
  * Use a bare-bones client and the command you need to make an API call.
38
37
  * ```javascript
@@ -42,9 +41,9 @@ declare const CreateLocationSmbCommand_base: {
42
41
  * const input = { // CreateLocationSmbRequest
43
42
  * Subdirectory: "STRING_VALUE", // required
44
43
  * ServerHostname: "STRING_VALUE", // required
45
- * User: "STRING_VALUE", // required
44
+ * User: "STRING_VALUE",
46
45
  * Domain: "STRING_VALUE",
47
- * Password: "STRING_VALUE", // required
46
+ * Password: "STRING_VALUE",
48
47
  * AgentArns: [ // AgentArnList // required
49
48
  * "STRING_VALUE",
50
49
  * ],
@@ -57,6 +56,13 @@ declare const CreateLocationSmbCommand_base: {
57
56
  * Value: "STRING_VALUE",
58
57
  * },
59
58
  * ],
59
+ * AuthenticationType: "NTLM" || "KERBEROS",
60
+ * DnsIpAddresses: [ // DnsIpList
61
+ * "STRING_VALUE",
62
+ * ],
63
+ * KerberosPrincipal: "STRING_VALUE",
64
+ * KerberosKeytab: new Uint8Array(), // e.g. Buffer.from("") or new TextEncoder().encode("")
65
+ * KerberosKrb5Conf: new Uint8Array(), // e.g. Buffer.from("") or new TextEncoder().encode("")
60
66
  * };
61
67
  * const command = new CreateLocationSmbCommand(input);
62
68
  * const response = await client.send(command);
@@ -52,6 +52,11 @@ declare const DescribeLocationSmbCommand_base: {
52
52
  * // Version: "AUTOMATIC" || "SMB2" || "SMB3" || "SMB1" || "SMB2_0",
53
53
  * // },
54
54
  * // CreationTime: new Date("TIMESTAMP"),
55
+ * // DnsIpAddresses: [ // DnsIpList
56
+ * // "STRING_VALUE",
57
+ * // ],
58
+ * // KerberosPrincipal: "STRING_VALUE",
59
+ * // AuthenticationType: "NTLM" || "KERBEROS",
55
60
  * // };
56
61
  *
57
62
  * ```
@@ -48,6 +48,13 @@ declare const UpdateLocationSmbCommand_base: {
48
48
  * MountOptions: { // SmbMountOptions
49
49
  * Version: "AUTOMATIC" || "SMB2" || "SMB3" || "SMB1" || "SMB2_0",
50
50
  * },
51
+ * AuthenticationType: "NTLM" || "KERBEROS",
52
+ * DnsIpAddresses: [ // DnsIpList
53
+ * "STRING_VALUE",
54
+ * ],
55
+ * KerberosPrincipal: "STRING_VALUE",
56
+ * KerberosKeytab: new Uint8Array(), // e.g. Buffer.from("") or new TextEncoder().encode("")
57
+ * KerberosKrb5Conf: new Uint8Array(), // e.g. Buffer.from("") or new TextEncoder().encode("")
51
58
  * };
52
59
  * const command = new UpdateLocationSmbCommand(input);
53
60
  * const response = await client.send(command);
@@ -1463,6 +1463,18 @@ export interface CreateLocationS3Response {
1463
1463
  */
1464
1464
  LocationArn?: string | undefined;
1465
1465
  }
1466
+ /**
1467
+ * @public
1468
+ * @enum
1469
+ */
1470
+ export declare const SmbAuthenticationType: {
1471
+ readonly KERBEROS: "KERBEROS";
1472
+ readonly NTLM: "NTLM";
1473
+ };
1474
+ /**
1475
+ * @public
1476
+ */
1477
+ export type SmbAuthenticationType = (typeof SmbAuthenticationType)[keyof typeof SmbAuthenticationType];
1466
1478
  /**
1467
1479
  * <p>CreateLocationSmbRequest</p>
1468
1480
  * @public
@@ -1474,41 +1486,48 @@ export interface CreateLocationSmbRequest {
1474
1486
  * <code>/path/to/subdirectory</code>). Make sure that other SMB clients in your network can
1475
1487
  * also mount this path.</p>
1476
1488
  * <p>To copy all data in the subdirectory, DataSync must be able to mount the SMB
1477
- * share and access all of its data. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.</p>
1489
+ * share and access all of its data. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">Providing DataSync access to SMB file servers</a>.</p>
1478
1490
  * @public
1479
1491
  */
1480
1492
  Subdirectory: string | undefined;
1481
1493
  /**
1482
- * <p>Specifies the Domain Name Service (DNS) name or IP address of the SMB file server that
1483
- * your DataSync agent will mount.</p>
1484
- * <note>
1485
- * <p>You can't specify an IP version 6 (IPv6) address.</p>
1486
- * </note>
1494
+ * <p>Specifies the domain name or IP address of the SMB file server that your DataSync agent will mount.</p>
1495
+ * <p>Remember the following when configuring this parameter:</p>
1496
+ * <ul>
1497
+ * <li>
1498
+ * <p>You can't specify an IP version 6 (IPv6) address.</p>
1499
+ * </li>
1500
+ * <li>
1501
+ * <p>If you're using Kerberos authentication, you must specify a domain name.</p>
1502
+ * </li>
1503
+ * </ul>
1487
1504
  * @public
1488
1505
  */
1489
1506
  ServerHostname: string | undefined;
1490
1507
  /**
1491
1508
  * <p>Specifies the user that can mount and access the files, folders, and file metadata in your
1492
- * SMB file server.</p>
1509
+ * SMB file server. This parameter applies only if <code>AuthenticationType</code> is set to
1510
+ * <code>NTLM</code>.</p>
1493
1511
  * <p>For information about choosing a user with the right level of access for your transfer,
1494
- * see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.</p>
1512
+ * see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">Providing DataSync access to SMB file servers</a>.</p>
1495
1513
  * @public
1496
1514
  */
1497
- User: string | undefined;
1515
+ User?: string | undefined;
1498
1516
  /**
1499
- * <p>Specifies the name of the Active Directory domain that your SMB file server belongs to. </p>
1500
- * <p>If you have multiple Active Directory domains in your environment, configuring this
1501
- * parameter makes sure that DataSync connects to the right file server.</p>
1517
+ * <p>Specifies the Windows domain name that your SMB file server belongs to. This parameter
1518
+ * applies only if <code>AuthenticationType</code> is set to <code>NTLM</code>.</p>
1519
+ * <p>If you have multiple domains in your environment, configuring this parameter makes sure
1520
+ * that DataSync connects to the right file server.</p>
1502
1521
  * @public
1503
1522
  */
1504
1523
  Domain?: string | undefined;
1505
1524
  /**
1506
1525
  * <p>Specifies the password of the user who can mount your SMB file server and has permission
1507
- * to access the files and folders involved in your transfer.</p>
1508
- * <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.</p>
1526
+ * to access the files and folders involved in your transfer. This parameter applies only if
1527
+ * <code>AuthenticationType</code> is set to <code>NTLM</code>.</p>
1509
1528
  * @public
1510
1529
  */
1511
- Password: string | undefined;
1530
+ Password?: string | undefined;
1512
1531
  /**
1513
1532
  * <p>Specifies the DataSync agent (or agents) that can connect to your SMB file
1514
1533
  * server. You specify an agent by using its Amazon Resource Name (ARN).</p>
@@ -1527,6 +1546,55 @@ export interface CreateLocationSmbRequest {
1527
1546
  * @public
1528
1547
  */
1529
1548
  Tags?: TagListEntry[] | undefined;
1549
+ /**
1550
+ * <p>Specifies the authentication protocol that DataSync uses to connect to your SMB
1551
+ * file server. DataSync supports <code>NTLM</code> (default) and <code>KERBEROS</code>
1552
+ * authentication.</p>
1553
+ * @public
1554
+ */
1555
+ AuthenticationType?: SmbAuthenticationType | undefined;
1556
+ /**
1557
+ * <p>Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.
1558
+ * This parameter applies only if <code>AuthenticationType</code> is set to
1559
+ * <code>KERBEROS</code>.</p>
1560
+ * <p>If you have multiple domains in your environment, configuring this parameter makes sure
1561
+ * that DataSync connects to the right SMB file server.</p>
1562
+ * @public
1563
+ */
1564
+ DnsIpAddresses?: string[] | undefined;
1565
+ /**
1566
+ * <p>Specifies a service principal name (SPN), which is an identity in your Kerberos realm that
1567
+ * has permission to access the files, folders, and file metadata in your SMB file server.</p>
1568
+ * <p>SPNs are case sensitive and must include a prepended <code>cifs/</code>. For example, an
1569
+ * SPN might look like <code>cifs/kerberosuser@EXAMPLE.COM</code>.</p>
1570
+ * <p>Your task execution will fail if the SPN that you provide for this parameter doesn’t match
1571
+ * what’s exactly in your keytab or <code>krb5.conf</code> files. </p>
1572
+ * @public
1573
+ */
1574
+ KerberosPrincipal?: string | undefined;
1575
+ /**
1576
+ * <p>Specifies your Kerberos key table (keytab) file, which includes mappings between your
1577
+ * service principal name (SPN) and encryption keys.</p>
1578
+ * <p>You can specify the keytab using a file path (for example,
1579
+ * <code>file://path/to/file.keytab</code>). The file must be base64 encoded. If you're using
1580
+ * the CLI, the encoding is done for you.</p>
1581
+ * <p>To avoid task execution errors, make sure that the SPN in the keytab file matches exactly
1582
+ * what you specify for <code>KerberosPrincipal</code> and in your <code>krb5.conf</code> file. </p>
1583
+ * @public
1584
+ */
1585
+ KerberosKeytab?: Uint8Array | undefined;
1586
+ /**
1587
+ * <p>Specifies a Kerberos configuration file (<code>krb5.conf</code>) that defines your
1588
+ * Kerberos realm configuration.</p>
1589
+ * <p>You can specify the <code>krb5.conf</code> using a file path (for example,
1590
+ * <code>file://path/to/krb5.conf</code>). The file must be base64 encoded. If you're using the
1591
+ * CLI, the encoding is done for you.</p>
1592
+ * <p>To avoid task execution errors, make sure that the service principal name (SPN) in the
1593
+ * <code>krb5.conf</code> file matches exactly what you specify for
1594
+ * <code>KerberosPrincipal</code> and in your keytab file.</p>
1595
+ * @public
1596
+ */
1597
+ KerberosKrb5Conf?: Uint8Array | undefined;
1530
1598
  }
1531
1599
  /**
1532
1600
  * <p>CreateLocationSmbResponse</p>
@@ -3324,18 +3392,20 @@ export interface DescribeLocationSmbResponse {
3324
3392
  AgentArns?: string[] | undefined;
3325
3393
  /**
3326
3394
  * <p>The user that can mount and access the files, folders, and file metadata in your SMB file
3327
- * server.</p>
3395
+ * server. This element applies only if <code>AuthenticationType</code> is set to
3396
+ * <code>NTLM</code>.</p>
3328
3397
  * @public
3329
3398
  */
3330
3399
  User?: string | undefined;
3331
3400
  /**
3332
- * <p>The name of the Microsoft Active Directory domain that the SMB file server belongs
3333
- * to.</p>
3401
+ * <p>The name of the Windows domain that the SMB file server belongs to. This element applies
3402
+ * only if <code>AuthenticationType</code> is set to <code>NTLM</code>.</p>
3334
3403
  * @public
3335
3404
  */
3336
3405
  Domain?: string | undefined;
3337
3406
  /**
3338
- * <p>The protocol that DataSync use to access your SMB file.</p>
3407
+ * <p>The SMB protocol version that DataSync uses to access your SMB file
3408
+ * server.</p>
3339
3409
  * @public
3340
3410
  */
3341
3411
  MountOptions?: SmbMountOptions | undefined;
@@ -3344,6 +3414,24 @@ export interface DescribeLocationSmbResponse {
3344
3414
  * @public
3345
3415
  */
3346
3416
  CreationTime?: Date | undefined;
3417
+ /**
3418
+ * <p>The IPv4 addresses for the DNS servers that your SMB file server belongs to. This element
3419
+ * applies only if <code>AuthenticationType</code> is set to <code>KERBEROS</code>.</p>
3420
+ * @public
3421
+ */
3422
+ DnsIpAddresses?: string[] | undefined;
3423
+ /**
3424
+ * <p>The Kerberos service principal name (SPN) that has permission to access the files,
3425
+ * folders, and file metadata in your SMB file server.</p>
3426
+ * @public
3427
+ */
3428
+ KerberosPrincipal?: string | undefined;
3429
+ /**
3430
+ * <p>The authentication protocol that DataSync uses to connect to your SMB file
3431
+ * server.</p>
3432
+ * @public
3433
+ */
3434
+ AuthenticationType?: SmbAuthenticationType | undefined;
3347
3435
  }
3348
3436
  /**
3349
3437
  * @public
@@ -6009,29 +6097,30 @@ export interface UpdateLocationSmbRequest {
6009
6097
  * <code>/path/to/subdirectory</code>). Make sure that other SMB clients in your network can
6010
6098
  * also mount this path.</p>
6011
6099
  * <p>To copy all data in the specified subdirectory, DataSync must be able to mount
6012
- * the SMB share and access all of its data. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.</p>
6100
+ * the SMB share and access all of its data. For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">Providing DataSync access to SMB file servers</a>.</p>
6013
6101
  * @public
6014
6102
  */
6015
6103
  Subdirectory?: string | undefined;
6016
6104
  /**
6017
6105
  * <p>Specifies the user name that can mount your SMB file server and has permission to access
6018
- * the files and folders involved in your transfer.</p>
6106
+ * the files and folders involved in your transfer. This parameter applies only if
6107
+ * <code>AuthenticationType</code> is set to <code>NTLM</code>.</p>
6019
6108
  * <p>For information about choosing a user with the right level of access for your transfer,
6020
- * see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.</p>
6109
+ * see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">Providing DataSync access to SMB file servers</a>.</p>
6021
6110
  * @public
6022
6111
  */
6023
6112
  User?: string | undefined;
6024
6113
  /**
6025
- * <p>Specifies the Windows domain name that your SMB file server belongs to. </p>
6114
+ * <p>Specifies the Windows domain name that your SMB file server belongs to. This parameter
6115
+ * applies only if <code>AuthenticationType</code> is set to <code>NTLM</code>.</p>
6026
6116
  * <p>If you have multiple domains in your environment, configuring this parameter makes sure that DataSync connects to the right file server.</p>
6027
- * <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.</p>
6028
6117
  * @public
6029
6118
  */
6030
6119
  Domain?: string | undefined;
6031
6120
  /**
6032
6121
  * <p>Specifies the password of the user who can mount your SMB file server and has permission
6033
- * to access the files and folders involved in your transfer.</p>
6034
- * <p>For more information, see <a href="https://docs.aws.amazon.com/datasync/latest/userguide/create-smb-location.html#configuring-smb-permissions">required permissions</a> for SMB locations.</p>
6122
+ * to access the files and folders involved in your transfer. This parameter applies only if
6123
+ * <code>AuthenticationType</code> is set to <code>NTLM</code>.</p>
6035
6124
  * @public
6036
6125
  */
6037
6126
  Password?: string | undefined;
@@ -6046,6 +6135,55 @@ export interface UpdateLocationSmbRequest {
6046
6135
  * @public
6047
6136
  */
6048
6137
  MountOptions?: SmbMountOptions | undefined;
6138
+ /**
6139
+ * <p>Specifies the authentication protocol that DataSync uses to connect to your SMB
6140
+ * file server. DataSync supports <code>NTLM</code> (default) and <code>KERBEROS</code>
6141
+ * authentication.</p>
6142
+ * @public
6143
+ */
6144
+ AuthenticationType?: SmbAuthenticationType | undefined;
6145
+ /**
6146
+ * <p>Specifies the IPv4 addresses for the DNS servers that your SMB file server belongs to.
6147
+ * This parameter applies only if <code>AuthenticationType</code> is set to
6148
+ * <code>KERBEROS</code>.</p>
6149
+ * <p>If you have multiple domains in your environment, configuring this parameter makes sure
6150
+ * that DataSync connects to the right SMB file server. </p>
6151
+ * @public
6152
+ */
6153
+ DnsIpAddresses?: string[] | undefined;
6154
+ /**
6155
+ * <p>Specifies a service principal name (SPN), which is an identity in your Kerberos realm that
6156
+ * has permission to access the files, folders, and file metadata in your SMB file server.</p>
6157
+ * <p>SPNs are case sensitive and must include a prepended <code>cifs/</code>. For example, an
6158
+ * SPN might look like <code>cifs/kerberosuser@EXAMPLE.COM</code>.</p>
6159
+ * <p>Your task execution will fail if the SPN that you provide for this parameter doesn’t match
6160
+ * what’s exactly in your keytab or <code>krb5.conf</code> files.</p>
6161
+ * @public
6162
+ */
6163
+ KerberosPrincipal?: string | undefined;
6164
+ /**
6165
+ * <p>Specifies your Kerberos key table (keytab) file, which includes mappings between your
6166
+ * service principal name (SPN) and encryption keys.</p>
6167
+ * <p>You can specify the keytab using a file path (for example,
6168
+ * <code>file://path/to/file.keytab</code>). The file must be base64 encoded. If you're using
6169
+ * the CLI, the encoding is done for you.</p>
6170
+ * <p>To avoid task execution errors, make sure that the SPN in the keytab file matches exactly
6171
+ * what you specify for <code>KerberosPrincipal</code> and in your <code>krb5.conf</code> file.</p>
6172
+ * @public
6173
+ */
6174
+ KerberosKeytab?: Uint8Array | undefined;
6175
+ /**
6176
+ * <p>Specifies a Kerberos configuration file (<code>krb5.conf</code>) that defines your
6177
+ * Kerberos realm configuration.</p>
6178
+ * <p>You can specify the <code>krb5.conf</code> using a file path (for example,
6179
+ * <code>file://path/to/krb5.conf</code>). The file must be base64 encoded. If you're using the
6180
+ * CLI, the encoding is done for you.</p>
6181
+ * <p>To avoid task execution errors, make sure that the service principal name (SPN) in the
6182
+ * <code>krb5.conf</code> file matches exactly what you specify for
6183
+ * <code>KerberosPrincipal</code> and in your keytab file.</p>
6184
+ * @public
6185
+ */
6186
+ KerberosKrb5Conf?: Uint8Array | undefined;
6049
6187
  }
6050
6188
  /**
6051
6189
  * @public
@@ -322,15 +322,26 @@ export interface CreateLocationS3Request {
322
322
  export interface CreateLocationS3Response {
323
323
  LocationArn?: string | undefined;
324
324
  }
325
+ export declare const SmbAuthenticationType: {
326
+ readonly KERBEROS: "KERBEROS";
327
+ readonly NTLM: "NTLM";
328
+ };
329
+ export type SmbAuthenticationType =
330
+ (typeof SmbAuthenticationType)[keyof typeof SmbAuthenticationType];
325
331
  export interface CreateLocationSmbRequest {
326
332
  Subdirectory: string | undefined;
327
333
  ServerHostname: string | undefined;
328
- User: string | undefined;
334
+ User?: string | undefined;
329
335
  Domain?: string | undefined;
330
- Password: string | undefined;
336
+ Password?: string | undefined;
331
337
  AgentArns: string[] | undefined;
332
338
  MountOptions?: SmbMountOptions | undefined;
333
339
  Tags?: TagListEntry[] | undefined;
340
+ AuthenticationType?: SmbAuthenticationType | undefined;
341
+ DnsIpAddresses?: string[] | undefined;
342
+ KerberosPrincipal?: string | undefined;
343
+ KerberosKeytab?: Uint8Array | undefined;
344
+ KerberosKrb5Conf?: Uint8Array | undefined;
334
345
  }
335
346
  export interface CreateLocationSmbResponse {
336
347
  LocationArn?: string | undefined;
@@ -720,6 +731,9 @@ export interface DescribeLocationSmbResponse {
720
731
  Domain?: string | undefined;
721
732
  MountOptions?: SmbMountOptions | undefined;
722
733
  CreationTime?: Date | undefined;
734
+ DnsIpAddresses?: string[] | undefined;
735
+ KerberosPrincipal?: string | undefined;
736
+ AuthenticationType?: SmbAuthenticationType | undefined;
723
737
  }
724
738
  export interface DescribeStorageSystemRequest {
725
739
  StorageSystemArn: string | undefined;
@@ -1281,6 +1295,11 @@ export interface UpdateLocationSmbRequest {
1281
1295
  Password?: string | undefined;
1282
1296
  AgentArns?: string[] | undefined;
1283
1297
  MountOptions?: SmbMountOptions | undefined;
1298
+ AuthenticationType?: SmbAuthenticationType | undefined;
1299
+ DnsIpAddresses?: string[] | undefined;
1300
+ KerberosPrincipal?: string | undefined;
1301
+ KerberosKeytab?: Uint8Array | undefined;
1302
+ KerberosKrb5Conf?: Uint8Array | undefined;
1284
1303
  }
1285
1304
  export interface UpdateLocationSmbResponse {}
1286
1305
  export interface UpdateStorageSystemRequest {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-datasync",
3
3
  "description": "AWS SDK for JavaScript Datasync Client for Node.js, Browser and React Native",
4
- "version": "3.731.1",
4
+ "version": "3.737.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-datasync",
@@ -20,41 +20,41 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.731.0",
24
- "@aws-sdk/credential-provider-node": "3.731.1",
25
- "@aws-sdk/middleware-host-header": "3.731.0",
26
- "@aws-sdk/middleware-logger": "3.731.0",
27
- "@aws-sdk/middleware-recursion-detection": "3.731.0",
28
- "@aws-sdk/middleware-user-agent": "3.731.0",
29
- "@aws-sdk/region-config-resolver": "3.731.0",
30
- "@aws-sdk/types": "3.731.0",
31
- "@aws-sdk/util-endpoints": "3.731.0",
32
- "@aws-sdk/util-user-agent-browser": "3.731.0",
33
- "@aws-sdk/util-user-agent-node": "3.731.0",
34
- "@smithy/config-resolver": "^4.0.0",
35
- "@smithy/core": "^3.0.0",
36
- "@smithy/fetch-http-handler": "^5.0.0",
37
- "@smithy/hash-node": "^4.0.0",
38
- "@smithy/invalid-dependency": "^4.0.0",
39
- "@smithy/middleware-content-length": "^4.0.0",
40
- "@smithy/middleware-endpoint": "^4.0.0",
41
- "@smithy/middleware-retry": "^4.0.0",
42
- "@smithy/middleware-serde": "^4.0.0",
43
- "@smithy/middleware-stack": "^4.0.0",
44
- "@smithy/node-config-provider": "^4.0.0",
45
- "@smithy/node-http-handler": "^4.0.0",
46
- "@smithy/protocol-http": "^5.0.0",
47
- "@smithy/smithy-client": "^4.0.0",
48
- "@smithy/types": "^4.0.0",
49
- "@smithy/url-parser": "^4.0.0",
23
+ "@aws-sdk/core": "3.734.0",
24
+ "@aws-sdk/credential-provider-node": "3.734.0",
25
+ "@aws-sdk/middleware-host-header": "3.734.0",
26
+ "@aws-sdk/middleware-logger": "3.734.0",
27
+ "@aws-sdk/middleware-recursion-detection": "3.734.0",
28
+ "@aws-sdk/middleware-user-agent": "3.734.0",
29
+ "@aws-sdk/region-config-resolver": "3.734.0",
30
+ "@aws-sdk/types": "3.734.0",
31
+ "@aws-sdk/util-endpoints": "3.734.0",
32
+ "@aws-sdk/util-user-agent-browser": "3.734.0",
33
+ "@aws-sdk/util-user-agent-node": "3.734.0",
34
+ "@smithy/config-resolver": "^4.0.1",
35
+ "@smithy/core": "^3.1.1",
36
+ "@smithy/fetch-http-handler": "^5.0.1",
37
+ "@smithy/hash-node": "^4.0.1",
38
+ "@smithy/invalid-dependency": "^4.0.1",
39
+ "@smithy/middleware-content-length": "^4.0.1",
40
+ "@smithy/middleware-endpoint": "^4.0.2",
41
+ "@smithy/middleware-retry": "^4.0.3",
42
+ "@smithy/middleware-serde": "^4.0.1",
43
+ "@smithy/middleware-stack": "^4.0.1",
44
+ "@smithy/node-config-provider": "^4.0.1",
45
+ "@smithy/node-http-handler": "^4.0.2",
46
+ "@smithy/protocol-http": "^5.0.1",
47
+ "@smithy/smithy-client": "^4.1.2",
48
+ "@smithy/types": "^4.1.0",
49
+ "@smithy/url-parser": "^4.0.1",
50
50
  "@smithy/util-base64": "^4.0.0",
51
51
  "@smithy/util-body-length-browser": "^4.0.0",
52
52
  "@smithy/util-body-length-node": "^4.0.0",
53
- "@smithy/util-defaults-mode-browser": "^4.0.0",
54
- "@smithy/util-defaults-mode-node": "^4.0.0",
55
- "@smithy/util-endpoints": "^3.0.0",
56
- "@smithy/util-middleware": "^4.0.0",
57
- "@smithy/util-retry": "^4.0.0",
53
+ "@smithy/util-defaults-mode-browser": "^4.0.3",
54
+ "@smithy/util-defaults-mode-node": "^4.0.3",
55
+ "@smithy/util-endpoints": "^3.0.1",
56
+ "@smithy/util-middleware": "^4.0.1",
57
+ "@smithy/util-retry": "^4.0.1",
58
58
  "@smithy/util-utf8": "^4.0.0",
59
59
  "@types/uuid": "^9.0.1",
60
60
  "tslib": "^2.6.2",