aws-sdk-managedgrafana 1.11.0 → 1.12.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: 5c042706cd987c8288ba8bda68a372567005bf1c4d28a6346890d7089467b7eb
4
- data.tar.gz: 73f9ebce553690ff0595933d91d41f84de83447434cf7166424a83efa0fe0dd1
3
+ metadata.gz: dbed3c483cb41a8ed9c42655e36beb415da0a7c1a45e21ad77554152ebd627fd
4
+ data.tar.gz: cfa5fb3b3859d7c141652054436061144dea64c925d9f629b4db914cc0c5e89c
5
5
  SHA512:
6
- metadata.gz: d8971fdb9c58e1da39b7eb71ec90b3f68d801023611610dfa5f9e66690911216e0ef9df2a399e815cd9fa8af17936bf433ac38346e0a38f6ad0c06e38d3f8e75
7
- data.tar.gz: 977707474817b9bafb4c89c57362a80df22c70babdd9c4e7ae0d2f225f5e75c86000832ddca5b8f5ed2d18541f285dbb042ced433f7b83d5795995a37e4857d3
6
+ metadata.gz: 026314fed6e3710f307837edf8daf8b965133b2b3289f7b95befe1503bf0c4b6e79df1f6ada184ef77c59a0b7ee27faa58212f6bb73247be025fe88d7e199472
7
+ data.tar.gz: bef0e55956c9c8b6d9ad29a882e0b35018f59c68aebc0ad31ce3bacf0e04807f80af4d65ae2ec6e276b5086705d6a6e334a07b20a3e5c40b4293fca37f2d331b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.12.0 (2023-02-16)
5
+ ------------------
6
+
7
+ * Feature - With this release Amazon Managed Grafana now supports inbound Network Access Control that helps you to restrict user access to your Grafana workspaces
8
+
4
9
  1.11.0 (2023-01-18)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.11.0
1
+ 1.12.0
@@ -412,6 +412,10 @@ module Aws::ManagedGrafana
412
412
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
413
413
  # resp.workspace.modified #=> Time
414
414
  # resp.workspace.name #=> String
415
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
416
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
417
+ # resp.workspace.network_access_control.vpce_ids #=> Array
418
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
415
419
  # resp.workspace.notification_destinations #=> Array
416
420
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
417
421
  # resp.workspace.organization_role_name #=> String
@@ -487,6 +491,17 @@ module Aws::ManagedGrafana
487
491
  #
488
492
  # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-configure-workspace.html
489
493
  #
494
+ # @option params [Types::NetworkAccessConfiguration] :network_access_control
495
+ # Configuration for network access to your workspace.
496
+ #
497
+ # When this is configured, only listed IP addresses and VPC endpoints
498
+ # will be able to access your workspace. Standard Grafana authentication
499
+ # and authorization will still be required.
500
+ #
501
+ # If this is not configured, or is removed, then all IP addresses and
502
+ # VPC endpoints will be allowed. Standard Grafana authentication and
503
+ # authorization will still be required.
504
+ #
490
505
  # @option params [String] :organization_role_name
491
506
  # The name of an IAM role that already exists to use with Organizations
492
507
  # to access Amazon Web Services data sources and notification channels
@@ -577,6 +592,10 @@ module Aws::ManagedGrafana
577
592
  # authentication_providers: ["AWS_SSO"], # required, accepts AWS_SSO, SAML
578
593
  # client_token: "ClientToken",
579
594
  # configuration: "OverridableConfigurationJson",
595
+ # network_access_control: {
596
+ # prefix_list_ids: ["PrefixListId"], # required
597
+ # vpce_ids: ["VpceId"], # required
598
+ # },
580
599
  # organization_role_name: "OrganizationRoleName",
581
600
  # permission_type: "CUSTOMER_MANAGED", # required, accepts CUSTOMER_MANAGED, SERVICE_MANAGED
582
601
  # stack_set_name: "StackSetName",
@@ -614,6 +633,10 @@ module Aws::ManagedGrafana
614
633
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
615
634
  # resp.workspace.modified #=> Time
616
635
  # resp.workspace.name #=> String
636
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
637
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
638
+ # resp.workspace.network_access_control.vpce_ids #=> Array
639
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
617
640
  # resp.workspace.notification_destinations #=> Array
618
641
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
619
642
  # resp.workspace.organization_role_name #=> String
