aws-sdk-managedgrafana 1.11.0 → 1.13.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: 95d1063eedc2551fd155e40eaa7b6bd779a0985a40b02bd76b0340793c0b8cc3
4
+ data.tar.gz: 8bf298a66f196a2e7cac0b6975d77569d1836221f2498a21db297b0f9a2ccb53
5
5
  SHA512:
6
- metadata.gz: d8971fdb9c58e1da39b7eb71ec90b3f68d801023611610dfa5f9e66690911216e0ef9df2a399e815cd9fa8af17936bf433ac38346e0a38f6ad0c06e38d3f8e75
7
- data.tar.gz: 977707474817b9bafb4c89c57362a80df22c70babdd9c4e7ae0d2f225f5e75c86000832ddca5b8f5ed2d18541f285dbb042ced433f7b83d5795995a37e4857d3
6
+ metadata.gz: d96a64a32df7817926d52f10c648433c0bf1c52817536dadfb3cde8e14865b830aa0640fd483cda412d736e9a62e2b591c27d52735b747d6076a500aef4802c0
7
+ data.tar.gz: 9f3bdc522883c556b465a803f98728cc443f9a7d65c6bf9a72e20151c28791695e83060183faa1e032010bfceb9c19acccda97d1cb587bc7fd9f54e8220fb955
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.13.0 (2023-02-23)
5
+ ------------------
6
+
7
+ * Feature - Doc-only update. Updated information on attached role policies for customer provided roles
8
+
9
+ 1.12.0 (2023-02-16)
10
+ ------------------
11
+
12
+ * Feature - With this release Amazon Managed Grafana now supports inbound Network Access Control that helps you to restrict user access to your Grafana workspaces
13
+
4
14
  1.11.0 (2023-01-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.11.0
1
+ 1.13.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,28 +491,40 @@ 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
493
508
  # in other accounts in an organization.
494
509
  #
495
510
  # @option params [required, String] :permission_type
496
- # If you specify `SERVICE_MANAGED` on AWS Grafana console, Amazon
497
- # Managed Grafana automatically creates the IAM roles and provisions the
498
- # permissions that the workspace needs to use Amazon Web Services data
499
- # sources and notification channels. In the CLI mode, the permissionType
500
- # `SERVICE_MANAGED` will not create the IAM role for you. The ability
501
- # for the Amazon Managed Grafana to create the IAM role on behalf of the
502
- # user is supported only in the Amazon Managed Grafana AWS console. Use
503
- # only the `CUSTOMER_MANAGED` permission type when creating a workspace
504
- # in the CLI.
505
- #
506
- # If you specify `CUSTOMER_MANAGED`, you will manage those roles and
507
- # permissions yourself. If you are creating this workspace in a member
508
- # account of an organization that is not a delegated administrator
509
- # account, and you want the workspace to access data sources in other
510
- # Amazon Web Services accounts in the organization, you must choose
511
- # `CUSTOMER_MANAGED`.
511
+ # When creating a workspace through the Amazon Web Services API, CLI or
512
+ # Amazon Web Services CloudFormation, you must manage IAM roles and
513
+ # provision the permissions that the workspace needs to use Amazon Web
514
+ # Services data sources and notification channels.
515
+ #
516
+ # You must also specify a `workspaceRoleArn` for a role that you will
517
+ # manage for the workspace to use when accessing those datasources and
518
+ # notification channels.
519
+ #
520
+ # The ability for Amazon Managed Grafana to create and update IAM roles
521
+ # on behalf of the user is supported only in the Amazon Managed Grafana
522
+ # console, where this value may be set to `SERVICE_MANAGED`.
523
+ #
524
+ # <note markdown="1"> Use only the `CUSTOMER_MANAGED` permission type when creating a
525
+ # workspace with the API, CLI or Amazon Web Services CloudFormation.
526
+ #
527
+ # </note>
512
528
  #
513
529
  # For more information, see [Amazon Managed Grafana permissions and
514
530
  # policies for Amazon Web Services data sources and notification
@@ -530,15 +546,7 @@ module Aws::ManagedGrafana
530
546
  # sources for your Grafana workspace to connect to.
531
547
  #
532
548
  # @option params [Array<String>] :workspace_data_sources
533
- # Specify the Amazon Web Services data sources that you want to be
534
- # queried in this workspace. Specifying these data sources here enables
535
- # Amazon Managed Grafana to create IAM roles and permissions that allow
536
- # Amazon Managed Grafana to read data from these sources. You must still
537
- # add them as data sources in the Grafana console in the workspace.
538
- #
539
- # If you don't specify a data source here, you can still add it as a
540
- # data source in the workspace console later. However, you will then
541
- # have to manually configure permissions for it.
549
+ # This parameter is for internal use only, and should not be used.
542
550
  #
543
551
  # @option params [String] :workspace_description
544
552
  # A description for the workspace. This is used only to help you
@@ -561,10 +569,11 @@ module Aws::ManagedGrafana
561
569
  # of an organization.
562
570
  #
563
571
  # @option params [String] :workspace_role_arn
564
- # The workspace needs an IAM role that grants permissions to the Amazon
565
- # Web Services resources that the workspace will view data from. If you
566
- # already have a role that you want to use, specify it here. The
567
- # permission type should be set to `CUSTOMER_MANAGED`.
572
+ # Specified the IAM role that grants permissions to the Amazon Web
573
+ # Services resources that the workspace will view data from, including
574
+ # both data sources and notification channels. You are responsible for
575
+ # managing the permissions for this role as new data sources or
576
+ # notification channels are added.
568
577
  #
569
578
  # @return [Types::CreateWorkspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
570
579
  #
@@ -577,6 +586,10 @@ module Aws::ManagedGrafana
577
586
  # authentication_providers: ["AWS_SSO"], # required, accepts AWS_SSO, SAML
578
587
  # client_token: "ClientToken",
579
588
  # configuration: "OverridableConfigurationJson",
589
+ # network_access_control: {
590
+ # prefix_list_ids: ["PrefixListId"], # required
591
+ # vpce_ids: ["VpceId"], # required
592
+ # },
580
593
  # organization_role_name: "OrganizationRoleName",
581
594
  # permission_type: "CUSTOMER_MANAGED", # required, accepts CUSTOMER_MANAGED, SERVICE_MANAGED
582
595
  # stack_set_name: "StackSetName",
@@ -614,6 +627,10 @@ module Aws::ManagedGrafana
614
627
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
615
628
  # resp.workspace.modified #=> Time
616
629
  # resp.workspace.name #=> String
630
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
631
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
632
+ # resp.workspace.network_access_control.vpce_ids #=> Array
633
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
617
634
  # resp.workspace.notification_destinations #=> Array
618
635
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
619
636
  # resp.workspace.organization_role_name #=> String
@@ -728,6 +745,10 @@ module Aws::ManagedGrafana
728
745
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
729
746
  # resp.workspace.modified #=> Time
730
747
  # resp.workspace.name #=> String
748
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
749
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
750
+ # resp.workspace.network_access_control.vpce_ids #=> Array
751
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
731
752
  # resp.workspace.notification_destinations #=> Array
732
753
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
733
754
  # resp.workspace.organization_role_name #=> String
@@ -821,6 +842,10 @@ module Aws::ManagedGrafana
821
842
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
822
843
  # resp.workspace.modified #=> Time
823
844
  # resp.workspace.name #=> String
845
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
846
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
847
+ # resp.workspace.network_access_control.vpce_ids #=> Array
848
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
824
849
  # resp.workspace.notification_destinations #=> Array
825
850
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
826
851
  # resp.workspace.organization_role_name #=> String
@@ -959,6 +984,10 @@ module Aws::ManagedGrafana
959
984
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
960
985
  # resp.workspace.modified #=> Time
961
986
  # resp.workspace.name #=> String
987
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
988
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
989
+ # resp.workspace.network_access_control.vpce_ids #=> Array
990
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
962
991
  # resp.workspace.notification_destinations #=> Array
963
992
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
964
993
  # resp.workspace.organization_role_name #=> String
@@ -1277,30 +1306,64 @@ module Aws::ManagedGrafana
1277
1306
  # which organizational units the workspace can access in the
1278
1307
  # `workspaceOrganizationalUnits` parameter.
1279
1308
  #
1309
+ # @option params [Types::NetworkAccessConfiguration] :network_access_control
1310
+ # The configuration settings for network access to your workspace.
1311
+ #
1312
+ # When this is configured, only listed IP addresses and VPC endpoints
1313
+ # will be able to access your workspace. Standard Grafana authentication
1314
+ # and authorization will still be required.
1315
+ #
1316
+ # If this is not configured, or is removed, then all IP addresses and
1317
+ # VPC endpoints will be allowed. Standard Grafana authentication and
1318
+ # authorization will still be required.
1319
+ #
1280
1320
  # @option params [String] :organization_role_name
1281
1321
  # The name of an IAM role that already exists to use to access resources
1282
- # through Organizations.
1322
+ # through Organizations. This can only be used with a workspace that has
1323
+ # the `permissionType` set to `CUSTOMER_MANAGED`.
1283
1324
  #
1284
1325
  # @option params [String] :permission_type
1285
- # If you specify `Service Managed`, Amazon Managed Grafana automatically
1286
- # creates the IAM roles and provisions the permissions that the
1287
- # workspace needs to use Amazon Web Services data sources and
1288
- # notification channels.
1326
+ # Use this parameter if you want to change a workspace from
1327
+ # `SERVICE_MANAGED` to `CUSTOMER_MANAGED`. This allows you to manage the
1328
+ # permissions that the workspace uses to access datasources and
1329
+ # notification channels. If the workspace is in a member Amazon Web
1330
+ # Services account of an organization, and that account is not a
1331
+ # delegated administrator account, and you want the workspace to access
1332
+ # data sources in other Amazon Web Services accounts in the
1333
+ # organization, you must choose `CUSTOMER_MANAGED`.
1289
1334
  #
1290
- # If you specify `CUSTOMER_MANAGED`, you will manage those roles and
1291
- # permissions yourself. If you are creating this workspace in a member
1292
- # account of an organization and that account is not a delegated
1293
- # administrator account, and you want the workspace to access data
1294
- # sources in other Amazon Web Services accounts in the organization, you
1295
- # must choose `CUSTOMER_MANAGED`.
1335
+ # If you specify this as `CUSTOMER_MANAGED`, you must also specify a
1336
+ # `workspaceRoleArn` that the workspace will use for accessing Amazon
1337
+ # Web Services resources.
1296
1338
  #
1297
- # For more information, see [Amazon Managed Grafana permissions and
1298
- # policies for Amazon Web Services data sources and notification
1299
- # channels][1]
1339
+ # For more information on the role and permissions needed, see [Amazon
1340
+ # Managed Grafana permissions and policies for Amazon Web Services data
1341
+ # sources and notification channels][1]
1342
+ #
1343
+ # <note markdown="1"> Do not use this to convert a `CUSTOMER_MANAGED` workspace to
1344
+ # `SERVICE_MANAGED`. Do not include this parameter if you want to leave
1345
+ # the workspace as `SERVICE_MANAGED`.
1346
+ #
1347
+ # You can convert a `CUSTOMER_MANAGED` workspace to `SERVICE_MANAGED`
1348
+ # using the Amazon Managed Grafana console. For more information, see
1349
+ # [Managing permissions for data sources and notification channels][2].
1350
+ #
1351
+ # </note>
1300
1352
  #
1301
1353
  #
1302
1354
  #
1303
1355
  # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1356
+ # [2]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-datasource-and-notification.html
1357
+ #
1358
+ # @option params [Boolean] :remove_network_access_configuration
1359
+ # Whether to remove the network access configuration from the workspace.
1360
+ #
1361
+ # Setting this to `true` and providing a `networkAccessControl` to set
1362
+ # will return an error.
1363
+ #
1364
+ # If you remove this configuration by setting this to `true`, then all
1365
+ # IP addresses and VPC endpoints will be allowed. Standard Grafana
1366
+ # authentication and authorization will still be required.
1304
1367
  #
1305
1368
  # @option params [Boolean] :remove_vpc_configuration
1306
1369
  # Whether to remove the VPC configuration from the workspace.
@@ -1317,15 +1380,7 @@ module Aws::ManagedGrafana
1317
1380
  # sources for your Grafana workspace to connect to.
1318
1381
  #
1319
1382
  # @option params [Array<String>] :workspace_data_sources
1320
- # Specify the Amazon Web Services data sources that you want to be
1321
- # queried in this workspace. Specifying these data sources here enables
1322
- # Amazon Managed Grafana to create IAM roles and permissions that allow
1323
- # Amazon Managed Grafana to read data from these sources. You must still
1324
- # add them as data sources in the Grafana console in the workspace.
1325
- #
1326
- # If you don't specify a data source here, you can still add it as a
1327
- # data source later in the workspace console. However, you will then
1328
- # have to manually configure permissions for it.
1383
+ # This parameter is for internal use only, and should not be used.
1329
1384
  #
1330
1385
  # @option params [String] :workspace_description
1331
1386
  # A description for the workspace. This is used only to help you
@@ -1349,12 +1404,10 @@ module Aws::ManagedGrafana
1349
1404
  # of an organization.
1350
1405
  #
1351
1406
  # @option params [String] :workspace_role_arn
1352
- # The workspace needs an IAM role that grants permissions to the Amazon
1353
- # Web Services resources that the workspace will view data from. If you
1354
- # already have a role that you want to use, specify it here. If you omit
1355
- # this field and you specify some Amazon Web Services resources in
1356
- # `workspaceDataSources` or `workspaceNotificationDestinations`, a new
1357
- # IAM role with the necessary permissions is automatically created.
1407
+ # Specifies an IAM role that grants permissions to Amazon Web Services
1408
+ # resources that the workspace accesses, such as data sources and
1409
+ # notification channels. If this workspace has `permissionType`
1410
+ # `CUSTOMER_MANAGED`, then this role is required.
1358
1411
  #
1359
1412
  # @return [Types::UpdateWorkspaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1360
1413
  #
@@ -1364,8 +1417,13 @@ module Aws::ManagedGrafana
1364
1417
  #
1365
1418
  # resp = client.update_workspace({
1366
1419
  # account_access_type: "CURRENT_ACCOUNT", # accepts CURRENT_ACCOUNT, ORGANIZATION
1420
+ # network_access_control: {
1421
+ # prefix_list_ids: ["PrefixListId"], # required
1422
+ # vpce_ids: ["VpceId"], # required
1423
+ # },
1367
1424
  # organization_role_name: "OrganizationRoleName",
1368
1425
  # permission_type: "CUSTOMER_MANAGED", # accepts CUSTOMER_MANAGED, SERVICE_MANAGED
1426
+ # remove_network_access_configuration: false,
1369
1427
  # remove_vpc_configuration: false,
1370
1428
  # stack_set_name: "StackSetName",
1371
1429
  # vpc_configuration: {
@@ -1400,6 +1458,10 @@ module Aws::ManagedGrafana
1400
1458
  # resp.workspace.license_type #=> String, one of "ENTERPRISE", "ENTERPRISE_FREE_TRIAL"
1401
1459
  # resp.workspace.modified #=> Time
1402
1460
  # resp.workspace.name #=> String
1461
+ # resp.workspace.network_access_control.prefix_list_ids #=> Array
1462
+ # resp.workspace.network_access_control.prefix_list_ids[0] #=> String
1463
+ # resp.workspace.network_access_control.vpce_ids #=> Array
1464
+ # resp.workspace.network_access_control.vpce_ids[0] #=> String
1403
1465
  # resp.workspace.notification_destinations #=> Array
1404
1466
  # resp.workspace.notification_destinations[0] #=> String, one of "SNS"
1405
1467
  # resp.workspace.organization_role_name #=> String
@@ -1431,6 +1493,11 @@ module Aws::ManagedGrafana
1431
1493
  # groups in the assertion attribute are to have the `Admin` and `Editor`
1432
1494
  # roles in the workspace.
1433
1495
  #
1496
+ # <note markdown="1"> Changes to the authentication method for a workspace may take a few
1497
+ # minutes to take effect.
1498
+ #
1499
+ # </note>
1500
+ #
1434
1501
  # @option params [required, Array<String>] :authentication_providers
1435
1502
  # Specifies whether this workspace uses SAML 2.0, IAM Identity Center
1436
1503
  # (successor to Single Sign-On), or both to authenticate users for using
@@ -1561,7 +1628,7 @@ module Aws::ManagedGrafana
1561
1628
  params: params,
1562
1629
  config: config)
