aws-sdk-managedgrafana 1.0.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.
@@ -0,0 +1,1524 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::ManagedGrafana
11
+ module Types
12
+
13
+ # You do not have sufficient permissions to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # A structure that defines which attributes in the IdP assertion are to
27
+ # be used to define information about the users authenticated by the IdP
28
+ # to use the workspace.
29
+ #
30
+ # @note When making an API call, you may pass AssertionAttributes
31
+ # data as a hash:
32
+ #
33
+ # {
34
+ # email: "AssertionAttribute",
35
+ # groups: "AssertionAttribute",
36
+ # login: "AssertionAttribute",
37
+ # name: "AssertionAttribute",
38
+ # org: "AssertionAttribute",
39
+ # role: "AssertionAttribute",
40
+ # }
41
+ #
42
+ # @!attribute [rw] email
43
+ # The name of the attribute within the SAML assertion to use as the
44
+ # email names for SAML users.
45
+ # @return [String]
46
+ #
47
+ # @!attribute [rw] groups
48
+ # The name of the attribute within the SAML assertion to use as the
49
+ # user full "friendly" names for user groups.
50
+ # @return [String]
51
+ #
52
+ # @!attribute [rw] login
53
+ # The name of the attribute within the SAML assertion to use as the
54
+ # login names for SAML users.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] name
58
+ # The name of the attribute within the SAML assertion to use as the
59
+ # user full "friendly" names for SAML users.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] org
63
+ # The name of the attribute within the SAML assertion to use as the
64
+ # user full "friendly" names for the users' organizations.
65
+ # @return [String]
66
+ #
67
+ # @!attribute [rw] role
68
+ # The name of the attribute within the SAML assertion to use as the
69
+ # user roles.
70
+ # @return [String]
71
+ #
72
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/AssertionAttributes AWS API Documentation
73
+ #
74
+ class AssertionAttributes < Struct.new(
75
+ :email,
76
+ :groups,
77
+ :login,
78
+ :name,
79
+ :org,
80
+ :role)
81
+ SENSITIVE = []
82
+ include Aws::Structure
83
+ end
84
+
85
+ # @note When making an API call, you may pass AssociateLicenseRequest
86
+ # data as a hash:
87
+ #
88
+ # {
89
+ # license_type: "ENTERPRISE", # required, accepts ENTERPRISE, ENTERPRISE_FREE_TRIAL
90
+ # workspace_id: "WorkspaceId", # required
91
+ # }
92
+ #
93
+ # @!attribute [rw] license_type
94
+ # The type of license to associate with the workspace.
95
+ # @return [String]
96
+ #
97
+ # @!attribute [rw] workspace_id
98
+ # The ID of the workspace to associate the license with.
99
+ # @return [String]
100
+ #
101
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/AssociateLicenseRequest AWS API Documentation
102
+ #
103
+ class AssociateLicenseRequest < Struct.new(
104
+ :license_type,
105
+ :workspace_id)
106
+ SENSITIVE = []
107
+ include Aws::Structure
108
+ end
109
+
110
+ # @!attribute [rw] workspace
111
+ # A structure containing data about the workspace.
112
+ # @return [Types::WorkspaceDescription]
113
+ #
114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/AssociateLicenseResponse AWS API Documentation
115
+ #
116
+ class AssociateLicenseResponse < Struct.new(
117
+ :workspace)
118
+ SENSITIVE = []
119
+ include Aws::Structure
120
+ end
121
+
122
+ # A structure containing information about the user authentication
123
+ # methods used by the workspace.
124
+ #
125
+ # @!attribute [rw] aws_sso
126
+ # A structure containing information about how this workspace works
127
+ # with Amazon Web Services SSO.
128
+ # @return [Types::AwsSsoAuthentication]
129
+ #
130
+ # @!attribute [rw] providers
131
+ # Specifies whether this workspace uses Amazon Web Services SSO, SAML,
132
+ # or both methods to authenticate users to use the Grafana console in
133
+ # the Amazon Managed Grafana workspace.
134
+ # @return [Array<String>]
135
+ #
136
+ # @!attribute [rw] saml
137
+ # A structure containing information about how this workspace works
138
+ # with SAML, including what attributes within the assertion are to be
139
+ # mapped to user information in the workspace.
140
+ # @return [Types::SamlAuthentication]
141
+ #
142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/AuthenticationDescription AWS API Documentation
143
+ #
144
+ class AuthenticationDescription < Struct.new(
145
+ :aws_sso,
146
+ :providers,
147
+ :saml)
148
+ SENSITIVE = []
149
+ include Aws::Structure
150
+ end
151
+
152
+ # A structure that describes whether the workspace uses SAML, Amazon Web
153
+ # Services SSO, or both methods for user authentication, and whether
154
+ # that authentication is fully configured.
155
+ #
156
+ # @!attribute [rw] providers
157
+ # Specifies whether the workspace uses SAML, Amazon Web Services SSO,
158
+ # or both methods for user authentication.
159
+ # @return [Array<String>]
160
+ #
161
+ # @!attribute [rw] saml_configuration_status
162
+ # Specifies whether the workplace's user authentication method is
163
+ # fully configured.
164
+ # @return [String]
165
+ #
166
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/AuthenticationSummary AWS API Documentation
167
+ #
168
+ class AuthenticationSummary < Struct.new(
169
+ :providers,
170
+ :saml_configuration_status)
171
+ SENSITIVE = []
172
+ include Aws::Structure
173
+ end
174
+
175
+ # A structure containing information about how this workspace works with
176
+ # Amazon Web Services SSO.
177
+ #
178
+ # @!attribute [rw] sso_client_id
179
+ # The ID of the Amazon Web Services SSO-managed application that is
180
+ # created by Amazon Managed Grafana.
181
+ # @return [String]
182
+ #
183
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/AwsSsoAuthentication AWS API Documentation
184
+ #
185
+ class AwsSsoAuthentication < Struct.new(
186
+ :sso_client_id)
187
+ SENSITIVE = []
188
+ include Aws::Structure
189
+ end
190
+
191
+ # A resource was in an inconsistent state during an update or a
192
+ # deletion.
193
+ #
194
+ # @!attribute [rw] message
195
+ # A description of the error.
196
+ # @return [String]
197
+ #
198
+ # @!attribute [rw] resource_id
199
+ # The ID of the resource that is associated with the error.
200
+ # @return [String]
201
+ #
202
+ # @!attribute [rw] resource_type
203
+ # The type of the resource that is associated with the error.
204
+ # @return [String]
205
+ #
206
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ConflictException AWS API Documentation
207
+ #
208
+ class ConflictException < Struct.new(
209
+ :message,
210
+ :resource_id,
211
+ :resource_type)
212
+ SENSITIVE = []
213
+ include Aws::Structure
214
+ end
215
+
216
+ # @note When making an API call, you may pass CreateWorkspaceRequest
217
+ # data as a hash:
218
+ #
219
+ # {
220
+ # account_access_type: "CURRENT_ACCOUNT", # required, accepts CURRENT_ACCOUNT, ORGANIZATION
221
+ # authentication_providers: ["AWS_SSO"], # required, accepts AWS_SSO, SAML
222
+ # client_token: "ClientToken",
223
+ # organization_role_name: "OrganizationRoleName",
224
+ # permission_type: "CUSTOMER_MANAGED", # required, accepts CUSTOMER_MANAGED, SERVICE_MANAGED
225
+ # stack_set_name: "StackSetName",
226
+ # workspace_data_sources: ["AMAZON_OPENSEARCH_SERVICE"], # accepts AMAZON_OPENSEARCH_SERVICE, CLOUDWATCH, PROMETHEUS, XRAY, TIMESTREAM, SITEWISE
227
+ # workspace_description: "Description",
228
+ # workspace_name: "WorkspaceName",
229
+ # workspace_notification_destinations: ["SNS"], # accepts SNS
230
+ # workspace_organizational_units: ["OrganizationalUnit"],
231
+ # workspace_role_arn: "IamRoleArn",
232
+ # }
233
+ #
234
+ # @!attribute [rw] account_access_type
235
+ # Specifies whether the workspace can access Amazon Web Services
236
+ # resources in this Amazon Web Services account only, or whether it
237
+ # can also access Amazon Web Services resources in other accounts in
238
+ # the same organization. If you specify `ORGANIZATION`, you must
239
+ # specify which organizational units the workspace can access in the
240
+ # `workspaceOrganizationalUnits` parameter.
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] authentication_providers
244
+ # Specifies whether this workspace uses SAML 2.0, Amazon Web Services
245
+ # Single Sign On, or both to authenticate users for using the Grafana
246
+ # console within a workspace. For more information, see [User
247
+ # authentication in Amazon Managed Grafana][1].
248
+ #
249
+ #
250
+ #
251
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/authentication-in-AMG.html
252
+ # @return [Array<String>]
253
+ #
254
+ # @!attribute [rw] client_token
255
+ # A unique, case-sensitive, user-provided identifier to ensure the
256
+ # idempotency of the request.
257
+ #
258
+ # **A suitable default value is auto-generated.** You should normally
259
+ # not need to pass this option.
260
+ # @return [String]
261
+ #
262
+ # @!attribute [rw] organization_role_name
263
+ # The name of an IAM role that already exists to use with
264
+ # Organizations to access Amazon Web Services data sources and
265
+ # notification channels in other accounts in an organization.
266
+ # @return [String]
267
+ #
268
+ # @!attribute [rw] permission_type
269
+ # If you specify `Service Managed`, Amazon Managed Grafana
270
+ # automatically creates the IAM roles and provisions the permissions
271
+ # that the workspace needs to use Amazon Web Services data sources and
272
+ # notification channels.
273
+ #
274
+ # If you specify `CUSTOMER_MANAGED`, you will manage those roles and
275
+ # permissions yourself. If you are creating this workspace in a member
276
+ # account of an organization that is not a delegated administrator
277
+ # account, and you want the workspace to access data sources in other
278
+ # Amazon Web Services accounts in the organization, you must choose
279
+ # `CUSTOMER_MANAGED`.
280
+ #
281
+ # For more information, see [Amazon Managed Grafana permissions and
282
+ # policies for Amazon Web Services data sources and notification
283
+ # channels][1]
284
+ #
285
+ #
286
+ #
287
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] stack_set_name
291
+ # The name of the CloudFormation stack set to use to generate IAM
292
+ # roles to be used for this workspace.
293
+ # @return [String]
294
+ #
295
+ # @!attribute [rw] workspace_data_sources
296
+ # Specify the Amazon Web Services data sources that you want to be
297
+ # queried in this workspace. Specifying these data sources here
298
+ # enables Amazon Managed Grafana to create IAM roles and permissions
299
+ # that allow Amazon Managed Grafana to read data from these sources.
300
+ # You must still add them as data sources in the Grafana console in
301
+ # the workspace.
302
+ #
303
+ # If you don't specify a data source here, you can still add it as a
304
+ # data source in the workspace console later. However, you will then
305
+ # have to manually configure permissions for it.
306
+ # @return [Array<String>]
307
+ #
308
+ # @!attribute [rw] workspace_description
309
+ # A description for the workspace. This is used only to help you
310
+ # identify this workspace.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] workspace_name
314
+ # The name for the workspace. It does not have to be unique.
315
+ # @return [String]
316
+ #
317
+ # @!attribute [rw] workspace_notification_destinations
318
+ # Specify the Amazon Web Services notification channels that you plan
319
+ # to use in this workspace. Specifying these data sources here enables
320
+ # Amazon Managed Grafana to create IAM roles and permissions that
321
+ # allow Amazon Managed Grafana to use these channels.
322
+ # @return [Array<String>]
323
+ #
324
+ # @!attribute [rw] workspace_organizational_units
325
+ # Specifies the organizational units that this workspace is allowed to
326
+ # use data sources from, if this workspace is in an account that is
327
+ # part of an organization.
328
+ # @return [Array<String>]
329
+ #
330
+ # @!attribute [rw] workspace_role_arn
331
+ # The workspace needs an IAM role that grants permissions to the
332
+ # Amazon Web Services resources that the workspace will view data
333
+ # from. If you already have a role that you want to use, specify it
334
+ # here. If you omit this field and you specify some Amazon Web
335
+ # Services resources in `workspaceDataSources` or
336
+ # `workspaceNotificationDestinations`, a new IAM role with the
337
+ # necessary permissions is automatically created.
338
+ # @return [String]
339
+ #
340
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/CreateWorkspaceRequest AWS API Documentation
341
+ #
342
+ class CreateWorkspaceRequest < Struct.new(
343
+ :account_access_type,
344
+ :authentication_providers,
345
+ :client_token,
346
+ :organization_role_name,
347
+ :permission_type,
348
+ :stack_set_name,
349
+ :workspace_data_sources,
350
+ :workspace_description,
351
+ :workspace_name,
352
+ :workspace_notification_destinations,
353
+ :workspace_organizational_units,
354
+ :workspace_role_arn)
355
+ SENSITIVE = [:organization_role_name, :workspace_description, :workspace_name, :workspace_organizational_units, :workspace_role_arn]
356
+ include Aws::Structure
357
+ end
358
+
359
+ # @!attribute [rw] workspace
360
+ # A structure containing data about the workspace that was created.
361
+ # @return [Types::WorkspaceDescription]
362
+ #
363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/CreateWorkspaceResponse AWS API Documentation
364
+ #
365
+ class CreateWorkspaceResponse < Struct.new(
366
+ :workspace)
367
+ SENSITIVE = []
368
+ include Aws::Structure
369
+ end
370
+
371
+ # @note When making an API call, you may pass DeleteWorkspaceRequest
372
+ # data as a hash:
373
+ #
374
+ # {
375
+ # workspace_id: "WorkspaceId", # required
376
+ # }
377
+ #
378
+ # @!attribute [rw] workspace_id
379
+ # The ID of the workspace to delete.
380
+ # @return [String]
381
+ #
382
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DeleteWorkspaceRequest AWS API Documentation
383
+ #
384
+ class DeleteWorkspaceRequest < Struct.new(
385
+ :workspace_id)
386
+ SENSITIVE = []
387
+ include Aws::Structure
388
+ end
389
+
390
+ # @!attribute [rw] workspace
391
+ # A structure containing information about the workspace that was
392
+ # deleted.
393
+ # @return [Types::WorkspaceDescription]
394
+ #
395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DeleteWorkspaceResponse AWS API Documentation
396
+ #
397
+ class DeleteWorkspaceResponse < Struct.new(
398
+ :workspace)
399
+ SENSITIVE = []
400
+ include Aws::Structure
401
+ end
402
+
403
+ # @note When making an API call, you may pass DescribeWorkspaceAuthenticationRequest
404
+ # data as a hash:
405
+ #
406
+ # {
407
+ # workspace_id: "WorkspaceId", # required
408
+ # }
409
+ #
410
+ # @!attribute [rw] workspace_id
411
+ # The ID of the workspace to return authentication information about.
412
+ # @return [String]
413
+ #
414
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DescribeWorkspaceAuthenticationRequest AWS API Documentation
415
+ #
416
+ class DescribeWorkspaceAuthenticationRequest < Struct.new(
417
+ :workspace_id)
418
+ SENSITIVE = []
419
+ include Aws::Structure
420
+ end
421
+
422
+ # @!attribute [rw] authentication
423
+ # A structure containing information about the authentication methods
424
+ # used in the workspace.
425
+ # @return [Types::AuthenticationDescription]
426
+ #
427
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DescribeWorkspaceAuthenticationResponse AWS API Documentation
428
+ #
429
+ class DescribeWorkspaceAuthenticationResponse < Struct.new(
430
+ :authentication)
431
+ SENSITIVE = []
432
+ include Aws::Structure
433
+ end
434
+
435
+ # @note When making an API call, you may pass DescribeWorkspaceRequest
436
+ # data as a hash:
437
+ #
438
+ # {
439
+ # workspace_id: "WorkspaceId", # required
440
+ # }
441
+ #
442
+ # @!attribute [rw] workspace_id
443
+ # The ID of the workspace to display information about.
444
+ # @return [String]
445
+ #
446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DescribeWorkspaceRequest AWS API Documentation
447
+ #
448
+ class DescribeWorkspaceRequest < Struct.new(
449
+ :workspace_id)
450
+ SENSITIVE = []
451
+ include Aws::Structure
452
+ end
453
+
454
+ # @!attribute [rw] workspace
455
+ # A structure containing information about the workspace.
456
+ # @return [Types::WorkspaceDescription]
457
+ #
458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DescribeWorkspaceResponse AWS API Documentation
459
+ #
460
+ class DescribeWorkspaceResponse < Struct.new(
461
+ :workspace)
462
+ SENSITIVE = []
463
+ include Aws::Structure
464
+ end
465
+
466
+ # @note When making an API call, you may pass DisassociateLicenseRequest
467
+ # data as a hash:
468
+ #
469
+ # {
470
+ # license_type: "ENTERPRISE", # required, accepts ENTERPRISE, ENTERPRISE_FREE_TRIAL
471
+ # workspace_id: "WorkspaceId", # required
472
+ # }
473
+ #
474
+ # @!attribute [rw] license_type
475
+ # The type of license to remove from the workspace.
476
+ # @return [String]
477
+ #
478
+ # @!attribute [rw] workspace_id
479
+ # The ID of the workspace to remove the Grafana Enterprise license
480
+ # from.
481
+ # @return [String]
482
+ #
483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DisassociateLicenseRequest AWS API Documentation
484
+ #
485
+ class DisassociateLicenseRequest < Struct.new(
486
+ :license_type,
487
+ :workspace_id)
488
+ SENSITIVE = []
489
+ include Aws::Structure
490
+ end
491
+
492
+ # @!attribute [rw] workspace
493
+ # A structure containing information about the workspace.
494
+ # @return [Types::WorkspaceDescription]
495
+ #
496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/DisassociateLicenseResponse AWS API Documentation
497
+ #
498
+ class DisassociateLicenseResponse < Struct.new(
499
+ :workspace)
500
+ SENSITIVE = []
501
+ include Aws::Structure
502
+ end
503
+
504
+ # A structure containing the identity provider (IdP) metadata used to
505
+ # integrate the identity provider with this workspace. You can specify
506
+ # the metadata either by providing a URL to its location in the `url`
507
+ # parameter, or by specifying the full metadata in XML format in the
508
+ # `xml` parameter.
509
+ #
510
+ # @note IdpMetadata is a union - when making an API calls you must set exactly one of the members.
511
+ #
512
+ # @note IdpMetadata is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of IdpMetadata corresponding to the set member.
513
+ #
514
+ # @!attribute [rw] url
515
+ # The URL of the location containing the metadata.
516
+ # @return [String]
517
+ #
518
+ # @!attribute [rw] xml
519
+ # The actual full metadata file, in XML format.
520
+ # @return [String]
521
+ #
522
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/IdpMetadata AWS API Documentation
523
+ #
524
+ class IdpMetadata < Struct.new(
525
+ :url,
526
+ :xml,
527
+ :unknown)
528
+ SENSITIVE = []
529
+ include Aws::Structure
530
+ include Aws::Structure::Union
531
+
532
+ class Url < IdpMetadata; end
533
+ class Xml < IdpMetadata; end
534
+ class Unknown < IdpMetadata; end
535
+ end
536
+
537
+ # Unexpected error while processing the request. Retry the request.
538
+ #
539
+ # @!attribute [rw] message
540
+ # A description of the error.
541
+ # @return [String]
542
+ #
543
+ # @!attribute [rw] retry_after_seconds
544
+ # How long to wait before you retry this operation.
545
+ # @return [Integer]
546
+ #
547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/InternalServerException AWS API Documentation
548
+ #
549
+ class InternalServerException < Struct.new(
550
+ :message,
551
+ :retry_after_seconds)
552
+ SENSITIVE = []
553
+ include Aws::Structure
554
+ end
555
+
556
+ # @note When making an API call, you may pass ListPermissionsRequest
557
+ # data as a hash:
558
+ #
559
+ # {
560
+ # group_id: "SsoId",
561
+ # max_results: 1,
562
+ # next_token: "PaginationToken",
563
+ # user_id: "SsoId",
564
+ # user_type: "SSO_USER", # accepts SSO_USER, SSO_GROUP
565
+ # workspace_id: "WorkspaceId", # required
566
+ # }
567
+ #
568
+ # @!attribute [rw] group_id
569
+ # (Optional) Limits the results to only the group that matches this
570
+ # ID.
571
+ # @return [String]
572
+ #
573
+ # @!attribute [rw] max_results
574
+ # The maximum number of results to include in the response.
575
+ # @return [Integer]
576
+ #
577
+ # @!attribute [rw] next_token
578
+ # The token to use when requesting the next set of results. You
579
+ # received this token from a previous `ListPermissions` operation.
580
+ # @return [String]
581
+ #
582
+ # @!attribute [rw] user_id
583
+ # (Optional) Limits the results to only the user that matches this ID.
584
+ # @return [String]
585
+ #
586
+ # @!attribute [rw] user_type
587
+ # (Optional) If you specify `SSO_USER`, then only the permissions of
588
+ # Amazon Web Services SSO users are returned. If you specify
589
+ # `SSO_GROUP`, only the permissions of Amazon Web Services SSO groups
590
+ # are returned.
591
+ # @return [String]
592
+ #
593
+ # @!attribute [rw] workspace_id
594
+ # The ID of the workspace to list permissions for. This parameter is
595
+ # required.
596
+ # @return [String]
597
+ #
598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ListPermissionsRequest AWS API Documentation
599
+ #
600
+ class ListPermissionsRequest < Struct.new(
601
+ :group_id,
602
+ :max_results,
603
+ :next_token,
604
+ :user_id,
605
+ :user_type,
606
+ :workspace_id)
607
+ SENSITIVE = []
608
+ include Aws::Structure
609
+ end
610
+
611
+ # @!attribute [rw] next_token
612
+ # The token to use in a subsequent `ListPermissions` operation to
613
+ # return the next set of results.
614
+ # @return [String]
615
+ #
616
+ # @!attribute [rw] permissions
617
+ # The permissions returned by the operation.
618
+ # @return [Array<Types::PermissionEntry>]
619
+ #
620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ListPermissionsResponse AWS API Documentation
621
+ #
622
+ class ListPermissionsResponse < Struct.new(
623
+ :next_token,
624
+ :permissions)
625
+ SENSITIVE = []
626
+ include Aws::Structure
627
+ end
628
+
629
+ # @note When making an API call, you may pass ListWorkspacesRequest
630
+ # data as a hash:
631
+ #
632
+ # {
633
+ # max_results: 1,
634
+ # next_token: "PaginationToken",
635
+ # }
636
+ #
637
+ # @!attribute [rw] max_results
638
+ # The maximum number of workspaces to include in the results.
639
+ # @return [Integer]
640
+ #
641
+ # @!attribute [rw] next_token
642
+ # The token for the next set of workspaces to return. (You receive
643
+ # this token from a previous `ListWorkspaces` operation.)
644
+ # @return [String]
645
+ #
646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ListWorkspacesRequest AWS API Documentation
647
+ #
648
+ class ListWorkspacesRequest < Struct.new(
649
+ :max_results,
650
+ :next_token)
651
+ SENSITIVE = []
652
+ include Aws::Structure
653
+ end
654
+
655
+ # @!attribute [rw] next_token
656
+ # The token to use when requesting the next set of workspaces.
657
+ # @return [String]
658
+ #
659
+ # @!attribute [rw] workspaces
660
+ # An array of structures that contain some information about the
661
+ # workspaces in the account.
662
+ # @return [Array<Types::WorkspaceSummary>]
663
+ #
664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ListWorkspacesResponse AWS API Documentation
665
+ #
666
+ class ListWorkspacesResponse < Struct.new(
667
+ :next_token,
668
+ :workspaces)
669
+ SENSITIVE = []
670
+ include Aws::Structure
671
+ end
672
+
673
+ # A structure containing the identity of one user or group and the
674
+ # `Admin` or `Editor` role that they have.
675
+ #
676
+ # @!attribute [rw] role
677
+ # Specifies whether the user or group has the `Admin` or `Editor`
678
+ # role.
679
+ # @return [String]
680
+ #
681
+ # @!attribute [rw] user
682
+ # A structure with the ID of the user or group with this role.
683
+ # @return [Types::User]
684
+ #
685
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/PermissionEntry AWS API Documentation
686
+ #
687
+ class PermissionEntry < Struct.new(
688
+ :role,
689
+ :user)
690
+ SENSITIVE = []
691
+ include Aws::Structure
692
+ end
693
+
694
+ # The request references a resource that does not exist.
695
+ #
696
+ # @!attribute [rw] message
697
+ # The value of a parameter in the request caused an error.
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] resource_id
701
+ # The ID of the resource that is associated with the error.
702
+ # @return [String]
703
+ #
704
+ # @!attribute [rw] resource_type
705
+ # The type of the resource that is associated with the error.
706
+ # @return [String]
707
+ #
708
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ResourceNotFoundException AWS API Documentation
709
+ #
710
+ class ResourceNotFoundException < Struct.new(
711
+ :message,
712
+ :resource_id,
713
+ :resource_type)
714
+ SENSITIVE = []
715
+ include Aws::Structure
716
+ end
717
+
718
+ # This structure defines which groups defined in the SAML assertion
719
+ # attribute are to be mapped to the Grafana `Admin` and `Editor` roles
720
+ # in the workspace.
721
+ #
722
+ # @note When making an API call, you may pass RoleValues
723
+ # data as a hash:
724
+ #
725
+ # {
726
+ # admin: ["RoleValue"],
727
+ # editor: ["RoleValue"],
728
+ # }
729
+ #
730
+ # @!attribute [rw] admin
731
+ # A list of groups from the SAML assertion attribute to grant the
732
+ # Grafana `Admin` role to.
733
+ # @return [Array<String>]
734
+ #
735
+ # @!attribute [rw] editor
736
+ # A list of groups from the SAML assertion attribute to grant the
737
+ # Grafana `Editor` role to.
738
+ # @return [Array<String>]
739
+ #
740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/RoleValues AWS API Documentation
741
+ #
742
+ class RoleValues < Struct.new(
743
+ :admin,
744
+ :editor)
745
+ SENSITIVE = []
746
+ include Aws::Structure
747
+ end
748
+
749
+ # A structure containing information about how this workspace works with
750
+ # SAML.
751
+ #
752
+ # @!attribute [rw] configuration
753
+ # A structure containing details about how this workspace works with
754
+ # SAML.
755
+ # @return [Types::SamlConfiguration]
756
+ #
757
+ # @!attribute [rw] status
758
+ # Specifies whether the workspace's SAML configuration is complete.
759
+ # @return [String]
760
+ #
761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/SamlAuthentication AWS API Documentation
762
+ #
763
+ class SamlAuthentication < Struct.new(
764
+ :configuration,
765
+ :status)
766
+ SENSITIVE = []
767
+ include Aws::Structure
768
+ end
769
+
770
+ # A structure containing information about how this workspace works with
771
+ # SAML.
772
+ #
773
+ # @note When making an API call, you may pass SamlConfiguration
774
+ # data as a hash:
775
+ #
776
+ # {
777
+ # allowed_organizations: ["AllowedOrganization"],
778
+ # assertion_attributes: {
779
+ # email: "AssertionAttribute",
780
+ # groups: "AssertionAttribute",
781
+ # login: "AssertionAttribute",
782
+ # name: "AssertionAttribute",
783
+ # org: "AssertionAttribute",
784
+ # role: "AssertionAttribute",
785
+ # },
786
+ # idp_metadata: { # required
787
+ # url: "IdpMetadataUrl",
788
+ # xml: "String",
789
+ # },
790
+ # login_validity_duration: 1,
791
+ # role_values: {
792
+ # admin: ["RoleValue"],
793
+ # editor: ["RoleValue"],
794
+ # },
795
+ # }
796
+ #
797
+ # @!attribute [rw] allowed_organizations
798
+ # Lists which organizations defined in the SAML assertion are allowed
799
+ # to use the Amazon Managed Grafana workspace. If this is empty, all
800
+ # organizations in the assertion attribute have access.
801
+ # @return [Array<String>]
802
+ #
803
+ # @!attribute [rw] assertion_attributes
804
+ # A structure that defines which attributes in the SAML assertion are
805
+ # to be used to define information about the users authenticated by
806
+ # that IdP to use the workspace.
807
+ # @return [Types::AssertionAttributes]
808
+ #
809
+ # @!attribute [rw] idp_metadata
810
+ # A structure containing the identity provider (IdP) metadata used to
811
+ # integrate the identity provider with this workspace.
812
+ # @return [Types::IdpMetadata]
813
+ #
814
+ # @!attribute [rw] login_validity_duration
815
+ # How long a sign-on session by a SAML user is valid, before the user
816
+ # has to sign on again.
817
+ # @return [Integer]
818
+ #
819
+ # @!attribute [rw] role_values
820
+ # A structure containing arrays that map group names in the SAML
821
+ # assertion to the Grafana `Admin` and `Editor` roles in the
822
+ # workspace.
823
+ # @return [Types::RoleValues]
824
+ #
825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/SamlConfiguration AWS API Documentation
826
+ #
827
+ class SamlConfiguration < Struct.new(
828
+ :allowed_organizations,
829
+ :assertion_attributes,
830
+ :idp_metadata,
831
+ :login_validity_duration,
832
+ :role_values)
833
+ SENSITIVE = []
834
+ include Aws::Structure
835
+ end
836
+
837
+ # The request would cause a service quota to be exceeded.
838
+ #
839
+ # @!attribute [rw] message
840
+ # A description of the error.
841
+ # @return [String]
842
+ #
843
+ # @!attribute [rw] quota_code
844
+ # The ID of the service quota that was exceeded.
845
+ # @return [String]
846
+ #
847
+ # @!attribute [rw] resource_id
848
+ # The ID of the resource that is associated with the error.
849
+ # @return [String]
850
+ #
851
+ # @!attribute [rw] resource_type
852
+ # The type of the resource that is associated with the error.
853
+ # @return [String]
854
+ #
855
+ # @!attribute [rw] service_code
856
+ # The value of a parameter in the request caused an error.
857
+ # @return [String]
858
+ #
859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ServiceQuotaExceededException AWS API Documentation
860
+ #
861
+ class ServiceQuotaExceededException < Struct.new(
862
+ :message,
863
+ :quota_code,
864
+ :resource_id,
865
+ :resource_type,
866
+ :service_code)
867
+ SENSITIVE = []
868
+ include Aws::Structure
869
+ end
870
+
871
+ # The request was denied because of request throttling. Retry the
872
+ # request.
873
+ #
874
+ # @!attribute [rw] message
875
+ # A description of the error.
876
+ # @return [String]
877
+ #
878
+ # @!attribute [rw] quota_code
879
+ # The ID of the service quota that was exceeded.
880
+ # @return [String]
881
+ #
882
+ # @!attribute [rw] retry_after_seconds
883
+ # The value of a parameter in the request caused an error.
884
+ # @return [Integer]
885
+ #
886
+ # @!attribute [rw] service_code
887
+ # The ID of the service that is associated with the error.
888
+ # @return [String]
889
+ #
890
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ThrottlingException AWS API Documentation
891
+ #
892
+ class ThrottlingException < Struct.new(
893
+ :message,
894
+ :quota_code,
895
+ :retry_after_seconds,
896
+ :service_code)
897
+ SENSITIVE = []
898
+ include Aws::Structure
899
+ end
900
+
901
+ # A structure containing information about one error encountered while
902
+ # performing an [UpdatePermissions][1] operation.
903
+ #
904
+ #
905
+ #
906
+ # [1]: https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdatePermissions.html
907
+ #
908
+ # @!attribute [rw] caused_by
909
+ # Specifies which permission update caused the error.
910
+ # @return [Types::UpdateInstruction]
911
+ #
912
+ # @!attribute [rw] code
913
+ # The error code.
914
+ # @return [Integer]
915
+ #
916
+ # @!attribute [rw] message
917
+ # The message for this error.
918
+ # @return [String]
919
+ #
920
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdateError AWS API Documentation
921
+ #
922
+ class UpdateError < Struct.new(
923
+ :caused_by,
924
+ :code,
925
+ :message)
926
+ SENSITIVE = []
927
+ include Aws::Structure
928
+ end
929
+
930
+ # Contains the instructions for one Grafana role permission update in a
931
+ # [UpdatePermissions][1] operation.
932
+ #
933
+ #
934
+ #
935
+ # [1]: https://docs.aws.amazon.com/grafana/latest/APIReference/API_UpdatePermissions.html
936
+ #
937
+ # @note When making an API call, you may pass UpdateInstruction
938
+ # data as a hash:
939
+ #
940
+ # {
941
+ # action: "ADD", # required, accepts ADD, REVOKE
942
+ # role: "ADMIN", # required, accepts ADMIN, EDITOR
943
+ # users: [ # required
944
+ # {
945
+ # id: "SsoId", # required
946
+ # type: "SSO_USER", # required, accepts SSO_USER, SSO_GROUP
947
+ # },
948
+ # ],
949
+ # }
950
+ #
951
+ # @!attribute [rw] action
952
+ # Specifies whether this update is to add or revoke role permissions.
953
+ # @return [String]
954
+ #
955
+ # @!attribute [rw] role
956
+ # The role to add or revoke for the user or the group specified in
957
+ # `users`.
958
+ # @return [String]
959
+ #
960
+ # @!attribute [rw] users
961
+ # A structure that specifies the user or group to add or revoke the
962
+ # role for.
963
+ # @return [Array<Types::User>]
964
+ #
965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdateInstruction AWS API Documentation
966
+ #
967
+ class UpdateInstruction < Struct.new(
968
+ :action,
969
+ :role,
970
+ :users)
971
+ SENSITIVE = []
972
+ include Aws::Structure
973
+ end
974
+
975
+ # @note When making an API call, you may pass UpdatePermissionsRequest
976
+ # data as a hash:
977
+ #
978
+ # {
979
+ # update_instruction_batch: [ # required
980
+ # {
981
+ # action: "ADD", # required, accepts ADD, REVOKE
982
+ # role: "ADMIN", # required, accepts ADMIN, EDITOR
983
+ # users: [ # required
984
+ # {
985
+ # id: "SsoId", # required
986
+ # type: "SSO_USER", # required, accepts SSO_USER, SSO_GROUP
987
+ # },
988
+ # ],
989
+ # },
990
+ # ],
991
+ # workspace_id: "WorkspaceId", # required
992
+ # }
993
+ #
994
+ # @!attribute [rw] update_instruction_batch
995
+ # An array of structures that contain the permission updates to make.
996
+ # @return [Array<Types::UpdateInstruction>]
997
+ #
998
+ # @!attribute [rw] workspace_id
999
+ # The ID of the workspace to update.
1000
+ # @return [String]
1001
+ #
1002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdatePermissionsRequest AWS API Documentation
1003
+ #
1004
+ class UpdatePermissionsRequest < Struct.new(
1005
+ :update_instruction_batch,
1006
+ :workspace_id)
1007
+ SENSITIVE = []
1008
+ include Aws::Structure
1009
+ end
1010
+
1011
+ # @!attribute [rw] errors
1012
+ # An array of structures that contain the errors from the operation,
1013
+ # if any.
1014
+ # @return [Array<Types::UpdateError>]
1015
+ #
1016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdatePermissionsResponse AWS API Documentation
1017
+ #
1018
+ class UpdatePermissionsResponse < Struct.new(
1019
+ :errors)
1020
+ SENSITIVE = []
1021
+ include Aws::Structure
1022
+ end
1023
+
1024
+ # @note When making an API call, you may pass UpdateWorkspaceAuthenticationRequest
1025
+ # data as a hash:
1026
+ #
1027
+ # {
1028
+ # authentication_providers: ["AWS_SSO"], # required, accepts AWS_SSO, SAML
1029
+ # saml_configuration: {
1030
+ # allowed_organizations: ["AllowedOrganization"],
1031
+ # assertion_attributes: {
1032
+ # email: "AssertionAttribute",
1033
+ # groups: "AssertionAttribute",
1034
+ # login: "AssertionAttribute",
1035
+ # name: "AssertionAttribute",
1036
+ # org: "AssertionAttribute",
1037
+ # role: "AssertionAttribute",
1038
+ # },
1039
+ # idp_metadata: { # required
1040
+ # url: "IdpMetadataUrl",
1041
+ # xml: "String",
1042
+ # },
1043
+ # login_validity_duration: 1,
1044
+ # role_values: {
1045
+ # admin: ["RoleValue"],
1046
+ # editor: ["RoleValue"],
1047
+ # },
1048
+ # },
1049
+ # workspace_id: "WorkspaceId", # required
1050
+ # }
1051
+ #
1052
+ # @!attribute [rw] authentication_providers
1053
+ # Specifies whether this workspace uses SAML 2.0, Amazon Web Services
1054
+ # Single Sign On, or both to authenticate users for using the Grafana
1055
+ # console within a workspace. For more information, see [User
1056
+ # authentication in Amazon Managed Grafana][1].
1057
+ #
1058
+ #
1059
+ #
1060
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/authentication-in-AMG.html
1061
+ # @return [Array<String>]
1062
+ #
1063
+ # @!attribute [rw] saml_configuration
1064
+ # If the workspace uses SAML, use this structure to map SAML assertion
1065
+ # attributes to workspace user information and define which groups in
1066
+ # the assertion attribute are to have the `Admin` and `Editor` roles
1067
+ # in the workspace.
1068
+ # @return [Types::SamlConfiguration]
1069
+ #
1070
+ # @!attribute [rw] workspace_id
1071
+ # The ID of the workspace to update the authentication for.
1072
+ # @return [String]
1073
+ #
1074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdateWorkspaceAuthenticationRequest AWS API Documentation
1075
+ #
1076
+ class UpdateWorkspaceAuthenticationRequest < Struct.new(
1077
+ :authentication_providers,
1078
+ :saml_configuration,
1079
+ :workspace_id)
1080
+ SENSITIVE = []
1081
+ include Aws::Structure
1082
+ end
1083
+
1084
+ # @!attribute [rw] authentication
1085
+ # A structure that describes the user authentication for this
1086
+ # workspace after the update is made.
1087
+ # @return [Types::AuthenticationDescription]
1088
+ #
1089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdateWorkspaceAuthenticationResponse AWS API Documentation
1090
+ #
1091
+ class UpdateWorkspaceAuthenticationResponse < Struct.new(
1092
+ :authentication)
1093
+ SENSITIVE = []
1094
+ include Aws::Structure
1095
+ end
1096
+
1097
+ # @note When making an API call, you may pass UpdateWorkspaceRequest
1098
+ # data as a hash:
1099
+ #
1100
+ # {
1101
+ # account_access_type: "CURRENT_ACCOUNT", # accepts CURRENT_ACCOUNT, ORGANIZATION
1102
+ # organization_role_name: "OrganizationRoleName",
1103
+ # permission_type: "CUSTOMER_MANAGED", # accepts CUSTOMER_MANAGED, SERVICE_MANAGED
1104
+ # stack_set_name: "StackSetName",
1105
+ # workspace_data_sources: ["AMAZON_OPENSEARCH_SERVICE"], # accepts AMAZON_OPENSEARCH_SERVICE, CLOUDWATCH, PROMETHEUS, XRAY, TIMESTREAM, SITEWISE
1106
+ # workspace_description: "Description",
1107
+ # workspace_id: "WorkspaceId", # required
1108
+ # workspace_name: "WorkspaceName",
1109
+ # workspace_notification_destinations: ["SNS"], # accepts SNS
1110
+ # workspace_organizational_units: ["OrganizationalUnit"],
1111
+ # workspace_role_arn: "IamRoleArn",
1112
+ # }
1113
+ #
1114
+ # @!attribute [rw] account_access_type
1115
+ # Specifies whether the workspace can access Amazon Web Services
1116
+ # resources in this Amazon Web Services account only, or whether it
1117
+ # can also access Amazon Web Services resources in other accounts in
1118
+ # the same organization. If you specify `ORGANIZATION`, you must
1119
+ # specify which organizational units the workspace can access in the
1120
+ # `workspaceOrganizationalUnits` parameter.
1121
+ # @return [String]
1122
+ #
1123
+ # @!attribute [rw] organization_role_name
1124
+ # The name of an IAM role that already exists to use to access
1125
+ # resources through Organizations.
1126
+ # @return [String]
1127
+ #
1128
+ # @!attribute [rw] permission_type
1129
+ # If you specify `Service Managed`, Amazon Managed Grafana
1130
+ # automatically creates the IAM roles and provisions the permissions
1131
+ # that the workspace needs to use Amazon Web Services data sources and
1132
+ # notification channels.
1133
+ #
1134
+ # If you specify `CUSTOMER_MANAGED`, you will manage those roles and
1135
+ # permissions yourself. If you are creating this workspace in a member
1136
+ # account of an organization and that account is not a delegated
1137
+ # administrator account, and you want the workspace to access data
1138
+ # sources in other Amazon Web Services accounts in the organization,
1139
+ # you must choose `CUSTOMER_MANAGED`.
1140
+ #
1141
+ # For more information, see [Amazon Managed Grafana permissions and
1142
+ # policies for Amazon Web Services data sources and notification
1143
+ # channels][1]
1144
+ #
1145
+ #
1146
+ #
1147
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1148
+ # @return [String]
1149
+ #
1150
+ # @!attribute [rw] stack_set_name
1151
+ # The name of the CloudFormation stack set to use to generate IAM
1152
+ # roles to be used for this workspace.
1153
+ # @return [String]
1154
+ #
1155
+ # @!attribute [rw] workspace_data_sources
1156
+ # Specify the Amazon Web Services data sources that you want to be
1157
+ # queried in this workspace. Specifying these data sources here
1158
+ # enables Amazon Managed Grafana to create IAM roles and permissions
1159
+ # that allow Amazon Managed Grafana to read data from these sources.
1160
+ # You must still add them as data sources in the Grafana console in
1161
+ # the workspace.
1162
+ #
1163
+ # If you don't specify a data source here, you can still add it as a
1164
+ # data source later in the workspace console. However, you will then
1165
+ # have to manually configure permissions for it.
1166
+ # @return [Array<String>]
1167
+ #
1168
+ # @!attribute [rw] workspace_description
1169
+ # A description for the workspace. This is used only to help you
1170
+ # identify this workspace.
1171
+ # @return [String]
1172
+ #
1173
+ # @!attribute [rw] workspace_id
1174
+ # The ID of the workspace to update.
1175
+ # @return [String]
1176
+ #
1177
+ # @!attribute [rw] workspace_name
1178
+ # A new name for the workspace to update.
1179
+ # @return [String]
1180
+ #
1181
+ # @!attribute [rw] workspace_notification_destinations
1182
+ # Specify the Amazon Web Services notification channels that you plan
1183
+ # to use in this workspace. Specifying these data sources here enables
1184
+ # Amazon Managed Grafana to create IAM roles and permissions that
1185
+ # allow Amazon Managed Grafana to use these channels.
1186
+ # @return [Array<String>]
1187
+ #
1188
+ # @!attribute [rw] workspace_organizational_units
1189
+ # Specifies the organizational units that this workspace is allowed to
1190
+ # use data sources from, if this workspace is in an account that is
1191
+ # part of an organization.
1192
+ # @return [Array<String>]
1193
+ #
1194
+ # @!attribute [rw] workspace_role_arn
1195
+ # The workspace needs an IAM role that grants permissions to the
1196
+ # Amazon Web Services resources that the workspace will view data
1197
+ # from. If you already have a role that you want to use, specify it
1198
+ # here. If you omit this field and you specify some Amazon Web
1199
+ # Services resources in `workspaceDataSources` or
1200
+ # `workspaceNotificationDestinations`, a new IAM role with the
1201
+ # necessary permissions is automatically created.
1202
+ # @return [String]
1203
+ #
1204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdateWorkspaceRequest AWS API Documentation
1205
+ #
1206
+ class UpdateWorkspaceRequest < Struct.new(
1207
+ :account_access_type,
1208
+ :organization_role_name,
1209
+ :permission_type,
1210
+ :stack_set_name,
1211
+ :workspace_data_sources,
1212
+ :workspace_description,
1213
+ :workspace_id,
1214
+ :workspace_name,
1215
+ :workspace_notification_destinations,
1216
+ :workspace_organizational_units,
1217
+ :workspace_role_arn)
1218
+ SENSITIVE = [:organization_role_name, :workspace_description, :workspace_name, :workspace_organizational_units, :workspace_role_arn]
1219
+ include Aws::Structure
1220
+ end
1221
+
1222
+ # @!attribute [rw] workspace
1223
+ # A structure containing data about the workspace that was created.
1224
+ # @return [Types::WorkspaceDescription]
1225
+ #
1226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/UpdateWorkspaceResponse AWS API Documentation
1227
+ #
1228
+ class UpdateWorkspaceResponse < Struct.new(
1229
+ :workspace)
1230
+ SENSITIVE = []
1231
+ include Aws::Structure
1232
+ end
1233
+
1234
+ # A structure that specifies one user or group in the workspace.
1235
+ #
1236
+ # @note When making an API call, you may pass User
1237
+ # data as a hash:
1238
+ #
1239
+ # {
1240
+ # id: "SsoId", # required
1241
+ # type: "SSO_USER", # required, accepts SSO_USER, SSO_GROUP
1242
+ # }
1243
+ #
1244
+ # @!attribute [rw] id
1245
+ # The ID of the user or group.
1246
+ # @return [String]
1247
+ #
1248
+ # @!attribute [rw] type
1249
+ # Specifies whether this is a single user or a group.
1250
+ # @return [String]
1251
+ #
1252
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/User AWS API Documentation
1253
+ #
1254
+ class User < Struct.new(
1255
+ :id,
1256
+ :type)
1257
+ SENSITIVE = []
1258
+ include Aws::Structure
1259
+ end
1260
+
1261
+ # The value of a parameter in the request caused an error.
1262
+ #
1263
+ # @!attribute [rw] field_list
1264
+ # A list of fields that might be associated with the error.
1265
+ # @return [Array<Types::ValidationExceptionField>]
1266
+ #
1267
+ # @!attribute [rw] message
1268
+ # A description of the error.
1269
+ # @return [String]
1270
+ #
1271
+ # @!attribute [rw] reason
1272
+ # The reason that the operation failed.
1273
+ # @return [String]
1274
+ #
1275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ValidationException AWS API Documentation
1276
+ #
1277
+ class ValidationException < Struct.new(
1278
+ :field_list,
1279
+ :message,
1280
+ :reason)
1281
+ SENSITIVE = []
1282
+ include Aws::Structure
1283
+ end
1284
+
1285
+ # A structure that contains information about a request parameter that
1286
+ # caused an error.
1287
+ #
1288
+ # @!attribute [rw] message
1289
+ # A message describing why this field couldn't be validated.
1290
+ # @return [String]
1291
+ #
1292
+ # @!attribute [rw] name
1293
+ # The name of the field that caused the validation error.
1294
+ # @return [String]
1295
+ #
1296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/ValidationExceptionField AWS API Documentation
1297
+ #
1298
+ class ValidationExceptionField < Struct.new(
1299
+ :message,
1300
+ :name)
1301
+ SENSITIVE = []
1302
+ include Aws::Structure
1303
+ end
1304
+
1305
+ # A structure containing information about an Amazon Managed Grafana
1306
+ # workspace in your account.
1307
+ #
1308
+ # @!attribute [rw] account_access_type
1309
+ # Specifies whether the workspace can access Amazon Web Services
1310
+ # resources in this Amazon Web Services account only, or whether it
1311
+ # can also access Amazon Web Services resources in other accounts in
1312
+ # the same organization. If this is `ORGANIZATION`, the
1313
+ # `workspaceOrganizationalUnits` parameter specifies which
1314
+ # organizational units the workspace can access.
1315
+ # @return [String]
1316
+ #
1317
+ # @!attribute [rw] authentication
1318
+ # A structure that describes whether the workspace uses SAML, Amazon
1319
+ # Web Services SSO, or both methods for user authentication.
1320
+ # @return [Types::AuthenticationSummary]
1321
+ #
1322
+ # @!attribute [rw] created
1323
+ # The date that the workspace was created.
1324
+ # @return [Time]
1325
+ #
1326
+ # @!attribute [rw] data_sources
1327
+ # Specifies the Amazon Web Services data sources that have been
1328
+ # configured to have IAM roles and permissions created to allow Amazon
1329
+ # Managed Grafana to read data from these sources.
1330
+ # @return [Array<String>]
1331
+ #
1332
+ # @!attribute [rw] description
1333
+ # The user-defined description of the workspace.
1334
+ # @return [String]
1335
+ #
1336
+ # @!attribute [rw] endpoint
1337
+ # The URL that users can use to access the Grafana console in the
1338
+ # workspace.
1339
+ # @return [String]
1340
+ #
1341
+ # @!attribute [rw] free_trial_consumed
1342
+ # Specifies whether this workspace has already fully used its free
1343
+ # trial for Grafana Enterprise.
1344
+ # @return [Boolean]
1345
+ #
1346
+ # @!attribute [rw] free_trial_expiration
1347
+ # If this workspace is currently in the free trial period for Grafana
1348
+ # Enterprise, this value specifies when that free trial ends.
1349
+ # @return [Time]
1350
+ #
1351
+ # @!attribute [rw] grafana_version
1352
+ # The version of Grafana supported in this workspace.
1353
+ # @return [String]
1354
+ #
1355
+ # @!attribute [rw] id
1356
+ # The unique ID of this workspace.
1357
+ # @return [String]
1358
+ #
1359
+ # @!attribute [rw] license_expiration
1360
+ # If this workspace has a full Grafana Enterprise license, this
1361
+ # specifies when the license ends and will need to be renewed.
1362
+ # @return [Time]
1363
+ #
1364
+ # @!attribute [rw] license_type
1365
+ # Specifies whether this workspace has a full Grafana Enterprise
1366
+ # license or a free trial license.
1367
+ # @return [String]
1368
+ #
1369
+ # @!attribute [rw] modified
1370
+ # The most recent date that the workspace was modified.
1371
+ # @return [Time]
1372
+ #
1373
+ # @!attribute [rw] name
1374
+ # The name of the workspace.
1375
+ # @return [String]
1376
+ #
1377
+ # @!attribute [rw] notification_destinations
1378
+ # The Amazon Web Services notification channels that Amazon Managed
1379
+ # Grafana can automatically create IAM roles and permissions for, to
1380
+ # allow Amazon Managed Grafana to use these channels.
1381
+ # @return [Array<String>]
1382
+ #
1383
+ # @!attribute [rw] organization_role_name
1384
+ # The name of the IAM role that is used to access resources through
1385
+ # Organizations.
1386
+ # @return [String]
1387
+ #
1388
+ # @!attribute [rw] organizational_units
1389
+ # Specifies the organizational units that this workspace is allowed to
1390
+ # use data sources from, if this workspace is in an account that is
1391
+ # part of an organization.
1392
+ # @return [Array<String>]
1393
+ #
1394
+ # @!attribute [rw] permission_type
1395
+ # If this is `Service Managed`, Amazon Managed Grafana automatically
1396
+ # creates the IAM roles and provisions the permissions that the
1397
+ # workspace needs to use Amazon Web Services data sources and
1398
+ # notification channels.
1399
+ #
1400
+ # If this is `CUSTOMER_MANAGED`, you manage those roles and
1401
+ # permissions yourself. If you are creating this workspace in a member
1402
+ # account of an organization and that account is not a delegated
1403
+ # administrator account, and you want the workspace to access data
1404
+ # sources in other Amazon Web Services accounts in the organization,
1405
+ # you must choose `CUSTOMER_MANAGED`.
1406
+ #
1407
+ # For more information, see [Amazon Managed Grafana permissions and
1408
+ # policies for Amazon Web Services data sources and notification
1409
+ # channels][1]
1410
+ #
1411
+ #
1412
+ #
1413
+ # [1]: https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html
1414
+ # @return [String]
1415
+ #
1416
+ # @!attribute [rw] stack_set_name
1417
+ # The name of the CloudFormation stack set that is used to generate
1418
+ # IAM roles to be used for this workspace.
1419
+ # @return [String]
1420
+ #
1421
+ # @!attribute [rw] status
1422
+ # The current status of the workspace.
1423
+ # @return [String]
1424
+ #
1425
+ # @!attribute [rw] workspace_role_arn
1426
+ # The IAM role that grants permissions to the Amazon Web Services
1427
+ # resources that the workspace will view data from. This role must
1428
+ # already exist.
1429
+ # @return [String]
1430
+ #
1431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/WorkspaceDescription AWS API Documentation
1432
+ #
1433
+ class WorkspaceDescription < Struct.new(
1434
+ :account_access_type,
1435
+ :authentication,
1436
+ :created,
1437
+ :data_sources,
1438
+ :description,
1439
+ :endpoint,
1440
+ :free_trial_consumed,
1441
+ :free_trial_expiration,
1442
+ :grafana_version,
1443
+ :id,
1444
+ :license_expiration,
1445
+ :license_type,
1446
+ :modified,
1447
+ :name,
1448
+ :notification_destinations,
1449
+ :organization_role_name,
1450
+ :organizational_units,
1451
+ :permission_type,
1452
+ :stack_set_name,
1453
+ :status,
1454
+ :workspace_role_arn)
1455
+ SENSITIVE = [:description, :name, :organization_role_name, :organizational_units, :workspace_role_arn]
1456
+ include Aws::Structure
1457
+ end
1458
+
1459
+ # A structure that contains some information about one workspace in the
1460
+ # account.
1461
+ #
1462
+ # @!attribute [rw] authentication
1463
+ # A structure containing information about the authentication methods
1464
+ # used in the workspace.
1465
+ # @return [Types::AuthenticationSummary]
1466
+ #
1467
+ # @!attribute [rw] created
1468
+ # The date that the workspace was created.
1469
+ # @return [Time]
1470
+ #
1471
+ # @!attribute [rw] description
1472
+ # The customer-entered description of the workspace.
1473
+ # @return [String]
1474
+ #
1475
+ # @!attribute [rw] endpoint
1476
+ # The URL endpoint to use to access the Grafana console in the
1477
+ # workspace.
1478
+ # @return [String]
1479
+ #
1480
+ # @!attribute [rw] grafana_version
1481
+ # The Grafana version that the workspace is running.
1482
+ # @return [String]
1483
+ #
1484
+ # @!attribute [rw] id
1485
+ # The unique ID of the workspace.
1486
+ # @return [String]
1487
+ #
1488
+ # @!attribute [rw] modified
1489
+ # The most recent date that the workspace was modified.
1490
+ # @return [Time]
1491
+ #
1492
+ # @!attribute [rw] name
1493
+ # The name of the workspace.
1494
+ # @return [String]
1495
+ #
1496
+ # @!attribute [rw] notification_destinations
1497
+ # The Amazon Web Services notification channels that Amazon Managed
1498
+ # Grafana can automatically create IAM roles and permissions for,
1499
+ # which allows Amazon Managed Grafana to use these channels.
1500
+ # @return [Array<String>]
1501
+ #
1502
+ # @!attribute [rw] status
1503
+ # The current status of the workspace.
1504
+ # @return [String]
1505
+ #
1506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/grafana-2020-08-18/WorkspaceSummary AWS API Documentation
1507
+ #
1508
+ class WorkspaceSummary < Struct.new(
1509
+ :authentication,
1510
+ :created,
1511
+ :description,
1512
+ :endpoint,
1513
+ :grafana_version,
1514
+ :id,
1515
+ :modified,
1516
+ :name,
1517
+ :notification_destinations,
1518
+ :status)
1519
+ SENSITIVE = [:description, :name]
1520
+ include Aws::Structure
1521
+ end
1522
+
1523
+ end
1524
+ end