@@ -728,6 +751,10 @@ module Aws::ManagedGrafana
728
751
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
729
752
  # resp.workspace.modified #=> Time
730
753
  # resp.workspace.name #=> String
754
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
755
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
756
+ # resp.workspace.network_access_control.vpce_ids #=> Array
757
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
731
758
  # resp.workspace.notification_destinations #=> Array
732
759
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
733
760
  # resp.workspace.organization_role_name #=> String
@@ -821,6 +848,10 @@ module Aws::ManagedGrafana
821
848
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
822
849
  # resp.workspace.modified #=> Time
823
850
  # resp.workspace.name #=> String
851
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
852
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
853
+ # resp.workspace.network_access_control.vpce_ids #=> Array
854
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
824
855
  # resp.workspace.notification_destinations #=> Array
825
856
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
826
857
  # resp.workspace.organization_role_name #=> String
@@ -959,6 +990,10 @@ module Aws::ManagedGrafana
959
990
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
960
991
  # resp.workspace.modified #=> Time
961
992
  # resp.workspace.name #=> String
993
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
994
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
995
+ # resp.workspace.network_access_control.vpce_ids #=> Array
996
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
962
997
  # resp.workspace.notification_destinations #=> Array
963
998
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
964
999
  # resp.workspace.organization_role_name #=> String
@@ -1277,12 +1312,23 @@ module Aws::ManagedGrafana
1277
1312
  # which organizational units the workspace can access in the
1278
1313
  # `workspaceOrganizationalUnits` parameter.
1279
1314
  #
1315
+ # @option params [Types::NetworkAccessConfiguration] :network_access_control
1316
+ # The configuration settings for network access to your workspace.
1317
+ #
1318
+ # When this is configured, only listed IP addresses and VPC endpoints
1319
+ # will be able to access your workspace. Standard Grafana authentication
1320
+ # and authorization will still be required.
1321
+ #
1322
+ # If this is not configured, or is removed, then all IP addresses and
1323
+ # VPC endpoints will be allowed. Standard Grafana authentication and
1324
+ # authorization will still be required.
1325
+ #
1280
1326
  # @option params [String] :organization_role_name
1281
1327
  # The name of an IAM role that already exists to use to access resources
1282
1328
  # through Organizations.
1283
1329
  #
1284
1330
  # @option params [String] :permission_type
1285
- # If you specify `Service Managed`, Amazon Managed Grafana automatically
1331
+ # If you specify `SERVICE_MANAGED`, Amazon Managed Grafana automatically
1286
1332
  # creates the IAM roles and provisions the permissions that the
1287
1333
  # workspace needs to use Amazon Web Services data sources and
1288
1334
  # notification channels.
@@ -1302,6 +1348,16 @@ module Aws::ManagedGrafana
1302
1348
  #
1303
1349
  # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1304
1350
  #
1351
+ # @option params [Boolean] :remove_network_access_configuration
1352
+ # Whether to remove the network access configuration from the workspace.
1353
+ #
1354
+ # Setting this to `true` and providing a `networkAccessControl` to set
1355
+ # will return an error.
1356
+ #
1357
+ # If you remove this configuration by setting this to `true`, then all
1358
+ # IP addresses and VPC endpoints will be allowed. Standard Grafana
1359
+ # authentication and authorization will still be required.
1360
+ #
1305
1361
  # @option params [Boolean] :remove_vpc_configuration
1306
1362
  # Whether to remove the VPC configuration from the workspace.
1307
1363
  #
@@ -1364,8 +1420,13 @@ module Aws::ManagedGrafana
1364
1420
  #
1365
1421
  # resp = client.update_workspace({
1366
1422
  # account_access_type: "CURRENT_ACCOUNT", # accepts CURRENT_ACCOUNT, ORGANIZATION
1423
+ # network_access_control: {
1424
+ # prefix_list_ids: ["PrefixListId"], # required
1425
+ # vpce_ids: ["VpceId"], # required
1426
+ # },
1367
1427
  # organization_role_name: "OrganizationRoleName",
1368
1428
  # permission_type: "CUSTOMER_MANAGED", # accepts CUSTOMER_MANAGED, SERVICE_MANAGED
1429
+ # remove_network_access_configuration: false,
1369
1430
  # remove_vpc_configuration: false,
1370
1431
  # stack_set_name: "StackSetName",