1563
1630
  context[:gem_name] = 'aws-sdk-managedgrafana'
1564
- context[:gem_version] = '1.11.0'
1631
+ context[:gem_version] = '1.13.0'
1565
1632
  Seahorse::Client::Request.new(handlers, context)
1566
1633
  end
1567
1634
 
@@ -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
@@ -292,22 +304,23 @@ module Aws::ManagedGrafana
292
304
  # @return [String]
293
305
  #
294
306
  # @!attribute [rw] permission_type
295
- # If you specify `SERVICE_MANAGED` on AWS Grafana console, Amazon
296
- # Managed Grafana automatically creates the IAM roles and provisions
297
- # the permissions that the workspace needs to use Amazon Web Services
298
- # data sources and notification channels. In the CLI mode, the
299
- # permissionType `SERVICE_MANAGED` will not create the IAM role for
300
- # you. The ability for the Amazon Managed Grafana to create the IAM
301
- # role on behalf of the user is supported only in the Amazon Managed
302
- # Grafana AWS console. Use only the `CUSTOMER_MANAGED` permission type
303
- # when creating a workspace in the CLI.
304
- #
305
- # If you specify `CUSTOMER_MANAGED`, you will manage those roles and
306
- # permissions yourself. If you are creating this workspace in a member
307
- # account of an organization that is not a delegated administrator
308
- # account, and you want the workspace to access data sources in other
309
- # Amazon Web Services accounts in the organization, you must choose
310
- # `CUSTOMER_MANAGED`.
307
+ # When creating a workspace through the Amazon Web Services API, CLI
308
+ # or Amazon Web Services CloudFormation, you must manage IAM roles and
309
+ # provision the permissions that the workspace needs to use Amazon Web
310
+ # Services data sources and notification channels.
311
+ #
312
+ # You must also specify a `workspaceRoleArn` for a role that you will
313
+ # manage for the workspace to use when accessing those datasources and
314
+ # notification channels.
315
+ #
316
+ # The ability for Amazon Managed Grafana to create and update IAM
317
+ # roles on behalf of the user is supported only in the Amazon Managed
318
+ # Grafana console, where this value may be set to `SERVICE_MANAGED`.
319
+ #
320
+ # <note markdown="1"> Use only the `CUSTOMER_MANAGED` permission type when creating a
321
+ # workspace with the API, CLI or Amazon Web Services CloudFormation.
322
+ #
323
+ # </note>
311
324
  #
