aws-sdk-rolesanywhere 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1158 @@
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::RolesAnywhere
11
+ module Types
12
+
13
+ # You do not have sufficient access to perform this action.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
26
+ # @note When making an API call, you may pass CreateProfileRequest
27
+ # data as a hash:
28
+ #
29
+ # {
30
+ # duration_seconds: 1,
31
+ # enabled: false,
32
+ # managed_policy_arns: ["ManagedPolicyListMemberString"],
33
+ # name: "ResourceName", # required
34
+ # require_instance_properties: false,
35
+ # role_arns: ["RoleArn"], # required
36
+ # session_policy: "String",
37
+ # tags: [
38
+ # {
39
+ # key: "TagKey", # required
40
+ # value: "TagValue", # required
41
+ # },
42
+ # ],
43
+ # }
44
+ #
45
+ # @!attribute [rw] duration_seconds
46
+ # The number of seconds the vended session credentials are valid for.
47
+ # @return [Integer]
48
+ #
49
+ # @!attribute [rw] enabled
50
+ # Specifies whether the profile is enabled.
51
+ # @return [Boolean]
52
+ #
53
+ # @!attribute [rw] managed_policy_arns
54
+ # A list of managed policy ARNs that apply to the vended session
55
+ # credentials.
56
+ # @return [Array<String>]
57
+ #
58
+ # @!attribute [rw] name
59
+ # The name of the profile.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] require_instance_properties
63
+ # Specifies whether instance properties are required in
64
+ # [CreateSession][1] requests with this profile.
65
+ #
66
+ #
67
+ #
68
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
69
+ # @return [Boolean]
70
+ #
71
+ # @!attribute [rw] role_arns
72
+ # A list of IAM roles that this profile can assume in a
73
+ # [CreateSession][1] operation.
74
+ #
75
+ #
76
+ #
77
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
78
+ # @return [Array<String>]
79
+ #
80
+ # @!attribute [rw] session_policy
81
+ # A session policy that applies to the trust boundary of the vended
82
+ # session credentials.
83
+ # @return [String]
84
+ #
85
+ # @!attribute [rw] tags
86
+ # The tags to attach to the profile.
87
+ # @return [Array<Types::Tag>]
88
+ #
89
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/CreateProfileRequest AWS API Documentation
90
+ #
91
+ class CreateProfileRequest < Struct.new(
92
+ :duration_seconds,
93
+ :enabled,
94
+ :managed_policy_arns,
95
+ :name,
96
+ :require_instance_properties,
97
+ :role_arns,
98
+ :session_policy,
99
+ :tags)
100
+ SENSITIVE = []
101
+ include Aws::Structure
102
+ end
103
+
104
+ # @note When making an API call, you may pass CreateTrustAnchorRequest
105
+ # data as a hash:
106
+ #
107
+ # {
108
+ # enabled: false,
109
+ # name: "ResourceName", # required
110
+ # source: { # required
111
+ # source_data: {
112
+ # acm_pca_arn: "String",
113
+ # x509_certificate_data: "String",
114
+ # },
115
+ # source_type: "AWS_ACM_PCA", # accepts AWS_ACM_PCA, CERTIFICATE_BUNDLE, SELF_SIGNED_REPOSITORY
116
+ # },
117
+ # tags: [
118
+ # {
119
+ # key: "TagKey", # required
120
+ # value: "TagValue", # required
121
+ # },
122
+ # ],
123
+ # }
124
+ #
125
+ # @!attribute [rw] enabled
126
+ # Specifies whether the trust anchor is enabled.
127
+ # @return [Boolean]
128
+ #
129
+ # @!attribute [rw] name
130
+ # The name of the trust anchor.
131
+ # @return [String]
132
+ #
133
+ # @!attribute [rw] source
134
+ # The trust anchor type and its related certificate data.
135
+ # @return [Types::Source]
136
+ #
137
+ # @!attribute [rw] tags
138
+ # The tags to attach to the trust anchor.
139
+ # @return [Array<Types::Tag>]
140
+ #
141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/CreateTrustAnchorRequest AWS API Documentation
142
+ #
143
+ class CreateTrustAnchorRequest < Struct.new(
144
+ :enabled,
145
+ :name,
146
+ :source,
147
+ :tags)
148
+ SENSITIVE = []
149
+ include Aws::Structure
150
+ end
151
+
152
+ # A record of a presented X509 credential to [CreateSession][1].
153
+ #
154
+ #
155
+ #
156
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
157
+ #
158
+ # @!attribute [rw] enabled
159
+ # Indicates whether the credential is enabled.
160
+ # @return [Boolean]
161
+ #
162
+ # @!attribute [rw] failed
163
+ # Indicates whether the [CreateSession][1] operation was successful.
164
+ #
165
+ #
166
+ #
167
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
168
+ # @return [Boolean]
169
+ #
170
+ # @!attribute [rw] issuer
171
+ # The fully qualified domain name of the issuing certificate for the
172
+ # presented end-entity certificate.
173
+ # @return [String]
174
+ #
175
+ # @!attribute [rw] seen_at
176
+ # The ISO-8601 time stamp of when the certificate was last used in a
177
+ # [CreateSession][1] operation.
178
+ #
179
+ #
180
+ #
181
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
182
+ # @return [Time]
183
+ #
184
+ # @!attribute [rw] serial_number
185
+ # The serial number of the certificate.
186
+ # @return [String]
187
+ #
188
+ # @!attribute [rw] x509_certificate_data
189
+ # The PEM-encoded data of the certificate.
190
+ # @return [String]
191
+ #
192
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/CredentialSummary AWS API Documentation
193
+ #
194
+ class CredentialSummary < Struct.new(
195
+ :enabled,
196
+ :failed,
197
+ :issuer,
198
+ :seen_at,
199
+ :serial_number,
200
+ :x509_certificate_data)
201
+ SENSITIVE = []
202
+ include Aws::Structure
203
+ end
204
+
205
+ # The state of the certificate revocation list (CRL) after a read or
206
+ # write operation.
207
+ #
208
+ # @!attribute [rw] created_at
209
+ # The ISO-8601 timestamp when the certificate revocation list (CRL)
210
+ # was created.
211
+ # @return [Time]
212
+ #
213
+ # @!attribute [rw] crl_arn
214
+ # The ARN of the certificate revocation list (CRL).
215
+ # @return [String]
216
+ #
217
+ # @!attribute [rw] crl_data
218
+ # The state of the certificate revocation list (CRL) after a read or
219
+ # write operation.
220
+ # @return [String]
221
+ #
222
+ # @!attribute [rw] crl_id
223
+ # The unique identifier of the certificate revocation list (CRL).
224
+ # @return [String]
225
+ #
226
+ # @!attribute [rw] enabled
227
+ # Indicates whether the certificate revocation list (CRL) is enabled.
228
+ # @return [Boolean]
229
+ #
230
+ # @!attribute [rw] name
231
+ # The name of the certificate revocation list (CRL).
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] trust_anchor_arn
235
+ # The ARN of the TrustAnchor the certificate revocation list (CRL)
236
+ # will provide revocation for.
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] updated_at
240
+ # The ISO-8601 timestamp when the certificate revocation list (CRL)
241
+ # was last updated.
242
+ # @return [Time]
243
+ #
244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/CrlDetail AWS API Documentation
245
+ #
246
+ class CrlDetail < Struct.new(
247
+ :created_at,
248
+ :crl_arn,
249
+ :crl_data,
250
+ :crl_id,
251
+ :enabled,
252
+ :name,
253
+ :trust_anchor_arn,
254
+ :updated_at)
255
+ SENSITIVE = []
256
+ include Aws::Structure
257
+ end
258
+
259
+ # @!attribute [rw] crl
260
+ # The state of the certificate revocation list (CRL) after a read or
261
+ # write operation.
262
+ # @return [Types::CrlDetail]
263
+ #
264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/CrlDetailResponse AWS API Documentation
265
+ #
266
+ class CrlDetailResponse < Struct.new(
267
+ :crl)
268
+ SENSITIVE = []
269
+ include Aws::Structure
270
+ end
271
+
272
+ # @note When making an API call, you may pass ImportCrlRequest
273
+ # data as a hash:
274
+ #
275
+ # {
276
+ # crl_data: "data", # required
277
+ # enabled: false,
278
+ # name: "ResourceName", # required
279
+ # tags: [
280
+ # {
281
+ # key: "TagKey", # required
282
+ # value: "TagValue", # required
283
+ # },
284
+ # ],
285
+ # trust_anchor_arn: "TrustAnchorArn", # required
286
+ # }
287
+ #
288
+ # @!attribute [rw] crl_data
289
+ # The x509 v3 specified certificate revocation list
290
+ # @return [String]
291
+ #
292
+ # @!attribute [rw] enabled
293
+ # Specifies whether the certificate revocation list (CRL) is enabled.
294
+ # @return [Boolean]
295
+ #
296
+ # @!attribute [rw] name
297
+ # The name of the certificate revocation list (CRL).
298
+ # @return [String]
299
+ #
300
+ # @!attribute [rw] tags
301
+ # A list of tags to attach to the certificate revocation list (CRL).
302
+ # @return [Array<Types::Tag>]
303
+ #
304
+ # @!attribute [rw] trust_anchor_arn
305
+ # The ARN of the TrustAnchor the certificate revocation list (CRL)
306
+ # will provide revocation for.
307
+ # @return [String]
308
+ #
309
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ImportCrlRequest AWS API Documentation
310
+ #
311
+ class ImportCrlRequest < Struct.new(
312
+ :crl_data,
313
+ :enabled,
314
+ :name,
315
+ :tags,
316
+ :trust_anchor_arn)
317
+ SENSITIVE = []
318
+ include Aws::Structure
319
+ end
320
+
321
+ # A key-value pair you set that identifies a property of the
322
+ # authenticating instance.
323
+ #
324
+ # @!attribute [rw] failed
325
+ # Indicates whether the [CreateSession][1] operation was successful.
326
+ #
327
+ #
328
+ #
329
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
330
+ # @return [Boolean]
331
+ #
332
+ # @!attribute [rw] properties
333
+ # A list of instanceProperty objects.
334
+ # @return [Hash<String,String>]
335
+ #
336
+ # @!attribute [rw] seen_at
337
+ # The ISO-8601 time stamp of when the certificate was last used in a
338
+ # [CreateSession][1] operation.
339
+ #
340
+ #
341
+ #
342
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
343
+ # @return [Time]
344
+ #
345
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/InstanceProperty AWS API Documentation
346
+ #
347
+ class InstanceProperty < Struct.new(
348
+ :failed,
349
+ :properties,
350
+ :seen_at)
351
+ SENSITIVE = []
352
+ include Aws::Structure
353
+ end
354
+
355
+ # @!attribute [rw] crls
356
+ # A list of certificate revocation lists (CRL).
357
+ # @return [Array<Types::CrlDetail>]
358
+ #
359
+ # @!attribute [rw] next_token
360
+ # A token that indicates where the output should continue from, if a
361
+ # previous operation did not show all results. To get the next
362
+ # results, call the operation again with this value.
363
+ # @return [String]
364
+ #
365
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListCrlsResponse AWS API Documentation
366
+ #
367
+ class ListCrlsResponse < Struct.new(
368
+ :crls,
369
+ :next_token)
370
+ SENSITIVE = []
371
+ include Aws::Structure
372
+ end
373
+
374
+ # @!attribute [rw] next_token
375
+ # A token that indicates where the output should continue from, if a
376
+ # previous operation did not show all results. To get the next
377
+ # results, call the operation again with this value.
378
+ # @return [String]
379
+ #
380
+ # @!attribute [rw] profiles
381
+ # A list of profiles.
382
+ # @return [Array<Types::ProfileDetail>]
383
+ #
384
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListProfilesResponse AWS API Documentation
385
+ #
386
+ class ListProfilesResponse < Struct.new(
387
+ :next_token,
388
+ :profiles)
389
+ SENSITIVE = []
390
+ include Aws::Structure
391
+ end
392
+
393
+ # @note When making an API call, you may pass ListRequest
394
+ # data as a hash:
395
+ #
396
+ # {
397
+ # next_token: "ListRequestNextTokenString",
398
+ # page_size: 1,
399
+ # }
400
+ #
401
+ # @!attribute [rw] next_token
402
+ # A token that indicates where the output should continue from, if a
403
+ # previous operation did not show all results. To get the next
404
+ # results, call the operation again with this value.
405
+ # @return [String]
406
+ #
407
+ # @!attribute [rw] page_size
408
+ # The number of resources in the paginated list.
409
+ # @return [Integer]
410
+ #
411
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListRequest AWS API Documentation
412
+ #
413
+ class ListRequest < Struct.new(
414
+ :next_token,
415
+ :page_size)
416
+ SENSITIVE = []
417
+ include Aws::Structure
418
+ end
419
+
420
+ # @!attribute [rw] next_token
421
+ # A token that indicates where the output should continue from, if a
422
+ # previous operation did not show all results. To get the next
423
+ # results, call the operation again with this value.
424
+ # @return [String]
425
+ #
426
+ # @!attribute [rw] subjects
427
+ # A list of subjects.
428
+ # @return [Array<Types::SubjectSummary>]
429
+ #
430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListSubjectsResponse AWS API Documentation
431
+ #
432
+ class ListSubjectsResponse < Struct.new(
433
+ :next_token,
434
+ :subjects)
435
+ SENSITIVE = []
436
+ include Aws::Structure
437
+ end
438
+
439
+ # @note When making an API call, you may pass ListTagsForResourceRequest
440
+ # data as a hash:
441
+ #
442
+ # {
443
+ # resource_arn: "AmazonResourceName", # required
444
+ # }
445
+ #
446
+ # @!attribute [rw] resource_arn
447
+ # The ARN of the resource.
448
+ # @return [String]
449
+ #
450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListTagsForResourceRequest AWS API Documentation
451
+ #
452
+ class ListTagsForResourceRequest < Struct.new(
453
+ :resource_arn)
454
+ SENSITIVE = []
455
+ include Aws::Structure
456
+ end
457
+
458
+ # @!attribute [rw] tags
459
+ # A list of tags attached to the resource.
460
+ # @return [Array<Types::Tag>]
461
+ #
462
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListTagsForResourceResponse AWS API Documentation
463
+ #
464
+ class ListTagsForResourceResponse < Struct.new(
465
+ :tags)
466
+ SENSITIVE = []
467
+ include Aws::Structure
468
+ end
469
+
470
+ # @!attribute [rw] next_token
471
+ # A token that indicates where the output should continue from, if a
472
+ # previous operation did not show all results. To get the next
473
+ # results, call the operation again with this value.
474
+ # @return [String]
475
+ #
476
+ # @!attribute [rw] trust_anchors
477
+ # A list of trust anchors.
478
+ # @return [Array<Types::TrustAnchorDetail>]
479
+ #
480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListTrustAnchorsResponse AWS API Documentation
481
+ #
482
+ class ListTrustAnchorsResponse < Struct.new(
483
+ :next_token,
484
+ :trust_anchors)
485
+ SENSITIVE = []
486
+ include Aws::Structure
487
+ end
488
+
489
+ # The state of the profile after a read or write operation.
490
+ #
491
+ # @!attribute [rw] created_at
492
+ # The ISO-8601 timestamp when the profile was created.
493
+ # @return [Time]
494
+ #
495
+ # @!attribute [rw] created_by
496
+ # The Amazon Web Services account that created the profile.
497
+ # @return [String]
498
+ #
499
+ # @!attribute [rw] duration_seconds
500
+ # The number of seconds the vended session credentials are valid for.
501
+ # @return [Integer]
502
+ #
503
+ # @!attribute [rw] enabled
504
+ # Indicates whether the profile is enabled.
505
+ # @return [Boolean]
506
+ #
507
+ # @!attribute [rw] managed_policy_arns
508
+ # A list of managed policy ARNs that apply to the vended session
509
+ # credentials.
510
+ # @return [Array<String>]
511
+ #
512
+ # @!attribute [rw] name
513
+ # The name of the profile.
514
+ # @return [String]
515
+ #
516
+ # @!attribute [rw] profile_arn
517
+ # The ARN of the profile.
518
+ # @return [String]
519
+ #
520
+ # @!attribute [rw] profile_id
521
+ # The unique identifier of the profile.
522
+ # @return [String]
523
+ #
524
+ # @!attribute [rw] require_instance_properties
525
+ # Specifies whether instance properties are required in
526
+ # [CreateSession][1] requests with this profile.
527
+ #
528
+ #
529
+ #
530
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
531
+ # @return [Boolean]
532
+ #
533
+ # @!attribute [rw] role_arns
534
+ # A list of IAM roles that this profile can assume in a
535
+ # [CreateSession][1] operation.
536
+ #
537
+ #
538
+ #
539
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
540
+ # @return [Array<String>]
541
+ #
542
+ # @!attribute [rw] session_policy
543
+ # A session policy that applies to the trust boundary of the vended
544
+ # session credentials.
545
+ # @return [String]
546
+ #
547
+ # @!attribute [rw] updated_at
548
+ # The ISO-8601 timestamp when the profile was last updated.
549
+ # @return [Time]
550
+ #
551
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ProfileDetail AWS API Documentation
552
+ #
553
+ class ProfileDetail < Struct.new(
554
+ :created_at,
555
+ :created_by,
556
+ :duration_seconds,
557
+ :enabled,
558
+ :managed_policy_arns,
559
+ :name,
560
+ :profile_arn,
561
+ :profile_id,
562
+ :require_instance_properties,
563
+ :role_arns,
564
+ :session_policy,
565
+ :updated_at)
566
+ SENSITIVE = []
567
+ include Aws::Structure
568
+ end
569
+
570
+ # @!attribute [rw] profile
571
+ # The state of the profile after a read or write operation.
572
+ # @return [Types::ProfileDetail]
573
+ #
574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ProfileDetailResponse AWS API Documentation
575
+ #
576
+ class ProfileDetailResponse < Struct.new(
577
+ :profile)
578
+ SENSITIVE = []
579
+ include Aws::Structure
580
+ end
581
+
582
+ # The resource could not be found.
583
+ #
584
+ # @!attribute [rw] message
585
+ # @return [String]
586
+ #
587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ResourceNotFoundException AWS API Documentation
588
+ #
589
+ class ResourceNotFoundException < Struct.new(
590
+ :message)
591
+ SENSITIVE = []
592
+ include Aws::Structure
593
+ end
594
+
595
+ # @note When making an API call, you may pass ScalarCrlRequest
596
+ # data as a hash:
597
+ #
598
+ # {
599
+ # crl_id: "Uuid", # required
600
+ # }
601
+ #
602
+ # @!attribute [rw] crl_id
603
+ # The unique identifier of the certificate revocation list (CRL).
604
+ # @return [String]
605
+ #
606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ScalarCrlRequest AWS API Documentation
607
+ #
608
+ class ScalarCrlRequest < Struct.new(
609
+ :crl_id)
610
+ SENSITIVE = []
611
+ include Aws::Structure
612
+ end
613
+
614
+ # @note When making an API call, you may pass ScalarProfileRequest
615
+ # data as a hash:
616
+ #
617
+ # {
618
+ # profile_id: "Uuid", # required
619
+ # }
620
+ #
621
+ # @!attribute [rw] profile_id
622
+ # The unique identifier of the profile.
623
+ # @return [String]
624
+ #
625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ScalarProfileRequest AWS API Documentation
626
+ #
627
+ class ScalarProfileRequest < Struct.new(
628
+ :profile_id)
629
+ SENSITIVE = []
630
+ include Aws::Structure
631
+ end
632
+
633
+ # @note When making an API call, you may pass ScalarSubjectRequest
634
+ # data as a hash:
635
+ #
636
+ # {
637
+ # subject_id: "Uuid", # required
638
+ # }
639
+ #
640
+ # @!attribute [rw] subject_id
641
+ # The unique identifier of the subject.
642
+ # @return [String]
643
+ #
644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ScalarSubjectRequest AWS API Documentation
645
+ #
646
+ class ScalarSubjectRequest < Struct.new(
647
+ :subject_id)
648
+ SENSITIVE = []
649
+ include Aws::Structure
650
+ end
651
+
652
+ # @note When making an API call, you may pass ScalarTrustAnchorRequest
653
+ # data as a hash:
654
+ #
655
+ # {
656
+ # trust_anchor_id: "Uuid", # required
657
+ # }
658
+ #
659
+ # @!attribute [rw] trust_anchor_id
660
+ # The unique identifier of the trust anchor.
661
+ # @return [String]
662
+ #
663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ScalarTrustAnchorRequest AWS API Documentation
664
+ #
665
+ class ScalarTrustAnchorRequest < Struct.new(
666
+ :trust_anchor_id)
667
+ SENSITIVE = []
668
+ include Aws::Structure
669
+ end
670
+
671
+ # The trust anchor type and its related certificate data.
672
+ #
673
+ # @note When making an API call, you may pass Source
674
+ # data as a hash:
675
+ #
676
+ # {
677
+ # source_data: {
678
+ # acm_pca_arn: "String",
679
+ # x509_certificate_data: "String",
680
+ # },
681
+ # source_type: "AWS_ACM_PCA", # accepts AWS_ACM_PCA, CERTIFICATE_BUNDLE, SELF_SIGNED_REPOSITORY
682
+ # }
683
+ #
684
+ # @!attribute [rw] source_data
685
+ # The data field of the trust anchor depending on its type.
686
+ # @return [Types::SourceData]
687
+ #
688
+ # @!attribute [rw] source_type
689
+ # The type of the trust anchor.
690
+ # @return [String]
691
+ #
692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/Source AWS API Documentation
693
+ #
694
+ class Source < Struct.new(
695
+ :source_data,
696
+ :source_type)
697
+ SENSITIVE = []
698
+ include Aws::Structure
699
+ end
700
+
701
+ # The data field of the trust anchor depending on its type.
702
+ #
703
+ # @note SourceData is a union - when making an API calls you must set exactly one of the members.
704
+ #
705
+ # @note SourceData is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of SourceData corresponding to the set member.
706
+ #
707
+ # @!attribute [rw] acm_pca_arn
708
+ # The root certificate of the Certificate Manager Private Certificate
709
+ # Authority specified by this ARN is used in trust validation for
710
+ # [CreateSession][1] operations. Included for trust anchors of type
711
+ # `AWS_ACM_PCA`.
712
+ #
713
+ #
714
+ #
715
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
716
+ # @return [String]
717
+ #
718
+ # @!attribute [rw] x509_certificate_data
719
+ # The PEM-encoded data for the certificate anchor. Included for trust
720
+ # anchors of type `CERTIFICATE_BUNDLE`.
721
+ # @return [String]
722
+ #
723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/SourceData AWS API Documentation
724
+ #
725
+ class SourceData < Struct.new(
726
+ :acm_pca_arn,
727
+ :x509_certificate_data,
728
+ :unknown)
729
+ SENSITIVE = []
730
+ include Aws::Structure
731
+ include Aws::Structure::Union
732
+
733
+ class AcmPcaArn < SourceData; end
734
+ class X509CertificateData < SourceData; end
735
+ class Unknown < SourceData; end
736
+ end
737
+
738
+ # The state of the subject after a read or write operation.
739
+ #
740
+ # @!attribute [rw] created_at
741
+ # The ISO-8601 timestamp when the subject was created.
742
+ # @return [Time]
743
+ #
744
+ # @!attribute [rw] credentials
745
+ # The temporary session credentials vended at the last authenticating
746
+ # call with this Subject.
747
+ # @return [Array<Types::CredentialSummary>]
748
+ #
749
+ # @!attribute [rw] enabled
750
+ # The enabled status of the subject.
751
+ # @return [Boolean]
752
+ #
753
+ # @!attribute [rw] instance_properties
754
+ # The specified instance properties associated with the request.
755
+ # @return [Array<Types::InstanceProperty>]
756
+ #
757
+ # @!attribute [rw] last_seen_at
758
+ # The ISO-8601 timestamp of the last time this Subject requested
759
+ # temporary session credentials.
760
+ # @return [Time]
761
+ #
762
+ # @!attribute [rw] subject_arn
763
+ # The ARN of the resource.
764
+ # @return [String]
765
+ #
766
+ # @!attribute [rw] subject_id
767
+ # The id of the resource
768
+ # @return [String]
769
+ #
770
+ # @!attribute [rw] updated_at
771
+ # The ISO-8601 timestamp when the subject was last updated.
772
+ # @return [Time]
773
+ #
774
+ # @!attribute [rw] x509_subject
775
+ # The x509 principal identifier of the authenticating certificate.
776
+ # @return [String]
777
+ #
778
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/SubjectDetail AWS API Documentation
779
+ #
780
+ class SubjectDetail < Struct.new(
781
+ :created_at,
782
+ :credentials,
783
+ :enabled,
784
+ :instance_properties,
785
+ :last_seen_at,
786
+ :subject_arn,
787
+ :subject_id,
788
+ :updated_at,
789
+ :x509_subject)
790
+ SENSITIVE = []
791
+ include Aws::Structure
792
+ end
793
+
794
+ # @!attribute [rw] subject
795
+ # The state of the subject after a read or write operation.
796
+ # @return [Types::SubjectDetail]
797
+ #
798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/SubjectDetailResponse AWS API Documentation
799
+ #
800
+ class SubjectDetailResponse < Struct.new(
801
+ :subject)
802
+ SENSITIVE = []
803
+ include Aws::Structure
804
+ end
805
+
806
+ # A summary representation of Subject resources returned in read
807
+ # operations; primarily ListSubjects.
808
+ #
809
+ # @!attribute [rw] created_at
810
+ # The ISO-8601 time stamp of when the certificate was first used in a
811
+ # [CreateSession][1] operation.
812
+ #
813
+ #
814
+ #
815
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
816
+ # @return [Time]
817
+ #
818
+ # @!attribute [rw] enabled
819
+ # The enabled status of the Subject.
820
+ # @return [Boolean]
821
+ #
822
+ # @!attribute [rw] last_seen_at
823
+ # The ISO-8601 time stamp of when the certificate was last used in a
824
+ # [CreateSession][1] operation.
825
+ #
826
+ #
827
+ #
828
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
829
+ # @return [Time]
830
+ #
831
+ # @!attribute [rw] subject_arn
832
+ # The ARN of the resource.
833
+ # @return [String]
834
+ #
835
+ # @!attribute [rw] subject_id
836
+ # The id of the resource.
837
+ # @return [String]
838
+ #
839
+ # @!attribute [rw] updated_at
840
+ # The ISO-8601 timestamp when the subject was last updated.
841
+ # @return [Time]
842
+ #
843
+ # @!attribute [rw] x509_subject
844
+ # The x509 principal identifier of the authenticating certificate.
845
+ # @return [String]
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/SubjectSummary AWS API Documentation
848
+ #
849
+ class SubjectSummary < Struct.new(
850
+ :created_at,
851
+ :enabled,
852
+ :last_seen_at,
853
+ :subject_arn,
854
+ :subject_id,
855
+ :updated_at,
856
+ :x509_subject)
857
+ SENSITIVE = []
858
+ include Aws::Structure
859
+ end
860
+
861
+ # A label that consists of a key and value you define.
862
+ #
863
+ # @note When making an API call, you may pass Tag
864
+ # data as a hash:
865
+ #
866
+ # {
867
+ # key: "TagKey", # required
868
+ # value: "TagValue", # required
869
+ # }
870
+ #
871
+ # @!attribute [rw] key
872
+ # The tag key.
873
+ # @return [String]
874
+ #
875
+ # @!attribute [rw] value
876
+ # The tag value.
877
+ # @return [String]
878
+ #
879
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/Tag AWS API Documentation
880
+ #
881
+ class Tag < Struct.new(
882
+ :key,
883
+ :value)
884
+ SENSITIVE = [:key, :value]
885
+ include Aws::Structure
886
+ end
887
+
888
+ # @note When making an API call, you may pass TagResourceRequest
889
+ # data as a hash:
890
+ #
891
+ # {
892
+ # resource_arn: "AmazonResourceName", # required
893
+ # tags: [ # required
894
+ # {
895
+ # key: "TagKey", # required
896
+ # value: "TagValue", # required
897
+ # },
898
+ # ],
899
+ # }
900
+ #
901
+ # @!attribute [rw] resource_arn
902
+ # The ARN of the resource.
903
+ # @return [String]
904
+ #
905
+ # @!attribute [rw] tags
906
+ # The tags to attach to the resource.
907
+ # @return [Array<Types::Tag>]
908
+ #
909
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/TagResourceRequest AWS API Documentation
910
+ #
911
+ class TagResourceRequest < Struct.new(
912
+ :resource_arn,
913
+ :tags)
914
+ SENSITIVE = []
915
+ include Aws::Structure
916
+ end
917
+
918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/TagResourceResponse AWS API Documentation
919
+ #
920
+ class TagResourceResponse < Aws::EmptyStructure; end
921
+
922
+ # Too many tags.
923
+ #
924
+ # @!attribute [rw] message
925
+ # @return [String]
926
+ #
927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/TooManyTagsException AWS API Documentation
928
+ #
929
+ class TooManyTagsException < Struct.new(
930
+ :message)
931
+ SENSITIVE = []
932
+ include Aws::Structure
933
+ end
934
+
935
+ # The state of the trust anchor after a read or write operation.
936
+ #
937
+ # @!attribute [rw] created_at
938
+ # The ISO-8601 timestamp when the trust anchor was created.
939
+ # @return [Time]
940
+ #
941
+ # @!attribute [rw] enabled
942
+ # Indicates whether the trust anchor is enabled.
943
+ # @return [Boolean]
944
+ #
945
+ # @!attribute [rw] name
946
+ # The name of the trust anchor.
947
+ # @return [String]
948
+ #
949
+ # @!attribute [rw] source
950
+ # The trust anchor type and its related certificate data.
951
+ # @return [Types::Source]
952
+ #
953
+ # @!attribute [rw] trust_anchor_arn
954
+ # The ARN of the trust anchor.
955
+ # @return [String]
956
+ #
957
+ # @!attribute [rw] trust_anchor_id
958
+ # The unique identifier of the trust anchor.
959
+ # @return [String]
960
+ #
961
+ # @!attribute [rw] updated_at
962
+ # The ISO-8601 timestamp when the trust anchor was last updated.
963
+ # @return [Time]
964
+ #
965
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/TrustAnchorDetail AWS API Documentation
966
+ #
967
+ class TrustAnchorDetail < Struct.new(
968
+ :created_at,
969
+ :enabled,
970
+ :name,
971
+ :source,
972
+ :trust_anchor_arn,
973
+ :trust_anchor_id,
974
+ :updated_at)
975
+ SENSITIVE = []
976
+ include Aws::Structure
977
+ end
978
+
979
+ # @!attribute [rw] trust_anchor
980
+ # The state of the trust anchor after a read or write operation.
981
+ # @return [Types::TrustAnchorDetail]
982
+ #
983
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/TrustAnchorDetailResponse AWS API Documentation
984
+ #
985
+ class TrustAnchorDetailResponse < Struct.new(
986
+ :trust_anchor)
987
+ SENSITIVE = []
988
+ include Aws::Structure
989
+ end
990
+
991
+ # @note When making an API call, you may pass UntagResourceRequest
992
+ # data as a hash:
993
+ #
994
+ # {
995
+ # resource_arn: "AmazonResourceName", # required
996
+ # tag_keys: ["TagKey"], # required
997
+ # }
998
+ #
999
+ # @!attribute [rw] resource_arn
1000
+ # The ARN of the resource.
1001
+ # @return [String]
1002
+ #
1003
+ # @!attribute [rw] tag_keys
1004
+ # A list of keys. Tag keys are the unique identifiers of tags.
1005
+ # @return [Array<String>]
1006
+ #
1007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UntagResourceRequest AWS API Documentation
1008
+ #
1009
+ class UntagResourceRequest < Struct.new(
1010
+ :resource_arn,
1011
+ :tag_keys)
1012
+ SENSITIVE = []
1013
+ include Aws::Structure
1014
+ end
1015
+
1016
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UntagResourceResponse AWS API Documentation
1017
+ #
1018
+ class UntagResourceResponse < Aws::EmptyStructure; end
1019
+
1020
+ # @note When making an API call, you may pass UpdateCrlRequest
1021
+ # data as a hash:
1022
+ #
1023
+ # {
1024
+ # crl_data: "data",
1025
+ # crl_id: "Uuid", # required
1026
+ # name: "ResourceName",
1027
+ # }
1028
+ #
1029
+ # @!attribute [rw] crl_data
1030
+ # The x509 v3 specified certificate revocation list
1031
+ # @return [String]
1032
+ #
1033
+ # @!attribute [rw] crl_id
1034
+ # The unique identifier of the certificate revocation list (CRL).
1035
+ # @return [String]
1036
+ #
1037
+ # @!attribute [rw] name
1038
+ # The name of the Crl.
1039
+ # @return [String]
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UpdateCrlRequest AWS API Documentation
1042
+ #
1043
+ class UpdateCrlRequest < Struct.new(
1044
+ :crl_data,
1045
+ :crl_id,
1046
+ :name)
1047
+ SENSITIVE = []
1048
+ include Aws::Structure
1049
+ end
1050
+
1051
+ # @note When making an API call, you may pass UpdateProfileRequest
1052
+ # data as a hash:
1053
+ #
1054
+ # {
1055
+ # duration_seconds: 1,
1056
+ # managed_policy_arns: ["ManagedPolicyListMemberString"],
1057
+ # name: "ResourceName",
1058
+ # profile_id: "Uuid", # required
1059
+ # role_arns: ["RoleArn"],
1060
+ # session_policy: "UpdateProfileRequestSessionPolicyString",
1061
+ # }
1062
+ #
1063
+ # @!attribute [rw] duration_seconds
1064
+ # The number of seconds the vended session credentials are valid for.
1065
+ # @return [Integer]
1066
+ #
1067
+ # @!attribute [rw] managed_policy_arns
1068
+ # A list of managed policy ARNs that apply to the vended session
1069
+ # credentials.
1070
+ # @return [Array<String>]
1071
+ #
1072
+ # @!attribute [rw] name
1073
+ # The name of the profile.
1074
+ # @return [String]
1075
+ #
1076
+ # @!attribute [rw] profile_id
1077
+ # The unique identifier of the profile.
1078
+ # @return [String]
1079
+ #
1080
+ # @!attribute [rw] role_arns
1081
+ # A list of IAM roles that this profile can assume in a
1082
+ # [CreateSession][1] operation.
1083
+ #
1084
+ #
1085
+ #
1086
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
1087
+ # @return [Array<String>]
1088
+ #
1089
+ # @!attribute [rw] session_policy
1090
+ # A session policy that applies to the trust boundary of the vended
1091
+ # session credentials.
1092
+ # @return [String]
1093
+ #
1094
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UpdateProfileRequest AWS API Documentation
1095
+ #
1096
+ class UpdateProfileRequest < Struct.new(
1097
+ :duration_seconds,
1098
+ :managed_policy_arns,
1099
+ :name,
1100
+ :profile_id,
1101
+ :role_arns,
1102
+ :session_policy)
1103
+ SENSITIVE = []
1104
+ include Aws::Structure
1105
+ end
1106
+
1107
+ # @note When making an API call, you may pass UpdateTrustAnchorRequest
1108
+ # data as a hash:
1109
+ #
1110
+ # {
1111
+ # name: "ResourceName",
1112
+ # source: {
1113
+ # source_data: {
1114
+ # acm_pca_arn: "String",
1115
+ # x509_certificate_data: "String",
1116
+ # },
1117
+ # source_type: "AWS_ACM_PCA", # accepts AWS_ACM_PCA, CERTIFICATE_BUNDLE, SELF_SIGNED_REPOSITORY
1118
+ # },
1119
+ # trust_anchor_id: "Uuid", # required
1120
+ # }
1121
+ #
1122
+ # @!attribute [rw] name
1123
+ # The name of the trust anchor.
1124
+ # @return [String]
1125
+ #
1126
+ # @!attribute [rw] source
1127
+ # The trust anchor type and its related certificate data.
1128
+ # @return [Types::Source]
1129
+ #
1130
+ # @!attribute [rw] trust_anchor_id
1131
+ # The unique identifier of the trust anchor.
1132
+ # @return [String]
1133
+ #
1134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UpdateTrustAnchorRequest AWS API Documentation
1135
+ #
1136
+ class UpdateTrustAnchorRequest < Struct.new(
1137
+ :name,
1138
+ :source,
1139
+ :trust_anchor_id)
1140
+ SENSITIVE = []
1141
+ include Aws::Structure
1142
+ end
1143
+
1144
+ # Validation exception error.
1145
+ #
1146
+ # @!attribute [rw] message
1147
+ # @return [String]
1148
+ #
1149
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ValidationException AWS API Documentation
1150
+ #
1151
+ class ValidationException < Struct.new(
1152
+ :message)
1153
+ SENSITIVE = []
1154
+ include Aws::Structure
1155
+ end
1156
+
1157
+ end
1158
+ end