@aws-sdk/client-grafana 3.272.0 → 3.276.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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ruleSet = void 0;
4
- const p = "required", q = "fn", r = "argv", s = "ref";
5
- const a = "PartitionResult", b = "tree", c = "error", d = "endpoint", e = { [p]: false, "type": "String" }, f = { [p]: true, "default": false, "type": "Boolean" }, g = { [s]: "Endpoint" }, h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }, i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }, j = {}, k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }, l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }, m = [g], n = [h], o = [i];
6
- const _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://grafana.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://grafana.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] };
4
+ const s = "required", t = "fn", u = "argv", v = "ref";
5
+ const a = "isSet", b = "tree", c = "error", d = "endpoint", e = "PartitionResult", f = "stringEquals", g = { [s]: false, "type": "String" }, h = { [s]: true, "default": false, "type": "Boolean" }, i = { [v]: "Endpoint" }, j = { [t]: "booleanEquals", [u]: [{ [v]: "UseFIPS" }, true] }, k = { [t]: "booleanEquals", [u]: [{ [v]: "UseDualStack" }, true] }, l = {}, m = { [v]: "Region" }, n = { [t]: "booleanEquals", [u]: [true, { [t]: "getAttr", [u]: [{ [v]: e }, "supportsFIPS"] }] }, o = { [t]: "booleanEquals", [u]: [true, { [t]: "getAttr", [u]: [{ [v]: e }, "supportsDualStack"] }] }, p = [j], q = [k], r = [m];
6
+ const _data = { version: "1.0", parameters: { Region: g, UseDualStack: h, UseFIPS: h, Endpoint: g }, rules: [{ conditions: [{ [t]: a, [u]: [i] }], type: b, rules: [{ conditions: p, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: q, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: i, properties: l, headers: l }, type: d }] }] }, { type: b, rules: [{ conditions: [{ [t]: a, [u]: r }], type: b, rules: [{ conditions: [{ [t]: "aws.partition", [u]: r, assign: e }], type: b, rules: [{ conditions: [j, k], type: b, rules: [{ conditions: [n, o], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: d }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: p, type: b, rules: [{ conditions: [n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: q, type: b, rules: [{ conditions: [o], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: d }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { type: b, rules: [{ conditions: [{ [t]: f, [u]: [m, "ap-northeast-1"] }], endpoint: { url: "https://grafana.ap-northeast-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "ap-northeast-2"] }], endpoint: { url: "https://grafana.ap-northeast-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "ap-southeast-1"] }], endpoint: { url: "https://grafana.ap-southeast-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "ap-southeast-2"] }], endpoint: { url: "https://grafana.ap-southeast-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "eu-central-1"] }], endpoint: { url: "https://grafana.eu-central-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "eu-west-1"] }], endpoint: { url: "https://grafana.eu-west-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "eu-west-2"] }], endpoint: { url: "https://grafana.eu-west-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "us-east-1"] }], endpoint: { url: "https://grafana.us-east-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "us-east-2"] }], endpoint: { url: "https://grafana.us-east-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "us-west-2"] }], endpoint: { url: "https://grafana.us-west-2.amazonaws.com", properties: l, headers: l }, type: d }, { endpoint: { url: "https://grafana.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: d }] }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] }] };
7
7
  exports.ruleSet = _data;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ListPermissionsRequestFilterSensitiveLog = exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.DisassociateLicenseResponseFilterSensitiveLog = exports.DisassociateLicenseRequestFilterSensitiveLog = exports.UpdateWorkspaceConfigurationResponseFilterSensitiveLog = exports.UpdateWorkspaceConfigurationRequestFilterSensitiveLog = exports.DescribeWorkspaceConfigurationResponseFilterSensitiveLog = exports.DescribeWorkspaceConfigurationRequestFilterSensitiveLog = exports.UpdateWorkspaceAuthenticationResponseFilterSensitiveLog = exports.UpdateWorkspaceAuthenticationRequestFilterSensitiveLog = exports.DescribeWorkspaceAuthenticationResponseFilterSensitiveLog = exports.AuthenticationDescriptionFilterSensitiveLog = exports.SamlAuthenticationFilterSensitiveLog = exports.SamlConfigurationFilterSensitiveLog = exports.RoleValuesFilterSensitiveLog = exports.IdpMetadataFilterSensitiveLog = exports.AwsSsoAuthenticationFilterSensitiveLog = exports.DescribeWorkspaceAuthenticationRequestFilterSensitiveLog = exports.AssociateLicenseResponseFilterSensitiveLog = exports.WorkspaceDescriptionFilterSensitiveLog = exports.VpcConfigurationFilterSensitiveLog = exports.AuthenticationSummaryFilterSensitiveLog = exports.AssociateLicenseRequestFilterSensitiveLog = exports.AssertionAttributesFilterSensitiveLog = exports.DeleteWorkspaceApiKeyResponseFilterSensitiveLog = exports.DeleteWorkspaceApiKeyRequestFilterSensitiveLog = exports.ValidationExceptionFieldFilterSensitiveLog = exports.CreateWorkspaceApiKeyResponseFilterSensitiveLog = exports.CreateWorkspaceApiKeyRequestFilterSensitiveLog = exports.UpdateAction = exports.Role = exports.UserType = exports.IdpMetadata = exports.WorkspaceStatus = exports.PermissionType = exports.NotificationDestinationType = exports.DataSourceType = exports.SamlConfigurationStatus = exports.AuthenticationProviderTypes = exports.LicenseType = exports.ValidationException = exports.ValidationExceptionReason = exports.ThrottlingException = exports.ServiceQuotaExceededException = exports.ResourceNotFoundException = exports.InternalServerException = exports.ConflictException = exports.AccountAccessType = exports.AccessDeniedException = void 0;
4
- exports.UpdateWorkspaceResponseFilterSensitiveLog = exports.UpdateWorkspaceRequestFilterSensitiveLog = exports.ListWorkspacesResponseFilterSensitiveLog = exports.WorkspaceSummaryFilterSensitiveLog = exports.ListWorkspacesRequestFilterSensitiveLog = exports.DescribeWorkspaceResponseFilterSensitiveLog = exports.DescribeWorkspaceRequestFilterSensitiveLog = exports.DeleteWorkspaceResponseFilterSensitiveLog = exports.DeleteWorkspaceRequestFilterSensitiveLog = exports.CreateWorkspaceResponseFilterSensitiveLog = exports.CreateWorkspaceRequestFilterSensitiveLog = exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = exports.TagResourceRequestFilterSensitiveLog = exports.UpdatePermissionsResponseFilterSensitiveLog = exports.UpdateErrorFilterSensitiveLog = exports.UpdatePermissionsRequestFilterSensitiveLog = exports.UpdateInstructionFilterSensitiveLog = exports.ListPermissionsResponseFilterSensitiveLog = exports.PermissionEntryFilterSensitiveLog = exports.UserFilterSensitiveLog = void 0;
3
+ exports.ListTagsForResourceResponseFilterSensitiveLog = exports.ListTagsForResourceRequestFilterSensitiveLog = exports.DisassociateLicenseResponseFilterSensitiveLog = exports.DisassociateLicenseRequestFilterSensitiveLog = exports.UpdateWorkspaceConfigurationResponseFilterSensitiveLog = exports.UpdateWorkspaceConfigurationRequestFilterSensitiveLog = exports.DescribeWorkspaceConfigurationResponseFilterSensitiveLog = exports.DescribeWorkspaceConfigurationRequestFilterSensitiveLog = exports.UpdateWorkspaceAuthenticationResponseFilterSensitiveLog = exports.UpdateWorkspaceAuthenticationRequestFilterSensitiveLog = exports.DescribeWorkspaceAuthenticationResponseFilterSensitiveLog = exports.AuthenticationDescriptionFilterSensitiveLog = exports.SamlAuthenticationFilterSensitiveLog = exports.SamlConfigurationFilterSensitiveLog = exports.RoleValuesFilterSensitiveLog = exports.IdpMetadataFilterSensitiveLog = exports.AwsSsoAuthenticationFilterSensitiveLog = exports.DescribeWorkspaceAuthenticationRequestFilterSensitiveLog = exports.AssociateLicenseResponseFilterSensitiveLog = exports.WorkspaceDescriptionFilterSensitiveLog = exports.VpcConfigurationFilterSensitiveLog = exports.NetworkAccessConfigurationFilterSensitiveLog = exports.AuthenticationSummaryFilterSensitiveLog = exports.AssociateLicenseRequestFilterSensitiveLog = exports.AssertionAttributesFilterSensitiveLog = exports.DeleteWorkspaceApiKeyResponseFilterSensitiveLog = exports.DeleteWorkspaceApiKeyRequestFilterSensitiveLog = exports.ValidationExceptionFieldFilterSensitiveLog = exports.CreateWorkspaceApiKeyResponseFilterSensitiveLog = exports.CreateWorkspaceApiKeyRequestFilterSensitiveLog = exports.UpdateAction = exports.Role = exports.UserType = exports.IdpMetadata = exports.WorkspaceStatus = exports.PermissionType = exports.NotificationDestinationType = exports.DataSourceType = exports.SamlConfigurationStatus = exports.AuthenticationProviderTypes = exports.LicenseType = exports.ValidationException = exports.ValidationExceptionReason = exports.ThrottlingException = exports.ServiceQuotaExceededException = exports.ResourceNotFoundException = exports.InternalServerException = exports.ConflictException = exports.AccountAccessType = exports.AccessDeniedException = void 0;
4
+ exports.UpdateWorkspaceResponseFilterSensitiveLog = exports.UpdateWorkspaceRequestFilterSensitiveLog = exports.ListWorkspacesResponseFilterSensitiveLog = exports.WorkspaceSummaryFilterSensitiveLog = exports.ListWorkspacesRequestFilterSensitiveLog = exports.DescribeWorkspaceResponseFilterSensitiveLog = exports.DescribeWorkspaceRequestFilterSensitiveLog = exports.DeleteWorkspaceResponseFilterSensitiveLog = exports.DeleteWorkspaceRequestFilterSensitiveLog = exports.CreateWorkspaceResponseFilterSensitiveLog = exports.CreateWorkspaceRequestFilterSensitiveLog = exports.UntagResourceResponseFilterSensitiveLog = exports.UntagResourceRequestFilterSensitiveLog = exports.TagResourceResponseFilterSensitiveLog = exports.TagResourceRequestFilterSensitiveLog = exports.UpdatePermissionsResponseFilterSensitiveLog = exports.UpdateErrorFilterSensitiveLog = exports.UpdatePermissionsRequestFilterSensitiveLog = exports.UpdateInstructionFilterSensitiveLog = exports.ListPermissionsResponseFilterSensitiveLog = exports.PermissionEntryFilterSensitiveLog = exports.UserFilterSensitiveLog = exports.ListPermissionsRequestFilterSensitiveLog = void 0;
5
5
  const smithy_client_1 = require("@aws-sdk/smithy-client");
6
6
  const GrafanaServiceException_1 = require("./GrafanaServiceException");
7
7
  class AccessDeniedException extends GrafanaServiceException_1.GrafanaServiceException {
@@ -232,6 +232,10 @@ const AuthenticationSummaryFilterSensitiveLog = (obj) => ({
232
232
  ...obj,
233
233
  });
234
234
  exports.AuthenticationSummaryFilterSensitiveLog = AuthenticationSummaryFilterSensitiveLog;
235
+ const NetworkAccessConfigurationFilterSensitiveLog = (obj) => ({
236
+ ...obj,
237
+ });
238
+ exports.NetworkAccessConfigurationFilterSensitiveLog = NetworkAccessConfigurationFilterSensitiveLog;
235
239
  const VpcConfigurationFilterSensitiveLog = (obj) => ({
236
240
  ...obj,
237
241
  });
@@ -39,6 +39,9 @@ const serializeAws_restJson1CreateWorkspaceCommand = async (input, context) => {
39
39
  }),
40
40
  clientToken: input.clientToken ?? (0, uuid_1.v4)(),
41
41
  ...(input.configuration != null && { configuration: smithy_client_1.LazyJsonString.fromObject(input.configuration) }),
42
+ ...(input.networkAccessControl != null && {
43
+ networkAccessControl: serializeAws_restJson1NetworkAccessConfiguration(input.networkAccessControl, context),
44
+ }),
42
45
  ...(input.organizationRoleName != null && { organizationRoleName: input.organizationRoleName }),
43
46
  ...(input.permissionType != null && { permissionType: input.permissionType }),
44
47
  ...(input.stackSetName != null && { stackSetName: input.stackSetName }),
@@ -343,8 +346,14 @@ const serializeAws_restJson1UpdateWorkspaceCommand = async (input, context) => {
343
346
  let body;
344
347
  body = JSON.stringify({
345
348
  ...(input.accountAccessType != null && { accountAccessType: input.accountAccessType }),
349
+ ...(input.networkAccessControl != null && {
350
+ networkAccessControl: serializeAws_restJson1NetworkAccessConfiguration(input.networkAccessControl, context),
351
+ }),
346
352
  ...(input.organizationRoleName != null && { organizationRoleName: input.organizationRoleName }),
347
353
  ...(input.permissionType != null && { permissionType: input.permissionType }),
354
+ ...(input.removeNetworkAccessConfiguration != null && {
355
+ removeNetworkAccessConfiguration: input.removeNetworkAccessConfiguration,
356
+ }),
348
357
  ...(input.removeVpcConfiguration != null && { removeVpcConfiguration: input.removeVpcConfiguration }),
349
358
  ...(input.stackSetName != null && { stackSetName: input.stackSetName }),
350
359
  ...(input.vpcConfiguration != null && {
@@ -1441,6 +1450,14 @@ const serializeAws_restJson1IdpMetadata = (input, context) => {
1441
1450
  _: (name, value) => ({ name: value }),
1442
1451
  });
1443
1452
  };
1453
+ const serializeAws_restJson1NetworkAccessConfiguration = (input, context) => {
1454
+ return {
1455
+ ...(input.prefixListIds != null && {
1456
+ prefixListIds: serializeAws_restJson1PrefixListIds(input.prefixListIds, context),
1457
+ }),
1458
+ ...(input.vpceIds != null && { vpceIds: serializeAws_restJson1VpceIds(input.vpceIds, context) }),
1459
+ };
1460
+ };
1444
1461
  const serializeAws_restJson1NotificationDestinationsList = (input, context) => {
1445
1462
  return input
1446
1463
  .filter((e) => e != null)
@@ -1455,6 +1472,13 @@ const serializeAws_restJson1OrganizationalUnitList = (input, context) => {
1455
1472
  return entry;
1456
1473
  });
1457
1474
  };
1475
+ const serializeAws_restJson1PrefixListIds = (input, context) => {
1476
+ return input
1477
+ .filter((e) => e != null)
1478
+ .map((entry) => {
1479
+ return entry;
1480
+ });
1481
+ };
1458
1482
  const serializeAws_restJson1RoleValueList = (input, context) => {
1459
1483
  return input
1460
1484
  .filter((e) => e != null)
@@ -1539,6 +1563,13 @@ const serializeAws_restJson1VpcConfiguration = (input, context) => {
1539
1563
  ...(input.subnetIds != null && { subnetIds: serializeAws_restJson1SubnetIds(input.subnetIds, context) }),
1540
1564
  };
1541
1565
  };
1566
+ const serializeAws_restJson1VpceIds = (input, context) => {
1567
+ return input
1568
+ .filter((e) => e != null)
1569
+ .map((entry) => {
1570
+ return entry;
1571
+ });
1572
+ };
1542
1573
  const deserializeAws_restJson1AllowedOrganizations = (output, context) => {
1543
1574
  const retVal = (output || [])
1544
1575
  .filter((e) => e != null)
@@ -1609,6 +1640,12 @@ const deserializeAws_restJson1IdpMetadata = (output, context) => {
1609
1640
  }
1610
1641
  return { $unknown: Object.entries(output)[0] };
1611
1642
  };
1643
+ const deserializeAws_restJson1NetworkAccessConfiguration = (output, context) => {
1644
+ return {
1645
+ prefixListIds: output.prefixListIds != null ? deserializeAws_restJson1PrefixListIds(output.prefixListIds, context) : undefined,
1646
+ vpceIds: output.vpceIds != null ? deserializeAws_restJson1VpceIds(output.vpceIds, context) : undefined,
1647
+ };
1648
+ };
1612
1649
  const deserializeAws_restJson1NotificationDestinationsList = (output, context) => {
1613
1650
  const retVal = (output || [])
1614
1651
  .filter((e) => e != null)
@@ -1648,6 +1685,17 @@ const deserializeAws_restJson1PermissionEntryList = (output, context) => {
1648
1685
  });
1649
1686
  return retVal;
1650
1687
  };
1688
+ const deserializeAws_restJson1PrefixListIds = (output, context) => {
1689
+ const retVal = (output || [])
1690
+ .filter((e) => e != null)
1691
+ .map((entry) => {
1692
+ if (entry === null) {
1693
+ return null;
1694
+ }
1695
+ return (0, smithy_client_1.expectString)(entry);
1696
+ });
1697
+ return retVal;
1698
+ };
1651
1699
  const deserializeAws_restJson1RoleValueList = (output, context) => {
1652
1700
  const retVal = (output || [])
1653
1701
  .filter((e) => e != null)
@@ -1786,6 +1834,17 @@ const deserializeAws_restJson1VpcConfiguration = (output, context) => {
1786
1834
  subnetIds: output.subnetIds != null ? deserializeAws_restJson1SubnetIds(output.subnetIds, context) : undefined,
1787
1835
  };
1788
1836
  };
1837
+ const deserializeAws_restJson1VpceIds = (output, context) => {
1838
+ const retVal = (output || [])
1839
+ .filter((e) => e != null)
1840
+ .map((entry) => {
1841
+ if (entry === null) {
1842
+ return null;
1843
+ }
1844
+ return (0, smithy_client_1.expectString)(entry);
1845
+ });
1846
+ return retVal;
1847
+ };
1789
1848
  const deserializeAws_restJson1WorkspaceDescription = (output, context) => {
1790
1849
  return {
1791
1850
  accountAccessType: (0, smithy_client_1.expectString)(output.accountAccessType),
@@ -1808,6 +1867,9 @@ const deserializeAws_restJson1WorkspaceDescription = (output, context) => {
1808
1867
  licenseType: (0, smithy_client_1.expectString)(output.licenseType),
1809
1868
  modified: output.modified != null ? (0, smithy_client_1.expectNonNull)((0, smithy_client_1.parseEpochTimestamp)((0, smithy_client_1.expectNumber)(output.modified))) : undefined,
1810
1869
  name: (0, smithy_client_1.expectString)(output.name),
1870
+ networkAccessControl: output.networkAccessControl != null
1871
+ ? deserializeAws_restJson1NetworkAccessConfiguration(output.networkAccessControl, context)
1872
+ : undefined,
1811
1873
  notificationDestinations: output.notificationDestinations != null
1812
1874
  ? deserializeAws_restJson1NotificationDestinationsList(output.notificationDestinations, context)
1813
1875
  : undefined,
@@ -1,4 +1,4 @@
1
- const p = "required", q = "fn", r = "argv", s = "ref";
2
- const a = "PartitionResult", b = "tree", c = "error", d = "endpoint", e = { [p]: false, "type": "String" }, f = { [p]: true, "default": false, "type": "Boolean" }, g = { [s]: "Endpoint" }, h = { [q]: "booleanEquals", [r]: [{ [s]: "UseFIPS" }, true] }, i = { [q]: "booleanEquals", [r]: [{ [s]: "UseDualStack" }, true] }, j = {}, k = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsFIPS"] }] }, l = { [q]: "booleanEquals", [r]: [true, { [q]: "getAttr", [r]: [{ [s]: a }, "supportsDualStack"] }] }, m = [g], n = [h], o = [i];
3
- const _data = { version: "1.0", parameters: { Region: e, UseDualStack: f, UseFIPS: f, Endpoint: e }, rules: [{ conditions: [{ [q]: "aws.partition", [r]: [{ [s]: "Region" }], assign: a }], type: b, rules: [{ conditions: [{ [q]: "isSet", [r]: m }, { [q]: "parseURL", [r]: m, assign: "url" }], type: b, rules: [{ conditions: n, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: o, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: g, properties: j, headers: j }, type: d }] }] }, { conditions: [h, i], type: b, rules: [{ conditions: [k, l], type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: n, type: b, rules: [{ conditions: [k], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: o, type: b, rules: [{ conditions: [l], type: b, rules: [{ endpoint: { url: "https://grafana.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: j, headers: j }, type: d }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { endpoint: { url: "https://grafana.{Region}.{PartitionResult#dnsSuffix}", properties: j, headers: j }, type: d }] }] };
1
+ const s = "required", t = "fn", u = "argv", v = "ref";
2
+ const a = "isSet", b = "tree", c = "error", d = "endpoint", e = "PartitionResult", f = "stringEquals", g = { [s]: false, "type": "String" }, h = { [s]: true, "default": false, "type": "Boolean" }, i = { [v]: "Endpoint" }, j = { [t]: "booleanEquals", [u]: [{ [v]: "UseFIPS" }, true] }, k = { [t]: "booleanEquals", [u]: [{ [v]: "UseDualStack" }, true] }, l = {}, m = { [v]: "Region" }, n = { [t]: "booleanEquals", [u]: [true, { [t]: "getAttr", [u]: [{ [v]: e }, "supportsFIPS"] }] }, o = { [t]: "booleanEquals", [u]: [true, { [t]: "getAttr", [u]: [{ [v]: e }, "supportsDualStack"] }] }, p = [j], q = [k], r = [m];
3
+ const _data = { version: "1.0", parameters: { Region: g, UseDualStack: h, UseFIPS: h, Endpoint: g }, rules: [{ conditions: [{ [t]: a, [u]: [i] }], type: b, rules: [{ conditions: p, error: "Invalid Configuration: FIPS and custom endpoint are not supported", type: c }, { type: b, rules: [{ conditions: q, error: "Invalid Configuration: Dualstack and custom endpoint are not supported", type: c }, { endpoint: { url: i, properties: l, headers: l }, type: d }] }] }, { type: b, rules: [{ conditions: [{ [t]: a, [u]: r }], type: b, rules: [{ conditions: [{ [t]: "aws.partition", [u]: r, assign: e }], type: b, rules: [{ conditions: [j, k], type: b, rules: [{ conditions: [n, o], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: d }] }] }, { error: "FIPS and DualStack are enabled, but this partition does not support one or both", type: c }] }, { conditions: p, type: b, rules: [{ conditions: [n], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana-fips.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: d }] }] }, { error: "FIPS is enabled but this partition does not support FIPS", type: c }] }, { conditions: q, type: b, rules: [{ conditions: [o], type: b, rules: [{ type: b, rules: [{ endpoint: { url: "https://grafana.{Region}.{PartitionResult#dualStackDnsSuffix}", properties: l, headers: l }, type: d }] }] }, { error: "DualStack is enabled but this partition does not support DualStack", type: c }] }, { type: b, rules: [{ conditions: [{ [t]: f, [u]: [m, "ap-northeast-1"] }], endpoint: { url: "https://grafana.ap-northeast-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "ap-northeast-2"] }], endpoint: { url: "https://grafana.ap-northeast-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "ap-southeast-1"] }], endpoint: { url: "https://grafana.ap-southeast-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "ap-southeast-2"] }], endpoint: { url: "https://grafana.ap-southeast-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "eu-central-1"] }], endpoint: { url: "https://grafana.eu-central-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "eu-west-1"] }], endpoint: { url: "https://grafana.eu-west-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "eu-west-2"] }], endpoint: { url: "https://grafana.eu-west-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "us-east-1"] }], endpoint: { url: "https://grafana.us-east-1.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "us-east-2"] }], endpoint: { url: "https://grafana.us-east-2.amazonaws.com", properties: l, headers: l }, type: d }, { conditions: [{ [t]: f, [u]: [m, "us-west-2"] }], endpoint: { url: "https://grafana.us-west-2.amazonaws.com", properties: l, headers: l }, type: d }, { endpoint: { url: "https://grafana.{Region}.{PartitionResult#dnsSuffix}", properties: l, headers: l }, type: d }] }] }] }, { error: "Invalid Configuration: Missing Region", type: c }] }] };
4
4
  export const ruleSet = _data;
@@ -213,6 +213,9 @@ export const AssociateLicenseRequestFilterSensitiveLog = (obj) => ({
213
213
  export const AuthenticationSummaryFilterSensitiveLog = (obj) => ({
214
214
  ...obj,
215
215
  });
216
+ export const NetworkAccessConfigurationFilterSensitiveLog = (obj) => ({
217
+ ...obj,
218
+ });
216
219
  export const VpcConfigurationFilterSensitiveLog = (obj) => ({
217
220
  ...obj,
218
221
  });
@@ -35,6 +35,9 @@ export const serializeAws_restJson1CreateWorkspaceCommand = async (input, contex
35
35
  }),
36
36
  clientToken: input.clientToken ?? generateIdempotencyToken(),
37
37
  ...(input.configuration != null && { configuration: __LazyJsonString.fromObject(input.configuration) }),
38
+ ...(input.networkAccessControl != null && {
39
+ networkAccessControl: serializeAws_restJson1NetworkAccessConfiguration(input.networkAccessControl, context),
40
+ }),
38
41
  ...(input.organizationRoleName != null && { organizationRoleName: input.organizationRoleName }),
39
42
  ...(input.permissionType != null && { permissionType: input.permissionType }),
40
43
  ...(input.stackSetName != null && { stackSetName: input.stackSetName }),
@@ -325,8 +328,14 @@ export const serializeAws_restJson1UpdateWorkspaceCommand = async (input, contex
325
328
  let body;
326
329
  body = JSON.stringify({
327
330
  ...(input.accountAccessType != null && { accountAccessType: input.accountAccessType }),
331
+ ...(input.networkAccessControl != null && {
332
+ networkAccessControl: serializeAws_restJson1NetworkAccessConfiguration(input.networkAccessControl, context),
333
+ }),
328
334
  ...(input.organizationRoleName != null && { organizationRoleName: input.organizationRoleName }),
329
335
  ...(input.permissionType != null && { permissionType: input.permissionType }),
336
+ ...(input.removeNetworkAccessConfiguration != null && {
337
+ removeNetworkAccessConfiguration: input.removeNetworkAccessConfiguration,
338
+ }),
330
339
  ...(input.removeVpcConfiguration != null && { removeVpcConfiguration: input.removeVpcConfiguration }),
331
340
  ...(input.stackSetName != null && { stackSetName: input.stackSetName }),
332
341
  ...(input.vpcConfiguration != null && {
@@ -1402,6 +1411,14 @@ const serializeAws_restJson1IdpMetadata = (input, context) => {
1402
1411
  _: (name, value) => ({ name: value }),
1403
1412
  });
1404
1413
  };
1414
+ const serializeAws_restJson1NetworkAccessConfiguration = (input, context) => {
1415
+ return {
1416
+ ...(input.prefixListIds != null && {
1417
+ prefixListIds: serializeAws_restJson1PrefixListIds(input.prefixListIds, context),
1418
+ }),
1419
+ ...(input.vpceIds != null && { vpceIds: serializeAws_restJson1VpceIds(input.vpceIds, context) }),
1420
+ };
1421
+ };
1405
1422
  const serializeAws_restJson1NotificationDestinationsList = (input, context) => {
1406
1423
  return input
1407
1424
  .filter((e) => e != null)
@@ -1416,6 +1433,13 @@ const serializeAws_restJson1OrganizationalUnitList = (input, context) => {
1416
1433
  return entry;
1417
1434
  });
1418
1435
  };
1436
+ const serializeAws_restJson1PrefixListIds = (input, context) => {
1437
+ return input
1438
+ .filter((e) => e != null)
1439
+ .map((entry) => {
1440
+ return entry;
1441
+ });
1442
+ };
1419
1443
  const serializeAws_restJson1RoleValueList = (input, context) => {
1420
1444
  return input
1421
1445
  .filter((e) => e != null)
@@ -1500,6 +1524,13 @@ const serializeAws_restJson1VpcConfiguration = (input, context) => {
1500
1524
  ...(input.subnetIds != null && { subnetIds: serializeAws_restJson1SubnetIds(input.subnetIds, context) }),
1501
1525
  };
1502
1526
  };
1527
+ const serializeAws_restJson1VpceIds = (input, context) => {
1528
+ return input
1529
+ .filter((e) => e != null)
1530
+ .map((entry) => {
1531
+ return entry;
1532
+ });
1533
+ };
1503
1534
  const deserializeAws_restJson1AllowedOrganizations = (output, context) => {
1504
1535
  const retVal = (output || [])
1505
1536
  .filter((e) => e != null)
@@ -1570,6 +1601,12 @@ const deserializeAws_restJson1IdpMetadata = (output, context) => {
1570
1601
  }
1571
1602
  return { $unknown: Object.entries(output)[0] };
1572
1603
  };
1604
+ const deserializeAws_restJson1NetworkAccessConfiguration = (output, context) => {
1605
+ return {
1606
+ prefixListIds: output.prefixListIds != null ? deserializeAws_restJson1PrefixListIds(output.prefixListIds, context) : undefined,
1607
+ vpceIds: output.vpceIds != null ? deserializeAws_restJson1VpceIds(output.vpceIds, context) : undefined,
1608
+ };
1609
+ };
1573
1610
  const deserializeAws_restJson1NotificationDestinationsList = (output, context) => {
1574
1611
  const retVal = (output || [])
1575
1612
  .filter((e) => e != null)
@@ -1609,6 +1646,17 @@ const deserializeAws_restJson1PermissionEntryList = (output, context) => {
1609
1646
  });
1610
1647
  return retVal;
1611
1648
  };
1649
+ const deserializeAws_restJson1PrefixListIds = (output, context) => {
1650
+ const retVal = (output || [])
1651
+ .filter((e) => e != null)
1652
+ .map((entry) => {
1653
+ if (entry === null) {
1654
+ return null;
1655
+ }
1656
+ return __expectString(entry);
1657
+ });
1658
+ return retVal;
1659
+ };
1612
1660
  const deserializeAws_restJson1RoleValueList = (output, context) => {
1613
1661
  const retVal = (output || [])
1614
1662
  .filter((e) => e != null)
@@ -1747,6 +1795,17 @@ const deserializeAws_restJson1VpcConfiguration = (output, context) => {
1747
1795
  subnetIds: output.subnetIds != null ? deserializeAws_restJson1SubnetIds(output.subnetIds, context) : undefined,
1748
1796
  };
1749
1797
  };
1798
+ const deserializeAws_restJson1VpceIds = (output, context) => {
1799
+ const retVal = (output || [])
1800
+ .filter((e) => e != null)
1801
+ .map((entry) => {
1802
+ if (entry === null) {
1803
+ return null;
1804
+ }
1805
+ return __expectString(entry);
1806
+ });
1807
+ return retVal;
1808
+ };
1750
1809
  const deserializeAws_restJson1WorkspaceDescription = (output, context) => {
1751
1810
  return {
1752
1811
  accountAccessType: __expectString(output.accountAccessType),
@@ -1769,6 +1828,9 @@ const deserializeAws_restJson1WorkspaceDescription = (output, context) => {
1769
1828
  licenseType: __expectString(output.licenseType),
1770
1829
  modified: output.modified != null ? __expectNonNull(__parseEpochTimestamp(__expectNumber(output.modified))) : undefined,
1771
1830
  name: __expectString(output.name),
1831
+ networkAccessControl: output.networkAccessControl != null
1832
+ ? deserializeAws_restJson1NetworkAccessConfiguration(output.networkAccessControl, context)
1833
+ : undefined,
1772
1834
  notificationDestinations: output.notificationDestinations != null
1773
1835
  ? deserializeAws_restJson1NotificationDestinationsList(output.notificationDestinations, context)
1774
1836
  : undefined,
@@ -40,7 +40,7 @@ export declare class Grafana extends GrafanaClient {
40
40
  * <p>Creates a <i>workspace</i>. In a workspace, you can create Grafana
41
41
  * dashboards and visualizations to analyze your metrics, logs, and traces. You don't have to
42
42
  * build, package, or deploy any hardware to run the Grafana server.</p>
43
- * <p>Don't use <code>CreateWorkspace</code> to modify an existing workspace. Instead,
43
+ * <p>Don't use <code>CreateWorkspace</code> to modify an existing workspace. Instead,
44
44
  * use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdateWorkspace.html">UpdateWorkspace</a>.</p>
45
45
  */
46
46
  createWorkspace(args: CreateWorkspaceCommandInput, options?: __HttpHandlerOptions): Promise<CreateWorkspaceCommandOutput>;
@@ -121,7 +121,7 @@ export declare class Grafana extends GrafanaClient {
121
121
  /**
122
122
  * <p>The <code>TagResource</code> operation associates tags with an Amazon Managed Grafana resource.
123
123
  * Currently, the only resource that can be tagged is workspaces. </p>
124
- * <p>If you specify a new tag key for the resource, this tag is appended to the list of tags associated
124
+ * <p>If you specify a new tag key for the resource, this tag is appended to the list of tags associated
125
125
  * with the resource. If you specify a tag key that is already associated with the resource, the new tag
126
126
  * value that you specify replaces the previous value for that tag.</p>
127
127
  */
@@ -144,9 +144,9 @@ export declare class Grafana extends GrafanaClient {
144
144
  /**
145
145
  * <p>Modifies an existing Amazon Managed Grafana workspace. If you use this operation and omit any
146
146
  * optional parameters, the existing values of those parameters are not changed.</p>
147
- * <p>To modify the user authentication methods that the workspace uses, such as SAML or IAM Identity Center,
147
+ * <p>To modify the user authentication methods that the workspace uses, such as SAML or IAM Identity Center,
148
148
  * use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdateWorkspaceAuthentication.html">UpdateWorkspaceAuthentication</a>.</p>
149
- * <p>To modify which users in the workspace have the <code>Admin</code> and <code>Editor</code> Grafana roles,
149
+ * <p>To modify which users in the workspace have the <code>Admin</code> and <code>Editor</code> Grafana roles,
150
150
  * use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdatePermissions.html">UpdatePermissions</a>.</p>
151
151
  */
152
152
  updateWorkspace(args: UpdateWorkspaceCommandInput, options?: __HttpHandlerOptions): Promise<UpdateWorkspaceCommandOutput>;
@@ -11,7 +11,7 @@ export interface CreateWorkspaceCommandOutput extends CreateWorkspaceResponse, _
11
11
  * <p>Creates a <i>workspace</i>. In a workspace, you can create Grafana
12
12
  * dashboards and visualizations to analyze your metrics, logs, and traces. You don't have to
13
13
  * build, package, or deploy any hardware to run the Grafana server.</p>
14
- * <p>Don't use <code>CreateWorkspace</code> to modify an existing workspace. Instead,
14
+ * <p>Don't use <code>CreateWorkspace</code> to modify an existing workspace. Instead,
15
15
  * use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdateWorkspace.html">UpdateWorkspace</a>.</p>
16
16
  * @example
17
17
  * Use a bare-bones client and the command you need to make an API call.
@@ -10,7 +10,7 @@ export interface TagResourceCommandOutput extends TagResourceResponse, __Metadat
10
10
  /**
11
11
  * <p>The <code>TagResource</code> operation associates tags with an Amazon Managed Grafana resource.
12
12
  * Currently, the only resource that can be tagged is workspaces. </p>
13
- * <p>If you specify a new tag key for the resource, this tag is appended to the list of tags associated
13
+ * <p>If you specify a new tag key for the resource, this tag is appended to the list of tags associated
14
14
  * with the resource. If you specify a tag key that is already associated with the resource, the new tag
15
15
  * value that you specify replaces the previous value for that tag.</p>
16
16
  * @example
@@ -10,9 +10,9 @@ export interface UpdateWorkspaceCommandOutput extends UpdateWorkspaceResponse, _
10
10
  /**
11
11
  * <p>Modifies an existing Amazon Managed Grafana workspace. If you use this operation and omit any
12
12
  * optional parameters, the existing values of those parameters are not changed.</p>
13
- * <p>To modify the user authentication methods that the workspace uses, such as SAML or IAM Identity Center,
13
+ * <p>To modify the user authentication methods that the workspace uses, such as SAML or IAM Identity Center,
14
14
  * use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdateWorkspaceAuthentication.html">UpdateWorkspaceAuthentication</a>.</p>
15
- * <p>To modify which users in the workspace have the <code>Admin</code> and <code>Editor</code> Grafana roles,
15
+ * <p>To modify which users in the workspace have the <code>Admin</code> and <code>Editor</code> Grafana roles,
16
16
  * use <a href="https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdatePermissions.html">UpdatePermissions</a>.</p>
17
17
  * @example
18
18
  * Use a bare-bones client and the command you need to make an API call.
@@ -47,7 +47,7 @@ export interface CreateWorkspaceApiKeyRequest {
47
47
  keyName: string | undefined;
48
48
  /**
49
49
  * <p>Specifies the permission level of the key.</p>
50
- * <p> Valid values: <code>VIEWER</code>|<code>EDITOR</code>|<code>ADMIN</code>
50
+ * <p> Valid values: <code>VIEWER</code>|<code>EDITOR</code>|<code>ADMIN</code>
51
51
  * </p>
52
52
  */
53
53
  keyRole: string | undefined;
@@ -343,6 +343,47 @@ export declare enum DataSourceType {
343
343
  */
344
344
  XRAY = "XRAY"
345
345
  }
346
+ /**
347
+ * <p>The configuration settings for in-bound network access to your workspace.</p>
348
+ * <p>When this is configured, only listed IP addresses and VPC endpoints will be able to
349
+ * access your workspace. Standard Grafana authentication and authorization will still be
350
+ * required.</p>
351
+ * <p>If this is not configured, or is removed, then all IP addresses and VPC endpoints will
352
+ * be allowed. Standard Grafana authentication and authorization will still be
353
+ * required.</p>
354
+ */
355
+ export interface NetworkAccessConfiguration {
356
+ /**
357
+ * <p>An array of prefix list IDs. A prefix list is a list of CIDR ranges of IP addresses.
358
+ * The IP addresses specified are allowed to access your workspace. If the list is not
359
+ * included in the configuration then no IP addresses will be allowed to access the
360
+ * workspace. You create a prefix list using the Amazon VPC console.</p>
361
+ * <p>Prefix list IDs have the format <code>pl-<i>1a2b3c4d</i>
362
+ * </code>.</p>
363
+ * <p>For more information about prefix lists, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html">Group CIDR blocks using managed
364
+ * prefix lists</a>in the <i>Amazon Virtual Private Cloud User
365
+ * Guide</i>.</p>
366
+ */
367
+ prefixListIds: string[] | undefined;
368
+ /**
369
+ * <p>An array of Amazon VPC endpoint IDs for the workspace. You can create VPC
370
+ * endpoints to your Amazon Managed Grafana workspace for access from within a VPC. If a
371
+ * <code>NetworkAccessConfiguration</code> is specified then only VPC endpoints
372
+ * specified here will be allowed to access the workspace.</p>
373
+ * <p>VPC endpoint IDs have the format <code>vpce-<i>1a2b3c4d</i>
374
+ * </code>.</p>
375
+ * <p>For more information about creating an interface VPC endpoint, see
376
+ * <a href="https://docs.aws.amazon.com/grafana/latest/userguide/VPC-endpoints">Interface VPC endpoints</a> in the <i>Amazon Managed Grafana
377
+ * User Guide</i>.</p>
378
+ * <note>
379
+ * <p>The only VPC endpoints that can be specified here are interface VPC endpoints for
380
+ * Grafana workspaces (using the
381
+ * <code>com.amazonaws.[region].grafana-workspace</code> service endpoint). Other VPC
382
+ * endpoints will be ignored.</p>
383
+ * </note>
384
+ */
385
+ vpceIds: string[] | undefined;
386
+ }
346
387
  export declare enum NotificationDestinationType {
347
388
  /**
348
389
  * AWS Simple Notification Service
@@ -408,16 +449,20 @@ export declare enum WorkspaceStatus {
408
449
  /**
409
450
  * <p>The configuration settings for an Amazon VPC that contains data sources
410
451
  * for your Grafana workspace to connect to.</p>
452
+ * <note>
453
+ * <p>Provided <code>securityGroupIds</code> and <code>subnetIds</code>
454
+ * must be part of the same VPC.</p>
455
+ * </note>
411
456
  */
412
457
  export interface VpcConfiguration {
413
458
  /**
414
459
  * <p>The list of Amazon EC2 security group IDs attached to the Amazon VPC
415
- * for your Grafana workspace to connect.</p>
460
+ * for your Grafana workspace to connect. Duplicates not allowed.</p>
416
461
  */
417
462
  securityGroupIds: string[] | undefined;
418
463
  /**
419
464
  * <p>The list of Amazon EC2 subnet IDs created in the Amazon VPC for
420
- * your Grafana workspace to connect.</p>
465
+ * your Grafana workspace to connect. Duplicates not allowed.</p>
421
466
  */
422
467
  subnetIds: string[] | undefined;
423
468
  }
@@ -482,14 +527,14 @@ export interface WorkspaceDescription {
482
527
  */
483
528
  organizationalUnits?: string[];
484
529
  /**
485
- * <p>If this is <code>Service Managed</code>, Amazon Managed Grafana automatically creates the IAM roles
530
+ * <p>If this is <code>SERVICE_MANAGED</code>, Amazon Managed Grafana automatically creates the IAM roles
486
531
  * and provisions the permissions that the workspace needs to use Amazon Web Services data sources and notification channels.</p>
487
- * <p>If this is <code>CUSTOMER_MANAGED</code>, you manage those roles and permissions
532
+ * <p>If this is <code>CUSTOMER_MANAGED</code>, you manage those roles and permissions
488
533
  * yourself. If you are creating this workspace in a member account of an organization and that account is not a
489
534
  * delegated administrator account, and
490
535
  * you want the workspace to access data sources in other Amazon Web Services accounts in the
491
536
  * organization, you must choose <code>CUSTOMER_MANAGED</code>.</p>
492
- * <p>For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for
537
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for
493
538
  * Amazon Web Services data sources and notification channels</a>
494
539
  * </p>
495
540
  */
@@ -540,6 +585,10 @@ export interface WorkspaceDescription {
540
585
  * (Amazon Virtual Private Cloud).</p>
541
586
  */
542
587
  vpcConfiguration?: VpcConfiguration;
588
+ /**
589
+ * <p>The configuration settings for network access to your workspace.</p>
590
+ */
591
+ networkAccessControl?: NetworkAccessConfiguration;
543
592
  }
544
593
  export interface AssociateLicenseResponse {
545
594
  /**
@@ -833,7 +882,7 @@ export declare enum Role {
833
882
  export interface User {
834
883
  /**
835
884
  * <p>The ID of the user or group.</p>
836
- * <p>Pattern: <code>^([0-9a-fA-F]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$</code>
885
+ * <p>Pattern: <code>^([0-9a-fA-F]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$</code>
837
886
  * </p>
838
887
  */
839
888
  id: string | undefined;
@@ -978,11 +1027,11 @@ export interface CreateWorkspaceRequest {
978
1027
  * Amazon Web Services data sources and notification channels. In the CLI mode, the permissionType <code>SERVICE_MANAGED</code> will not create the IAM role
979
1028
  * for you. The ability for the Amazon Managed Grafana to create the IAM role on behalf of the user is supported only in the
980
1029
  * Amazon Managed Grafana AWS console. Use only the <code>CUSTOMER_MANAGED</code> permission type when creating a workspace in the CLI. </p>
981
- * <p>If you specify <code>CUSTOMER_MANAGED</code>, you will manage those roles and
1030
+ * <p>If you specify <code>CUSTOMER_MANAGED</code>, you will manage those roles and
982
1031
  * permissions yourself. If you are creating this workspace in a member account of an
983
1032
  * organization that is not a delegated administrator account, and you want the workspace to access data sources in other Amazon Web Services
984
1033
  * accounts in the organization, you must choose <code>CUSTOMER_MANAGED</code>.</p>
985
- * <p>For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for
1034
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for
986
1035
  * Amazon Web Services data sources and notification channels</a>.</p>
987
1036
  */
988
1037
  permissionType: PermissionType | string | undefined;
@@ -996,14 +1045,14 @@ export interface CreateWorkspaceRequest {
996
1045
  * workspace. Specifying these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed Grafana to read data from these
997
1046
  * sources. You must still add them as data sources in the Grafana console in the
998
1047
  * workspace.</p>
999
- * <p>If you don't specify a data source here, you can still add it as a data source in the
1048
+ * <p>If you don't specify a data source here, you can still add it as a data source in the
1000
1049
  * workspace console later. However, you will then have to manually configure permissions for
1001
1050
  * it.</p>
1002
1051
  */
1003
1052
  workspaceDataSources?: (DataSourceType | string)[];
1004
1053
  /**
1005
1054
  * <p>A description for the workspace. This is used only to help you identify this workspace.</p>
1006
- * <p>Pattern: <code>^[\\p{L}\\p{Z}\\p{N}\\p{P}]{0,2048}$</code>
1055
+ * <p>Pattern: <code>^[\\p{L}\\p{Z}\\p{N}\\p{P}]{0,2048}$</code>
1007
1056
  * </p>
1008
1057
  */
1009
1058
  workspaceDescription?: string;
@@ -1048,6 +1097,16 @@ export interface CreateWorkspaceRequest {
1048
1097
  * about the format and configuration options available, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-configure-workspace.html">Working in your Grafana workspace</a>.</p>
1049
1098
  */
1050
1099
  configuration?: __LazyJsonString | string;
1100
+ /**
1101
+ * <p>Configuration for network access to your workspace.</p>
1102
+ * <p>When this is configured, only listed IP addresses and VPC endpoints will be able to
1103
+ * access your workspace. Standard Grafana authentication and authorization will still be
1104
+ * required.</p>
1105
+ * <p>If this is not configured, or is removed, then all IP addresses and VPC endpoints will
1106
+ * be allowed. Standard Grafana authentication and authorization will still be
1107
+ * required.</p>
1108
+ */
1109
+ networkAccessControl?: NetworkAccessConfiguration;
1051
1110
  }
1052
1111
  export interface CreateWorkspaceResponse {
1053
1112
  /**
@@ -1165,14 +1224,14 @@ export interface UpdateWorkspaceRequest {
1165
1224
  */
1166
1225
  organizationRoleName?: string;
1167
1226
  /**
1168
- * <p>If you specify <code>Service Managed</code>, Amazon Managed Grafana automatically creates
1227
+ * <p>If you specify <code>SERVICE_MANAGED</code>, Amazon Managed Grafana automatically creates
1169
1228
  * the IAM roles and provisions the permissions that the workspace needs to use
1170
1229
  * Amazon Web Services data sources and notification channels.</p>
1171
- * <p>If you specify <code>CUSTOMER_MANAGED</code>, you will manage those roles and
1230
+ * <p>If you specify <code>CUSTOMER_MANAGED</code>, you will manage those roles and
1172
1231
  * permissions yourself. If you are creating this workspace in a member account of an
1173
1232
  * organization and that account is not a delegated administrator account, and you want the workspace to access data sources in other Amazon Web Services
1174
1233
  * accounts in the organization, you must choose <code>CUSTOMER_MANAGED</code>.</p>
1175
- * <p>For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for
1234
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html">Amazon Managed Grafana permissions and policies for
1176
1235
  * Amazon Web Services data sources and notification channels</a>
1177
1236
  * </p>
1178
1237
  */
@@ -1187,7 +1246,7 @@ export interface UpdateWorkspaceRequest {
1187
1246
  * workspace. Specifying these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed Grafana to read data from these
1188
1247
  * sources. You must still add them as data sources in the Grafana console in the
1189
1248
  * workspace.</p>
1190
- * <p>If you don't specify a data source here, you can still add it as a data source later in
1249
+ * <p>If you don't specify a data source here, you can still add it as a data source later in
1191
1250
  * the workspace console. However, you will then have to manually configure permissions for
1192
1251
  * it.</p>
1193
1252
  */
@@ -1230,10 +1289,29 @@ export interface UpdateWorkspaceRequest {
1230
1289
  vpcConfiguration?: VpcConfiguration;
1231
1290
  /**
1232
1291
  * <p>Whether to remove the VPC configuration from the workspace.</p>
1233
- * <p>Setting this to <code>true</code> and providing a <code>vpcConfiguration</code> to set
1292
+ * <p>Setting this to <code>true</code> and providing a <code>vpcConfiguration</code> to set
1234
1293
  * will return an error.</p>
1235
1294
  */
1236
1295
  removeVpcConfiguration?: boolean;
1296
+ /**
1297
+ * <p>The configuration settings for network access to your workspace.</p>
1298
+ * <p>When this is configured, only listed IP addresses and VPC endpoints will be able to
1299
+ * access your workspace. Standard Grafana authentication and authorization will still be
1300
+ * required.</p>
1301
+ * <p>If this is not configured, or is removed, then all IP addresses and VPC endpoints will
1302
+ * be allowed. Standard Grafana authentication and authorization will still be
1303
+ * required.</p>
1304
+ */
1305
+ networkAccessControl?: NetworkAccessConfiguration;
1306
+ /**
1307
+ * <p>Whether to remove the network access configuration from the workspace.</p>
1308
+ * <p>Setting this to <code>true</code> and providing a <code>networkAccessControl</code>
1309
+ * to set will return an error.</p>
1310
+ * <p>If you remove this configuration by setting this to <code>true</code>, then all IP
1311
+ * addresses and VPC endpoints will be allowed. Standard Grafana authentication and
1312
+ * authorization will still be required.</p>
1313
+ */
1314
+ removeNetworkAccessConfiguration?: boolean;
1237
1315
  }
1238
1316
  export interface UpdateWorkspaceResponse {
1239
1317
  /**
@@ -1273,6 +1351,10 @@ export declare const AssociateLicenseRequestFilterSensitiveLog: (obj: AssociateL
1273
1351
  * @internal
1274
1352
  */
1275
1353
  export declare const AuthenticationSummaryFilterSensitiveLog: (obj: AuthenticationSummary) => any;
1354
+ /**
1355
+ * @internal
1356
+ */
1357
+ export declare const NetworkAccessConfigurationFilterSensitiveLog: (obj: NetworkAccessConfiguration) => any;
1276
1358
  /**
1277
1359
  * @internal
1278
1360
  */
@@ -138,6 +138,10 @@ export declare enum DataSourceType {
138
138
  TWINMAKER = "TWINMAKER",
139
139
  XRAY = "XRAY",
140
140
  }
141
+ export interface NetworkAccessConfiguration {
142
+ prefixListIds: string[] | undefined;
143
+ vpceIds: string[] | undefined;
144
+ }
141
145
  export declare enum NotificationDestinationType {
142
146
  SNS = "SNS",
143
147
  }
@@ -186,6 +190,7 @@ export interface WorkspaceDescription {
186
190
  authentication: AuthenticationSummary | undefined;
187
191
  tags?: Record<string, string>;
188
192
  vpcConfiguration?: VpcConfiguration;
193
+ networkAccessControl?: NetworkAccessConfiguration;
189
194
  }
190
195
  export interface AssociateLicenseResponse {
191
196
  workspace: WorkspaceDescription | undefined;
@@ -354,6 +359,7 @@ export interface CreateWorkspaceRequest {
354
359
  tags?: Record<string, string>;
355
360
  vpcConfiguration?: VpcConfiguration;
356
361
  configuration?: __LazyJsonString | string;
362
+ networkAccessControl?: NetworkAccessConfiguration;
357
363
  }
358
364
  export interface CreateWorkspaceResponse {
359
365
  workspace: WorkspaceDescription | undefined;
@@ -405,6 +411,8 @@ export interface UpdateWorkspaceRequest {
405
411
  workspaceRoleArn?: string;
406
412
  vpcConfiguration?: VpcConfiguration;
407
413
  removeVpcConfiguration?: boolean;
414
+ networkAccessControl?: NetworkAccessConfiguration;
415
+ removeNetworkAccessConfiguration?: boolean;
408
416
  }
409
417
  export interface UpdateWorkspaceResponse {
410
418
  workspace: WorkspaceDescription | undefined;
@@ -433,6 +441,9 @@ export declare const AssociateLicenseRequestFilterSensitiveLog: (
433
441
  export declare const AuthenticationSummaryFilterSensitiveLog: (
434
442
  obj: AuthenticationSummary
435
443
  ) => any;
444
+ export declare const NetworkAccessConfigurationFilterSensitiveLog: (
445
+ obj: NetworkAccessConfiguration
446
+ ) => any;
436
447
  export declare const VpcConfigurationFilterSensitiveLog: (
437
448
  obj: VpcConfiguration
438
449
  ) => any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-grafana",
3
3
  "description": "AWS SDK for JavaScript Grafana Client for Node.js, Browser and React Native",
4
- "version": "3.272.0",
4
+ "version": "3.276.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "3.0.0",
22
22
  "@aws-crypto/sha256-js": "3.0.0",
23
- "@aws-sdk/client-sts": "3.272.0",
23
+ "@aws-sdk/client-sts": "3.276.0",
24
24
  "@aws-sdk/config-resolver": "3.272.0",
25
25
  "@aws-sdk/credential-provider-node": "3.272.0",
26
26
  "@aws-sdk/fetch-http-handler": "3.272.0",