312
325
  # For more information, see [Amazon Managed Grafana permissions and
313
326
  # policies for Amazon Web Services data sources and notification
@@ -333,16 +346,7 @@ module Aws::ManagedGrafana
333
346
  # @return [Types::VpcConfiguration]
334
347
  #
335
348
  # @!attribute [rw] workspace_data_sources
336
- # Specify the Amazon Web Services data sources that you want to be
337
- # queried in this workspace. Specifying these data sources here
338
- # enables Amazon Managed Grafana to create IAM roles and permissions
339
- # that allow Amazon Managed Grafana to read data from these sources.
340
- # You must still add them as data sources in the Grafana console in
341
- # the workspace.
342
- #
343
- # If you don't specify a data source here, you can still add it as a
344
- # data source in the workspace console later. However, you will then
345
- # have to manually configure permissions for it.
349
+ # This parameter is for internal use only, and should not be used.
346
350
  # @return [Array<String>]
347
351
  #
348
352
  # @!attribute [rw] workspace_description
@@ -370,10 +374,11 @@ module Aws::ManagedGrafana
370
374
  # @return [Array<String>]
371
375
  #
372
376
  # @!attribute [rw] workspace_role_arn
373
- # The workspace needs an IAM role that grants permissions to the
374
- # Amazon Web Services resources that the workspace will view data
375
- # from. If you already have a role that you want to use, specify it
376
- # here. The permission type should be set to `CUSTOMER_MANAGED`.
377
+ # Specified the IAM role that grants permissions to the Amazon Web
378
+ # Services resources that the workspace will view data from, including
379
+ # both data sources and notification channels. You are responsible for
380
+ # managing the permissions for this role as new data sources or
381
+ # notification channels are added.
377
382
  # @return [String]