1371
1432
  # vpc_configuration: {
@@ -1400,6 +1461,10 @@ module Aws::ManagedGrafana
1400
1461
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
1401
1462
  # resp.workspace.modified #=> Time
1402
1463
  # resp.workspace.name #=> String
1464
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
1465
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
1466
+ # resp.workspace.network_access_control.vpce_ids #=> Array
1467
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
1403
1468
  # resp.workspace.notification_destinations #=> Array
1404
1469
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
1405
1470
  # resp.workspace.organization_role_name #=> String
@@ -1561,7 +1626,7 @@ module Aws::ManagedGrafana
1561
1626
  params: params,
1562
1627
  config: config)
1563
1628
  context[:gem_name] = 'aws-sdk-managedgrafana'
1564
- context[:gem_version] = '1.11.0'
1629
+ context[:gem_version] = '1.12.0'
1565
1630
  Seahorse::Client::Request.new(handlers, context)
1566
1631
  end
1567
1632
 
@@ -68,6 +68,7 @@ module Aws::ManagedGrafana
68
68
  ListWorkspacesRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListWorkspacesRequestMaxResultsInteger')
69
69
  ListWorkspacesResponse = Shapes::StructureShape.new(name: 'ListWorkspacesResponse')
70
70
  LoginValidityDuration = Shapes::IntegerShape.new(name: 'LoginValidityDuration')
71
+ NetworkAccessConfiguration = Shapes::StructureShape.new(name: 'NetworkAccessConfiguration')
71
72
  NotificationDestinationType = Shapes::StringShape.new(name: 'NotificationDestinationType')
72
73
  NotificationDestinationsList = Shapes::ListShape.new(name: 'NotificationDestinationsList')
73
74
  OrganizationRoleName = Shapes::StringShape.new(name: 'OrganizationRoleName')
@@ -78,6 +79,8 @@ module Aws::ManagedGrafana
78
79
  PermissionEntry = Shapes::StructureShape.new(name: 'PermissionEntry')
79
80
  PermissionEntryList = Shapes::ListShape.new(name: 'PermissionEntryList')
80
81
  PermissionType = Shapes::StringShape.new(name: 'PermissionType')
82
+ PrefixListId = Shapes::StringShape.new(name: 'PrefixListId')
83
+ PrefixListIds = Shapes::ListShape.new(name: 'PrefixListIds')
81
84
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
82
85
  Role = Shapes::StringShape.new(name: 'Role')
83
86
  RoleValue = Shapes::StringShape.new(name: 'RoleValue')
@@ -127,6 +130,8 @@ module Aws::ManagedGrafana
127
130
  ValidationExceptionFieldList = Shapes::ListShape.new(name: 'ValidationExceptionFieldList')
128
131
  ValidationExceptionReason = Shapes::StringShape.new(name: 'ValidationExceptionReason')
129
132
  VpcConfiguration = Shapes::StructureShape.new(name: 'VpcConfiguration')
133
+ VpceId = Shapes::StringShape.new(name: 'VpceId')
134
+ VpceIds = Shapes::ListShape.new(name: 'VpceIds')
130
135
  WorkspaceDescription = Shapes::StructureShape.new(name: 'WorkspaceDescription')
131
136
  WorkspaceId = Shapes::StringShape.new(name: 'WorkspaceId')
132
137
  WorkspaceList = Shapes::ListShape.new(name: 'WorkspaceList')
@@ -188,6 +193,7 @@ module Aws::ManagedGrafana
188
193
  CreateWorkspaceRequest.add_member(:authentication_providers, Shapes::ShapeRef.new(shape: AuthenticationProviders, required: true, location_name: "authenticationProviders"))
189
194
  CreateWorkspaceRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
190
195
  CreateWorkspaceRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: OverridableConfigurationJson, location_name: "configuration", metadata: {"jsonvalue"=>true}))
196
+ CreateWorkspaceRequest.add_member(:network_access_control, Shapes::ShapeRef.new(shape: NetworkAccessConfiguration, location_name: "networkAccessControl"))
191
197
  CreateWorkspaceRequest.add_member(:organization_role_name, Shapes::ShapeRef.new(shape: OrganizationRoleName, location_name: "organizationRoleName"))
192
198
  CreateWorkspaceRequest.add_member(:permission_type, Shapes::ShapeRef.new(shape: PermissionType, required: true, location_name: "permissionType"))
