aws-sdk-trustedadvisor 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,1030 @@
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/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
35
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
+
37
+ Aws::Plugins::GlobalConfiguration.add_identifier(:trustedadvisor)
38
+
39
+ module Aws::TrustedAdvisor
40
+ # An API client for TrustedAdvisor. To construct a client, you need to configure a `:region` and `:credentials`.
41
+ #
42
+ # client = Aws::TrustedAdvisor::Client.new(
43
+ # region: region_name,
44
+ # credentials: credentials,
45
+ # # ...
46
+ # )
47
+ #
48
+ # For details on configuring region and credentials see
49
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
50
+ #
51
+ # See {#initialize} for a full list of supported configuration options.
52
+ class Client < Seahorse::Client::Base
53
+
54
+ include Aws::ClientStubs
55
+
56
+ @identifier = :trustedadvisor
57
+
58
+ set_api(ClientApi::API)
59
+
60
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
61
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
62
+ add_plugin(Aws::Plugins::Logging)
63
+ add_plugin(Aws::Plugins::ParamConverter)
64
+ add_plugin(Aws::Plugins::ParamValidator)
65
+ add_plugin(Aws::Plugins::UserAgent)
66
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
67
+ add_plugin(Aws::Plugins::RetryErrors)
68
+ add_plugin(Aws::Plugins::GlobalConfiguration)
69
+ add_plugin(Aws::Plugins::RegionalEndpoint)
70
+ add_plugin(Aws::Plugins::EndpointDiscovery)
71
+ add_plugin(Aws::Plugins::EndpointPattern)
72
+ add_plugin(Aws::Plugins::ResponsePaging)
73
+ add_plugin(Aws::Plugins::StubResponses)
74
+ add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::JsonvalueConverter)
76
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
78
+ add_plugin(Aws::Plugins::TransferEncoding)
79
+ add_plugin(Aws::Plugins::HttpChecksum)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
85
+ add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::TrustedAdvisor::Plugins::Endpoints)
87
+
88
+ # @overload initialize(options)
89
+ # @param [Hash] options
90
+ # @option options [required, Aws::CredentialProvider] :credentials
91
+ # Your AWS credentials. This can be an instance of any one of the
92
+ # following classes:
93
+ #
94
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
95
+ # credentials.
96
+ #
97
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
98
+ # shared file, such as `~/.aws/config`.
99
+ #
100
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
101
+ #
102
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
103
+ # assume a role after providing credentials via the web.
104
+ #
105
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
106
+ # access token generated from `aws login`.
107
+ #
108
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
109
+ # process that outputs to stdout.
110
+ #
111
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
112
+ # from an EC2 IMDS on an EC2 instance.
113
+ #
114
+ # * `Aws::ECSCredentials` - Used for loading credentials from
115
+ # instances running in ECS.
116
+ #
117
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
118
+ # from the Cognito Identity service.
119
+ #
120
+ # When `:credentials` are not configured directly, the following
121
+ # locations will be searched for credentials:
122
+ #
123
+ # * `Aws.config[:credentials]`
124
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
126
+ # * `~/.aws/credentials`
127
+ # * `~/.aws/config`
128
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
+ # are very aggressive. Construct and pass an instance of
130
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
131
+ # enable retries and extended timeouts. Instance profile credential
132
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
+ # to true.
134
+ #
135
+ # @option options [required, String] :region
136
+ # The AWS region to connect to. The configured `:region` is
137
+ # used to determine the service `:endpoint`. When not passed,
138
+ # a default `:region` is searched for in the following locations:
139
+ #
140
+ # * `Aws.config[:region]`
141
+ # * `ENV['AWS_REGION']`
142
+ # * `ENV['AMAZON_REGION']`
143
+ # * `ENV['AWS_DEFAULT_REGION']`
144
+ # * `~/.aws/credentials`
145
+ # * `~/.aws/config`
146
+ #
147
+ # @option options [String] :access_key_id
148
+ #
149
+ # @option options [Boolean] :active_endpoint_cache (false)
150
+ # When set to `true`, a thread polling for endpoints will be running in
151
+ # the background every 60 secs (default). Defaults to `false`.
152
+ #
153
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
154
+ # Used only in `adaptive` retry mode. When true, the request will sleep
155
+ # until there is sufficent client side capacity to retry the request.
156
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
+ # not retry instead of sleeping.
158
+ #
159
+ # @option options [Boolean] :client_side_monitoring (false)
160
+ # When `true`, client-side metrics will be collected for all API requests from
161
+ # this client.
162
+ #
163
+ # @option options [String] :client_side_monitoring_client_id ("")
164
+ # Allows you to provide an identifier for this client which will be attached to
165
+ # all generated client side metrics. Defaults to an empty string.
166
+ #
167
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
168
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
169
+ # side monitoring agent is running on, where client metrics will be published via UDP.
170
+ #
171
+ # @option options [Integer] :client_side_monitoring_port (31000)
172
+ # Required for publishing client metrics. The port that the client side monitoring
173
+ # agent is running on, where client metrics will be published via UDP.
174
+ #
175
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
176
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
177
+ # will use the Client Side Monitoring Agent Publisher.
178
+ #
179
+ # @option options [Boolean] :convert_params (true)
180
+ # When `true`, an attempt is made to coerce request parameters into
181
+ # the required types.
182
+ #
183
+ # @option options [Boolean] :correct_clock_skew (true)
184
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
185
+ # a clock skew correction and retry requests with skewed client clocks.
186
+ #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
191
+ # @option options [Boolean] :disable_host_prefix_injection (false)
192
+ # Set to true to disable SDK automatically adding host prefix
193
+ # to default service endpoint when available.
194
+ #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
199
+ # @option options [String] :endpoint
200
+ # The client endpoint is normally constructed from the `:region`
201
+ # option. You should only configure an `:endpoint` when connecting
202
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
205
+ # Used for the maximum size limit of the LRU cache storing endpoints data
206
+ # for endpoint discovery enabled operations. Defaults to 1000.
207
+ #
208
+ # @option options [Integer] :endpoint_cache_max_threads (10)
209
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
210
+ #
211
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
212
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
213
+ # Use this option to config the time interval in seconds for making
214
+ # requests fetching endpoints information. Defaults to 60 sec.
215
+ #
216
+ # @option options [Boolean] :endpoint_discovery (false)
217
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
218
+ #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
223
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
224
+ # The log formatter.
225
+ #
226
+ # @option options [Symbol] :log_level (:info)
227
+ # The log level to send messages to the `:logger` at.
228
+ #
229
+ # @option options [Logger] :logger
230
+ # The Logger instance to send log messages to. If this option
231
+ # is not set, logging will be disabled.
232
+ #
233
+ # @option options [Integer] :max_attempts (3)
234
+ # An integer representing the maximum number attempts that will be made for
235
+ # a single request, including the initial attempt. For example,
236
+ # setting this value to 5 will result in a request being retried up to
237
+ # 4 times. Used in `standard` and `adaptive` retry modes.
238
+ #
239
+ # @option options [String] :profile ("default")
240
+ # Used when loading credentials from the shared credentials file
241
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
242
+ #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
248
+ # @option options [Proc] :retry_backoff
249
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
+ # This option is only used in the `legacy` retry mode.
251
+ #
252
+ # @option options [Float] :retry_base_delay (0.3)
253
+ # The base delay in seconds used by the default backoff function. This option
254
+ # is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Symbol] :retry_jitter (:none)
257
+ # A delay randomiser function used by the default backoff function.
258
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
259
+ # otherwise a Proc that takes and returns a number. This option is only used
260
+ # in the `legacy` retry mode.
261
+ #
262
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
263
+ #
264
+ # @option options [Integer] :retry_limit (3)
265
+ # The maximum number of times to retry failed requests. Only
266
+ # ~ 500 level server errors and certain ~ 400 level client errors
267
+ # are retried. Generally, these are throttling errors, data
268
+ # checksum errors, networking errors, timeout errors, auth errors,
269
+ # endpoint discovery, and errors from expired credentials.
270
+ # This option is only used in the `legacy` retry mode.
271
+ #
272
+ # @option options [Integer] :retry_max_delay (0)
273
+ # The maximum number of seconds to delay between retries (0 for no limit)
274
+ # used by the default backoff function. This option is only used in the
275
+ # `legacy` retry mode.
276
+ #
277
+ # @option options [String] :retry_mode ("legacy")
278
+ # Specifies which retry algorithm to use. Values are:
279
+ #
280
+ # * `legacy` - The pre-existing retry behavior. This is default value if
281
+ # no retry mode is provided.
282
+ #
283
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
284
+ # This includes support for retry quotas, which limit the number of
285
+ # unsuccessful retries a client can make.
286
+ #
287
+ # * `adaptive` - An experimental retry mode that includes all the
288
+ # functionality of `standard` mode along with automatic client side
289
+ # throttling. This is a provisional mode that may change behavior
290
+ # in the future.
291
+ #
292
+ #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
298
+ # @option options [String] :secret_access_key
299
+ #
300
+ # @option options [String] :session_token
301
+ #
302
+ # @option options [Boolean] :stub_responses (false)
303
+ # Causes the client to return stubbed responses. By default
304
+ # fake responses are generated and returned. You can specify
305
+ # the response data to return or errors to raise by calling
306
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
307
+ #
308
+ # ** Please note ** When response stubbing is enabled, no HTTP
309
+ # requests are made, and retries are disabled.
310
+ #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
324
+ # @option options [Boolean] :use_dualstack_endpoint
325
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
326
+ # will be used if available.
327
+ #
328
+ # @option options [Boolean] :use_fips_endpoint
329
+ # When set to `true`, fips compatible endpoints will be used if available.
330
+ # When a `fips` region is used, the region is normalized and this config
331
+ # is set to `true`.
332
+ #
333
+ # @option options [Boolean] :validate_params (true)
334
+ # When `true`, request parameters are validated before
335
+ # sending the request.
336
+ #
337
+ # @option options [Aws::TrustedAdvisor::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::TrustedAdvisor::EndpointParameters`
339
+ #
340
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
+ # requests through. Formatted like 'http://proxy.com:123'.
342
+ #
343
+ # @option options [Float] :http_open_timeout (15) The number of
344
+ # seconds to wait when opening a HTTP session before raising a
345
+ # `Timeout::Error`.
346
+ #
347
+ # @option options [Float] :http_read_timeout (60) The default
348
+ # number of seconds to wait for response data. This value can
349
+ # safely be set per-request on the session.
350
+ #
351
+ # @option options [Float] :http_idle_timeout (5) The number of
352
+ # seconds a connection is allowed to sit idle before it is
353
+ # considered stale. Stale connections are closed and removed
354
+ # from the pool before making a request.
355
+ #
356
+ # @option options [Float] :http_continue_timeout (1) The number of
357
+ # seconds to wait for a 100-continue response before sending the
358
+ # request body. This option has no effect unless the request has
359
+ # "Expect" header set to "100-continue". Defaults to `nil` which
360
+ # disables this behaviour. This value can safely be set per
361
+ # request on the session.
362
+ #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
366
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
367
+ # HTTP debug output will be sent to the `:logger`.
368
+ #
369
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
+ # SSL peer certificates are verified when establishing a
371
+ # connection.
372
+ #
373
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
374
+ # certificate authority bundle file that should be used when
375
+ # verifying peer certificates. If you do not pass
376
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
+ # will be used if available.
378
+ #
379
+ # @option options [String] :ssl_ca_directory Full path of the
380
+ # directory that contains the unbundled SSL certificate
381
+ # authority files for verifying peer certificates. If you do
382
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
+ # system default will be used if available.
384
+ #
385
+ def initialize(*args)
386
+ super
387
+ end
388
+
389
+ # @!group API Operations
390
+
391
+ # Get a specific recommendation within an AWS Organizations
392
+ # organization. This API supports only prioritized recommendations.
393
+ #
394
+ # @option params [required, String] :organization_recommendation_identifier
395
+ # The Recommendation identifier
396
+ #
397
+ # @return [Types::GetOrganizationRecommendationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
398
+ #
399
+ # * {Types::GetOrganizationRecommendationResponse#organization_recommendation #organization_recommendation} => Types::OrganizationRecommendation
400
+ #
401
+ # @example Request syntax with placeholder values
402
+ #
403
+ # resp = client.get_organization_recommendation({
404
+ # organization_recommendation_identifier: "OrganizationRecommendationIdentifier", # required
405
+ # })
406
+ #
407
+ # @example Response structure
408
+ #
409
+ # resp.organization_recommendation.arn #=> String
410
+ # resp.organization_recommendation.aws_services #=> Array
411
+ # resp.organization_recommendation.aws_services[0] #=> String
412
+ # resp.organization_recommendation.check_arn #=> String
413
+ # resp.organization_recommendation.created_at #=> Time
414
+ # resp.organization_recommendation.created_by #=> String
415
+ # resp.organization_recommendation.description #=> String
416
+ # resp.organization_recommendation.id #=> String
417
+ # resp.organization_recommendation.last_updated_at #=> Time
418
+ # resp.organization_recommendation.lifecycle_stage #=> String, one of "in_progress", "pending_response", "dismissed", "resolved"
419
+ # resp.organization_recommendation.name #=> String
420
+ # resp.organization_recommendation.pillar_specific_aggregates.cost_optimizing.estimated_monthly_savings #=> Float
421
+ # resp.organization_recommendation.pillar_specific_aggregates.cost_optimizing.estimated_percent_monthly_savings #=> Float
422
+ # resp.organization_recommendation.pillars #=> Array
423
+ # resp.organization_recommendation.pillars[0] #=> String, one of "cost_optimizing", "performance", "security", "service_limits", "fault_tolerance", "operational_excellence"
424
+ # resp.organization_recommendation.resolved_at #=> Time
425
+ # resp.organization_recommendation.resources_aggregates.error_count #=> Integer
426
+ # resp.organization_recommendation.resources_aggregates.ok_count #=> Integer
427
+ # resp.organization_recommendation.resources_aggregates.warning_count #=> Integer
428
+ # resp.organization_recommendation.source #=> String, one of "aws_config", "compute_optimizer", "cost_explorer", "lse", "manual", "pse", "rds", "resilience", "resilience_hub", "security_hub", "stir", "ta_check", "well_architected"
429
+ # resp.organization_recommendation.status #=> String, one of "ok", "warning", "error"
430
+ # resp.organization_recommendation.type #=> String, one of "standard", "priority"
431
+ # resp.organization_recommendation.update_reason #=> String
432
+ # resp.organization_recommendation.update_reason_code #=> String, one of "non_critical_account", "temporary_account", "valid_business_case", "other_methods_available", "low_priority", "not_applicable", "other"
433
+ # resp.organization_recommendation.updated_on_behalf_of #=> String
434
+ # resp.organization_recommendation.updated_on_behalf_of_job_title #=> String
435
+ #
436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/GetOrganizationRecommendation AWS API Documentation
437
+ #
438
+ # @overload get_organization_recommendation(params = {})
439
+ # @param [Hash] params ({})
440
+ def get_organization_recommendation(params = {}, options = {})
441
+ req = build_request(:get_organization_recommendation, params)
442
+ req.send_request(options)
443
+ end
444
+
445
+ # Get a specific Recommendation
446
+ #
447
+ # @option params [required, String] :recommendation_identifier
448
+ # The Recommendation identifier
449
+ #
450
+ # @return [Types::GetRecommendationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
451
+ #
452
+ # * {Types::GetRecommendationResponse#recommendation #recommendation} => Types::Recommendation
453
+ #
454
+ # @example Request syntax with placeholder values
455
+ #
456
+ # resp = client.get_recommendation({
457
+ # recommendation_identifier: "AccountRecommendationIdentifier", # required
458
+ # })
459
+ #
460
+ # @example Response structure
461
+ #
462
+ # resp.recommendation.arn #=> String
463
+ # resp.recommendation.aws_services #=> Array
464
+ # resp.recommendation.aws_services[0] #=> String
465
+ # resp.recommendation.check_arn #=> String
466
+ # resp.recommendation.created_at #=> Time
467
+ # resp.recommendation.created_by #=> String
468
+ # resp.recommendation.description #=> String
469
+ # resp.recommendation.id #=> String
470
+ # resp.recommendation.last_updated_at #=> Time
471
+ # resp.recommendation.lifecycle_stage #=> String, one of "in_progress", "pending_response", "dismissed", "resolved"
472
+ # resp.recommendation.name #=> String
473
+ # resp.recommendation.pillar_specific_aggregates.cost_optimizing.estimated_monthly_savings #=> Float
474
+ # resp.recommendation.pillar_specific_aggregates.cost_optimizing.estimated_percent_monthly_savings #=> Float
475
+ # resp.recommendation.pillars #=> Array
476
+ # resp.recommendation.pillars[0] #=> String, one of "cost_optimizing", "performance", "security", "service_limits", "fault_tolerance", "operational_excellence"
477
+ # resp.recommendation.resolved_at #=> Time
478
+ # resp.recommendation.resources_aggregates.error_count #=> Integer
479
+ # resp.recommendation.resources_aggregates.ok_count #=> Integer
480
+ # resp.recommendation.resources_aggregates.warning_count #=> Integer
481
+ # resp.recommendation.source #=> String, one of "aws_config", "compute_optimizer", "cost_explorer", "lse", "manual", "pse", "rds", "resilience", "resilience_hub", "security_hub", "stir", "ta_check", "well_architected"
482
+ # resp.recommendation.status #=> String, one of "ok", "warning", "error"
483
+ # resp.recommendation.type #=> String, one of "standard", "priority"
484
+ # resp.recommendation.update_reason #=> String
485
+ # resp.recommendation.update_reason_code #=> String, one of "non_critical_account", "temporary_account", "valid_business_case", "other_methods_available", "low_priority", "not_applicable", "other"
486
+ # resp.recommendation.updated_on_behalf_of #=> String
487
+ # resp.recommendation.updated_on_behalf_of_job_title #=> String
488
+ #
489
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/GetRecommendation AWS API Documentation
490
+ #
491
+ # @overload get_recommendation(params = {})
492
+ # @param [Hash] params ({})
493
+ def get_recommendation(params = {}, options = {})
494
+ req = build_request(:get_recommendation, params)
495
+ req.send_request(options)
496
+ end
497
+
498
+ # List a filterable set of Checks
499
+ #
500
+ # @option params [String] :aws_service
501
+ # The aws service associated with the check
502
+ #
503
+ # @option params [String] :language
504
+ # The ISO 639-1 code for the language that you want your checks to
505
+ # appear in.
506
+ #
507
+ # @option params [Integer] :max_results
508
+ # The maximum number of results to return per page.
509
+ #
510
+ # @option params [String] :next_token
511
+ # The token for the next set of results. Use the value returned in the
512
+ # previous response in the next request to retrieve the next set of
513
+ # results.
514
+ #
515
+ # @option params [String] :pillar
516
+ # The pillar of the check
517
+ #
518
+ # @option params [String] :source
519
+ # The source of the check
520
+ #
521
+ # @return [Types::ListChecksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
522
+ #
523
+ # * {Types::ListChecksResponse#check_summaries #check_summaries} => Array&lt;Types::CheckSummary&gt;
524
+ # * {Types::ListChecksResponse#next_token #next_token} => String
525
+ #
526
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
527
+ #
528
+ # @example Request syntax with placeholder values
529
+ #
530
+ # resp = client.list_checks({
531
+ # aws_service: "RecommendationAwsService",
532
+ # language: "en", # accepts en, ja, zh, fr, de, ko, zh_TW, it, es, pt_BR, id
533
+ # max_results: 1,
534
+ # next_token: "ListChecksRequestNextTokenString",
535
+ # pillar: "cost_optimizing", # accepts cost_optimizing, performance, security, service_limits, fault_tolerance, operational_excellence
536
+ # source: "aws_config", # accepts aws_config, compute_optimizer, cost_explorer, lse, manual, pse, rds, resilience, resilience_hub, security_hub, stir, ta_check, well_architected
537
+ # })
538
+ #
539
+ # @example Response structure
540
+ #
541
+ # resp.check_summaries #=> Array
542
+ # resp.check_summaries[0].arn #=> String
543
+ # resp.check_summaries[0].aws_services #=> Array
544
+ # resp.check_summaries[0].aws_services[0] #=> String
545
+ # resp.check_summaries[0].description #=> String
546
+ # resp.check_summaries[0].id #=> String
547
+ # resp.check_summaries[0].metadata #=> Hash
548
+ # resp.check_summaries[0].metadata["String"] #=> String
549
+ # resp.check_summaries[0].name #=> String
550
+ # resp.check_summaries[0].pillars #=> Array
551
+ # resp.check_summaries[0].pillars[0] #=> String, one of "cost_optimizing", "performance", "security", "service_limits", "fault_tolerance", "operational_excellence"
552
+ # resp.check_summaries[0].source #=> String, one of "aws_config", "compute_optimizer", "cost_explorer", "lse", "manual", "pse", "rds", "resilience", "resilience_hub", "security_hub", "stir", "ta_check", "well_architected"
553
+ # resp.next_token #=> String
554
+ #
555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListChecks AWS API Documentation
556
+ #
557
+ # @overload list_checks(params = {})
558
+ # @param [Hash] params ({})
559
+ def list_checks(params = {}, options = {})
560
+ req = build_request(:list_checks, params)
561
+ req.send_request(options)
562
+ end
563
+
564
+ # Lists the accounts that own the resources for an organization
565
+ # aggregate recommendation. This API only supports prioritized
566
+ # recommendations.
567
+ #
568
+ # @option params [String] :affected_account_id
569
+ # An account affected by this organization recommendation
570
+ #
571
+ # @option params [Integer] :max_results
572
+ # The maximum number of results to return per page.
573
+ #
574
+ # @option params [String] :next_token
575
+ # The token for the next set of results. Use the value returned in the
576
+ # previous response in the next request to retrieve the next set of
577
+ # results.
578
+ #
579
+ # @option params [required, String] :organization_recommendation_identifier
580
+ # The Recommendation identifier
581
+ #
582
+ # @return [Types::ListOrganizationRecommendationAccountsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
583
+ #
584
+ # * {Types::ListOrganizationRecommendationAccountsResponse#account_recommendation_lifecycle_summaries #account_recommendation_lifecycle_summaries} => Array&lt;Types::AccountRecommendationLifecycleSummary&gt;
585
+ # * {Types::ListOrganizationRecommendationAccountsResponse#next_token #next_token} => String
586
+ #
587
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
588
+ #
589
+ # @example Request syntax with placeholder values
590
+ #
591
+ # resp = client.list_organization_recommendation_accounts({
592
+ # affected_account_id: "AccountId",
593
+ # max_results: 1,
594
+ # next_token: "ListOrganizationRecommendationAccountsRequestNextTokenString",
595
+ # organization_recommendation_identifier: "OrganizationRecommendationIdentifier", # required
596
+ # })
597
+ #
598
+ # @example Response structure
599
+ #
600
+ # resp.account_recommendation_lifecycle_summaries #=> Array
601
+ # resp.account_recommendation_lifecycle_summaries[0].account_id #=> String
602
+ # resp.account_recommendation_lifecycle_summaries[0].account_recommendation_arn #=> String
603
+ # resp.account_recommendation_lifecycle_summaries[0].last_updated_at #=> Time
604
+ # resp.account_recommendation_lifecycle_summaries[0].lifecycle_stage #=> String, one of "in_progress", "pending_response", "dismissed", "resolved"
605
+ # resp.account_recommendation_lifecycle_summaries[0].update_reason #=> String
606
+ # resp.account_recommendation_lifecycle_summaries[0].update_reason_code #=> String, one of "non_critical_account", "temporary_account", "valid_business_case", "other_methods_available", "low_priority", "not_applicable", "other"
607
+ # resp.account_recommendation_lifecycle_summaries[0].updated_on_behalf_of #=> String
608
+ # resp.account_recommendation_lifecycle_summaries[0].updated_on_behalf_of_job_title #=> String
609
+ # resp.next_token #=> String
610
+ #
611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendationAccounts AWS API Documentation
612
+ #
613
+ # @overload list_organization_recommendation_accounts(params = {})
614
+ # @param [Hash] params ({})
615
+ def list_organization_recommendation_accounts(params = {}, options = {})
616
+ req = build_request(:list_organization_recommendation_accounts, params)
617
+ req.send_request(options)
618
+ end
619
+
620
+ # List Resources of a Recommendation within an Organization. This API
621
+ # only supports prioritized recommendations.
622
+ #
623
+ # @option params [String] :affected_account_id
624
+ # An account affected by this organization recommendation
625
+ #
626
+ # @option params [Integer] :max_results
627
+ # The maximum number of results to return per page.
628
+ #
629
+ # @option params [String] :next_token
630
+ # The token for the next set of results. Use the value returned in the
631
+ # previous response in the next request to retrieve the next set of
632
+ # results.
633
+ #
634
+ # @option params [required, String] :organization_recommendation_identifier
635
+ # The AWS Organization organization's Recommendation identifier
636
+ #
637
+ # @option params [String] :region_code
638
+ # The AWS Region code of the resource
639
+ #
640
+ # @option params [String] :status
641
+ # The status of the resource
642
+ #
643
+ # @return [Types::ListOrganizationRecommendationResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
644
+ #
645
+ # * {Types::ListOrganizationRecommendationResourcesResponse#next_token #next_token} => String
646
+ # * {Types::ListOrganizationRecommendationResourcesResponse#organization_recommendation_resource_summaries #organization_recommendation_resource_summaries} => Array&lt;Types::OrganizationRecommendationResourceSummary&gt;
647
+ #
648
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
649
+ #
650
+ # @example Request syntax with placeholder values
651
+ #
652
+ # resp = client.list_organization_recommendation_resources({
653
+ # affected_account_id: "AccountId",
654
+ # max_results: 1,
655
+ # next_token: "ListOrganizationRecommendationResourcesRequestNextTokenString",
656
+ # organization_recommendation_identifier: "OrganizationRecommendationIdentifier", # required
657
+ # region_code: "String",
658
+ # status: "ok", # accepts ok, warning, error
659
+ # })
660
+ #
661
+ # @example Response structure
662
+ #
663
+ # resp.next_token #=> String
664
+ # resp.organization_recommendation_resource_summaries #=> Array
665
+ # resp.organization_recommendation_resource_summaries[0].account_id #=> String
666
+ # resp.organization_recommendation_resource_summaries[0].arn #=> String
667
+ # resp.organization_recommendation_resource_summaries[0].aws_resource_id #=> String
668
+ # resp.organization_recommendation_resource_summaries[0].id #=> String
669
+ # resp.organization_recommendation_resource_summaries[0].last_updated_at #=> Time
670
+ # resp.organization_recommendation_resource_summaries[0].metadata #=> Hash
671
+ # resp.organization_recommendation_resource_summaries[0].metadata["String"] #=> String
672
+ # resp.organization_recommendation_resource_summaries[0].recommendation_arn #=> String
673
+ # resp.organization_recommendation_resource_summaries[0].region_code #=> String
674
+ # resp.organization_recommendation_resource_summaries[0].status #=> String, one of "ok", "warning", "error"
675
+ #
676
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendationResources AWS API Documentation
677
+ #
678
+ # @overload list_organization_recommendation_resources(params = {})
679
+ # @param [Hash] params ({})
680
+ def list_organization_recommendation_resources(params = {}, options = {})
681
+ req = build_request(:list_organization_recommendation_resources, params)
682
+ req.send_request(options)
683
+ end
684
+
685
+ # List a filterable set of Recommendations within an Organization. This
686
+ # API only supports prioritized recommendations.
687
+ #
688
+ # @option params [Time,DateTime,Date,Integer,String] :after_last_updated_at
689
+ # After the last update of the Recommendation
690
+ #
691
+ # @option params [String] :aws_service
692
+ # The aws service associated with the Recommendation
693
+ #
694
+ # @option params [Time,DateTime,Date,Integer,String] :before_last_updated_at
695
+ # Before the last update of the Recommendation
696
+ #
697
+ # @option params [String] :check_identifier
698
+ # The check identifier of the Recommendation
699
+ #
700
+ # @option params [Integer] :max_results
701
+ # The maximum number of results to return per page.
702
+ #
703
+ # @option params [String] :next_token
704
+ # The token for the next set of results. Use the value returned in the
705
+ # previous response in the next request to retrieve the next set of
706
+ # results.
707
+ #
708
+ # @option params [String] :pillar
709
+ # The pillar of the Recommendation
710
+ #
711
+ # @option params [String] :source
712
+ # The source of the Recommendation
713
+ #
714
+ # @option params [String] :status
715
+ # The status of the Recommendation
716
+ #
717
+ # @option params [String] :type
718
+ # The type of the Recommendation
719
+ #
720
+ # @return [Types::ListOrganizationRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
721
+ #
722
+ # * {Types::ListOrganizationRecommendationsResponse#next_token #next_token} => String
723
+ # * {Types::ListOrganizationRecommendationsResponse#organization_recommendation_summaries #organization_recommendation_summaries} => Array&lt;Types::OrganizationRecommendationSummary&gt;
724
+ #
725
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
726
+ #
727
+ # @example Request syntax with placeholder values
728
+ #
729
+ # resp = client.list_organization_recommendations({
730
+ # after_last_updated_at: Time.now,
731
+ # aws_service: "RecommendationAwsService",
732
+ # before_last_updated_at: Time.now,
733
+ # check_identifier: "CheckIdentifier",
734
+ # max_results: 1,
735
+ # next_token: "ListOrganizationRecommendationsRequestNextTokenString",
736
+ # pillar: "cost_optimizing", # accepts cost_optimizing, performance, security, service_limits, fault_tolerance, operational_excellence
737
+ # source: "aws_config", # accepts aws_config, compute_optimizer, cost_explorer, lse, manual, pse, rds, resilience, resilience_hub, security_hub, stir, ta_check, well_architected
738
+ # status: "ok", # accepts ok, warning, error
739
+ # type: "standard", # accepts standard, priority
740
+ # })
741
+ #
742
+ # @example Response structure
743
+ #
744
+ # resp.next_token #=> String
745
+ # resp.organization_recommendation_summaries #=> Array
746
+ # resp.organization_recommendation_summaries[0].arn #=> String
747
+ # resp.organization_recommendation_summaries[0].aws_services #=> Array
748
+ # resp.organization_recommendation_summaries[0].aws_services[0] #=> String
749
+ # resp.organization_recommendation_summaries[0].check_arn #=> String
750
+ # resp.organization_recommendation_summaries[0].created_at #=> Time
751
+ # resp.organization_recommendation_summaries[0].id #=> String
752
+ # resp.organization_recommendation_summaries[0].last_updated_at #=> Time
753
+ # resp.organization_recommendation_summaries[0].lifecycle_stage #=> String, one of "in_progress", "pending_response", "dismissed", "resolved"
754
+ # resp.organization_recommendation_summaries[0].name #=> String
755
+ # resp.organization_recommendation_summaries[0].pillar_specific_aggregates.cost_optimizing.estimated_monthly_savings #=> Float
756
+ # resp.organization_recommendation_summaries[0].pillar_specific_aggregates.cost_optimizing.estimated_percent_monthly_savings #=> Float
757
+ # resp.organization_recommendation_summaries[0].pillars #=> Array
758
+ # resp.organization_recommendation_summaries[0].pillars[0] #=> String, one of "cost_optimizing", "performance", "security", "service_limits", "fault_tolerance", "operational_excellence"
759
+ # resp.organization_recommendation_summaries[0].resources_aggregates.error_count #=> Integer
760
+ # resp.organization_recommendation_summaries[0].resources_aggregates.ok_count #=> Integer
761
+ # resp.organization_recommendation_summaries[0].resources_aggregates.warning_count #=> Integer
762
+ # resp.organization_recommendation_summaries[0].source #=> String, one of "aws_config", "compute_optimizer", "cost_explorer", "lse", "manual", "pse", "rds", "resilience", "resilience_hub", "security_hub", "stir", "ta_check", "well_architected"
763
+ # resp.organization_recommendation_summaries[0].status #=> String, one of "ok", "warning", "error"
764
+ # resp.organization_recommendation_summaries[0].type #=> String, one of "standard", "priority"
765
+ #
766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListOrganizationRecommendations AWS API Documentation
767
+ #
768
+ # @overload list_organization_recommendations(params = {})
769
+ # @param [Hash] params ({})
770
+ def list_organization_recommendations(params = {}, options = {})
771
+ req = build_request(:list_organization_recommendations, params)
772
+ req.send_request(options)
773
+ end
774
+
775
+ # List Resources of a Recommendation
776
+ #
777
+ # @option params [Integer] :max_results
778
+ # The maximum number of results to return per page.
779
+ #
780
+ # @option params [String] :next_token
781
+ # The token for the next set of results. Use the value returned in the
782
+ # previous response in the next request to retrieve the next set of
783
+ # results.
784
+ #
785
+ # @option params [required, String] :recommendation_identifier
786
+ # The Recommendation identifier
787
+ #
788
+ # @option params [String] :region_code
789
+ # The AWS Region code of the resource
790
+ #
791
+ # @option params [String] :status
792
+ # The status of the resource
793
+ #
794
+ # @return [Types::ListRecommendationResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
795
+ #
796
+ # * {Types::ListRecommendationResourcesResponse#next_token #next_token} => String
797
+ # * {Types::ListRecommendationResourcesResponse#recommendation_resource_summaries #recommendation_resource_summaries} => Array&lt;Types::RecommendationResourceSummary&gt;
798
+ #
799
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
800
+ #
801
+ # @example Request syntax with placeholder values
802
+ #
803
+ # resp = client.list_recommendation_resources({
804
+ # max_results: 1,
805
+ # next_token: "ListRecommendationResourcesRequestNextTokenString",
806
+ # recommendation_identifier: "AccountRecommendationIdentifier", # required
807
+ # region_code: "String",
808
+ # status: "ok", # accepts ok, warning, error
809
+ # })
810
+ #
811
+ # @example Response structure
812
+ #
813
+ # resp.next_token #=> String
814
+ # resp.recommendation_resource_summaries #=> Array
815
+ # resp.recommendation_resource_summaries[0].arn #=> String
816
+ # resp.recommendation_resource_summaries[0].aws_resource_id #=> String
817
+ # resp.recommendation_resource_summaries[0].id #=> String
818
+ # resp.recommendation_resource_summaries[0].last_updated_at #=> Time
819
+ # resp.recommendation_resource_summaries[0].metadata #=> Hash
820
+ # resp.recommendation_resource_summaries[0].metadata["String"] #=> String
821
+ # resp.recommendation_resource_summaries[0].recommendation_arn #=> String
822
+ # resp.recommendation_resource_summaries[0].region_code #=> String
823
+ # resp.recommendation_resource_summaries[0].status #=> String, one of "ok", "warning", "error"
824
+ #
825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListRecommendationResources AWS API Documentation
826
+ #
827
+ # @overload list_recommendation_resources(params = {})
828
+ # @param [Hash] params ({})
829
+ def list_recommendation_resources(params = {}, options = {})
830
+ req = build_request(:list_recommendation_resources, params)
831
+ req.send_request(options)
832
+ end
833
+
834
+ # List a filterable set of Recommendations
835
+ #
836
+ # @option params [Time,DateTime,Date,Integer,String] :after_last_updated_at
837
+ # After the last update of the Recommendation
838
+ #
839
+ # @option params [String] :aws_service
840
+ # The aws service associated with the Recommendation
841
+ #
842
+ # @option params [Time,DateTime,Date,Integer,String] :before_last_updated_at
843
+ # Before the last update of the Recommendation
844
+ #
845
+ # @option params [String] :check_identifier
846
+ # The check identifier of the Recommendation
847
+ #
848
+ # @option params [Integer] :max_results
849
+ # The maximum number of results to return per page.
850
+ #
851
+ # @option params [String] :next_token
852
+ # The token for the next set of results. Use the value returned in the
853
+ # previous response in the next request to retrieve the next set of
854
+ # results.
855
+ #
856
+ # @option params [String] :pillar
857
+ # The pillar of the Recommendation
858
+ #
859
+ # @option params [String] :source
860
+ # The source of the Recommendation
861
+ #
862
+ # @option params [String] :status
863
+ # The status of the Recommendation
864
+ #
865
+ # @option params [String] :type
866
+ # The type of the Recommendation
867
+ #
868
+ # @return [Types::ListRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
869
+ #
870
+ # * {Types::ListRecommendationsResponse#next_token #next_token} => String
871
+ # * {Types::ListRecommendationsResponse#recommendation_summaries #recommendation_summaries} => Array&lt;Types::RecommendationSummary&gt;
872
+ #
873
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
874
+ #
875
+ # @example Request syntax with placeholder values
876
+ #
877
+ # resp = client.list_recommendations({
878
+ # after_last_updated_at: Time.now,
879
+ # aws_service: "RecommendationAwsService",
880
+ # before_last_updated_at: Time.now,
881
+ # check_identifier: "CheckIdentifier",
882
+ # max_results: 1,
883
+ # next_token: "ListRecommendationsRequestNextTokenString",
884
+ # pillar: "cost_optimizing", # accepts cost_optimizing, performance, security, service_limits, fault_tolerance, operational_excellence
885
+ # source: "aws_config", # accepts aws_config, compute_optimizer, cost_explorer, lse, manual, pse, rds, resilience, resilience_hub, security_hub, stir, ta_check, well_architected
886
+ # status: "ok", # accepts ok, warning, error
887
+ # type: "standard", # accepts standard, priority
888
+ # })
889
+ #
890
+ # @example Response structure
891
+ #
892
+ # resp.next_token #=> String
893
+ # resp.recommendation_summaries #=> Array
894
+ # resp.recommendation_summaries[0].arn #=> String
895
+ # resp.recommendation_summaries[0].aws_services #=> Array
896
+ # resp.recommendation_summaries[0].aws_services[0] #=> String
897
+ # resp.recommendation_summaries[0].check_arn #=> String
898
+ # resp.recommendation_summaries[0].created_at #=> Time
899
+ # resp.recommendation_summaries[0].id #=> String
900
+ # resp.recommendation_summaries[0].last_updated_at #=> Time
901
+ # resp.recommendation_summaries[0].lifecycle_stage #=> String, one of "in_progress", "pending_response", "dismissed", "resolved"
902
+ # resp.recommendation_summaries[0].name #=> String
903
+ # resp.recommendation_summaries[0].pillar_specific_aggregates.cost_optimizing.estimated_monthly_savings #=> Float
904
+ # resp.recommendation_summaries[0].pillar_specific_aggregates.cost_optimizing.estimated_percent_monthly_savings #=> Float
905
+ # resp.recommendation_summaries[0].pillars #=> Array
906
+ # resp.recommendation_summaries[0].pillars[0] #=> String, one of "cost_optimizing", "performance", "security", "service_limits", "fault_tolerance", "operational_excellence"
907
+ # resp.recommendation_summaries[0].resources_aggregates.error_count #=> Integer
908
+ # resp.recommendation_summaries[0].resources_aggregates.ok_count #=> Integer
909
+ # resp.recommendation_summaries[0].resources_aggregates.warning_count #=> Integer
910
+ # resp.recommendation_summaries[0].source #=> String, one of "aws_config", "compute_optimizer", "cost_explorer", "lse", "manual", "pse", "rds", "resilience", "resilience_hub", "security_hub", "stir", "ta_check", "well_architected"
911
+ # resp.recommendation_summaries[0].status #=> String, one of "ok", "warning", "error"
912
+ # resp.recommendation_summaries[0].type #=> String, one of "standard", "priority"
913
+ #
914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/ListRecommendations AWS API Documentation
915
+ #
916
+ # @overload list_recommendations(params = {})
917
+ # @param [Hash] params ({})
918
+ def list_recommendations(params = {}, options = {})
919
+ req = build_request(:list_recommendations, params)
920
+ req.send_request(options)
921
+ end
922
+
923
+ # Update the lifecyle of a Recommendation within an Organization. This
924
+ # API only supports prioritized recommendations.
925
+ #
926
+ # @option params [required, String] :lifecycle_stage
927
+ # The new lifecycle stage
928
+ #
929
+ # @option params [required, String] :organization_recommendation_identifier
930
+ # The Recommendation identifier for AWS Trusted Advisor Priority
931
+ # recommendations
932
+ #
933
+ # @option params [String] :update_reason
934
+ # Reason for the lifecycle stage change
935
+ #
936
+ # @option params [String] :update_reason_code
937
+ # Reason code for the lifecycle state change
938
+ #
939
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
940
+ #
941
+ # @example Request syntax with placeholder values
942
+ #
943
+ # resp = client.update_organization_recommendation_lifecycle({
944
+ # lifecycle_stage: "pending_response", # required, accepts pending_response, in_progress, dismissed, resolved
945
+ # organization_recommendation_identifier: "OrganizationRecommendationIdentifier", # required
946
+ # update_reason: "RecommendationUpdateReason",
947
+ # update_reason_code: "non_critical_account", # accepts non_critical_account, temporary_account, valid_business_case, other_methods_available, low_priority, not_applicable, other
948
+ # })
949
+ #
950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/UpdateOrganizationRecommendationLifecycle AWS API Documentation
951
+ #
952
+ # @overload update_organization_recommendation_lifecycle(params = {})
953
+ # @param [Hash] params ({})
954
+ def update_organization_recommendation_lifecycle(params = {}, options = {})
955
+ req = build_request(:update_organization_recommendation_lifecycle, params)
956
+ req.send_request(options)
957
+ end
958
+
959
+ # Update the lifecyle of a Recommendation. This API only supports
960
+ # prioritized recommendations.
961
+ #
962
+ # @option params [required, String] :lifecycle_stage
963
+ # The new lifecycle stage
964
+ #
965
+ # @option params [required, String] :recommendation_identifier
966
+ # The Recommendation identifier for AWS Trusted Advisor Priority
967
+ # recommendations
968
+ #
969
+ # @option params [String] :update_reason
970
+ # Reason for the lifecycle stage change
971
+ #
972
+ # @option params [String] :update_reason_code
973
+ # Reason code for the lifecycle state change
974
+ #
975
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
976
+ #
977
+ # @example Request syntax with placeholder values
978
+ #
979
+ # resp = client.update_recommendation_lifecycle({
980
+ # lifecycle_stage: "pending_response", # required, accepts pending_response, in_progress, dismissed, resolved
981
+ # recommendation_identifier: "AccountRecommendationIdentifier", # required
982
+ # update_reason: "RecommendationUpdateReason",
983
+ # update_reason_code: "non_critical_account", # accepts non_critical_account, temporary_account, valid_business_case, other_methods_available, low_priority, not_applicable, other
984
+ # })
985
+ #
986
+ # @see http://docs.aws.amazon.com/goto/WebAPI/trustedadvisor-2022-09-15/UpdateRecommendationLifecycle AWS API Documentation
987
+ #
988
+ # @overload update_recommendation_lifecycle(params = {})
989
+ # @param [Hash] params ({})
990
+ def update_recommendation_lifecycle(params = {}, options = {})
991
+ req = build_request(:update_recommendation_lifecycle, params)
992
+ req.send_request(options)
993
+ end
994
+
995
+ # @!endgroup
996
+
997
+ # @param params ({})
998
+ # @api private
999
+ def build_request(operation_name, params = {})
1000
+ handlers = @handlers.for(operation_name)
1001
+ context = Seahorse::Client::RequestContext.new(
1002
+ operation_name: operation_name,
1003
+ operation: config.api.operation(operation_name),
1004
+ client: self,
1005
+ params: params,
1006
+ config: config)
1007
+ context[:gem_name] = 'aws-sdk-trustedadvisor'
1008
+ context[:gem_version] = '1.0.0'
1009
+ Seahorse::Client::Request.new(handlers, context)
1010
+ end
1011
+
1012
+ # @api private
1013
+ # @deprecated
1014
+ def waiter_names
1015
+ []
1016
+ end
1017
+
1018
+ class << self
1019
+
1020
+ # @api private
1021
+ attr_reader :identifier
1022
+
1023
+ # @api private
1024
+ def errors_module
1025
+ Errors
1026
+ end
1027
+
1028
+ end
1029
+ end
1030
+ end