378
383
  #
379
384
  # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/CreateWorkspaceRequest AWS API Documentation
@@ -383,6 +388,7 @@ module Aws::ManagedGrafana
383
388
  :authentication_providers,
384
389
  :client_token,
385
390
  :configuration,
391
+ :network_access_control,
386
392
  :organization_role_name,
387
393
  :permission_type,
388
394
  :stack_set_name,
@@ -750,6 +756,69 @@ module Aws::ManagedGrafana
750
756
  include Aws::Structure
751
757
  end
752
758
 
759
+ # The configuration settings for in-bound network access to your
760
+ # workspace.
761
+ #
762
+ # When this is configured, only listed IP addresses and VPC endpoints
763
+ # will be able to access your workspace. Standard Grafana authentication
764
+ # and authorization will still be required.
765
+ #
766
+ # If this is not configured, or is removed, then all IP addresses and
767
+ # VPC endpoints will be allowed. Standard Grafana authentication and
768
+ # authorization will still be required.
769
+ #
770
+ # @!attribute [rw] prefix_list_ids
771
+ # An array of prefix list IDs. A prefix list is a list of CIDR ranges
772
+ # of IP addresses. The IP addresses specified are allowed to access
773
+ # your workspace. If the list is not included in the configuration
774
+ # then no IP addresses will be allowed to access the workspace. You
775
+ # create a prefix list using the Amazon VPC console.
776
+ #
777
+ # Prefix list IDs have the format `pl-1a2b3c4d `.
778
+ #
779
+ # For more information about prefix lists, see [Group CIDR blocks
780
+ # using managed prefix lists][1]in the *Amazon Virtual Private Cloud
781
+ # User Guide*.
782
+ #
783
+ #
784
+ #
785
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html
786
+ # @return [Array<String>]
787
+ #
788
+ # @!attribute [rw] vpce_ids
789
+ # An array of Amazon VPC endpoint IDs for the workspace. You can
790
+ # create VPC endpoints to your Amazon Managed Grafana workspace for
791
+ # access from within a VPC. If a `NetworkAccessConfiguration` is
792
+ # specified then only VPC endpoints specified here will be allowed to
793
+ # access the workspace.
794
+ #
795
+ # VPC endpoint IDs have the format `vpce-1a2b3c4d `.
796
+ #
797
+ # For more information about creating an interface VPC endpoint, see
798
+ # [Interface VPC endpoints][1] in the *Amazon Managed Grafana User
799
+ # Guide*.
800
+ #
801
+ # <note markdown="1"> The only VPC endpoints that can be specified here are interface VPC
802
+ # endpoints for Grafana workspaces (using the
803
+ # `com.amazonaws.[region].grafana-workspace` service endpoint). Other
804
+ # VPC endpoints will be ignored.
805
+ #
806
+ # </note>
807
+ #
808
+ #
809
+ #
810
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/VPC-endpoints
811
+ # @return [Array<String>]
812
+ #
813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/NetworkAccessConfiguration AWS API Documentation
814
+ #
815
+ class NetworkAccessConfiguration < Struct.new(
816
+ :prefix_list_ids,
817
+ :vpce_ids)
818
+ SENSITIVE = []
819
+ include Aws::Structure
820
+ end
821
+
753
822
  # A structure containing the identity of one user or group and the
