aws-sdk-managedgrafana 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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