193
199
  CreateWorkspaceRequest.add_member(:stack_set_name, Shapes::ShapeRef.new(shape: StackSetName, location_name: "stackSetName"))
@@ -283,6 +289,10 @@ module Aws::ManagedGrafana
283
289
  ListWorkspacesResponse.add_member(:workspaces, Shapes::ShapeRef.new(shape: WorkspaceList, required: true, location_name: "workspaces"))
284
290
  ListWorkspacesResponse.struct_class = Types::ListWorkspacesResponse
285
291
 
292
+ NetworkAccessConfiguration.add_member(:prefix_list_ids, Shapes::ShapeRef.new(shape: PrefixListIds, required: true, location_name: "prefixListIds"))
293
+ NetworkAccessConfiguration.add_member(:vpce_ids, Shapes::ShapeRef.new(shape: VpceIds, required: true, location_name: "vpceIds"))
294
+ NetworkAccessConfiguration.struct_class = Types::NetworkAccessConfiguration
295
+
286
296
  NotificationDestinationsList.member = Shapes::ShapeRef.new(shape: NotificationDestinationType)
287
297
 
288
298
  OrganizationalUnitList.member = Shapes::ShapeRef.new(shape: OrganizationalUnit)
@@ -293,6 +303,8 @@ module Aws::ManagedGrafana
293
303
 
294
304
  PermissionEntryList.member = Shapes::ShapeRef.new(shape: PermissionEntry)
295
305
 
306
+ PrefixListIds.member = Shapes::ShapeRef.new(shape: PrefixListId)
307
+
296
308
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
297
309
  ResourceNotFoundException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
298
310
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
@@ -385,8 +397,10 @@ module Aws::ManagedGrafana
385
397
  UpdateWorkspaceConfigurationResponse.struct_class = Types::UpdateWorkspaceConfigurationResponse
386
398
 
387
399
  UpdateWorkspaceRequest.add_member(:account_access_type, Shapes::ShapeRef.new(shape: AccountAccessType, location_name: "accountAccessType"))
400
+ UpdateWorkspaceRequest.add_member(:network_access_control, Shapes::ShapeRef.new(shape: NetworkAccessConfiguration, location_name: "networkAccessControl"))
388
401
  UpdateWorkspaceRequest.add_member(:organization_role_name, Shapes::ShapeRef.new(shape: OrganizationRoleName, location_name: "organizationRoleName"))
389
402
  UpdateWorkspaceRequest.add_member(:permission_type, Shapes::ShapeRef.new(shape: PermissionType, location_name: "permissionType"))
403
+ UpdateWorkspaceRequest.add_member(:remove_network_access_configuration, Shapes::ShapeRef.new(shape: Boolean, location_name: "removeNetworkAccessConfiguration"))
390
404
  UpdateWorkspaceRequest.add_member(:remove_vpc_configuration, Shapes::ShapeRef.new(shape: Boolean, location_name: "removeVpcConfiguration"))
391
405
  UpdateWorkspaceRequest.add_member(:stack_set_name, Shapes::ShapeRef.new(shape: StackSetName, location_name: "stackSetName"))
392
406
  UpdateWorkspaceRequest.add_member(:vpc_configuration, Shapes::ShapeRef.new(shape: VpcConfiguration, location_name: "vpcConfiguration"))
@@ -423,6 +437,8 @@ module Aws::ManagedGrafana
423
437
  VpcConfiguration.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, required: true, location_name: "subnetIds"))
424
438
  VpcConfiguration.struct_class = Types::VpcConfiguration
425
439
 
440
+ VpceIds.member = Shapes::ShapeRef.new(shape: VpceId)
441
+
426
442
  WorkspaceDescription.add_member(:account_access_type, Shapes::ShapeRef.new(shape: AccountAccessType, location_name: "accountAccessType"))
427
443
  WorkspaceDescription.add_member(:authentication, Shapes::ShapeRef.new(shape: AuthenticationSummary, required: true, location_name: "authentication"))
428
444
  WorkspaceDescription.add_member(:created, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "created"))
@@ -437,6 +453,7 @@ module Aws::ManagedGrafana
437
453
  WorkspaceDescription.add_member(:license_type, Shapes::ShapeRef.new(shape: LicenseType, location_name: "licenseType"))
438
454
  WorkspaceDescription.add_member(:modified, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "modified"))