754
823
  # `Admin`, `Editor`, or `Viewer` role that they have.
755
824
  #
@@ -1162,33 +1231,71 @@ module Aws::ManagedGrafana
1162
1231
  # `workspaceOrganizationalUnits` parameter.
1163
1232
  # @return [String]
1164
1233
  #
1234
+ # @!attribute [rw] network_access_control
1235
+ # The configuration settings for network access to your workspace.
1236
+ #
1237
+ # When this is configured, only listed IP addresses and VPC endpoints
1238
+ # will be able to access your workspace. Standard Grafana
1239
+ # authentication and authorization will still be required.
1240
+ #
1241
+ # If this is not configured, or is removed, then all IP addresses and
1242
+ # VPC endpoints will be allowed. Standard Grafana authentication and
1243
+ # authorization will still be required.
1244
+ # @return [Types::NetworkAccessConfiguration]
1245
+ #
1165
1246
  # @!attribute [rw] organization_role_name
1166
1247
  # The name of an IAM role that already exists to use to access
1167
- # resources through Organizations.
1248
+ # resources through Organizations. This can only be used with a
1249
+ # workspace that has the `permissionType` set to `CUSTOMER_MANAGED`.
1168
1250
  # @return [String]
1169
1251
  #
1170
1252
  # @!attribute [rw] permission_type
