aws-sdk-rolesanywhere 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,1627 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/signature_v4.rb'
34
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:rolesanywhere)
37
+
38
+ module Aws::RolesAnywhere
39
+ # An API client for RolesAnywhere. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::RolesAnywhere::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :rolesanywhere
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::SignatureV4)
83
+ add_plugin(Aws::Plugins::Protocols::RestJson)
84
+
85
+ # @overload initialize(options)
86
+ # @param [Hash] options
87
+ # @option options [required, Aws::CredentialProvider] :credentials
88
+ # Your AWS credentials. This can be an instance of any one of the
89
+ # following classes:
90
+ #
91
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
92
+ # credentials.
93
+ #
94
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
95
+ # shared file, such as `~/.aws/config`.
96
+ #
97
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
98
+ #
99
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
100
+ # assume a role after providing credentials via the web.
101
+ #
102
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
103
+ # access token generated from `aws login`.
104
+ #
105
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
106
+ # process that outputs to stdout.
107
+ #
108
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
109
+ # from an EC2 IMDS on an EC2 instance.
110
+ #
111
+ # * `Aws::ECSCredentials` - Used for loading credentials from
112
+ # instances running in ECS.
113
+ #
114
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
115
+ # from the Cognito Identity service.
116
+ #
117
+ # When `:credentials` are not configured directly, the following
118
+ # locations will be searched for credentials:
119
+ #
120
+ # * `Aws.config[:credentials]`
121
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
122
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
123
+ # * `~/.aws/credentials`
124
+ # * `~/.aws/config`
125
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
126
+ # are very aggressive. Construct and pass an instance of
127
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
128
+ # enable retries and extended timeouts. Instance profile credential
129
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
130
+ # to true.
131
+ #
132
+ # @option options [required, String] :region
133
+ # The AWS region to connect to. The configured `:region` is
134
+ # used to determine the service `:endpoint`. When not passed,
135
+ # a default `:region` is searched for in the following locations:
136
+ #
137
+ # * `Aws.config[:region]`
138
+ # * `ENV['AWS_REGION']`
139
+ # * `ENV['AMAZON_REGION']`
140
+ # * `ENV['AWS_DEFAULT_REGION']`
141
+ # * `~/.aws/credentials`
142
+ # * `~/.aws/config`
143
+ #
144
+ # @option options [String] :access_key_id
145
+ #
146
+ # @option options [Boolean] :active_endpoint_cache (false)
147
+ # When set to `true`, a thread polling for endpoints will be running in
148
+ # the background every 60 secs (default). Defaults to `false`.
149
+ #
150
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
151
+ # Used only in `adaptive` retry mode. When true, the request will sleep
152
+ # until there is sufficent client side capacity to retry the request.
153
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
154
+ # not retry instead of sleeping.
155
+ #
156
+ # @option options [Boolean] :client_side_monitoring (false)
157
+ # When `true`, client-side metrics will be collected for all API requests from
158
+ # this client.
159
+ #
160
+ # @option options [String] :client_side_monitoring_client_id ("")
161
+ # Allows you to provide an identifier for this client which will be attached to
162
+ # all generated client side metrics. Defaults to an empty string.
163
+ #
164
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
165
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
166
+ # side monitoring agent is running on, where client metrics will be published via UDP.
167
+ #
168
+ # @option options [Integer] :client_side_monitoring_port (31000)
169
+ # Required for publishing client metrics. The port that the client side monitoring
170
+ # agent is running on, where client metrics will be published via UDP.
171
+ #
172
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
173
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
174
+ # will use the Client Side Monitoring Agent Publisher.
175
+ #
176
+ # @option options [Boolean] :convert_params (true)
177
+ # When `true`, an attempt is made to coerce request parameters into
178
+ # the required types.
179
+ #
180
+ # @option options [Boolean] :correct_clock_skew (true)
181
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
182
+ # a clock skew correction and retry requests with skewed client clocks.
183
+ #
184
+ # @option options [String] :defaults_mode ("legacy")
185
+ # See {Aws::DefaultsModeConfiguration} for a list of the
186
+ # accepted modes and the configuration defaults that are included.
187
+ #
188
+ # @option options [Boolean] :disable_host_prefix_injection (false)
189
+ # Set to true to disable SDK automatically adding host prefix
190
+ # to default service endpoint when available.
191
+ #
192
+ # @option options [String] :endpoint
193
+ # The client endpoint is normally constructed from the `:region`
194
+ # option. You should only configure an `:endpoint` when connecting
195
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
196
+ #
197
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
198
+ # Used for the maximum size limit of the LRU cache storing endpoints data
199
+ # for endpoint discovery enabled operations. Defaults to 1000.
200
+ #
201
+ # @option options [Integer] :endpoint_cache_max_threads (10)
202
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
205
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
206
+ # Use this option to config the time interval in seconds for making
207
+ # requests fetching endpoints information. Defaults to 60 sec.
208
+ #
209
+ # @option options [Boolean] :endpoint_discovery (false)
210
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
211
+ #
212
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
213
+ # The log formatter.
214
+ #
215
+ # @option options [Symbol] :log_level (:info)
216
+ # The log level to send messages to the `:logger` at.
217
+ #
218
+ # @option options [Logger] :logger
219
+ # The Logger instance to send log messages to. If this option
220
+ # is not set, logging will be disabled.
221
+ #
222
+ # @option options [Integer] :max_attempts (3)
223
+ # An integer representing the maximum number attempts that will be made for
224
+ # a single request, including the initial attempt. For example,
225
+ # setting this value to 5 will result in a request being retried up to
226
+ # 4 times. Used in `standard` and `adaptive` retry modes.
227
+ #
228
+ # @option options [String] :profile ("default")
229
+ # Used when loading credentials from the shared credentials file
230
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
231
+ #
232
+ # @option options [Proc] :retry_backoff
233
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
234
+ # This option is only used in the `legacy` retry mode.
235
+ #
236
+ # @option options [Float] :retry_base_delay (0.3)
237
+ # The base delay in seconds used by the default backoff function. This option
238
+ # is only used in the `legacy` retry mode.
239
+ #
240
+ # @option options [Symbol] :retry_jitter (:none)
241
+ # A delay randomiser function used by the default backoff function.
242
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
243
+ # otherwise a Proc that takes and returns a number. This option is only used
244
+ # in the `legacy` retry mode.
245
+ #
246
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
247
+ #
248
+ # @option options [Integer] :retry_limit (3)
249
+ # The maximum number of times to retry failed requests. Only
250
+ # ~ 500 level server errors and certain ~ 400 level client errors
251
+ # are retried. Generally, these are throttling errors, data
252
+ # checksum errors, networking errors, timeout errors, auth errors,
253
+ # endpoint discovery, and errors from expired credentials.
254
+ # This option is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Integer] :retry_max_delay (0)
257
+ # The maximum number of seconds to delay between retries (0 for no limit)
258
+ # used by the default backoff function. This option is only used in the
259
+ # `legacy` retry mode.
260
+ #
261
+ # @option options [String] :retry_mode ("legacy")
262
+ # Specifies which retry algorithm to use. Values are:
263
+ #
264
+ # * `legacy` - The pre-existing retry behavior. This is default value if
265
+ # no retry mode is provided.
266
+ #
267
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
268
+ # This includes support for retry quotas, which limit the number of
269
+ # unsuccessful retries a client can make.
270
+ #
271
+ # * `adaptive` - An experimental retry mode that includes all the
272
+ # functionality of `standard` mode along with automatic client side
273
+ # throttling. This is a provisional mode that may change behavior
274
+ # in the future.
275
+ #
276
+ #
277
+ # @option options [String] :secret_access_key
278
+ #
279
+ # @option options [String] :session_token
280
+ #
281
+ # @option options [Boolean] :stub_responses (false)
282
+ # Causes the client to return stubbed responses. By default
283
+ # fake responses are generated and returned. You can specify
284
+ # the response data to return or errors to raise by calling
285
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
286
+ #
287
+ # ** Please note ** When response stubbing is enabled, no HTTP
288
+ # requests are made, and retries are disabled.
289
+ #
290
+ # @option options [Boolean] :use_dualstack_endpoint
291
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
+ # will be used if available.
293
+ #
294
+ # @option options [Boolean] :use_fips_endpoint
295
+ # When set to `true`, fips compatible endpoints will be used if available.
296
+ # When a `fips` region is used, the region is normalized and this config
297
+ # is set to `true`.
298
+ #
299
+ # @option options [Boolean] :validate_params (true)
300
+ # When `true`, request parameters are validated before
301
+ # sending the request.
302
+ #
303
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
+ # requests through. Formatted like 'http://proxy.com:123'.
305
+ #
306
+ # @option options [Float] :http_open_timeout (15) The number of
307
+ # seconds to wait when opening a HTTP session before raising a
308
+ # `Timeout::Error`.
309
+ #
310
+ # @option options [Float] :http_read_timeout (60) The default
311
+ # number of seconds to wait for response data. This value can
312
+ # safely be set per-request on the session.
313
+ #
314
+ # @option options [Float] :http_idle_timeout (5) The number of
315
+ # seconds a connection is allowed to sit idle before it is
316
+ # considered stale. Stale connections are closed and removed
317
+ # from the pool before making a request.
318
+ #
319
+ # @option options [Float] :http_continue_timeout (1) The number of
320
+ # seconds to wait for a 100-continue response before sending the
321
+ # request body. This option has no effect unless the request has
322
+ # "Expect" header set to "100-continue". Defaults to `nil` which
323
+ # disables this behaviour. This value can safely be set per
324
+ # request on the session.
325
+ #
326
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
327
+ # in seconds.
328
+ #
329
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
330
+ # HTTP debug output will be sent to the `:logger`.
331
+ #
332
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
333
+ # SSL peer certificates are verified when establishing a
334
+ # connection.
335
+ #
336
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
337
+ # certificate authority bundle file that should be used when
338
+ # verifying peer certificates. If you do not pass
339
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
340
+ # will be used if available.
341
+ #
342
+ # @option options [String] :ssl_ca_directory Full path of the
343
+ # directory that contains the unbundled SSL certificate
344
+ # authority files for verifying peer certificates. If you do
345
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
346
+ # system default will be used if available.
347
+ #
348
+ def initialize(*args)
349
+ super
350
+ end
351
+
352
+ # @!group API Operations
353
+
354
+ # Creates a profile. A profile is configuration resource to list the
355
+ # roles that RolesAnywhere service is trusted to assume. In addition, by
356
+ # applying a profile you can intersect permissions with IAM managed
357
+ # policies.
358
+ #
359
+ # <b>Required permissions: </b> `rolesanywhere:CreateProfile`.
360
+ #
361
+ # @option params [Integer] :duration_seconds
362
+ # The number of seconds the vended session credentials are valid for.
363
+ #
364
+ # @option params [Boolean] :enabled
365
+ # Specifies whether the profile is enabled.
366
+ #
367
+ # @option params [Array<String>] :managed_policy_arns
368
+ # A list of managed policy ARNs that apply to the vended session
369
+ # credentials.
370
+ #
371
+ # @option params [required, String] :name
372
+ # The name of the profile.
373
+ #
374
+ # @option params [Boolean] :require_instance_properties
375
+ # Specifies whether instance properties are required in
376
+ # [CreateSession][1] requests with this profile.
377
+ #
378
+ #
379
+ #
380
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
381
+ #
382
+ # @option params [required, Array<String>] :role_arns
383
+ # A list of IAM roles that this profile can assume in a
384
+ # [CreateSession][1] operation.
385
+ #
386
+ #
387
+ #
388
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
389
+ #
390
+ # @option params [String] :session_policy
391
+ # A session policy that applies to the trust boundary of the vended
392
+ # session credentials.
393
+ #
394
+ # @option params [Array<Types::Tag>] :tags
395
+ # The tags to attach to the profile.
396
+ #
397
+ # @return [Types::ProfileDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
398
+ #
399
+ # * {Types::ProfileDetailResponse#profile #profile} => Types::ProfileDetail
400
+ #
401
+ # @example Request syntax with placeholder values
402
+ #
403
+ # resp = client.create_profile({
404
+ # duration_seconds: 1,
405
+ # enabled: false,
406
+ # managed_policy_arns: ["ManagedPolicyListMemberString"],
407
+ # name: "ResourceName", # required
408
+ # require_instance_properties: false,
409
+ # role_arns: ["RoleArn"], # required
410
+ # session_policy: "String",
411
+ # tags: [
412
+ # {
413
+ # key: "TagKey", # required
414
+ # value: "TagValue", # required
415
+ # },
416
+ # ],
417
+ # })
418
+ #
419
+ # @example Response structure
420
+ #
421
+ # resp.profile.created_at #=> Time
422
+ # resp.profile.created_by #=> String
423
+ # resp.profile.duration_seconds #=> Integer
424
+ # resp.profile.enabled #=> Boolean
425
+ # resp.profile.managed_policy_arns #=> Array
426
+ # resp.profile.managed_policy_arns[0] #=> String
427
+ # resp.profile.name #=> String
428
+ # resp.profile.profile_arn #=> String
429
+ # resp.profile.profile_id #=> String
430
+ # resp.profile.require_instance_properties #=> Boolean
431
+ # resp.profile.role_arns #=> Array
432
+ # resp.profile.role_arns[0] #=> String
433
+ # resp.profile.session_policy #=> String
434
+ # resp.profile.updated_at #=> Time
435
+ #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/CreateProfile AWS API Documentation
437
+ #
438
+ # @overload create_profile(params = {})
439
+ # @param [Hash] params ({})
440
+ def create_profile(params = {}, options = {})
441
+ req = build_request(:create_profile, params)
442
+ req.send_request(options)
443
+ end
444
+
445
+ # Creates a trust anchor. You establish trust between IAM Roles Anywhere
446
+ # and your certificate authority (CA) by configuring a trust anchor. A
447
+ # Trust Anchor is defined either as a reference to a AWS Certificate
448
+ # Manager Private Certificate Authority (ACM PCA), or by uploading a
449
+ # Certificate Authority (CA) certificate. Your AWS workloads can
450
+ # authenticate with the trust anchor using certificates issued by the
451
+ # trusted Certificate Authority (CA) in exchange for temporary AWS
452
+ # credentials.
453
+ #
454
+ # <b>Required permissions: </b> `rolesanywhere:CreateTrustAnchor`.
455
+ #
456
+ # @option params [Boolean] :enabled
457
+ # Specifies whether the trust anchor is enabled.
458
+ #
459
+ # @option params [required, String] :name
460
+ # The name of the trust anchor.
461
+ #
462
+ # @option params [required, Types::Source] :source
463
+ # The trust anchor type and its related certificate data.
464
+ #
465
+ # @option params [Array<Types::Tag>] :tags
466
+ # The tags to attach to the trust anchor.
467
+ #
468
+ # @return [Types::TrustAnchorDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
469
+ #
470
+ # * {Types::TrustAnchorDetailResponse#trust_anchor #trust_anchor} => Types::TrustAnchorDetail
471
+ #
472
+ # @example Request syntax with placeholder values
473
+ #
474
+ # resp = client.create_trust_anchor({
475
+ # enabled: false,
476
+ # name: "ResourceName", # required
477
+ # source: { # required
478
+ # source_data: {
479
+ # acm_pca_arn: "String",
480
+ # x509_certificate_data: "String",
481
+ # },
482
+ # source_type: "AWS_ACM_PCA", # accepts AWS_ACM_PCA, CERTIFICATE_BUNDLE, SELF_SIGNED_REPOSITORY
483
+ # },
484
+ # tags: [
485
+ # {
486
+ # key: "TagKey", # required
487
+ # value: "TagValue", # required
488
+ # },
489
+ # ],
490
+ # })
491
+ #
492
+ # @example Response structure
493
+ #
494
+ # resp.trust_anchor.created_at #=> Time
495
+ # resp.trust_anchor.enabled #=> Boolean
496
+ # resp.trust_anchor.name #=> String
497
+ # resp.trust_anchor.source.source_data.acm_pca_arn #=> String
498
+ # resp.trust_anchor.source.source_data.x509_certificate_data #=> String
499
+ # resp.trust_anchor.source.source_type #=> String, one of "AWS_ACM_PCA", "CERTIFICATE_BUNDLE", "SELF_SIGNED_REPOSITORY"
500
+ # resp.trust_anchor.trust_anchor_arn #=> String
501
+ # resp.trust_anchor.trust_anchor_id #=> String
502
+ # resp.trust_anchor.updated_at #=> Time
503
+ #
504
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/CreateTrustAnchor AWS API Documentation
505
+ #
506
+ # @overload create_trust_anchor(params = {})
507
+ # @param [Hash] params ({})
508
+ def create_trust_anchor(params = {}, options = {})
509
+ req = build_request(:create_trust_anchor, params)
510
+ req.send_request(options)
511
+ end
512
+
513
+ # Deletes a certificate revocation list (CRL).
514
+ #
515
+ # <b>Required permissions: </b> `rolesanywhere:DeleteCrl`.
516
+ #
517
+ # @option params [required, String] :crl_id
518
+ # The unique identifier of the certificate revocation list (CRL).
519
+ #
520
+ # @return [Types::CrlDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
521
+ #
522
+ # * {Types::CrlDetailResponse#crl #crl} => Types::CrlDetail
523
+ #
524
+ # @example Request syntax with placeholder values
525
+ #
526
+ # resp = client.delete_crl({
527
+ # crl_id: "Uuid", # required
528
+ # })
529
+ #
530
+ # @example Response structure
531
+ #
532
+ # resp.crl.created_at #=> Time
533
+ # resp.crl.crl_arn #=> String
534
+ # resp.crl.crl_data #=> String
535
+ # resp.crl.crl_id #=> String
536
+ # resp.crl.enabled #=> Boolean
537
+ # resp.crl.name #=> String
538
+ # resp.crl.trust_anchor_arn #=> String
539
+ # resp.crl.updated_at #=> Time
540
+ #
541
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DeleteCrl AWS API Documentation
542
+ #
543
+ # @overload delete_crl(params = {})
544
+ # @param [Hash] params ({})
545
+ def delete_crl(params = {}, options = {})
546
+ req = build_request(:delete_crl, params)
547
+ req.send_request(options)
548
+ end
549
+
550
+ # Deletes a profile.
551
+ #
552
+ # <b>Required permissions: </b> `rolesanywhere:DeleteProfile`.
553
+ #
554
+ # @option params [required, String] :profile_id
555
+ # The unique identifier of the profile.
556
+ #
557
+ # @return [Types::ProfileDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
558
+ #
559
+ # * {Types::ProfileDetailResponse#profile #profile} => Types::ProfileDetail
560
+ #
561
+ # @example Request syntax with placeholder values
562
+ #
563
+ # resp = client.delete_profile({
564
+ # profile_id: "Uuid", # required
565
+ # })
566
+ #
567
+ # @example Response structure
568
+ #
569
+ # resp.profile.created_at #=> Time
570
+ # resp.profile.created_by #=> String
571
+ # resp.profile.duration_seconds #=> Integer
572
+ # resp.profile.enabled #=> Boolean
573
+ # resp.profile.managed_policy_arns #=> Array
574
+ # resp.profile.managed_policy_arns[0] #=> String
575
+ # resp.profile.name #=> String
576
+ # resp.profile.profile_arn #=> String
577
+ # resp.profile.profile_id #=> String
578
+ # resp.profile.require_instance_properties #=> Boolean
579
+ # resp.profile.role_arns #=> Array
580
+ # resp.profile.role_arns[0] #=> String
581
+ # resp.profile.session_policy #=> String
582
+ # resp.profile.updated_at #=> Time
583
+ #
584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DeleteProfile AWS API Documentation
585
+ #
586
+ # @overload delete_profile(params = {})
587
+ # @param [Hash] params ({})
588
+ def delete_profile(params = {}, options = {})
589
+ req = build_request(:delete_profile, params)
590
+ req.send_request(options)
591
+ end
592
+
593
+ # Deletes a trust anchor.
594
+ #
595
+ # <b>Required permissions: </b> `rolesanywhere:DeleteTrustAnchor`.
596
+ #
597
+ # @option params [required, String] :trust_anchor_id
598
+ # The unique identifier of the trust anchor.
599
+ #
600
+ # @return [Types::TrustAnchorDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
601
+ #
602
+ # * {Types::TrustAnchorDetailResponse#trust_anchor #trust_anchor} => Types::TrustAnchorDetail
603
+ #
604
+ # @example Request syntax with placeholder values
605
+ #
606
+ # resp = client.delete_trust_anchor({
607
+ # trust_anchor_id: "Uuid", # required
608
+ # })
609
+ #
610
+ # @example Response structure
611
+ #
612
+ # resp.trust_anchor.created_at #=> Time
613
+ # resp.trust_anchor.enabled #=> Boolean
614
+ # resp.trust_anchor.name #=> String
615
+ # resp.trust_anchor.source.source_data.acm_pca_arn #=> String
616
+ # resp.trust_anchor.source.source_data.x509_certificate_data #=> String
617
+ # resp.trust_anchor.source.source_type #=> String, one of "AWS_ACM_PCA", "CERTIFICATE_BUNDLE", "SELF_SIGNED_REPOSITORY"
618
+ # resp.trust_anchor.trust_anchor_arn #=> String
619
+ # resp.trust_anchor.trust_anchor_id #=> String
620
+ # resp.trust_anchor.updated_at #=> Time
621
+ #
622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DeleteTrustAnchor AWS API Documentation
623
+ #
624
+ # @overload delete_trust_anchor(params = {})
625
+ # @param [Hash] params ({})
626
+ def delete_trust_anchor(params = {}, options = {})
627
+ req = build_request(:delete_trust_anchor, params)
628
+ req.send_request(options)
629
+ end
630
+
631
+ # Disables a certificate revocation list (CRL).
632
+ #
633
+ # <b>Required permissions: </b> `rolesanywhere:DisableCrl`.
634
+ #
635
+ # @option params [required, String] :crl_id
636
+ # The unique identifier of the certificate revocation list (CRL).
637
+ #
638
+ # @return [Types::CrlDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
639
+ #
640
+ # * {Types::CrlDetailResponse#crl #crl} => Types::CrlDetail
641
+ #
642
+ # @example Request syntax with placeholder values
643
+ #
644
+ # resp = client.disable_crl({
645
+ # crl_id: "Uuid", # required
646
+ # })
647
+ #
648
+ # @example Response structure
649
+ #
650
+ # resp.crl.created_at #=> Time
651
+ # resp.crl.crl_arn #=> String
652
+ # resp.crl.crl_data #=> String
653
+ # resp.crl.crl_id #=> String
654
+ # resp.crl.enabled #=> Boolean
655
+ # resp.crl.name #=> String
656
+ # resp.crl.trust_anchor_arn #=> String
657
+ # resp.crl.updated_at #=> Time
658
+ #
659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DisableCrl AWS API Documentation
660
+ #
661
+ # @overload disable_crl(params = {})
662
+ # @param [Hash] params ({})
663
+ def disable_crl(params = {}, options = {})
664
+ req = build_request(:disable_crl, params)
665
+ req.send_request(options)
666
+ end
667
+
668
+ # Disables a profile. When disabled, [CreateSession][1] requests with
669
+ # this profile fail.
670
+ #
671
+ # <b>Required permissions: </b> `rolesanywhere:DisableProfile`.
672
+ #
673
+ #
674
+ #
675
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
676
+ #
677
+ # @option params [required, String] :profile_id
678
+ # The unique identifier of the profile.
679
+ #
680
+ # @return [Types::ProfileDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
681
+ #
682
+ # * {Types::ProfileDetailResponse#profile #profile} => Types::ProfileDetail
683
+ #
684
+ # @example Request syntax with placeholder values
685
+ #
686
+ # resp = client.disable_profile({
687
+ # profile_id: "Uuid", # required
688
+ # })
689
+ #
690
+ # @example Response structure
691
+ #
692
+ # resp.profile.created_at #=> Time
693
+ # resp.profile.created_by #=> String
694
+ # resp.profile.duration_seconds #=> Integer
695
+ # resp.profile.enabled #=> Boolean
696
+ # resp.profile.managed_policy_arns #=> Array
697
+ # resp.profile.managed_policy_arns[0] #=> String
698
+ # resp.profile.name #=> String
699
+ # resp.profile.profile_arn #=> String
700
+ # resp.profile.profile_id #=> String
701
+ # resp.profile.require_instance_properties #=> Boolean
702
+ # resp.profile.role_arns #=> Array
703
+ # resp.profile.role_arns[0] #=> String
704
+ # resp.profile.session_policy #=> String
705
+ # resp.profile.updated_at #=> Time
706
+ #
707
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DisableProfile AWS API Documentation
708
+ #
709
+ # @overload disable_profile(params = {})
710
+ # @param [Hash] params ({})
711
+ def disable_profile(params = {}, options = {})
712
+ req = build_request(:disable_profile, params)
713
+ req.send_request(options)
714
+ end
715
+
716
+ # Disables a trust anchor. When disabled, [CreateSession][1] requests
717
+ # specifying this trust anchor are unauthorized.
718
+ #
719
+ # <b>Required permissions: </b> `rolesanywhere:DisableTrustAnchor`.
720
+ #
721
+ #
722
+ #
723
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
724
+ #
725
+ # @option params [required, String] :trust_anchor_id
726
+ # The unique identifier of the trust anchor.
727
+ #
728
+ # @return [Types::TrustAnchorDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
729
+ #
730
+ # * {Types::TrustAnchorDetailResponse#trust_anchor #trust_anchor} => Types::TrustAnchorDetail
731
+ #
732
+ # @example Request syntax with placeholder values
733
+ #
734
+ # resp = client.disable_trust_anchor({
735
+ # trust_anchor_id: "Uuid", # required
736
+ # })
737
+ #
738
+ # @example Response structure
739
+ #
740
+ # resp.trust_anchor.created_at #=> Time
741
+ # resp.trust_anchor.enabled #=> Boolean
742
+ # resp.trust_anchor.name #=> String
743
+ # resp.trust_anchor.source.source_data.acm_pca_arn #=> String
744
+ # resp.trust_anchor.source.source_data.x509_certificate_data #=> String
745
+ # resp.trust_anchor.source.source_type #=> String, one of "AWS_ACM_PCA", "CERTIFICATE_BUNDLE", "SELF_SIGNED_REPOSITORY"
746
+ # resp.trust_anchor.trust_anchor_arn #=> String
747
+ # resp.trust_anchor.trust_anchor_id #=> String
748
+ # resp.trust_anchor.updated_at #=> Time
749
+ #
750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/DisableTrustAnchor AWS API Documentation
751
+ #
752
+ # @overload disable_trust_anchor(params = {})
753
+ # @param [Hash] params ({})
754
+ def disable_trust_anchor(params = {}, options = {})
755
+ req = build_request(:disable_trust_anchor, params)
756
+ req.send_request(options)
757
+ end
758
+
759
+ # Enables a certificate revocation list (CRL). When enabled,
760
+ # certificates stored in the CRL are unauthorized to receive session
761
+ # credentials.
762
+ #
763
+ # <b>Required permissions: </b> `rolesanywhere:EnableCrl`.
764
+ #
765
+ # @option params [required, String] :crl_id
766
+ # The unique identifier of the certificate revocation list (CRL).
767
+ #
768
+ # @return [Types::CrlDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
769
+ #
770
+ # * {Types::CrlDetailResponse#crl #crl} => Types::CrlDetail
771
+ #
772
+ # @example Request syntax with placeholder values
773
+ #
774
+ # resp = client.enable_crl({
775
+ # crl_id: "Uuid", # required
776
+ # })
777
+ #
778
+ # @example Response structure
779
+ #
780
+ # resp.crl.created_at #=> Time
781
+ # resp.crl.crl_arn #=> String
782
+ # resp.crl.crl_data #=> String
783
+ # resp.crl.crl_id #=> String
784
+ # resp.crl.enabled #=> Boolean
785
+ # resp.crl.name #=> String
786
+ # resp.crl.trust_anchor_arn #=> String
787
+ # resp.crl.updated_at #=> Time
788
+ #
789
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/EnableCrl AWS API Documentation
790
+ #
791
+ # @overload enable_crl(params = {})
792
+ # @param [Hash] params ({})
793
+ def enable_crl(params = {}, options = {})
794
+ req = build_request(:enable_crl, params)
795
+ req.send_request(options)
796
+ end
797
+
798
+ # Enables the roles in a profile to receive session credentials in
799
+ # [CreateSession][1].
800
+ #
801
+ # <b>Required permissions: </b> `rolesanywhere:EnableProfile`.
802
+ #
803
+ #
804
+ #
805
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
806
+ #
807
+ # @option params [required, String] :profile_id
808
+ # The unique identifier of the profile.
809
+ #
810
+ # @return [Types::ProfileDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
811
+ #
812
+ # * {Types::ProfileDetailResponse#profile #profile} => Types::ProfileDetail
813
+ #
814
+ # @example Request syntax with placeholder values
815
+ #
816
+ # resp = client.enable_profile({
817
+ # profile_id: "Uuid", # required
818
+ # })
819
+ #
820
+ # @example Response structure
821
+ #
822
+ # resp.profile.created_at #=> Time
823
+ # resp.profile.created_by #=> String
824
+ # resp.profile.duration_seconds #=> Integer
825
+ # resp.profile.enabled #=> Boolean
826
+ # resp.profile.managed_policy_arns #=> Array
827
+ # resp.profile.managed_policy_arns[0] #=> String
828
+ # resp.profile.name #=> String
829
+ # resp.profile.profile_arn #=> String
830
+ # resp.profile.profile_id #=> String
831
+ # resp.profile.require_instance_properties #=> Boolean
832
+ # resp.profile.role_arns #=> Array
833
+ # resp.profile.role_arns[0] #=> String
834
+ # resp.profile.session_policy #=> String
835
+ # resp.profile.updated_at #=> Time
836
+ #
837
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/EnableProfile AWS API Documentation
838
+ #
839
+ # @overload enable_profile(params = {})
840
+ # @param [Hash] params ({})
841
+ def enable_profile(params = {}, options = {})
842
+ req = build_request(:enable_profile, params)
843
+ req.send_request(options)
844
+ end
845
+
846
+ # Enables a trust anchor. When enabled, certificates in the trust anchor
847
+ # chain are authorized for trust validation.
848
+ #
849
+ # <b>Required permissions: </b> `rolesanywhere:EnableTrustAnchor`.
850
+ #
851
+ # @option params [required, String] :trust_anchor_id
852
+ # The unique identifier of the trust anchor.
853
+ #
854
+ # @return [Types::TrustAnchorDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
855
+ #
856
+ # * {Types::TrustAnchorDetailResponse#trust_anchor #trust_anchor} => Types::TrustAnchorDetail
857
+ #
858
+ # @example Request syntax with placeholder values
859
+ #
860
+ # resp = client.enable_trust_anchor({
861
+ # trust_anchor_id: "Uuid", # required
862
+ # })
863
+ #
864
+ # @example Response structure
865
+ #
866
+ # resp.trust_anchor.created_at #=> Time
867
+ # resp.trust_anchor.enabled #=> Boolean
868
+ # resp.trust_anchor.name #=> String
869
+ # resp.trust_anchor.source.source_data.acm_pca_arn #=> String
870
+ # resp.trust_anchor.source.source_data.x509_certificate_data #=> String
871
+ # resp.trust_anchor.source.source_type #=> String, one of "AWS_ACM_PCA", "CERTIFICATE_BUNDLE", "SELF_SIGNED_REPOSITORY"
872
+ # resp.trust_anchor.trust_anchor_arn #=> String
873
+ # resp.trust_anchor.trust_anchor_id #=> String
874
+ # resp.trust_anchor.updated_at #=> Time
875
+ #
876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/EnableTrustAnchor AWS API Documentation
877
+ #
878
+ # @overload enable_trust_anchor(params = {})
879
+ # @param [Hash] params ({})
880
+ def enable_trust_anchor(params = {}, options = {})
881
+ req = build_request(:enable_trust_anchor, params)
882
+ req.send_request(options)
883
+ end
884
+
885
+ # Gets a certificate revocation list (CRL).
886
+ #
887
+ # <b>Required permissions: </b> `rolesanywhere:GetCrl`.
888
+ #
889
+ # @option params [required, String] :crl_id
890
+ # The unique identifier of the certificate revocation list (CRL).
891
+ #
892
+ # @return [Types::CrlDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
893
+ #
894
+ # * {Types::CrlDetailResponse#crl #crl} => Types::CrlDetail
895
+ #
896
+ # @example Request syntax with placeholder values
897
+ #
898
+ # resp = client.get_crl({
899
+ # crl_id: "Uuid", # required
900
+ # })
901
+ #
902
+ # @example Response structure
903
+ #
904
+ # resp.crl.created_at #=> Time
905
+ # resp.crl.crl_arn #=> String
906
+ # resp.crl.crl_data #=> String
907
+ # resp.crl.crl_id #=> String
908
+ # resp.crl.enabled #=> Boolean
909
+ # resp.crl.name #=> String
910
+ # resp.crl.trust_anchor_arn #=> String
911
+ # resp.crl.updated_at #=> Time
912
+ #
913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/GetCrl AWS API Documentation
914
+ #
915
+ # @overload get_crl(params = {})
916
+ # @param [Hash] params ({})
917
+ def get_crl(params = {}, options = {})
918
+ req = build_request(:get_crl, params)
919
+ req.send_request(options)
920
+ end
921
+
922
+ # Gets a profile.
923
+ #
924
+ # <b>Required permissions: </b> `rolesanywhere:GetProfile`.
925
+ #
926
+ # @option params [required, String] :profile_id
927
+ # The unique identifier of the profile.
928
+ #
929
+ # @return [Types::ProfileDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
930
+ #
931
+ # * {Types::ProfileDetailResponse#profile #profile} => Types::ProfileDetail
932
+ #
933
+ # @example Request syntax with placeholder values
934
+ #
935
+ # resp = client.get_profile({
936
+ # profile_id: "Uuid", # required
937
+ # })
938
+ #
939
+ # @example Response structure
940
+ #
941
+ # resp.profile.created_at #=> Time
942
+ # resp.profile.created_by #=> String
943
+ # resp.profile.duration_seconds #=> Integer
944
+ # resp.profile.enabled #=> Boolean
945
+ # resp.profile.managed_policy_arns #=> Array
946
+ # resp.profile.managed_policy_arns[0] #=> String
947
+ # resp.profile.name #=> String
948
+ # resp.profile.profile_arn #=> String
949
+ # resp.profile.profile_id #=> String
950
+ # resp.profile.require_instance_properties #=> Boolean
951
+ # resp.profile.role_arns #=> Array
952
+ # resp.profile.role_arns[0] #=> String
953
+ # resp.profile.session_policy #=> String
954
+ # resp.profile.updated_at #=> Time
955
+ #
956
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/GetProfile AWS API Documentation
957
+ #
958
+ # @overload get_profile(params = {})
959
+ # @param [Hash] params ({})
960
+ def get_profile(params = {}, options = {})
961
+ req = build_request(:get_profile, params)
962
+ req.send_request(options)
963
+ end
964
+
965
+ # Gets a Subject. A Subject associates a certificate identity with
966
+ # authentication attempts by CreateSession. The Subject resources stores
967
+ # audit information such as status of the last authentication attempt,
968
+ # the certificate data used in the attempt, and the last time the
969
+ # associated identity attempted authentication.
970
+ #
971
+ # <b>Required permissions: </b> `rolesanywhere:GetSubject`.
972
+ #
973
+ # @option params [required, String] :subject_id
974
+ # The unique identifier of the subject.
975
+ #
976
+ # @return [Types::SubjectDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
977
+ #
978
+ # * {Types::SubjectDetailResponse#subject #subject} => Types::SubjectDetail
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.get_subject({
983
+ # subject_id: "Uuid", # required
984
+ # })
985
+ #
986
+ # @example Response structure
987
+ #
988
+ # resp.subject.created_at #=> Time
989
+ # resp.subject.credentials #=> Array
990
+ # resp.subject.credentials[0].enabled #=> Boolean
991
+ # resp.subject.credentials[0].failed #=> Boolean
992
+ # resp.subject.credentials[0].issuer #=> String
993
+ # resp.subject.credentials[0].seen_at #=> Time
994
+ # resp.subject.credentials[0].serial_number #=> String
995
+ # resp.subject.credentials[0].x509_certificate_data #=> String
996
+ # resp.subject.enabled #=> Boolean
997
+ # resp.subject.instance_properties #=> Array
998
+ # resp.subject.instance_properties[0].failed #=> Boolean
999
+ # resp.subject.instance_properties[0].properties #=> Hash
1000
+ # resp.subject.instance_properties[0].properties["InstancePropertyMapKeyString"] #=> String
1001
+ # resp.subject.instance_properties[0].seen_at #=> Time
1002
+ # resp.subject.last_seen_at #=> Time
1003
+ # resp.subject.subject_arn #=> String
1004
+ # resp.subject.subject_id #=> String
1005
+ # resp.subject.updated_at #=> Time
1006
+ # resp.subject.x509_subject #=> String
1007
+ #
1008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/GetSubject AWS API Documentation
1009
+ #
1010
+ # @overload get_subject(params = {})
1011
+ # @param [Hash] params ({})
1012
+ def get_subject(params = {}, options = {})
1013
+ req = build_request(:get_subject, params)
1014
+ req.send_request(options)
1015
+ end
1016
+
1017
+ # Gets a trust anchor.
1018
+ #
1019
+ # <b>Required permissions: </b> `rolesanywhere:GetTrustAnchor`.
1020
+ #
1021
+ # @option params [required, String] :trust_anchor_id
1022
+ # The unique identifier of the trust anchor.
1023
+ #
1024
+ # @return [Types::TrustAnchorDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::TrustAnchorDetailResponse#trust_anchor #trust_anchor} => Types::TrustAnchorDetail
1027
+ #
1028
+ # @example Request syntax with placeholder values
1029
+ #
1030
+ # resp = client.get_trust_anchor({
1031
+ # trust_anchor_id: "Uuid", # required
1032
+ # })
1033
+ #
1034
+ # @example Response structure
1035
+ #
1036
+ # resp.trust_anchor.created_at #=> Time
1037
+ # resp.trust_anchor.enabled #=> Boolean
1038
+ # resp.trust_anchor.name #=> String
1039
+ # resp.trust_anchor.source.source_data.acm_pca_arn #=> String
1040
+ # resp.trust_anchor.source.source_data.x509_certificate_data #=> String
1041
+ # resp.trust_anchor.source.source_type #=> String, one of "AWS_ACM_PCA", "CERTIFICATE_BUNDLE", "SELF_SIGNED_REPOSITORY"
1042
+ # resp.trust_anchor.trust_anchor_arn #=> String
1043
+ # resp.trust_anchor.trust_anchor_id #=> String
1044
+ # resp.trust_anchor.updated_at #=> Time
1045
+ #
1046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/GetTrustAnchor AWS API Documentation
1047
+ #
1048
+ # @overload get_trust_anchor(params = {})
1049
+ # @param [Hash] params ({})
1050
+ def get_trust_anchor(params = {}, options = {})
1051
+ req = build_request(:get_trust_anchor, params)
1052
+ req.send_request(options)
1053
+ end
1054
+
1055
+ # Imports the certificate revocation list (CRL). CRl is a list of
1056
+ # certificates that have been revoked by the issuing certificate
1057
+ # Authority (CA). IAM Roles Anywhere validates against the crl list
1058
+ # before issuing credentials.
1059
+ #
1060
+ # <b>Required permissions: </b> `rolesanywhere:ImportCrl`.
1061
+ #
1062
+ # @option params [required, String, StringIO, File] :crl_data
1063
+ # The x509 v3 specified certificate revocation list
1064
+ #
1065
+ # @option params [Boolean] :enabled
1066
+ # Specifies whether the certificate revocation list (CRL) is enabled.
1067
+ #
1068
+ # @option params [required, String] :name
1069
+ # The name of the certificate revocation list (CRL).
1070
+ #
1071
+ # @option params [Array<Types::Tag>] :tags
1072
+ # A list of tags to attach to the certificate revocation list (CRL).
1073
+ #
1074
+ # @option params [required, String] :trust_anchor_arn
1075
+ # The ARN of the TrustAnchor the certificate revocation list (CRL) will
1076
+ # provide revocation for.
1077
+ #
1078
+ # @return [Types::CrlDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1079
+ #
1080
+ # * {Types::CrlDetailResponse#crl #crl} => Types::CrlDetail
1081
+ #
1082
+ # @example Request syntax with placeholder values
1083
+ #
1084
+ # resp = client.import_crl({
1085
+ # crl_data: "data", # required
1086
+ # enabled: false,
1087
+ # name: "ResourceName", # required
1088
+ # tags: [
1089
+ # {
1090
+ # key: "TagKey", # required
1091
+ # value: "TagValue", # required
1092
+ # },
1093
+ # ],
1094
+ # trust_anchor_arn: "TrustAnchorArn", # required
1095
+ # })
1096
+ #
1097
+ # @example Response structure
1098
+ #
1099
+ # resp.crl.created_at #=> Time
1100
+ # resp.crl.crl_arn #=> String
1101
+ # resp.crl.crl_data #=> String
1102
+ # resp.crl.crl_id #=> String
1103
+ # resp.crl.enabled #=> Boolean
1104
+ # resp.crl.name #=> String
1105
+ # resp.crl.trust_anchor_arn #=> String
1106
+ # resp.crl.updated_at #=> Time
1107
+ #
1108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ImportCrl AWS API Documentation
1109
+ #
1110
+ # @overload import_crl(params = {})
1111
+ # @param [Hash] params ({})
1112
+ def import_crl(params = {}, options = {})
1113
+ req = build_request(:import_crl, params)
1114
+ req.send_request(options)
1115
+ end
1116
+
1117
+ # Lists all Crls in the authenticated account and Amazon Web Services
1118
+ # Region.
1119
+ #
1120
+ # <b>Required permissions: </b> `rolesanywhere:ListCrls`.
1121
+ #
1122
+ # @option params [String] :next_token
1123
+ # A token that indicates where the output should continue from, if a
1124
+ # previous operation did not show all results. To get the next results,
1125
+ # call the operation again with this value.
1126
+ #
1127
+ # @option params [Integer] :page_size
1128
+ # The number of resources in the paginated list.
1129
+ #
1130
+ # @return [Types::ListCrlsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1131
+ #
1132
+ # * {Types::ListCrlsResponse#crls #crls} => Array&lt;Types::CrlDetail&gt;
1133
+ # * {Types::ListCrlsResponse#next_token #next_token} => String
1134
+ #
1135
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1136
+ #
1137
+ # @example Request syntax with placeholder values
1138
+ #
1139
+ # resp = client.list_crls({
1140
+ # next_token: "ListRequestNextTokenString",
1141
+ # page_size: 1,
1142
+ # })
1143
+ #
1144
+ # @example Response structure
1145
+ #
1146
+ # resp.crls #=> Array
1147
+ # resp.crls[0].created_at #=> Time
1148
+ # resp.crls[0].crl_arn #=> String
1149
+ # resp.crls[0].crl_data #=> String
1150
+ # resp.crls[0].crl_id #=> String
1151
+ # resp.crls[0].enabled #=> Boolean
1152
+ # resp.crls[0].name #=> String
1153
+ # resp.crls[0].trust_anchor_arn #=> String
1154
+ # resp.crls[0].updated_at #=> Time
1155
+ # resp.next_token #=> String
1156
+ #
1157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListCrls AWS API Documentation
1158
+ #
1159
+ # @overload list_crls(params = {})
1160
+ # @param [Hash] params ({})
1161
+ def list_crls(params = {}, options = {})
1162
+ req = build_request(:list_crls, params)
1163
+ req.send_request(options)
1164
+ end
1165
+
1166
+ # Lists all profiles in the authenticated account and Amazon Web
1167
+ # Services Region.
1168
+ #
1169
+ # <b>Required permissions: </b> `rolesanywhere:ListProfiles`.
1170
+ #
1171
+ # @option params [String] :next_token
1172
+ # A token that indicates where the output should continue from, if a
1173
+ # previous operation did not show all results. To get the next results,
1174
+ # call the operation again with this value.
1175
+ #
1176
+ # @option params [Integer] :page_size
1177
+ # The number of resources in the paginated list.
1178
+ #
1179
+ # @return [Types::ListProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1180
+ #
1181
+ # * {Types::ListProfilesResponse#next_token #next_token} => String
1182
+ # * {Types::ListProfilesResponse#profiles #profiles} => Array&lt;Types::ProfileDetail&gt;
1183
+ #
1184
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1185
+ #
1186
+ # @example Request syntax with placeholder values
1187
+ #
1188
+ # resp = client.list_profiles({
1189
+ # next_token: "ListRequestNextTokenString",
1190
+ # page_size: 1,
1191
+ # })
1192
+ #
1193
+ # @example Response structure
1194
+ #
1195
+ # resp.next_token #=> String
1196
+ # resp.profiles #=> Array
1197
+ # resp.profiles[0].created_at #=> Time
1198
+ # resp.profiles[0].created_by #=> String
1199
+ # resp.profiles[0].duration_seconds #=> Integer
1200
+ # resp.profiles[0].enabled #=> Boolean
1201
+ # resp.profiles[0].managed_policy_arns #=> Array
1202
+ # resp.profiles[0].managed_policy_arns[0] #=> String
1203
+ # resp.profiles[0].name #=> String
1204
+ # resp.profiles[0].profile_arn #=> String
1205
+ # resp.profiles[0].profile_id #=> String
1206
+ # resp.profiles[0].require_instance_properties #=> Boolean
1207
+ # resp.profiles[0].role_arns #=> Array
1208
+ # resp.profiles[0].role_arns[0] #=> String
1209
+ # resp.profiles[0].session_policy #=> String
1210
+ # resp.profiles[0].updated_at #=> Time
1211
+ #
1212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListProfiles AWS API Documentation
1213
+ #
1214
+ # @overload list_profiles(params = {})
1215
+ # @param [Hash] params ({})
1216
+ def list_profiles(params = {}, options = {})
1217
+ req = build_request(:list_profiles, params)
1218
+ req.send_request(options)
1219
+ end
1220
+
1221
+ # Lists the subjects in the authenticated account and Amazon Web
1222
+ # Services Region.
1223
+ #
1224
+ # <b>Required permissions: </b> `rolesanywhere:ListSubjects`.
1225
+ #
1226
+ # @option params [String] :next_token
1227
+ # A token that indicates where the output should continue from, if a
1228
+ # previous operation did not show all results. To get the next results,
1229
+ # call the operation again with this value.
1230
+ #
1231
+ # @option params [Integer] :page_size
1232
+ # The number of resources in the paginated list.
1233
+ #
1234
+ # @return [Types::ListSubjectsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1235
+ #
1236
+ # * {Types::ListSubjectsResponse#next_token #next_token} => String
1237
+ # * {Types::ListSubjectsResponse#subjects #subjects} => Array&lt;Types::SubjectSummary&gt;
1238
+ #
1239
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1240
+ #
1241
+ # @example Request syntax with placeholder values
1242
+ #
1243
+ # resp = client.list_subjects({
1244
+ # next_token: "ListRequestNextTokenString",
1245
+ # page_size: 1,
1246
+ # })
1247
+ #
1248
+ # @example Response structure
1249
+ #
1250
+ # resp.next_token #=> String
1251
+ # resp.subjects #=> Array
1252
+ # resp.subjects[0].created_at #=> Time
1253
+ # resp.subjects[0].enabled #=> Boolean
1254
+ # resp.subjects[0].last_seen_at #=> Time
1255
+ # resp.subjects[0].subject_arn #=> String
1256
+ # resp.subjects[0].subject_id #=> String
1257
+ # resp.subjects[0].updated_at #=> Time
1258
+ # resp.subjects[0].x509_subject #=> String
1259
+ #
1260
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListSubjects AWS API Documentation
1261
+ #
1262
+ # @overload list_subjects(params = {})
1263
+ # @param [Hash] params ({})
1264
+ def list_subjects(params = {}, options = {})
1265
+ req = build_request(:list_subjects, params)
1266
+ req.send_request(options)
1267
+ end
1268
+
1269
+ # Lists the tags attached to the resource.
1270
+ #
1271
+ # <b>Required permissions: </b> `rolesanywhere:ListTagsForResource`.
1272
+ #
1273
+ # @option params [required, String] :resource_arn
1274
+ # The ARN of the resource.
1275
+ #
1276
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1277
+ #
1278
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
1279
+ #
1280
+ # @example Request syntax with placeholder values
1281
+ #
1282
+ # resp = client.list_tags_for_resource({
1283
+ # resource_arn: "AmazonResourceName", # required
1284
+ # })
1285
+ #
1286
+ # @example Response structure
1287
+ #
1288
+ # resp.tags #=> Array
1289
+ # resp.tags[0].key #=> String
1290
+ # resp.tags[0].value #=> String
1291
+ #
1292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListTagsForResource AWS API Documentation
1293
+ #
1294
+ # @overload list_tags_for_resource(params = {})
1295
+ # @param [Hash] params ({})
1296
+ def list_tags_for_resource(params = {}, options = {})
1297
+ req = build_request(:list_tags_for_resource, params)
1298
+ req.send_request(options)
1299
+ end
1300
+
1301
+ # Lists the trust anchors in the authenticated account and Amazon Web
1302
+ # Services Region.
1303
+ #
1304
+ # <b>Required permissions: </b> `rolesanywhere:ListTrustAnchors`.
1305
+ #
1306
+ # @option params [String] :next_token
1307
+ # A token that indicates where the output should continue from, if a
1308
+ # previous operation did not show all results. To get the next results,
1309
+ # call the operation again with this value.
1310
+ #
1311
+ # @option params [Integer] :page_size
1312
+ # The number of resources in the paginated list.
1313
+ #
1314
+ # @return [Types::ListTrustAnchorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1315
+ #
1316
+ # * {Types::ListTrustAnchorsResponse#next_token #next_token} => String
1317
+ # * {Types::ListTrustAnchorsResponse#trust_anchors #trust_anchors} => Array&lt;Types::TrustAnchorDetail&gt;
1318
+ #
1319
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1320
+ #
1321
+ # @example Request syntax with placeholder values
1322
+ #
1323
+ # resp = client.list_trust_anchors({
1324
+ # next_token: "ListRequestNextTokenString",
1325
+ # page_size: 1,
1326
+ # })
1327
+ #
1328
+ # @example Response structure
1329
+ #
1330
+ # resp.next_token #=> String
1331
+ # resp.trust_anchors #=> Array
1332
+ # resp.trust_anchors[0].created_at #=> Time
1333
+ # resp.trust_anchors[0].enabled #=> Boolean
1334
+ # resp.trust_anchors[0].name #=> String
1335
+ # resp.trust_anchors[0].source.source_data.acm_pca_arn #=> String
1336
+ # resp.trust_anchors[0].source.source_data.x509_certificate_data #=> String
1337
+ # resp.trust_anchors[0].source.source_type #=> String, one of "AWS_ACM_PCA", "CERTIFICATE_BUNDLE", "SELF_SIGNED_REPOSITORY"
1338
+ # resp.trust_anchors[0].trust_anchor_arn #=> String
1339
+ # resp.trust_anchors[0].trust_anchor_id #=> String
1340
+ # resp.trust_anchors[0].updated_at #=> Time
1341
+ #
1342
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/ListTrustAnchors AWS API Documentation
1343
+ #
1344
+ # @overload list_trust_anchors(params = {})
1345
+ # @param [Hash] params ({})
1346
+ def list_trust_anchors(params = {}, options = {})
1347
+ req = build_request(:list_trust_anchors, params)
1348
+ req.send_request(options)
1349
+ end
1350
+
1351
+ # Attaches tags to a resource.
1352
+ #
1353
+ # <b>Required permissions: </b> `rolesanywhere:TagResource`.
1354
+ #
1355
+ # @option params [required, String] :resource_arn
1356
+ # The ARN of the resource.
1357
+ #
1358
+ # @option params [required, Array<Types::Tag>] :tags
1359
+ # The tags to attach to the resource.
1360
+ #
1361
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1362
+ #
1363
+ # @example Request syntax with placeholder values
1364
+ #
1365
+ # resp = client.tag_resource({
1366
+ # resource_arn: "AmazonResourceName", # required
1367
+ # tags: [ # required
1368
+ # {
1369
+ # key: "TagKey", # required
1370
+ # value: "TagValue", # required
1371
+ # },
1372
+ # ],
1373
+ # })
1374
+ #
1375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/TagResource AWS API Documentation
1376
+ #
1377
+ # @overload tag_resource(params = {})
1378
+ # @param [Hash] params ({})
1379
+ def tag_resource(params = {}, options = {})
1380
+ req = build_request(:tag_resource, params)
1381
+ req.send_request(options)
1382
+ end
1383
+
1384
+ # Removes tags from the resource.
1385
+ #
1386
+ # <b>Required permissions: </b> `rolesanywhere:UntagResource`.
1387
+ #
1388
+ # @option params [required, String] :resource_arn
1389
+ # The ARN of the resource.
1390
+ #
1391
+ # @option params [required, Array<String>] :tag_keys
1392
+ # A list of keys. Tag keys are the unique identifiers of tags.
1393
+ #
1394
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1395
+ #
1396
+ # @example Request syntax with placeholder values
1397
+ #
1398
+ # resp = client.untag_resource({
1399
+ # resource_arn: "AmazonResourceName", # required
1400
+ # tag_keys: ["TagKey"], # required
1401
+ # })
1402
+ #
1403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UntagResource AWS API Documentation
1404
+ #
1405
+ # @overload untag_resource(params = {})
1406
+ # @param [Hash] params ({})
1407
+ def untag_resource(params = {}, options = {})
1408
+ req = build_request(:untag_resource, params)
1409
+ req.send_request(options)
1410
+ end
1411
+
1412
+ # Updates the certificate revocation list (CRL). CRl is a list of
1413
+ # certificates that have been revoked by the issuing certificate
1414
+ # Authority (CA). IAM Roles Anywhere validates against the crl list
1415
+ # before issuing credentials.
1416
+ #
1417
+ # <b>Required permissions: </b> `rolesanywhere:UpdateCrl`.
1418
+ #
1419
+ # @option params [String, StringIO, File] :crl_data
1420
+ # The x509 v3 specified certificate revocation list
1421
+ #
1422
+ # @option params [required, String] :crl_id
1423
+ # The unique identifier of the certificate revocation list (CRL).
1424
+ #
1425
+ # @option params [String] :name
1426
+ # The name of the Crl.
1427
+ #
1428
+ # @return [Types::CrlDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1429
+ #
1430
+ # * {Types::CrlDetailResponse#crl #crl} => Types::CrlDetail
1431
+ #
1432
+ # @example Request syntax with placeholder values
1433
+ #
1434
+ # resp = client.update_crl({
1435
+ # crl_data: "data",
1436
+ # crl_id: "Uuid", # required
1437
+ # name: "ResourceName",
1438
+ # })
1439
+ #
1440
+ # @example Response structure
1441
+ #
1442
+ # resp.crl.created_at #=> Time
1443
+ # resp.crl.crl_arn #=> String
1444
+ # resp.crl.crl_data #=> String
1445
+ # resp.crl.crl_id #=> String
1446
+ # resp.crl.enabled #=> Boolean
1447
+ # resp.crl.name #=> String
1448
+ # resp.crl.trust_anchor_arn #=> String
1449
+ # resp.crl.updated_at #=> Time
1450
+ #
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UpdateCrl AWS API Documentation
1452
+ #
1453
+ # @overload update_crl(params = {})
1454
+ # @param [Hash] params ({})
1455
+ def update_crl(params = {}, options = {})
1456
+ req = build_request(:update_crl, params)
1457
+ req.send_request(options)
1458
+ end
1459
+
1460
+ # Updates the profile. A profile is configuration resource to list the
1461
+ # roles that RolesAnywhere service is trusted to assume. In addition, by
1462
+ # applying a profile you can scope-down permissions with IAM managed
1463
+ # policies.
1464
+ #
1465
+ # <b>Required permissions: </b> `rolesanywhere:UpdateProfile`.
1466
+ #
1467
+ # @option params [Integer] :duration_seconds
1468
+ # The number of seconds the vended session credentials are valid for.
1469
+ #
1470
+ # @option params [Array<String>] :managed_policy_arns
1471
+ # A list of managed policy ARNs that apply to the vended session
1472
+ # credentials.
1473
+ #
1474
+ # @option params [String] :name
1475
+ # The name of the profile.
1476
+ #
1477
+ # @option params [required, String] :profile_id
1478
+ # The unique identifier of the profile.
1479
+ #
1480
+ # @option params [Array<String>] :role_arns
1481
+ # A list of IAM roles that this profile can assume in a
1482
+ # [CreateSession][1] operation.
1483
+ #
1484
+ #
1485
+ #
1486
+ # [1]: https://docs.aws.amazon.com/rolesanywhere/latest/APIReference/API_CreateSession.html
1487
+ #
1488
+ # @option params [String] :session_policy
1489
+ # A session policy that applies to the trust boundary of the vended
1490
+ # session credentials.
1491
+ #
1492
+ # @return [Types::ProfileDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1493
+ #
1494
+ # * {Types::ProfileDetailResponse#profile #profile} => Types::ProfileDetail
1495
+ #
1496
+ # @example Request syntax with placeholder values
1497
+ #
1498
+ # resp = client.update_profile({
1499
+ # duration_seconds: 1,
1500
+ # managed_policy_arns: ["ManagedPolicyListMemberString"],
1501
+ # name: "ResourceName",
1502
+ # profile_id: "Uuid", # required
1503
+ # role_arns: ["RoleArn"],
1504
+ # session_policy: "UpdateProfileRequestSessionPolicyString",
1505
+ # })
1506
+ #
1507
+ # @example Response structure
1508
+ #
1509
+ # resp.profile.created_at #=> Time
1510
+ # resp.profile.created_by #=> String
1511
+ # resp.profile.duration_seconds #=> Integer
1512
+ # resp.profile.enabled #=> Boolean
1513
+ # resp.profile.managed_policy_arns #=> Array
1514
+ # resp.profile.managed_policy_arns[0] #=> String
1515
+ # resp.profile.name #=> String
1516
+ # resp.profile.profile_arn #=> String
1517
+ # resp.profile.profile_id #=> String
1518
+ # resp.profile.require_instance_properties #=> Boolean
1519
+ # resp.profile.role_arns #=> Array
1520
+ # resp.profile.role_arns[0] #=> String
1521
+ # resp.profile.session_policy #=> String
1522
+ # resp.profile.updated_at #=> Time
1523
+ #
1524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UpdateProfile AWS API Documentation
1525
+ #
1526
+ # @overload update_profile(params = {})
1527
+ # @param [Hash] params ({})
1528
+ def update_profile(params = {}, options = {})
1529
+ req = build_request(:update_profile, params)
1530
+ req.send_request(options)
1531
+ end
1532
+
1533
+ # Updates the trust anchor.You establish trust between IAM Roles
1534
+ # Anywhere and your certificate authority (CA) by configuring a trust
1535
+ # anchor. A Trust Anchor is defined either as a reference to a AWS
1536
+ # Certificate Manager Private Certificate Authority (ACM PCA), or by
1537
+ # uploading a Certificate Authority (CA) certificate. Your AWS workloads
1538
+ # can authenticate with the trust anchor using certificates issued by
1539
+ # the trusted Certificate Authority (CA) in exchange for temporary AWS
1540
+ # credentials.
1541
+ #
1542
+ # <b>Required permissions: </b> `rolesanywhere:UpdateTrustAnchor`.
1543
+ #
1544
+ # @option params [String] :name
1545
+ # The name of the trust anchor.
1546
+ #
1547
+ # @option params [Types::Source] :source
1548
+ # The trust anchor type and its related certificate data.
1549
+ #
1550
+ # @option params [required, String] :trust_anchor_id
1551
+ # The unique identifier of the trust anchor.
1552
+ #
1553
+ # @return [Types::TrustAnchorDetailResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1554
+ #
1555
+ # * {Types::TrustAnchorDetailResponse#trust_anchor #trust_anchor} => Types::TrustAnchorDetail
1556
+ #
1557
+ # @example Request syntax with placeholder values
1558
+ #
1559
+ # resp = client.update_trust_anchor({
1560
+ # name: "ResourceName",
1561
+ # source: {
1562
+ # source_data: {
1563
+ # acm_pca_arn: "String",
1564
+ # x509_certificate_data: "String",
1565
+ # },
1566
+ # source_type: "AWS_ACM_PCA", # accepts AWS_ACM_PCA, CERTIFICATE_BUNDLE, SELF_SIGNED_REPOSITORY
1567
+ # },
1568
+ # trust_anchor_id: "Uuid", # required
1569
+ # })
1570
+ #
1571
+ # @example Response structure
1572
+ #
1573
+ # resp.trust_anchor.created_at #=> Time
1574
+ # resp.trust_anchor.enabled #=> Boolean
1575
+ # resp.trust_anchor.name #=> String
1576
+ # resp.trust_anchor.source.source_data.acm_pca_arn #=> String
1577
+ # resp.trust_anchor.source.source_data.x509_certificate_data #=> String
1578
+ # resp.trust_anchor.source.source_type #=> String, one of "AWS_ACM_PCA", "CERTIFICATE_BUNDLE", "SELF_SIGNED_REPOSITORY"
1579
+ # resp.trust_anchor.trust_anchor_arn #=> String
1580
+ # resp.trust_anchor.trust_anchor_id #=> String
1581
+ # resp.trust_anchor.updated_at #=> Time
1582
+ #
1583
+ # @see http://docs.aws.amazon.com/goto/WebAPI/rolesanywhere-2018-05-10/UpdateTrustAnchor AWS API Documentation
1584
+ #
1585
+ # @overload update_trust_anchor(params = {})
1586
+ # @param [Hash] params ({})
1587
+ def update_trust_anchor(params = {}, options = {})
1588
+ req = build_request(:update_trust_anchor, params)
1589
+ req.send_request(options)
1590
+ end
1591
+
1592
+ # @!endgroup
1593
+
1594
+ # @param params ({})
1595
+ # @api private
1596
+ def build_request(operation_name, params = {})
1597
+ handlers = @handlers.for(operation_name)
1598
+ context = Seahorse::Client::RequestContext.new(
1599
+ operation_name: operation_name,
1600
+ operation: config.api.operation(operation_name),
1601
+ client: self,
1602
+ params: params,
1603
+ config: config)
1604
+ context[:gem_name] = 'aws-sdk-rolesanywhere'
1605
+ context[:gem_version] = '1.0.0'
1606
+ Seahorse::Client::Request.new(handlers, context)
1607
+ end
1608
+
1609
+ # @api private
1610
+ # @deprecated
1611
+ def waiter_names
1612
+ []
1613
+ end
1614
+
1615
+ class << self
1616
+
1617
+ # @api private
1618
+ attr_reader :identifier
1619
+
1620
+ # @api private
1621
+ def errors_module
1622
+ Errors
1623
+ end
1624
+
1625
+ end
1626
+ end
1627
+ end