439
455
  WorkspaceDescription.add_member(:name, Shapes::ShapeRef.new(shape: WorkspaceName, location_name: "name"))
456
+ WorkspaceDescription.add_member(:network_access_control, Shapes::ShapeRef.new(shape: NetworkAccessConfiguration, location_name: "networkAccessControl"))
440
457
  WorkspaceDescription.add_member(:notification_destinations, Shapes::ShapeRef.new(shape: NotificationDestinationsList, location_name: "notificationDestinations"))
441
458
  WorkspaceDescription.add_member(:organization_role_name, Shapes::ShapeRef.new(shape: OrganizationRoleName, location_name: "organizationRoleName"))
442
459
  WorkspaceDescription.add_member(:organizational_units, Shapes::ShapeRef.new(shape: OrganizationalUnitList, location_name: "organizationalUnits"))
@@ -14,36 +14,69 @@ module Aws::ManagedGrafana
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
19
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
21
39
  end
22
40
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
24
45
  end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
- end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://grafana-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
46
+ if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-1")
47
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.ap-northeast-1.amazonaws.com", headers: {}, properties: {})
30
48
  end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
- end
33
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- return Aws::Endpoints::Endpoint.new(url: "https://grafana-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
49
+ if Aws::Endpoints::Matchers.string_equals?(region, "ap-northeast-2")
50
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.ap-northeast-2.amazonaws.com", headers: {}, properties: {})
36
51
  end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
- end
39
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://grafana.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
52
+ if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-1")
53
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.ap-southeast-1.amazonaws.com", headers: {}, properties: {})
54
+ end
55
+ if Aws::Endpoints::Matchers.string_equals?(region, "ap-southeast-2")
56
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.ap-southeast-2.amazonaws.com", headers: {}, properties: {})
57
+ end
58
+ if Aws::Endpoints::Matchers.string_equals?(region, "eu-central-1")
59
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.eu-central-1.amazonaws.com", headers: {}, properties: {})
60
+ end
61
+ if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-1")
62
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.eu-west-1.amazonaws.com", headers: {}, properties: {})
63
+ end
64
+ if Aws::Endpoints::Matchers.string_equals?(region, "eu-west-2")
65
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.eu-west-2.amazonaws.com", headers: {}, properties: {})
66
+ end
67
+ if Aws::Endpoints::Matchers.string_equals?(region, "us-east-1")
68
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.us-east-1.amazonaws.com", headers: {}, properties: {})
69
+ end
70
+ if Aws::Endpoints::Matchers.string_equals?(region, "us-east-2")
71
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.us-east-2.amazonaws.com", headers: {}, properties: {})
72
+ end
73
+ if Aws::Endpoints::Matchers.string_equals?(region, "us-west-2")
74
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.us-west-2.amazonaws.com", headers: {}, properties: {})
42
75
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
76
+ return Aws::Endpoints::Endpoint.new(url: "https://grafana.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
77
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://grafana.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
78
  end
79
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
80
  raise ArgumentError, 'No endpoint could be resolved'
48
81
 
49
82
  end
@@ -285,6 +285,18 @@ module Aws::ManagedGrafana
285
285
  # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-configure-workspace.html
286
286
  # @return [String]
287
287
  #
288
+ # @!attribute [rw] network_access_control
289
+ # Configuration for network access to your workspace.
290
+ #
291
+ # When this is configured, only listed IP addresses and VPC endpoints
292
+ # will be able to access your workspace. Standard Grafana
293
+ # authentication and authorization will still be required.
294
+ #
295
+ # If this is not configured, or is removed, then all IP addresses and
296
+ # VPC endpoints will be allowed. Standard Grafana authentication and
297
+ # authorization will still be required.
298
+ # @return [Types::NetworkAccessConfiguration]
299
+ #
288
300
  # @!attribute [rw] organization_role_name
289
301
  # The name of an IAM role that already exists to use with
290
302
  # Organizations to access Amazon Web Services data sources and
@@ -383,6 +395,7 @@ module Aws::ManagedGrafana
383
395
  :authentication_providers,
384
396
  :client_token,
385
397
  :configuration,
398
+ :network_access_control,
386
399
  :organization_role_name,
387
400
  :permission_type,
388
401
  :stack_set_name,
@@ -750,6 +763,69 @@ module Aws::ManagedGrafana
750
763
  include Aws::Structure
751
764
  end
752
765
 
766
+ # The configuration settings for in-bound network access to your
767
+ # workspace.
768
+ #
769
+ # When this is configured, only listed IP addresses and VPC endpoints
770
+ # will be able to access your workspace. Standard Grafana authentication
771
+ # and authorization will still be required.
772
+ #
773
+ # If this is not configured, or is removed, then all IP addresses and
774
+ # VPC endpoints will be allowed. Standard Grafana authentication and
775
+ # authorization will still be required.
776
+ #
777
+ # @!attribute [rw] prefix_list_ids
778
+ # An array of prefix list IDs. A prefix list is a list of CIDR ranges
779
+ # of IP addresses. The IP addresses specified are allowed to access
780
+ # your workspace. If the list is not included in the configuration
781
+ # then no IP addresses will be allowed to access the workspace. You
782
+ # create a prefix list using the Amazon VPC console.
783
+ #
784
+ # Prefix list IDs have the format `pl-1a2b3c4d `.
785
+ #
786
+ # For more information about prefix lists, see [Group CIDR blocks
787
+ # using managed prefix lists][1]in the *Amazon Virtual Private Cloud
788
+ # User Guide*.
789
+ #
790
+ #
791
+ #
792
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html
793
+ # @return [Array<String>]
794
+ #
795
+ # @!attribute [rw] vpce_ids
796
+ # An array of Amazon VPC endpoint IDs for the workspace. You can
797
+ # create VPC endpoints to your Amazon Managed Grafana workspace for
798
+ # access from within a VPC. If a `NetworkAccessConfiguration` is
799
+ # specified then only VPC endpoints specified here will be allowed to
800
+ # access the workspace.
801
+ #
802
+ # VPC endpoint IDs have the format `vpce-1a2b3c4d `.
803
+ #
804
+ # For more information about creating an interface VPC endpoint, see
805
+ # [Interface VPC endpoints][1] in the *Amazon Managed Grafana User
806
+ # Guide*.
807
+ #
808
+ # <note markdown="1"> The only VPC endpoints that can be specified here are interface VPC
809
+ # endpoints for Grafana workspaces (using the
810
+ # `com.amazonaws.[region].grafana-workspace` service endpoint). Other
811
+ # VPC endpoints will be ignored.
812
+ #
813
+ # </note>
814
+ #
815
+ #
816
+ #
817
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/VPC-endpoints
818
+ # @return [Array<String>]
819
+ #
820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/NetworkAccessConfiguration AWS API Documentation
821
+ #
822
+ class NetworkAccessConfiguration < Struct.new(
823
+ :prefix_list_ids,
824
+ :vpce_ids)
825
+ SENSITIVE = []
826
+ include Aws::Structure
827
+ end
828
+
753
829
  # A structure containing the identity of one user or group and the
754
830
  # `Admin`, `Editor`, or `Viewer` role that they have.
755
831
  #
@@ -1162,13 +1238,25 @@ module Aws::ManagedGrafana
1162
1238
  # `workspaceOrganizationalUnits` parameter.
1163
1239
  # @return [String]
1164
1240
  #
1241
+ # @!attribute [rw] network_access_control
1242
+ # The configuration settings for network access to your workspace.
1243
+ #
1244
+ # When this is configured, only listed IP addresses and VPC endpoints
1245
+ # will be able to access your workspace. Standard Grafana
1246
+ # authentication and authorization will still be required.
1247
+ #
1248
+ # If this is not configured, or is removed, then all IP addresses and
1249
+ # VPC endpoints will be allowed. Standard Grafana authentication and
1250
+ # authorization will still be required.
1251
+ # @return [Types::NetworkAccessConfiguration]
1252
+ #
1165
1253
  # @!attribute [rw] organization_role_name
1166
1254
  # The name of an IAM role that already exists to use to access
1167
1255
  # resources through Organizations.
1168
1256
  # @return [String]
1169
1257
  #
1170
1258
  # @!attribute [rw] permission_type
1171
- # If you specify `Service Managed`, Amazon Managed Grafana
1259
+ # If you specify `SERVICE_MANAGED`, Amazon Managed Grafana
1172
1260
  # automatically creates the IAM roles and provisions the permissions
1173
1261
  # that the workspace needs to use Amazon Web Services data sources and
1174
1262
  # notification channels.
@@ -1189,6 +1277,18 @@ module Aws::ManagedGrafana
1189
1277
  # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1190
1278
  # @return [String]
1191
1279
  #
1280
+ # @!attribute [rw] remove_network_access_configuration
1281
+ # Whether to remove the network access configuration from the
1282
+ # workspace.
1283
+ #
1284
+ # Setting this to `true` and providing a `networkAccessControl` to set
1285
+ # will return an error.
1286
+ #
1287
+ # If you remove this configuration by setting this to `true`, then all
1288
+ # IP addresses and VPC endpoints will be allowed. Standard Grafana
1289
+ # authentication and authorization will still be required.
1290
+ # @return [Boolean]
1291
+ #
1192
1292
  # @!attribute [rw] remove_vpc_configuration
1193
1293
  # Whether to remove the VPC configuration from the workspace.
1194
1294
  #
@@ -1259,8 +1359,10 @@ module Aws::ManagedGrafana
1259
1359
  #
1260
1360
  class UpdateWorkspaceRequest < Struct.new(
1261
1361
  :account_access_type,
1362
+ :network_access_control,
1262
1363
  :organization_role_name,
1263
1364
  :permission_type,
1365
+ :remove_network_access_configuration,
1264
1366
  :remove_vpc_configuration,
1265
1367
  :stack_set_name,
1266
1368
  :vpc_configuration,
@@ -1356,14 +1458,19 @@ module Aws::ManagedGrafana
1356
1458
  # The configuration settings for an Amazon VPC that contains data
1357
1459
  # sources for your Grafana workspace to connect to.
1358
1460
  #
1461
+ # <note markdown="1"> Provided `securityGroupIds` and `subnetIds` must be part of the same
1462
+ # VPC.
1463
+ #
1464
+ # </note>
1465
+ #
1359
1466
  # @!attribute [rw] security_group_ids
1360
1467
  # The list of Amazon EC2 security group IDs attached to the Amazon VPC
1361
- # for your Grafana workspace to connect.
1468
+ # for your Grafana workspace to connect. Duplicates not allowed.
1362
1469
  # @return [Array<String>]
1363
1470
  #
1364
1471
  # @!attribute [rw] subnet_ids
1365
1472
  # The list of Amazon EC2 subnet IDs created in the Amazon VPC for your
1366
- # Grafana workspace to connect.
1473
+ # Grafana workspace to connect. Duplicates not allowed.
1367
1474
  # @return [Array<String>]
1368
1475
  #
1369
1476
  # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/VpcConfiguration AWS API Documentation
@@ -1447,6 +1554,10 @@ module Aws::ManagedGrafana
1447
1554
  # The name of the workspace.
1448
1555
  # @return [String]
1449
1556
  #
1557
+ # @!attribute [rw] network_access_control
1558
+ # The configuration settings for network access to your workspace.
1559
+ # @return [Types::NetworkAccessConfiguration]
1560
+ #
1450
1561
  # @!attribute [rw] notification_destinations
1451
1562
  # The Amazon Web Services notification channels that Amazon Managed
1452
1563
  # Grafana can automatically create IAM roles and permissions for, to
@@ -1465,7 +1576,7 @@ module Aws::ManagedGrafana
1465
1576
  # @return [Array<String>]
1466
1577
  #
1467
1578
  # @!attribute [rw] permission_type
1468
- # If this is `Service Managed`, Amazon Managed Grafana automatically
1579
+ # If this is `SERVICE_MANAGED`, Amazon Managed Grafana automatically
1469
1580
  # creates the IAM roles and provisions the permissions that the
1470
1581
  # workspace needs to use Amazon Web Services data sources and
1471
1582
  # notification channels.
@@ -1527,6 +1638,7 @@ module Aws::ManagedGrafana
1527
1638
  :license_type,
1528
1639
  :modified,
1529
1640
  :name,
1641
+ :network_access_control,
1530
1642
  :notification_destinations,
1531
1643
  :organization_role_name,
1532
1644
  :organizational_units,
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-managedgrafana/customizations'
52
52
  # @!group service
53
53
  module Aws::ManagedGrafana
54
54
 
55
- GEM_VERSION = '1.11.0'
55
+ GEM_VERSION = '1.12.0'
56
56
 
57
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-managedgrafana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0
4
+ version: 1.12.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: 2023-01-18 00:00:00.000000000 Z
11
+ date: 2023-02-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core