1171
- # If you specify `Service Managed`, Amazon Managed Grafana
1172
- # automatically creates the IAM roles and provisions the permissions
1173
- # that the workspace needs to use Amazon Web Services data sources and
1174
- # notification channels.
1253
+ # Use this parameter if you want to change a workspace from
1254
+ # `SERVICE_MANAGED` to `CUSTOMER_MANAGED`. This allows you to manage
1255
+ # the permissions that the workspace uses to access datasources and
1256
+ # notification channels. If the workspace is in a member Amazon Web
1257
+ # Services account of an organization, and that account is not a
1258
+ # delegated administrator account, and you want the workspace to
1259
+ # access data sources in other Amazon Web Services accounts in the
1260
+ # organization, you must choose `CUSTOMER_MANAGED`.
1175
1261
  #
1176
- # If you specify `CUSTOMER_MANAGED`, you will manage those roles and
1177
- # permissions yourself. If you are creating this workspace in a member
1178
- # account of an organization and that account is not a delegated
1179
- # administrator account, and you want the workspace to access data
1180
- # sources in other Amazon Web Services accounts in the organization,
1181
- # you must choose `CUSTOMER_MANAGED`.
1262
+ # If you specify this as `CUSTOMER_MANAGED`, you must also specify a
1263
+ # `workspaceRoleArn` that the workspace will use for accessing Amazon
1264
+ # Web Services resources.
1182
1265
  #
