aws-sdk-managedgrafana 1.11.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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