TrustedAdvisor Public API 2022-09-15
- Client: Aws\TrustedAdvisor\TrustedAdvisorClient
- Service ID: trustedadvisor
- Version: 2022-09-15
This page describes the parameters and results for the operations of the TrustedAdvisor Public API (2022-09-15), and shows how to use the Aws\TrustedAdvisor\TrustedAdvisorClient object to call the described operations. This documentation is specific to the 2022-09-15 API version of the service.
Operation Summary
Each of the following operations can be created from a client using
$client->getCommand('CommandName'), where "CommandName" is the
name of one of the following operations. Note: a command is a value that
encapsulates an operation and the parameters used to create an HTTP request.
You can also create and send a command immediately using the magic methods
available on a client object: $client->commandName(/* parameters */).
You can send the command asynchronously (returning a promise) by appending the
word "Async" to the operation name: $client->commandNameAsync(/* parameters */).
- BatchUpdateRecommendationResourceExclusion ( array $params = [] )
- Update one or more exclusion statuses for a list of recommendation resources.
- GetOrganizationRecommendation ( array $params = [] )
- Get a specific recommendation within an AWS Organizations organization.
- GetRecommendation ( array $params = [] )
- Get a specific Recommendation.
- ListChecks ( array $params = [] )
- List a filterable set of Checks.
- ListOrganizationRecommendationAccounts ( array $params = [] )
- Lists the accounts that own the resources for an organization aggregate recommendation.
- ListOrganizationRecommendationResources ( array $params = [] )
- List Resources of a Recommendation within an Organization.
- ListOrganizationRecommendations ( array $params = [] )
- List a filterable set of Recommendations within an Organization.
- ListRecommendationResources ( array $params = [] )
- List Resources of a Recommendation.
- ListRecommendations ( array $params = [] )
- List a filterable set of Recommendations.
- UpdateOrganizationRecommendationLifecycle ( array $params = [] )
- Update the lifecycle of a Recommendation within an Organization.
- UpdateRecommendationLifecycle ( array $params = [] )
- Update the lifecyle of a Recommendation.
Paginators
Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:
- ListChecks
- ListOrganizationRecommendationAccounts
- ListOrganizationRecommendationResources
- ListOrganizationRecommendations
- ListRecommendationResources
- ListRecommendations
Operations
BatchUpdateRecommendationResourceExclusion
$result = $client->batchUpdateRecommendationResourceExclusion([/* ... */]); $promise = $client->batchUpdateRecommendationResourceExclusionAsync([/* ... */]);
Update one or more exclusion statuses for a list of recommendation resources. This API supports up to 25 unique recommendation resource ARNs per request. This API currently doesn't support prioritized recommendation resources. This API updates global recommendations, eliminating the need to call the API in each AWS Region. After submitting an exclusion update, note that it might take a few minutes for the changes to be reflected in the system.
Parameter Syntax
$result = $client->batchUpdateRecommendationResourceExclusion([
'recommendationResourceExclusions' => [ // REQUIRED
[
'arn' => '<string>', // REQUIRED
'isExcluded' => true || false, // REQUIRED
],
// ...
],
]);
Parameter Details
Members
- recommendationResourceExclusions
-
- Required: Yes
- Type: Array of RecommendationResourceExclusion structures
A list of recommendation resource ARNs and exclusion status to update
Result Syntax
[
'batchUpdateRecommendationResourceExclusionErrors' => [
[
'arn' => '<string>',
'errorCode' => '<string>',
'errorMessage' => '<string>',
],
// ...
],
]
Result Details
Members
- batchUpdateRecommendationResourceExclusionErrors
-
- Required: Yes
- Type: Array of UpdateRecommendationResourceExclusionError structures
A list of recommendation resource ARNs whose exclusion status failed to update, if any
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- ConflictException:
Exception that the request was denied due to conflictions in state
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
Examples
Example 1: Batch updates the exclusion status for a list of recommendation resources
$result = $client->batchUpdateRecommendationResourceExclusion([
'recommendationResourceExclusions' => [
[
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/18959a1f1973cff8e706e9d9bde28bba36cd602a6b2cb86c8b61252835236010',
'isExcluded' => 1,
],
],
]);
Result syntax:
[
'batchUpdateRecommendationResourceExclusionErrors' => [
[
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/18959a1f1973cff8e706e9d9bde28bba36cd602a6b2cb86c8b61252835236010',
'errorCode' => '404',
'errorMessage' => 'Exception that the requested resource has not been found',
],
],
]
GetOrganizationRecommendation
$result = $client->getOrganizationRecommendation([/* ... */]); $promise = $client->getOrganizationRecommendationAsync([/* ... */]);
Get a specific recommendation within an AWS Organizations organization. This API supports only prioritized recommendations and provides global priority recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->getOrganizationRecommendation([
'organizationRecommendationIdentifier' => '<string>', // REQUIRED
]);
Parameter Details
Members
- organizationRecommendationIdentifier
-
- Required: Yes
- Type: string
The Recommendation identifier
Result Syntax
[
'organizationRecommendation' => [
'arn' => '<string>',
'awsServices' => ['<string>', ...],
'checkArn' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'description' => '<string>',
'id' => '<string>',
'lastUpdatedAt' => <DateTime>,
'lifecycleStage' => 'in_progress|pending_response|dismissed|resolved',
'name' => '<string>',
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => <float>,
'estimatedPercentMonthlySavings' => <float>,
],
],
'pillars' => ['<string>', ...],
'resolvedAt' => <DateTime>,
'resourcesAggregates' => [
'errorCount' => <integer>,
'excludedCount' => <integer>,
'okCount' => <integer>,
'warningCount' => <integer>,
],
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
'status' => 'ok|warning|error',
'type' => 'standard|priority',
'updateReason' => '<string>',
'updateReasonCode' => 'non_critical_account|temporary_account|valid_business_case|other_methods_available|low_priority|not_applicable|other',
'updatedOnBehalfOf' => '<string>',
'updatedOnBehalfOfJobTitle' => '<string>',
],
]
Result Details
Members
- organizationRecommendation
-
- Type: OrganizationRecommendation structure
The Recommendation
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
- ResourceNotFoundException:
Exception that the requested resource has not been found
Examples
Example 1: Get an AWS Organization's Recommendation by ARN
$result = $client->getOrganizationRecommendation([
'organizationRecommendationIdentifier' => 'arn:aws:trustedadvisor:::organization-recommendation/9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
]);
Result syntax:
[
'organizationRecommendation' => [
'name' => 'Lambda Runtime Deprecation Warning',
'type' => 'priority',
'arn' => 'arn:aws:trustedadvisor:::organization-recommendation/9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
'awsServices' => [
'lambda',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/L4dfs2Q4C5',
'description' => 'One or more lambdas are using a deprecated runtime',
'id' => '9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
'lifecycleStage' => 'resolved',
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 0,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'warning',
],
]
GetRecommendation
$result = $client->getRecommendation([/* ... */]); $promise = $client->getRecommendationAsync([/* ... */]);
Get a specific Recommendation. This API provides global recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->getRecommendation([
'language' => 'en|ja|zh|fr|de|ko|zh_TW|it|es|pt_BR|id',
'recommendationIdentifier' => '<string>', // REQUIRED
]);
Parameter Details
Members
- language
-
- Type: string
The ISO 639-1 code for the language that you want your recommendations to appear in.
- recommendationIdentifier
-
- Required: Yes
- Type: string
The Recommendation identifier
Result Syntax
[
'recommendation' => [
'arn' => '<string>',
'awsServices' => ['<string>', ...],
'checkArn' => '<string>',
'createdAt' => <DateTime>,
'createdBy' => '<string>',
'description' => '<string>',
'id' => '<string>',
'lastUpdatedAt' => <DateTime>,
'lifecycleStage' => 'in_progress|pending_response|dismissed|resolved',
'name' => '<string>',
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => <float>,
'estimatedPercentMonthlySavings' => <float>,
],
],
'pillars' => ['<string>', ...],
'resolvedAt' => <DateTime>,
'resourcesAggregates' => [
'errorCount' => <integer>,
'excludedCount' => <integer>,
'okCount' => <integer>,
'warningCount' => <integer>,
],
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
'status' => 'ok|warning|error',
'statusReason' => 'no_data_ok',
'type' => 'standard|priority',
'updateReason' => '<string>',
'updateReasonCode' => 'non_critical_account|temporary_account|valid_business_case|other_methods_available|low_priority|not_applicable|other',
'updatedOnBehalfOf' => '<string>',
'updatedOnBehalfOfJobTitle' => '<string>',
],
]
Result Details
Members
- recommendation
-
- Type: Recommendation structure
The Recommendation
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
- ResourceNotFoundException:
Exception that the requested resource has not been found
Examples
Example 1: Get a Recommendation by ARN
$result = $client->getRecommendation([
'recommendationIdentifier' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
]);
Result syntax:
[
'recommendation' => [
'name' => 'MFA Recommendation',
'type' => 'standard',
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
'awsServices' => [
'iam',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/7DAFEmoDos',
'description' => 'Enable multi-factor authentication',
'id' => '55fa4d2e-bbb7-491a-833b-5773e9589578',
'lastUpdatedAt' => ,
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => 0,
'estimatedPercentMonthlySavings' => 0,
],
],
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 1,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'error',
],
]
ListChecks
$result = $client->listChecks([/* ... */]); $promise = $client->listChecksAsync([/* ... */]);
List a filterable set of Checks. This API provides global recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->listChecks([
'awsService' => '<string>',
'language' => 'en|ja|zh|fr|de|ko|zh_TW|it|es|pt_BR|id',
'maxResults' => <integer>,
'nextToken' => '<string>',
'pillar' => 'cost_optimizing|performance|security|service_limits|fault_tolerance|operational_excellence',
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
]);
Parameter Details
Members
- awsService
-
- Type: string
The aws service associated with the check
- language
-
- Type: string
The ISO 639-1 code for the language that you want your checks to appear in.
- maxResults
-
- Type: int
The maximum number of results to return per page.
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- pillar
-
- Type: string
The pillar of the check
- source
-
- Type: string
The source of the check
Result Syntax
[
'checkSummaries' => [
[
'arn' => '<string>',
'awsServices' => ['<string>', ...],
'description' => '<string>',
'id' => '<string>',
'metadata' => ['<string>', ...],
'name' => '<string>',
'pillars' => ['<string>', ...],
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- checkSummaries
-
- Required: Yes
- Type: Array of CheckSummary structures
The list of Checks
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
Examples
Example 1: List all AWS Trusted Advisor Checks
$result = $client->listChecks([ ]);
Result syntax:
[
'checkSummaries' => [
[
'metadata' => [
'0' => 'Region',
'1' => 'Security Group Name',
'2' => 'Security Group ID',
'3' => 'Protocol',
'4' => 'Port',
'5' => 'Status',
'6' => 'IP Range',
],
'name' => 'Security Groups - Unrestricted Access',
'arn' => 'arn:aws:trustedadvisor:::check/1iG5NDGVre',
'awsServices' => [
'EC2',
],
'description' => 'Checks security groups for rules that allow unrestricted access to a resource. Unrestricted access increases opportunities for malicious activity (hacking, denial-of-service attacks, loss of data).
Note: This check only evaluates security groups that you create and their inbound rules for IPv4 addresses. Security groups created by AWS Directory Services are flagged as red or yellow, but they don’t pose a security risk and can be safely ignored or excluded. For more information, see the Trusted Advisor FAQ.
Alert Criteria
Red: A security group rule has a source IP address with a /0 suffix for ports other than 25, 80, or 443.
Recommended Action
Restrict access to only those IP addresses that require it. To restrict access to a specific IP address, set the suffix to /32 (for example, 192.0.2.10/32). Be sure to delete overly permissive rules after creating rules that are more restrictive.
Additional Resources
Amazon EC2 Security Groups
Classless Inter-Domain Routing (Wikipedia)',
'id' => '1iG5NDGVre',
'pillars' => [
'security',
],
'source' => 'ta_check',
],
[
'metadata' => [
'0' => 'Region',
'1' => 'Family',
'2' => 'Upfront Cost of Reserved Instances',
'3' => 'Estimated cost of Reserved Instances (monthly)',
'4' => 'Estimated On-Demand Cost Post Recommended Reserved Instance Purchase (monthly)',
'5' => 'Estimated Break Even (months)',
'6' => 'Lookback Period (days)',
'7' => 'Term (years)',
'8' => 'Instance Type',
'9' => 'License Model',
'10' => 'Database Edition',
'11' => 'Database Engine',
'12' => 'Deployment Option',
'13' => 'Recommended number of Reserved Instances to purchase',
'14' => 'Expected Average Reserved Instance Utilization',
'15' => 'Estimated Savings with Recommendation (monthly)',
],
'name' => 'Amazon Relational Database Service (RDS) Reserved Instance Optimization',
'arn' => 'arn:aws:trustedadvisor:::check/1qazXsw23e',
'awsServices' => [
'RDS',
],
'description' => 'Checks your usage of RDS and provides recommendations on purchase of Reserved Instances to help reduce costs incurred from using RDS On-Demand. AWS generates these recommendations by analyzing your On-Demand usage for the past 30 days. We then simulate every combination of reservations in the generated category of usage in order to identify the best number of each type of Reserved Instance to purchase to maximize your savings. This check covers recommendations based on partial upfront payment option with 1-year or 3-year commitment. This check is not available to accounts linked in Consolidated Billing. Recommendations are only available for the Paying Account.
Alert Criteria
Yellow: Optimizing the purchase of RDS Reserved Instances can help reduce costs.
Recommended Action
See the Cost Explorer page for more detailed recommendations, customization options (e.g. look-back period, payment option, etc.) and to purchase RDS Reserved Instances.
Additional Resources
Information on RDS Reserved Instances and how they can save you money can be found here.
For more information on this recommendation, see Reserved Instance Optimization Check Questions in the Trusted Advisor FAQs.
For more detailed description of fields, see Cost Explorer documentation',
'id' => '1qazXsw23e',
'pillars' => [
'cost_optimizing',
],
'source' => 'ta_check',
],
[
'metadata' => [
'0' => 'Region',
'1' => 'Family',
'2' => 'Lookback Period (days)',
'3' => 'Term (years)',
'4' => 'Node Type',
'5' => 'Recommended number of Reserved Nodes to purchase',
'6' => 'Expected Average Reserved Node Utilization',
'7' => 'Estimated Savings with Recommendation (monthly)',
'8' => 'Upfront Cost of Reserved Nodes',
'9' => 'Estimated cost of Reserved Nodes (monthly)',
'10' => 'Estimated On-Demand Cost Post Recommended Reserved Nodes Purchase (monthly)',
'11' => 'Estimated Break Even (months)',
],
'name' => 'Amazon Redshift Reserved Node Optimization',
'arn' => 'arn:aws:trustedadvisor:::check/1qw23er45t',
'awsServices' => [
'Redshift',
],
'description' => 'Checks your usage of Redshift and provides recommendations on purchase of Reserved Nodes to help reduce costs incurred from using Redshift On-Demand. AWS generates these recommendations by analyzing your On-Demand usage for the past 30 days. We then simulate every combination of reservations in the generated category of usage in order to identify the best number of each type of Reserved Nodes to purchase to maximize your savings. This check covers recommendations based on partial upfront payment option with 1-year or 3-year commitment. This check is not available to accounts linked in Consolidated Billing. Recommendations are only available for the Paying Account.
Alert Criteria
Yellow: Optimizing the purchase of Redshift Reserved Nodes can help reduce costs.
Recommended Action
See the Cost Explorer page for more detailed recommendations, customization options (e.g. look-back period, payment option, etc.) and to purchase Redshift Reserved Nodes.
Additional Resources
Information on Redshift Reserved Nodes and how they can save you money can be found here.
For more information on this recommendation, see Reserved Instance Optimization Check Questions in the Trusted Advisor FAQs.
For more detailed description of fields, see Cost Explorer documentation',
'id' => '1qw23er45t',
'pillars' => [
'cost_optimizing',
],
'source' => 'ta_check',
],
],
'nextToken' => '',
]
ListOrganizationRecommendationAccounts
$result = $client->listOrganizationRecommendationAccounts([/* ... */]); $promise = $client->listOrganizationRecommendationAccountsAsync([/* ... */]);
Lists the accounts that own the resources for an organization aggregate recommendation. This API only supports prioritized recommendations and provides global priority recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->listOrganizationRecommendationAccounts([
'affectedAccountId' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
'organizationRecommendationIdentifier' => '<string>', // REQUIRED
]);
Parameter Details
Members
- affectedAccountId
-
- Type: string
An account affected by this organization recommendation
- maxResults
-
- Type: int
The maximum number of results to return per page.
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- organizationRecommendationIdentifier
-
- Required: Yes
- Type: string
The Recommendation identifier
Result Syntax
[
'accountRecommendationLifecycleSummaries' => [
[
'accountId' => '<string>',
'accountRecommendationArn' => '<string>',
'lastUpdatedAt' => <DateTime>,
'lifecycleStage' => 'in_progress|pending_response|dismissed|resolved',
'updateReason' => '<string>',
'updateReasonCode' => 'non_critical_account|temporary_account|valid_business_case|other_methods_available|low_priority|not_applicable|other',
'updatedOnBehalfOf' => '<string>',
'updatedOnBehalfOfJobTitle' => '<string>',
],
// ...
],
'nextToken' => '<string>',
]
Result Details
Members
- accountRecommendationLifecycleSummaries
-
- Required: Yes
- Type: Array of AccountRecommendationLifecycleSummary structures
The account recommendations lifecycles that are applicable to the Recommendation
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
- ResourceNotFoundException:
Exception that the requested resource has not been found
Examples
Example 1: List all Accounts for an AWS Organization's Recommendation
$result = $client->listOrganizationRecommendationAccounts([
'organizationRecommendationIdentifier' => 'arn:aws:trustedadvisor:::organization-recommendation/9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
]);
Result syntax:
[
'accountRecommendationLifecycleSummaries' => [
[
'accountId' => '000000000000',
'accountRecommendationArn' => 'arn:aws:trustedadvisor::000000000000:recommendation/9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
'lastUpdatedAt' => ,
'lifecycleStage' => 'resolved',
'updateReason' => 'Resolved issue',
'updateReasonCode' => 'valid_business_case',
],
],
'nextToken' => '',
]
ListOrganizationRecommendationResources
$result = $client->listOrganizationRecommendationResources([/* ... */]); $promise = $client->listOrganizationRecommendationResourcesAsync([/* ... */]);
List Resources of a Recommendation within an Organization. This API only supports prioritized recommendations and provides global priority recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->listOrganizationRecommendationResources([
'affectedAccountId' => '<string>',
'exclusionStatus' => 'excluded|included',
'maxResults' => <integer>,
'nextToken' => '<string>',
'organizationRecommendationIdentifier' => '<string>', // REQUIRED
'regionCode' => '<string>',
'status' => 'ok|warning|error',
]);
Parameter Details
Members
- affectedAccountId
-
- Type: string
An account affected by this organization recommendation
- exclusionStatus
-
- Type: string
The exclusion status of the resource
- maxResults
-
- Type: int
The maximum number of results to return per page.
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- organizationRecommendationIdentifier
-
- Required: Yes
- Type: string
The AWS Organization organization's Recommendation identifier
- regionCode
-
- Type: string
The AWS Region code of the resource
- status
-
- Type: string
The status of the resource
Result Syntax
[
'nextToken' => '<string>',
'organizationRecommendationResourceSummaries' => [
[
'accountId' => '<string>',
'arn' => '<string>',
'awsResourceId' => '<string>',
'exclusionStatus' => 'excluded|included',
'id' => '<string>',
'lastUpdatedAt' => <DateTime>,
'metadata' => ['<string>', ...],
'recommendationArn' => '<string>',
'regionCode' => '<string>',
'status' => 'ok|warning|error',
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- organizationRecommendationResourceSummaries
-
- Required: Yes
- Type: Array of OrganizationRecommendationResourceSummary structures
A list of Recommendation Resources
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
- ResourceNotFoundException:
Exception that the requested resource has not been found
Examples
Example 1: List all Resources for an AWS Organization's Recommendation
$result = $client->listOrganizationRecommendationResources([
'organizationRecommendationIdentifier' => 'arn:aws:trustedadvisor:::organization-recommendation/5a694939-2e54-45a2-ae72-730598fa89d0',
]);
Result syntax:
[
'nextToken' => '',
'organizationRecommendationResourceSummaries' => [
[
'metadata' => [
'0' => '14',
'1' => '208.79999999999998',
'2' => 'database-1-instance-1',
'3' => 'db.r5.large',
'4' => 'false',
'5' => 'us-west-2',
'6' => 'arn:aws:rds:us-west-2:000000000000:db:database-1-instance-1',
'7' => '1',
],
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/5a694939-2e54-45a2-ae72-730598fa89d0/bb38affc0ce0681d9a6cd13f30238ba03a8f63dfe7a379dc403c619119d86af',
'awsResourceId' => 'database-1-instance-1',
'exclusionStatus' => 'excluded',
'id' => 'bb38affc0ce0681d9a6cd13f302383ba03a8f63dfe7a379dc403c619119d86af',
'lastUpdatedAt' => ,
'recommendationArn' => 'arn:aws:trustedadvisor:::organization-recommendation/5a694939-2e54-45a2-ae72-730598fa89d0',
'regionCode' => 'us-west-2',
'status' => 'warning',
],
[
'metadata' => [
'0' => '14',
'1' => '31.679999999999996',
'2' => 'database-1',
'3' => 'db.t3.small',
'4' => 'false',
'5' => 'us-west-2',
'6' => 'arn:aws:rds:us-west-2:000000000000:db:database-1',
'7' => '20',
],
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/5a694939-2e54-45a2-ae72-730598fa89d0/51fded4d7a3278818df9cfe344ff5762cec46c095a6763d1ba1ba53bd0e1b0e6',
'awsResourceId' => 'database-1',
'exclusionStatus' => 'excluded',
'id' => '51fded4d7a3278818df9cfe344ff5762cec46c095a6763d1ba1ba53bd0e1b0e6',
'lastUpdatedAt' => ,
'recommendationArn' => 'arn:aws:trustedadvisor:::organization-recommendation/5a694939-2e54-45a2-ae72-730598fa89d0',
'regionCode' => 'us-west-2',
'status' => 'warning',
],
[
'metadata' => [
'0' => '14',
'1' => '187.20000000000002',
'2' => 'database-2-instance-1-us-west-2a',
'3' => 'db.r6g.large',
'4' => 'true',
'5' => 'us-west-2',
'6' => 'arn:aws:rds:us-west-2:000000000000:db:database-2-instance-1-us-west-2a',
'7' => '1',
],
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/5a694939-2e54-45a2-ae72-730598fa89d0/f4d01bd20f4cd5372062aafc8786c489e48f0ead7cdab121463bf9f89e40a36b',
'awsResourceId' => 'database-2-instance-1-us-west-2a',
'exclusionStatus' => 'included',
'id' => 'f4d01bd20f4cd5372062aafc8786c489e48f0ead7cdab121463bf9f89e40a36b',
'lastUpdatedAt' => ,
'recommendationArn' => 'arn:aws:trustedadvisor:::organization-recommendation/5a694939-2e54-45a2-ae72-730598fa89d0',
'regionCode' => 'us-west-2',
'status' => 'warning',
],
],
]
ListOrganizationRecommendations
$result = $client->listOrganizationRecommendations([/* ... */]); $promise = $client->listOrganizationRecommendationsAsync([/* ... */]);
List a filterable set of Recommendations within an Organization. This API only supports prioritized recommendations and provides global priority recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->listOrganizationRecommendations([
'afterLastUpdatedAt' => <integer || string || DateTime>,
'awsService' => '<string>',
'beforeLastUpdatedAt' => <integer || string || DateTime>,
'checkIdentifier' => '<string>',
'maxResults' => <integer>,
'nextToken' => '<string>',
'pillar' => 'cost_optimizing|performance|security|service_limits|fault_tolerance|operational_excellence',
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
'status' => 'ok|warning|error',
'type' => 'standard|priority',
]);
Parameter Details
Members
- afterLastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
After the last update of the Recommendation
- awsService
-
- Type: string
The aws service associated with the Recommendation
- beforeLastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
Before the last update of the Recommendation
- checkIdentifier
-
- Type: string
The check identifier of the Recommendation
- maxResults
-
- Type: int
The maximum number of results to return per page.
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- pillar
-
- Type: string
The pillar of the Recommendation
- source
-
- Type: string
The source of the Recommendation
- status
-
- Type: string
The status of the Recommendation
- type
-
- Type: string
The type of the Recommendation
Result Syntax
[
'nextToken' => '<string>',
'organizationRecommendationSummaries' => [
[
'arn' => '<string>',
'awsServices' => ['<string>', ...],
'checkArn' => '<string>',
'createdAt' => <DateTime>,
'id' => '<string>',
'lastUpdatedAt' => <DateTime>,
'lifecycleStage' => 'in_progress|pending_response|dismissed|resolved',
'name' => '<string>',
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => <float>,
'estimatedPercentMonthlySavings' => <float>,
],
],
'pillars' => ['<string>', ...],
'resourcesAggregates' => [
'errorCount' => <integer>,
'excludedCount' => <integer>,
'okCount' => <integer>,
'warningCount' => <integer>,
],
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
'status' => 'ok|warning|error',
'type' => 'standard|priority',
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- organizationRecommendationSummaries
-
- Required: Yes
- Type: Array of OrganizationRecommendationSummary structures
The list of Recommendations
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
Examples
Example 1: List all of an AWS Organization's Recommendations
$result = $client->listOrganizationRecommendations([ ]);
Result syntax:
[
'nextToken' => '',
'organizationRecommendationSummaries' => [
[
'name' => 'Lambda Runtime Deprecation Warning',
'type' => 'priority',
'arn' => 'arn:aws:trustedadvisor:::organization-recommendation/9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
'awsServices' => [
'lambda',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/L4dfs2Q4C5',
'id' => '9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
'lifecycleStage' => 'resolved',
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 0,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'warning',
],
[
'name' => 'Lambda Runtime Deprecation Warning',
'type' => 'priority',
'arn' => 'arn:aws:trustedadvisor:::organization-recommendation/4ecff4d4-1bc1-4c99-a5b8-0fff9ee500d6',
'awsServices' => [
'lambda',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/L4dfs2Q4C5',
'id' => '4ecff4d4-1bc1-4c99-a5b8-0fff9ee500d6',
'lifecycleStage' => 'resolved',
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 0,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'warning',
],
],
]
Example 2: Filter and return a max of one AWS Organization Recommendation that is a part of the "security" pillar
$result = $client->listOrganizationRecommendations([
'maxResults' => 100,
'pillar' => 'security',
]);
Result syntax:
[
'nextToken' => '',
'organizationRecommendationSummaries' => [
[
'name' => 'Lambda Runtime Deprecation Warning',
'type' => 'priority',
'arn' => 'arn:aws:trustedadvisor:::organization-recommendation/9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
'awsServices' => [
'lambda',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/L4dfs2Q4C5',
'id' => '9534ec9b-bf3a-44e8-8213-2ed68b39d9d5',
'lifecycleStage' => 'resolved',
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 0,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'warning',
],
],
]
Example 3: Use the "nextToken" returned from a previous request to fetch the next page of filtered AWS Organization Recommendations that are a part of the "security" pillar
$result = $client->listOrganizationRecommendations([
'maxResults' => 100,
'nextToken' => '',
'pillar' => 'security',
]);
Result syntax:
[
'organizationRecommendationSummaries' => [
[
'name' => 'Lambda Runtime Deprecation Warning',
'type' => 'priority',
'arn' => 'arn:aws:trustedadvisor:::organization-recommendation/4ecff4d4-1bc1-4c99-a5b8-0fff9ee500d6',
'awsServices' => [
'lambda',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/L4dfs2Q4C5',
'id' => '4ecff4d4-1bc1-4c99-a5b8-0fff9ee500d6',
'lifecycleStage' => 'resolved',
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 0,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'warning',
],
],
]
ListRecommendationResources
$result = $client->listRecommendationResources([/* ... */]); $promise = $client->listRecommendationResourcesAsync([/* ... */]);
List Resources of a Recommendation. This API provides global recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->listRecommendationResources([
'exclusionStatus' => 'excluded|included',
'language' => 'en|ja|zh|fr|de|ko|zh_TW|it|es|pt_BR|id',
'maxResults' => <integer>,
'nextToken' => '<string>',
'recommendationIdentifier' => '<string>', // REQUIRED
'regionCode' => '<string>',
'status' => 'ok|warning|error',
]);
Parameter Details
Members
- exclusionStatus
-
- Type: string
The exclusion status of the resource
- language
-
- Type: string
The ISO 639-1 code for the language that you want your recommendations to appear in.
- maxResults
-
- Type: int
The maximum number of results to return per page.
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- recommendationIdentifier
-
- Required: Yes
- Type: string
The Recommendation identifier
- regionCode
-
- Type: string
The AWS Region code of the resource
- status
-
- Type: string
The status of the resource
Result Syntax
[
'nextToken' => '<string>',
'recommendationResourceSummaries' => [
[
'arn' => '<string>',
'awsResourceId' => '<string>',
'exclusionStatus' => 'excluded|included',
'id' => '<string>',
'lastUpdatedAt' => <DateTime>,
'metadata' => ['<string>', ...],
'recommendationArn' => '<string>',
'regionCode' => '<string>',
'status' => 'ok|warning|error',
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- recommendationResourceSummaries
-
- Required: Yes
- Type: Array of RecommendationResourceSummary structures
A list of Recommendation Resources
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
- ResourceNotFoundException:
Exception that the requested resource has not been found
Examples
Example 1: List all Resources for a Recommendation
$result = $client->listRecommendationResources([
'recommendationIdentifier' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
]);
Result syntax:
[
'nextToken' => '',
'recommendationResourceSummaries' => [
[
'metadata' => [
'0' => '14',
'1' => '123.12000000000002',
'2' => 'webcms-dev-01',
'3' => 'db.m6i.large',
'4' => 'false',
'5' => 'us-east-1',
'6' => 'arn:aws:rds:us-east-1:000000000000:db:webcms-dev-01',
'7' => '20',
],
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/18959a1f1973cff8e706e9d9bde28bba36cd602a6b2cb86c8b61252835236010',
'awsResourceId' => 'webcms-dev-01',
'exclusionStatus' => 'excluded',
'id' => '18959a1f1973cff8e706e9d9bde28bba36cd602a6b2cb86c8b61252835236010',
'lastUpdatedAt' => ,
'recommendationArn' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
'regionCode' => 'us-east-1',
'status' => 'warning',
],
[
'metadata' => [
'0' => '14',
'1' => '29.52',
'2' => 'aws-dev-db-stack-instance-1',
'3' => 'db.t2.small',
'4' => 'false',
'5' => 'us-east-1',
'6' => 'arn:aws:rds:us-east-1:000000000000:db:aws-dev-db-stack-instance-1',
'7' => '1',
],
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/e6367ff500ac90db8e4adeb4892e39ee9c36bbf812dcbce4b9e4fefcec9eb63e',
'awsResourceId' => 'aws-dev-db-stack-instance-1',
'exclusionStatus' => 'included',
'id' => 'e6367ff500ac90db8e4adeb4892e39ee9c36bbf812dcbce4b9e4fefcec9eb63e',
'lastUpdatedAt' => ,
'recommendationArn' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
'regionCode' => 'us-east-1',
'status' => 'warning',
],
[
'metadata' => [
'0' => '14',
'1' => '114.48000000000002',
'2' => 'aws-awesome-apps-stack-db',
'3' => 'db.m6g.large',
'4' => 'false',
'5' => 'us-east-1',
'6' => 'arn:aws:rds:us-east-1:000000000000:db:aws-awesome-apps-stack-db',
'7' => '100',
],
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation-resource/55fa4d2e-bbb7-491a-833b-5773e9589578/31aa78ba050a5015d2d38cca7f5f1ce88f70857c4e1c3ad03f8f9fd95dad7459',
'awsResourceId' => 'aws-awesome-apps-stack-db',
'exclusionStatus' => 'excluded',
'id' => '31aa78ba050a5015d2d38cca7f5f1ce88f70857c4e1c3ad03f8f9fd95dad7459',
'lastUpdatedAt' => ,
'recommendationArn' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
'regionCode' => 'us-east-1',
'status' => 'warning',
],
],
]
ListRecommendations
$result = $client->listRecommendations([/* ... */]); $promise = $client->listRecommendationsAsync([/* ... */]);
List a filterable set of Recommendations. This API provides global recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->listRecommendations([
'afterLastUpdatedAt' => <integer || string || DateTime>,
'awsService' => '<string>',
'beforeLastUpdatedAt' => <integer || string || DateTime>,
'checkIdentifier' => '<string>',
'language' => 'en|ja|zh|fr|de|ko|zh_TW|it|es|pt_BR|id',
'maxResults' => <integer>,
'nextToken' => '<string>',
'pillar' => 'cost_optimizing|performance|security|service_limits|fault_tolerance|operational_excellence',
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
'status' => 'ok|warning|error',
'type' => 'standard|priority',
]);
Parameter Details
Members
- afterLastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
After the last update of the Recommendation
- awsService
-
- Type: string
The aws service associated with the Recommendation
- beforeLastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
Before the last update of the Recommendation
- checkIdentifier
-
- Type: string
The check identifier of the Recommendation
- language
-
- Type: string
The ISO 639-1 code for the language that you want your recommendations to appear in.
- maxResults
-
- Type: int
The maximum number of results to return per page.
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- pillar
-
- Type: string
The pillar of the Recommendation
- source
-
- Type: string
The source of the Recommendation
- status
-
- Type: string
The status of the Recommendation
- type
-
- Type: string
The type of the Recommendation
Result Syntax
[
'nextToken' => '<string>',
'recommendationSummaries' => [
[
'arn' => '<string>',
'awsServices' => ['<string>', ...],
'checkArn' => '<string>',
'createdAt' => <DateTime>,
'id' => '<string>',
'lastUpdatedAt' => <DateTime>,
'lifecycleStage' => 'in_progress|pending_response|dismissed|resolved',
'name' => '<string>',
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => <float>,
'estimatedPercentMonthlySavings' => <float>,
],
],
'pillars' => ['<string>', ...],
'resourcesAggregates' => [
'errorCount' => <integer>,
'excludedCount' => <integer>,
'okCount' => <integer>,
'warningCount' => <integer>,
],
'source' => 'aws_config|compute_optimizer|cost_explorer|lse|manual|pse|rds|resilience|resilience_hub|security_hub|stir|ta_check|well_architected|cost_optimization_hub',
'status' => 'ok|warning|error',
'statusReason' => 'no_data_ok',
'type' => 'standard|priority',
],
// ...
],
]
Result Details
Members
- nextToken
-
- Type: string
The token for the next set of results. Use the value returned in the previous response in the next request to retrieve the next set of results.
- recommendationSummaries
-
- Required: Yes
- Type: Array of RecommendationSummary structures
The list of Recommendations
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
Examples
Example 1: List all Recommendations
$result = $client->listRecommendations([ ]);
Result syntax:
[
'nextToken' => '',
'recommendationSummaries' => [
[
'name' => 'MFA Recommendation',
'type' => 'standard',
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
'awsServices' => [
'iam',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/7DAFEmoDos',
'id' => '55fa4d2e-bbb7-491a-833b-5773e9589578',
'lastUpdatedAt' => ,
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => 0,
'estimatedPercentMonthlySavings' => 0,
],
],
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 1,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'error',
],
[
'name' => 'RDS clusters quota warning',
'type' => 'standard',
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation/8b602b6f-452d-4cb2-8a9e-c7650955d9cd',
'awsServices' => [
'rds',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/gjqMBn6pjz',
'id' => '8b602b6f-452d-4cb2-8a9e-c7650955d9cd',
'lastUpdatedAt' => ,
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => 0,
'estimatedPercentMonthlySavings' => 0,
],
],
'pillars' => [
'service_limits',
],
'resourcesAggregates' => [
'errorCount' => 0,
'okCount' => 3,
'warningCount' => 6,
],
'source' => 'ta_check',
'status' => 'warning',
],
],
]
Example 2: Filter and return a max of one Recommendation that is a part of AWS IAM
$result = $client->listRecommendations([
'awsService' => 'iam',
'maxResults' => 100,
]);
Result syntax:
[
'nextToken' => '',
'recommendationSummaries' => [
[
'name' => 'MFA Recommendation',
'type' => 'standard',
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation/55fa4d2e-bbb7-491a-833b-5773e9589578',
'awsServices' => [
'iam',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/7DAFEmoDos',
'id' => '55fa4d2e-bbb7-491a-833b-5773e9589578',
'lastUpdatedAt' => ,
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => 0,
'estimatedPercentMonthlySavings' => 0,
],
],
'pillars' => [
'security',
],
'resourcesAggregates' => [
'errorCount' => 1,
'okCount' => 0,
'warningCount' => 0,
],
'source' => 'ta_check',
'status' => 'error',
],
],
]
Example 3: Use the "nextToken" returned from a previous request to fetch the next page of filtered Recommendations
$result = $client->listRecommendations([
'awsService' => 'rds',
'maxResults' => 100,
'nextToken' => '',
]);
Result syntax:
[
'recommendationSummaries' => [
[
'name' => 'RDS clusters quota warning',
'type' => 'standard',
'arn' => 'arn:aws:trustedadvisor::000000000000:recommendation/8b602b6f-452d-4cb2-8a9e-c7650955d9cd',
'awsServices' => [
'rds',
],
'checkArn' => 'arn:aws:trustedadvisor:::check/gjqMBn6pjz',
'id' => '8b602b6f-452d-4cb2-8a9e-c7650955d9cd',
'lastUpdatedAt' => ,
'pillarSpecificAggregates' => [
'costOptimizing' => [
'estimatedMonthlySavings' => 0,
'estimatedPercentMonthlySavings' => 0,
],
],
'pillars' => [
'service_limits',
],
'resourcesAggregates' => [
'errorCount' => 0,
'okCount' => 3,
'warningCount' => 6,
],
'source' => 'ta_check',
'status' => 'warning',
],
],
]
UpdateOrganizationRecommendationLifecycle
$result = $client->updateOrganizationRecommendationLifecycle([/* ... */]); $promise = $client->updateOrganizationRecommendationLifecycleAsync([/* ... */]);
Update the lifecycle of a Recommendation within an Organization. This API only supports prioritized recommendations and updates global priority recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->updateOrganizationRecommendationLifecycle([
'lifecycleStage' => 'pending_response|in_progress|dismissed|resolved', // REQUIRED
'organizationRecommendationIdentifier' => '<string>', // REQUIRED
'updateReason' => '<string>',
'updateReasonCode' => 'non_critical_account|temporary_account|valid_business_case|other_methods_available|low_priority|not_applicable|other',
]);
Parameter Details
Members
- lifecycleStage
-
- Required: Yes
- Type: string
The new lifecycle stage
- organizationRecommendationIdentifier
-
- Required: Yes
- Type: string
The Recommendation identifier for AWS Trusted Advisor Priority recommendations
- updateReason
-
- Type: string
Reason for the lifecycle stage change
- updateReasonCode
-
- Type: string
Reason code for the lifecycle state change
Result Syntax
[]
Result Details
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- ConflictException:
Exception that the request was denied due to conflictions in state
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
- ResourceNotFoundException:
Exception that the requested resource has not been found
Examples
Example 1: Update the lifecycle stage of an AWS Organization's Recommendation that is managed by AWS Trusted Advisor Priority
$result = $client->updateOrganizationRecommendationLifecycle([
'lifecycleStage' => 'dismissed',
'organizationRecommendationIdentifier' => 'arn:aws:trustedadvisor:::organization-recommendation/96b5e5ca-7930-444c-90c6-06d386128100',
'updateReason' => 'Does not apply to this resource',
'updateReasonCode' => 'not_applicable',
]);
Result syntax:
[ ]
UpdateRecommendationLifecycle
$result = $client->updateRecommendationLifecycle([/* ... */]); $promise = $client->updateRecommendationLifecycleAsync([/* ... */]);
Update the lifecyle of a Recommendation. This API only supports prioritized recommendations and updates global priority recommendations, eliminating the need to call the API in each AWS Region.
Parameter Syntax
$result = $client->updateRecommendationLifecycle([
'lifecycleStage' => 'pending_response|in_progress|dismissed|resolved', // REQUIRED
'recommendationIdentifier' => '<string>', // REQUIRED
'updateReason' => '<string>',
'updateReasonCode' => 'non_critical_account|temporary_account|valid_business_case|other_methods_available|low_priority|not_applicable|other',
]);
Parameter Details
Members
- lifecycleStage
-
- Required: Yes
- Type: string
The new lifecycle stage
- recommendationIdentifier
-
- Required: Yes
- Type: string
The Recommendation identifier for AWS Trusted Advisor Priority recommendations
- updateReason
-
- Type: string
Reason for the lifecycle stage change
- updateReasonCode
-
- Type: string
Reason code for the lifecycle state change
Result Syntax
[]
Result Details
Errors
- AccessDeniedException:
Exception that access has been denied due to insufficient access
- ConflictException:
Exception that the request was denied due to conflictions in state
- InternalServerException:
Exception to notify that an unexpected internal error occurred during processing of the request
- ValidationException:
Exception that the request failed to satisfy service constraints
- ThrottlingException:
Exception to notify that requests are being throttled
- ResourceNotFoundException:
Exception that the requested resource has not been found
Examples
Example 1: Update the lifecycle stage of a Recommendation managed by AWS Trusted Advisor Priority
$result = $client->updateRecommendationLifecycle([
'lifecycleStage' => 'resolved',
'recommendationIdentifier' => 'arn:aws:trustedadvisor::000000000000:recommendation/861c9c6e-f169-405a-8b59-537a8caccd7a',
'updateReason' => 'Resolved the recommendation',
'updateReasonCode' => 'valid_business_case',
]);
Result syntax:
[ ]
Shapes
AccessDeniedException
Description
Exception that access has been denied due to insufficient access
Members
- message
-
- Required: Yes
- Type: string
AccountRecommendationLifecycleSummary
Description
Summary of an AccountRecommendationLifecycle for an Organization Recommendation
Members
- accountId
-
- Type: string
The AWS account ID
- accountRecommendationArn
-
- Type: string
The Recommendation ARN
- lastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was last updated
- lifecycleStage
-
- Type: string
The lifecycle stage from AWS Trusted Advisor Priority
- updateReason
-
- Type: string
Reason for the lifecycle stage change
- updateReasonCode
-
- Type: string
Reason code for the lifecycle state change
- updatedOnBehalfOf
-
- Type: string
The person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority
- updatedOnBehalfOfJobTitle
-
- Type: string
The job title of the person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority
CheckSummary
Description
A summary of an AWS Trusted Advisor Check
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the AWS Trusted Advisor Check
- awsServices
-
- Required: Yes
- Type: Array of strings
The AWS Services that the Check applies to
- description
-
- Required: Yes
- Type: string
A description of what the AWS Trusted Advisor Check is monitoring
- id
-
- Required: Yes
- Type: string
The unique identifier of the AWS Trusted Advisor Check
- metadata
-
- Required: Yes
- Type: Associative array of custom strings keys (String) to strings
The column headings for the metadata returned in the resource
- name
-
- Required: Yes
- Type: string
The name of the AWS Trusted Advisor Check
- pillars
-
- Required: Yes
- Type: Array of strings
The Recommendation pillars that the AWS Trusted Advisor Check falls under
- source
-
- Required: Yes
- Type: string
The source of the Recommendation
ConflictException
Description
Exception that the request was denied due to conflictions in state
Members
- message
-
- Required: Yes
- Type: string
InternalServerException
Description
Exception to notify that an unexpected internal error occurred during processing of the request
Members
- message
-
- Required: Yes
- Type: string
OrganizationRecommendation
Description
A Recommendation for accounts within an Organization
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the Recommendation
- awsServices
-
- Type: Array of strings
The AWS Services that the Recommendation applies to
- checkArn
-
- Type: string
The AWS Trusted Advisor Check ARN that relates to the Recommendation
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was created, if created by AWS Trusted Advisor Priority
- createdBy
-
- Type: string
The creator, if created by AWS Trusted Advisor Priority
- description
-
- Required: Yes
- Type: string
A description for AWS Trusted Advisor recommendations
- id
-
- Required: Yes
- Type: string
The ID which identifies where the Recommendation was produced
- lastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was last updated
- lifecycleStage
-
- Type: string
The lifecycle stage from AWS Trusted Advisor Priority
- name
-
- Required: Yes
- Type: string
The name of the AWS Trusted Advisor Recommendation
- pillarSpecificAggregates
-
- Type: RecommendationPillarSpecificAggregates structure
The pillar aggregations for cost savings
- pillars
-
- Required: Yes
- Type: Array of strings
The Pillars that the Recommendation is optimizing
- resolvedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was resolved
- resourcesAggregates
-
- Required: Yes
- Type: RecommendationResourcesAggregates structure
An aggregation of all resources
- source
-
- Required: Yes
- Type: string
The source of the Recommendation
- status
-
- Required: Yes
- Type: string
The status of the Recommendation
- type
-
- Required: Yes
- Type: string
Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority
- updateReason
-
- Type: string
Reason for the lifecycle stage change
- updateReasonCode
-
- Type: string
Reason code for the lifecycle state change
- updatedOnBehalfOf
-
- Type: string
The person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority
- updatedOnBehalfOfJobTitle
-
- Type: string
The job title of the person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority
OrganizationRecommendationResourceSummary
Description
Organization Recommendation Resource Summary
Members
- accountId
-
- Type: string
The AWS account ID
- arn
-
- Required: Yes
- Type: string
The ARN of the Recommendation Resource
- awsResourceId
-
- Required: Yes
- Type: string
The AWS resource identifier. There are certain checks that generate recommendation resources without an awsResourceId.
- exclusionStatus
-
- Type: string
The exclusion status of the Recommendation Resource
- id
-
- Required: Yes
- Type: string
The ID of the Recommendation Resource
- lastUpdatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation Resource was last updated
- metadata
-
- Required: Yes
- Type: Associative array of custom strings keys (String) to strings
Metadata associated with the Recommendation Resource
- recommendationArn
-
- Required: Yes
- Type: string
The Recommendation ARN
- regionCode
-
- Required: Yes
- Type: string
The AWS Region code that the Recommendation Resource is in
- status
-
- Required: Yes
- Type: string
The current status of the Recommendation Resource
OrganizationRecommendationSummary
Description
Summary of recommendation for accounts within an Organization
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the Recommendation
- awsServices
-
- Type: Array of strings
The AWS Services that the Recommendation applies to
- checkArn
-
- Type: string
The AWS Trusted Advisor Check ARN that relates to the Recommendation
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was created, if created by AWS Trusted Advisor Priority
- id
-
- Required: Yes
- Type: string
The ID which identifies where the Recommendation was produced
- lastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was last updated
- lifecycleStage
-
- Type: string
The lifecycle stage from AWS Trusted Advisor Priority
- name
-
- Required: Yes
- Type: string
The name of the AWS Trusted Advisor Recommendation
- pillarSpecificAggregates
-
- Type: RecommendationPillarSpecificAggregates structure
The pillar aggregations for cost savings
- pillars
-
- Required: Yes
- Type: Array of strings
The Pillars that the Recommendation is optimizing
- resourcesAggregates
-
- Required: Yes
- Type: RecommendationResourcesAggregates structure
An aggregation of all resources
- source
-
- Required: Yes
- Type: string
The source of the Recommendation
- status
-
- Required: Yes
- Type: string
The status of the Recommendation
- type
-
- Required: Yes
- Type: string
Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority
Recommendation
Description
A Recommendation for an Account
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the Recommendation
- awsServices
-
- Type: Array of strings
The AWS Services that the Recommendation applies to
- checkArn
-
- Type: string
The AWS Trusted Advisor Check ARN that relates to the Recommendation
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was created, if created by AWS Trusted Advisor Priority
- createdBy
-
- Type: string
The creator, if created by AWS Trusted Advisor Priority
- description
-
- Required: Yes
- Type: string
A description for AWS Trusted Advisor recommendations
- id
-
- Required: Yes
- Type: string
The ID which identifies where the Recommendation was produced
- lastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was last updated
- lifecycleStage
-
- Type: string
The lifecycle stage from AWS Trusted Advisor Priority
- name
-
- Required: Yes
- Type: string
The name of the AWS Trusted Advisor Recommendation
- pillarSpecificAggregates
-
- Type: RecommendationPillarSpecificAggregates structure
The pillar aggregations for cost savings
- pillars
-
- Required: Yes
- Type: Array of strings
The Pillars that the Recommendation is optimizing
- resolvedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was resolved
- resourcesAggregates
-
- Required: Yes
- Type: RecommendationResourcesAggregates structure
An aggregation of all resources
- source
-
- Required: Yes
- Type: string
The source of the Recommendation
- status
-
- Required: Yes
- Type: string
The status of the Recommendation
- statusReason
-
- Type: string
This attribute provides additional details about potential discrepancies in check status determination.
- type
-
- Required: Yes
- Type: string
Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority
- updateReason
-
- Type: string
Reason for the lifecycle stage change
- updateReasonCode
-
- Type: string
Reason code for the lifecycle state change
- updatedOnBehalfOf
-
- Type: string
The person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority
- updatedOnBehalfOfJobTitle
-
- Type: string
The job title of the person on whose behalf a Technical Account Manager (TAM) updated the recommendation. This information is only available when a Technical Account Manager takes an action on a recommendation managed by AWS Trusted Advisor Priority
RecommendationCostOptimizingAggregates
Description
Cost optimizing aggregates for a Recommendation
Members
- estimatedMonthlySavings
-
- Required: Yes
- Type: double
The estimated monthly savings
- estimatedPercentMonthlySavings
-
- Required: Yes
- Type: double
The estimated percently monthly savings
RecommendationPillarSpecificAggregates
Description
Recommendation pillar aggregates
Members
- costOptimizing
-
- Type: RecommendationCostOptimizingAggregates structure
Cost optimizing aggregates
RecommendationResourceExclusion
Description
The request entry for Recommendation Resource exclusion. Each entry is a combination of Recommendation Resource ARN and corresponding exclusion status
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the Recommendation Resource
- isExcluded
-
- Required: Yes
- Type: boolean
The exclusion status
RecommendationResourceSummary
Description
Summary of a Recommendation Resource
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the Recommendation Resource
- awsResourceId
-
- Required: Yes
- Type: string
The AWS resource identifier. There are certain checks that generate recommendation resources without an awsResourceId.
- exclusionStatus
-
- Type: string
The exclusion status of the Recommendation Resource
- id
-
- Required: Yes
- Type: string
The ID of the Recommendation Resource
- lastUpdatedAt
-
- Required: Yes
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation Resource was last updated
- metadata
-
- Required: Yes
- Type: Associative array of custom strings keys (String) to strings
Metadata associated with the Recommendation Resource
- recommendationArn
-
- Required: Yes
- Type: string
The Recommendation ARN
- regionCode
-
- Required: Yes
- Type: string
The AWS Region code that the Recommendation Resource is in
- status
-
- Required: Yes
- Type: string
The current status of the Recommendation Resource
RecommendationResourcesAggregates
Description
Aggregation of Recommendation Resources
Members
- errorCount
-
- Required: Yes
- Type: long (int|float)
The number of AWS resources that were flagged to have errors according to the Trusted Advisor check
- excludedCount
-
- Type: long (int|float)
The number of AWS resources belonging to this Trusted Advisor check that were excluded by the customer
- okCount
-
- Required: Yes
- Type: long (int|float)
The number of AWS resources that were flagged to be OK according to the Trusted Advisor check
- warningCount
-
- Required: Yes
- Type: long (int|float)
The number of AWS resources that were flagged to have warning according to the Trusted Advisor check
RecommendationSummary
Description
Summary of Recommendation for an Account
Members
- arn
-
- Required: Yes
- Type: string
The ARN of the Recommendation
- awsServices
-
- Type: Array of strings
The AWS Services that the Recommendation applies to
- checkArn
-
- Type: string
The AWS Trusted Advisor Check ARN that relates to the Recommendation
- createdAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was created, if created by AWS Trusted Advisor Priority
- id
-
- Required: Yes
- Type: string
The ID which identifies where the Recommendation was produced
- lastUpdatedAt
-
- Type: timestamp (string|DateTime or anything parsable by strtotime)
When the Recommendation was last updated
- lifecycleStage
-
- Type: string
The lifecycle stage from AWS Trusted Advisor Priority
- name
-
- Required: Yes
- Type: string
The name of the AWS Trusted Advisor Recommendation
- pillarSpecificAggregates
-
- Type: RecommendationPillarSpecificAggregates structure
The pillar aggregations for cost savings
- pillars
-
- Required: Yes
- Type: Array of strings
The Pillars that the Recommendation is optimizing
- resourcesAggregates
-
- Required: Yes
- Type: RecommendationResourcesAggregates structure
An aggregation of all resources
- source
-
- Required: Yes
- Type: string
The source of the Recommendation
- status
-
- Required: Yes
- Type: string
The status of the Recommendation
- statusReason
-
- Type: string
This attribute provides additional details about potential discrepancies in check status determination.
- type
-
- Required: Yes
- Type: string
Whether the Recommendation was automated or generated by AWS Trusted Advisor Priority
ResourceNotFoundException
Description
Exception that the requested resource has not been found
Members
- message
-
- Required: Yes
- Type: string
ThrottlingException
Description
Exception to notify that requests are being throttled
Members
- message
-
- Required: Yes
- Type: string
UpdateRecommendationResourceExclusionError
Description
The error entry for Recommendation Resource exclusion. Each entry is a combination of Recommendation Resource ARN, error code and error message
Members
- arn
-
- Type: string
The ARN of the Recommendation Resource
- errorCode
-
- Type: string
The error code
- errorMessage
-
- Type: string
The error message
ValidationException
Description
Exception that the request failed to satisfy service constraints
Members
- message
-
- Required: Yes
- Type: string