1183
- # For more information, see [Amazon Managed Grafana permissions and
1184
- # policies for Amazon Web Services data sources and notification
1185
- # channels][1]
1266
+ # For more information on the role and permissions needed, see [Amazon
1267
+ # Managed Grafana permissions and policies for Amazon Web Services
1268
+ # data sources and notification channels][1]
1269
+ #
1270
+ # <note markdown="1"> Do not use this to convert a `CUSTOMER_MANAGED` workspace to
1271
+ # `SERVICE_MANAGED`. Do not include this parameter if you want to
1272
+ # leave the workspace as `SERVICE_MANAGED`.
1273
+ #
1274
+ # You can convert a `CUSTOMER_MANAGED` workspace to `SERVICE_MANAGED`
1275
+ # using the Amazon Managed Grafana console. For more information, see
1276
+ # [Managing permissions for data sources and notification
1277
+ # channels][2].
1278
+ #
1279
+ # </note>
1186
1280
  #
1187
1281
  #
1188
1282
  #
1189
1283
  # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1284
+ # [2]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-datasource-and-notification.html
1190
1285
  # @return [String]
1191
1286
  #
1287
+ # @!attribute [rw] remove_network_access_configuration
1288
+ # Whether to remove the network access configuration from the
1289
+ # workspace.
1290
+ #
1291
+ # Setting this to `true` and providing a `networkAccessControl` to set
1292
+ # will return an error.
1293
+ #
1294
+ # If you remove this configuration by setting this to `true`, then all
1295
+ # IP addresses and VPC endpoints will be allowed. Standard Grafana
1296
+ # authentication and authorization will still be required.
1297
+ # @return [Boolean]
1298
+ #
1192
1299
  # @!attribute [rw] remove_vpc_configuration
1193
1300
  # Whether to remove the VPC configuration from the workspace.
1194
1301
  #
@@ -1207,16 +1314,7 @@ module Aws::ManagedGrafana
1207
1314
  # @return [Types::VpcConfiguration]
1208
1315
  #
1209
1316
  # @!attribute [rw] workspace_data_sources
1210
- # Specify the Amazon Web Services data sources that you want to be
1211
- # queried in this workspace. Specifying these data sources here
1212
- # enables Amazon Managed Grafana to create IAM roles and permissions
1213
- # that allow Amazon Managed Grafana to read data from these sources.
1214
- # You must still add them as data sources in the Grafana console in
1215
- # the workspace.
1216
- #
1217
- # If you don't specify a data source here, you can still add it as a
1218
- # data source later in the workspace console. However, you will then
1219
- # have to manually configure permissions for it.
1317
+ # This parameter is for internal use only, and should not be used.
1220
1318
  # @return [Array<String>]
1221
1319
  #
1222
1320
  # @!attribute [rw] workspace_description
@@ -1246,21 +1344,20 @@ module Aws::ManagedGrafana
1246
1344
  # @return [Array<String>]
1247
1345
  #
1248
1346
  # @!attribute [rw] workspace_role_arn
1249
- # The workspace needs an IAM role that grants permissions to the
1250
- # Amazon Web Services resources that the workspace will view data
1251
- # from. If you already have a role that you want to use, specify it
1252
- # here. If you omit this field and you specify some Amazon Web
1253
- # Services resources in `workspaceDataSources` or
1254
- # `workspaceNotificationDestinations`, a new IAM role with the
1255
- # necessary permissions is automatically created.
1347
+ # Specifies an IAM role that grants permissions to Amazon Web Services
1348
+ # resources that the workspace accesses, such as data sources and
1349
+ # notification channels. If this workspace has `permissionType`
1350
+ # `CUSTOMER_MANAGED`, then this role is required.
1256
1351
  # @return [String]
1257
1352
  #
1258
1353
  # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdateWorkspaceRequest AWS API Documentation
1259
1354
  #
1260
1355
  class UpdateWorkspaceRequest < Struct.new(
1261
1356
  :account_access_type,
1357
+ :network_access_control,
1262
1358
  :organization_role_name,
1263
1359
  :permission_type,
1360
+ :remove_network_access_configuration,
1264
1361
  :remove_vpc_configuration,
1265
1362
  :stack_set_name,
1266
1363
  :vpc_configuration,
@@ -1356,14 +1453,19 @@ module Aws::ManagedGrafana
1356
1453
  # The configuration settings for an Amazon VPC that contains data
1357
1454
  # sources for your Grafana workspace to connect to.
1358
1455
  #
1456
+ # <note markdown="1"> Provided `securityGroupIds` and `subnetIds` must be part of the same
1457
+ # VPC.
1458
+ #
1459
+ # </note>
1460
+ #
1359
1461
  # @!attribute [rw] security_group_ids
1360
1462
  # The list of Amazon EC2 security group IDs attached to the Amazon VPC
1361
- # for your Grafana workspace to connect.
1463
+ # for your Grafana workspace to connect. Duplicates not allowed.
1362
1464
  # @return [Array<String>]
1363
1465
  #
1364
1466
  # @!attribute [rw] subnet_ids
1365
1467
  # The list of Amazon EC2 subnet IDs created in the Amazon VPC for your
1366
- # Grafana workspace to connect.
1468
+ # Grafana workspace to connect. Duplicates not allowed.
1367
1469
  # @return [Array<String>]
1368
1470
  #
1369
1471
  # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/VpcConfiguration AWS API Documentation
@@ -1400,6 +1502,10 @@ module Aws::ManagedGrafana
1400
1502
  # Specifies the Amazon Web Services data sources that have been
1401
1503
  # configured to have IAM roles and permissions created to allow Amazon
1402
1504
  # Managed Grafana to read data from these sources.
1505
+ #
1506
+ # This list is only used when the workspace was created through the
1507
+ # Amazon Web Services console, and the `permissionType` is
1508
+ # `SERVICE_MANAGED`.
1403
1509
  # @return [Array<String>]
1404
1510
  #
1405
1511
  # @!attribute [rw] description
@@ -1447,6 +1553,10 @@ module Aws::ManagedGrafana
1447
1553
  # The name of the workspace.
1448
1554
  # @return [String]
1449
1555
  #
1556
+ # @!attribute [rw] network_access_control
1557
+ # The configuration settings for network access to your workspace.
1558
+ # @return [Types::NetworkAccessConfiguration]
1559
+ #
1450
1560
  # @!attribute [rw] notification_destinations
1451
1561
  # The Amazon Web Services notification channels that Amazon Managed
1452
1562
  # Grafana can automatically create IAM roles and permissions for, to
@@ -1465,25 +1575,32 @@ module Aws::ManagedGrafana
1465
1575
  # @return [Array<String>]
1466
1576
  #
1467
1577
  # @!attribute [rw] permission_type
1468
- # If this is `Service Managed`, Amazon Managed Grafana automatically
1469
- # creates the IAM roles and provisions the permissions that the
1470
- # workspace needs to use Amazon Web Services data sources and
1578
+ # If this is `SERVICE_MANAGED`, and the workplace was created through
1579
+ # the Amazon Managed Grafana console, then Amazon Managed Grafana
1580
+ # automatically creates the IAM roles and provisions the permissions
1581
+ # that the workspace needs to use Amazon Web Services data sources and
1471
1582
  # notification channels.
1472
1583
  #
1473
- # If this is `CUSTOMER_MANAGED`, you manage those roles and
1474
- # permissions yourself. If you are creating this workspace in a member
1475
- # account of an organization and that account is not a delegated
1476
- # administrator account, and you want the workspace to access data
1477
- # sources in other Amazon Web Services accounts in the organization,
1478
- # you must choose `CUSTOMER_MANAGED`.
1584
+ # If this is `CUSTOMER_MANAGED`, you must manage those roles and
1585
+ # permissions yourself.
1479
1586
  #
1480
- # For more information, see [Amazon Managed Grafana permissions and
1481
- # policies for Amazon Web Services data sources and notification
1482
- # channels][1]
1587
+ # If you are working with a workspace in a member account of an
1588
+ # organization and that account is not a delegated administrator
1589
+ # account, and you want the workspace to access data sources in other
1590
+ # Amazon Web Services accounts in the organization, this parameter
1591
+ # must be set to `CUSTOMER_MANAGED`.
1483
1592
  #
1593
+ # For more information about converting between customer and service
1594
+ # managed, see [Managing permissions for data sources and notification
1595
+ # channels][1]. For more information about the roles and permissions
1596
+ # that must be managed for customer managed workspaces, see [Amazon
1597
+ # Managed Grafana permissions and policies for Amazon Web Services
1598
+ # data sources and notification channels][2]
1484
1599
  #
1485
1600
  #
1486
- # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1601
+ #
1602
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-datasource-and-notification.html
1603
+ # [2]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1487
1604
  # @return [String]
1488
1605
  #
1489
1606
  # @!attribute [rw] stack_set_name
@@ -1527,6 +1644,7 @@ module Aws::ManagedGrafana
1527
1644
  :license_type,
1528
1645
  :modified,
1529
1646
  :name,
1647
+ :network_access_control,
1530
1648
  :notification_destinations,
1531
1649
  :organization_role_name,
1532
1650
  :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.13.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.13.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-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core