2023/12/19 - Amazon Relational Database Service - 2 new api methods
Changes RDS - The release adds two new APIs: DescribeDBRecommendations and ModifyDBRecommendation
Describes the recommendations to resolve the issues for your DB instances, DB clusters, and DB parameter groups.
See also: AWS API Documentation
Request Syntax
client.describe_db_recommendations( LastUpdatedAfter=datetime(2015, 1, 1), LastUpdatedBefore=datetime(2015, 1, 1), Locale='string', Filters=[ { 'Name': 'string', 'Values': [ 'string', ] }, ], MaxRecords=123, Marker='string' )
datetime
A filter to include only the recommendations that were updated after this specified time.
datetime
A filter to include only the recommendations that were updated before this specified time.
string
The language that you choose to return the list of recommendations.
Valid values:
en
en_UK
de
es
fr
id
it
ja
ko
pt_BR
zh_TW
zh_CN
list
A filter that specifies one or more recommendations to describe.
Supported Filters:
recommendation-id - Accepts a list of recommendation identifiers. The results list only includes the recommendations whose identifier is one of the specified filter values.
status - Accepts a list of recommendation statuses. Valid values:
active - The recommendations which are ready for you to apply.
pending - The applied or scheduled recommendations which are in progress.
resolved - The recommendations which are completed.
dismissed - The recommendations that you dismissed.
The results list only includes the recommendations whose status is one of the specified filter values.
severity - Accepts a list of recommendation severities. The results list only includes the recommendations whose severity is one of the specified filter values. Valid values:
high
medium
low
informational
type-id - Accepts a list of recommendation type identifiers. The results list only includes the recommendations whose type is one of the specified filter values.
dbi-resource-id - Accepts a list of database resource identifiers. The results list only includes the recommendations that generated for the specified databases.
cluster-resource-id - Accepts a list of cluster resource identifiers. The results list only includes the recommendations that generated for the specified clusters.
pg-arn - Accepts a list of parameter group ARNs. The results list only includes the recommendations that generated for the specified parameter groups.
cluster-pg-arn - Accepts a list of cluster parameter group ARNs. The results list only includes the recommendations that generated for the specified cluster parameter groups.
(dict) --
A filter name and value pair that is used to return a more specific list of results from a describe operation. Filters can be used to match a set of resources by specific criteria, such as IDs. The filters supported by a describe operation are documented with the describe operation.
The following actions can be filtered:
DescribeDBClusterBacktracks
DescribeDBClusterEndpoints
DescribeDBClusters
DescribeDBInstances
DescribeDBRecommendations
DescribePendingMaintenanceActions
Name (string) -- [REQUIRED]
The name of the filter. Filter names are case-sensitive.
Values (list) -- [REQUIRED]
One or more filter values. Filter values are case-sensitive.
(string) --
integer
The maximum number of recommendations to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that you can retrieve the remaining results.
string
An optional pagination token provided by a previous DescribeDBRecommendations request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.
dict
Response Syntax
{ 'DBRecommendations': [ { 'RecommendationId': 'string', 'TypeId': 'string', 'Severity': 'string', 'ResourceArn': 'string', 'Status': 'string', 'CreatedTime': datetime(2015, 1, 1), 'UpdatedTime': datetime(2015, 1, 1), 'Detection': 'string', 'Recommendation': 'string', 'Description': 'string', 'Reason': 'string', 'RecommendedActions': [ { 'ActionId': 'string', 'Title': 'string', 'Description': 'string', 'Operation': 'string', 'Parameters': [ { 'Key': 'string', 'Value': 'string' }, ], 'ApplyModes': [ 'string', ], 'Status': 'string', 'IssueDetails': { 'PerformanceIssueDetails': { 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Metrics': [ { 'Name': 'string', 'References': [ { 'Name': 'string', 'ReferenceDetails': { 'ScalarReferenceDetails': { 'Value': 123.0 } } }, ], 'StatisticsDetails': 'string', 'MetricQuery': { 'PerformanceInsightsMetricQuery': { 'GroupBy': { 'Dimensions': [ 'string', ], 'Group': 'string', 'Limit': 123 }, 'Metric': 'string' } } }, ], 'Analysis': 'string' } }, 'ContextAttributes': [ { 'Key': 'string', 'Value': 'string' }, ] }, ], 'Category': 'string', 'Source': 'string', 'TypeDetection': 'string', 'TypeRecommendation': 'string', 'Impact': 'string', 'AdditionalInfo': 'string', 'Links': [ { 'Text': 'string', 'Url': 'string' }, ], 'IssueDetails': { 'PerformanceIssueDetails': { 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Metrics': [ { 'Name': 'string', 'References': [ { 'Name': 'string', 'ReferenceDetails': { 'ScalarReferenceDetails': { 'Value': 123.0 } } }, ], 'StatisticsDetails': 'string', 'MetricQuery': { 'PerformanceInsightsMetricQuery': { 'GroupBy': { 'Dimensions': [ 'string', ], 'Group': 'string', 'Limit': 123 }, 'Metric': 'string' } } }, ], 'Analysis': 'string' } } }, ], 'Marker': 'string' }
Response Structure
(dict) --
DBRecommendations (list) --
A list of recommendations which is returned from DescribeDBRecommendations API request.
(dict) --
The recommendation for your DB instances, DB clusters, and DB parameter groups.
RecommendationId (string) --
The unique identifier of the recommendation.
TypeId (string) --
A value that indicates the type of recommendation. This value determines how the description is rendered.
Severity (string) --
The severity level of the recommendation. The severity level can help you decide the urgency with which to address the recommendation.
Valid values:
high
medium
low
informational
ResourceArn (string) --
The Amazon Resource Name (ARN) of the RDS resource associated with the recommendation.
Status (string) --
The current status of the recommendation.
Valid values:
active - The recommendations which are ready for you to apply.
pending - The applied or scheduled recommendations which are in progress.
resolved - The recommendations which are completed.
dismissed - The recommendations that you dismissed.
CreatedTime (datetime) --
The time when the recommendation was created. For example, 2023-09-28T01:13:53.931000+00:00.
UpdatedTime (datetime) --
The time when the recommendation was last updated.
Detection (string) --
A short description of the issue identified for this recommendation. The description might contain markdown.
Recommendation (string) --
A short description of the recommendation to resolve an issue. The description might contain markdown.
Description (string) --
A detailed description of the recommendation. The description might contain markdown.
Reason (string) --
The reason why this recommendation was created. The information might contain markdown.
RecommendedActions (list) --
A list of recommended actions.
(dict) --
The recommended actions to apply to resolve the issues associated with your DB instances, DB clusters, and DB parameter groups.
ActionId (string) --
The unique identifier of the recommended action.
Title (string) --
A short description to summarize the action. The description might contain markdown.
Description (string) --
A detailed description of the action. The description might contain markdown.
Operation (string) --
An API operation for the action.
Parameters (list) --
The parameters for the API operation.
(dict) --
A single parameter to use with the RecommendedAction API operation to apply the action.
Key (string) --
The key of the parameter to use with the RecommendedAction API operation.
Value (string) --
The value of the parameter to use with the RecommendedAction API operation.
ApplyModes (list) --
The methods to apply the recommended action.
Valid values:
manual - The action requires you to resolve the recommendation manually.
immediately - The action is applied immediately.
next-maintainance-window - The action is applied during the next scheduled maintainance.
(string) --
Status (string) --
The status of the action.
ready
applied
scheduled
resolved
IssueDetails (dict) --
The details of the issue.
PerformanceIssueDetails (dict) --
A detailed description of the issue when the recommendation category is performance.
StartTime (datetime) --
The time when the performance issue started.
EndTime (datetime) --
The time when the performance issue stopped.
Metrics (list) --
The metrics that are relevant to the performance issue.
(dict) --
The representation of a metric.
Name (string) --
The name of a metric.
References (list) --
A list of metric references (thresholds).
(dict) --
The reference (threshold) for a metric.
Name (string) --
The name of the metric reference.
ReferenceDetails (dict) --
The details of a performance issue.
ScalarReferenceDetails (dict) --
The metric reference details when the reference is a scalar.
Value (float) --
The value of a scalar reference.
StatisticsDetails (string) --
The details of different statistics for a metric. The description might contain markdown.
MetricQuery (dict) --
The query to retrieve metric data points.
PerformanceInsightsMetricQuery (dict) --
The Performance Insights query that you can use to retrieve Performance Insights metric data points.
GroupBy (dict) --
A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.
Dimensions (list) --
A list of specific dimensions from a dimension group. If this list isn't included, then all of the dimensions in the group were requested, or are present in the response.
(string) --
Group (string) --
The available dimension groups for Performance Insights metric type.
Limit (integer) --
The maximum number of items to fetch for this dimension group.
Metric (string) --
The name of a Performance Insights metric to be measured.
Valid Values:
db.load.avg - A scaled representation of the number of active sessions for the database engine.
db.sampledload.avg - The raw number of active sessions for the database engine.
The counter metrics listed in Performance Insights operating system counters in the Amazon Aurora User Guide.
If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.
Analysis (string) --
The analysis of the performance issue. The information might contain markdown.
ContextAttributes (list) --
The supporting attributes to explain the recommended action.
(dict) --
The additional attributes of RecommendedAction data type.
Key (string) --
The key of ContextAttribute.
Value (string) --
The value of ContextAttribute.
Category (string) --
The category of the recommendation.
Valid values:
performance efficiency
security
reliability
cost optimization
operational excellence
sustainability
Source (string) --
The Amazon Web Services service that generated the recommendations.
TypeDetection (string) --
A short description of the recommendation type. The description might contain markdown.
TypeRecommendation (string) --
A short description that summarizes the recommendation to fix all the issues of the recommendation type. The description might contain markdown.
Impact (string) --
A short description that explains the possible impact of an issue.
AdditionalInfo (string) --
Additional information about the recommendation. The information might contain markdown.
Links (list) --
A link to documentation that provides additional information about the recommendation.
(dict) --
A link to documentation that provides additional information for a recommendation.
Text (string) --
The text with the link to documentation for the recommendation.
Url (string) --
The URL for the documentation for the recommendation.
IssueDetails (dict) --
Details of the issue that caused the recommendation.
PerformanceIssueDetails (dict) --
A detailed description of the issue when the recommendation category is performance.
StartTime (datetime) --
The time when the performance issue started.
EndTime (datetime) --
The time when the performance issue stopped.
Metrics (list) --
The metrics that are relevant to the performance issue.
(dict) --
The representation of a metric.
Name (string) --
The name of a metric.
References (list) --
A list of metric references (thresholds).
(dict) --
The reference (threshold) for a metric.
Name (string) --
The name of the metric reference.
ReferenceDetails (dict) --
The details of a performance issue.
ScalarReferenceDetails (dict) --
The metric reference details when the reference is a scalar.
Value (float) --
The value of a scalar reference.
StatisticsDetails (string) --
The details of different statistics for a metric. The description might contain markdown.
MetricQuery (dict) --
The query to retrieve metric data points.
PerformanceInsightsMetricQuery (dict) --
The Performance Insights query that you can use to retrieve Performance Insights metric data points.
GroupBy (dict) --
A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.
Dimensions (list) --
A list of specific dimensions from a dimension group. If this list isn't included, then all of the dimensions in the group were requested, or are present in the response.
(string) --
Group (string) --
The available dimension groups for Performance Insights metric type.
Limit (integer) --
The maximum number of items to fetch for this dimension group.
Metric (string) --
The name of a Performance Insights metric to be measured.
Valid Values:
db.load.avg - A scaled representation of the number of active sessions for the database engine.
db.sampledload.avg - The raw number of active sessions for the database engine.
The counter metrics listed in Performance Insights operating system counters in the Amazon Aurora User Guide.
If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.
Analysis (string) --
The analysis of the performance issue. The information might contain markdown.
Marker (string) --
An optional pagination token provided by a previous DBRecommendationsMessage request. This token can be used later in a DescribeDBRecomendations request.
Updates the recommendation status and recommended action status for the specified recommendation.
See also: AWS API Documentation
Request Syntax
client.modify_db_recommendation( RecommendationId='string', Locale='string', Status='string', RecommendedActionUpdates=[ { 'ActionId': 'string', 'Status': 'string' }, ] )
string
[REQUIRED]
The identifier of the recommendation to update.
string
The language of the modified recommendation.
string
The recommendation status to update.
Valid values:
active
dismissed
list
The list of recommended action status to update. You can update multiple recommended actions at one time.
(dict) --
The recommended status to update for the specified recommendation action ID.
ActionId (string) -- [REQUIRED]
A unique identifier of the updated recommendation action.
Status (string) -- [REQUIRED]
The status of the updated recommendation action.
applied
scheduled
dict
Response Syntax
{ 'DBRecommendation': { 'RecommendationId': 'string', 'TypeId': 'string', 'Severity': 'string', 'ResourceArn': 'string', 'Status': 'string', 'CreatedTime': datetime(2015, 1, 1), 'UpdatedTime': datetime(2015, 1, 1), 'Detection': 'string', 'Recommendation': 'string', 'Description': 'string', 'Reason': 'string', 'RecommendedActions': [ { 'ActionId': 'string', 'Title': 'string', 'Description': 'string', 'Operation': 'string', 'Parameters': [ { 'Key': 'string', 'Value': 'string' }, ], 'ApplyModes': [ 'string', ], 'Status': 'string', 'IssueDetails': { 'PerformanceIssueDetails': { 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Metrics': [ { 'Name': 'string', 'References': [ { 'Name': 'string', 'ReferenceDetails': { 'ScalarReferenceDetails': { 'Value': 123.0 } } }, ], 'StatisticsDetails': 'string', 'MetricQuery': { 'PerformanceInsightsMetricQuery': { 'GroupBy': { 'Dimensions': [ 'string', ], 'Group': 'string', 'Limit': 123 }, 'Metric': 'string' } } }, ], 'Analysis': 'string' } }, 'ContextAttributes': [ { 'Key': 'string', 'Value': 'string' }, ] }, ], 'Category': 'string', 'Source': 'string', 'TypeDetection': 'string', 'TypeRecommendation': 'string', 'Impact': 'string', 'AdditionalInfo': 'string', 'Links': [ { 'Text': 'string', 'Url': 'string' }, ], 'IssueDetails': { 'PerformanceIssueDetails': { 'StartTime': datetime(2015, 1, 1), 'EndTime': datetime(2015, 1, 1), 'Metrics': [ { 'Name': 'string', 'References': [ { 'Name': 'string', 'ReferenceDetails': { 'ScalarReferenceDetails': { 'Value': 123.0 } } }, ], 'StatisticsDetails': 'string', 'MetricQuery': { 'PerformanceInsightsMetricQuery': { 'GroupBy': { 'Dimensions': [ 'string', ], 'Group': 'string', 'Limit': 123 }, 'Metric': 'string' } } }, ], 'Analysis': 'string' } } } }
Response Structure
(dict) --
DBRecommendation (dict) --
The recommendation for your DB instances, DB clusters, and DB parameter groups.
RecommendationId (string) --
The unique identifier of the recommendation.
TypeId (string) --
A value that indicates the type of recommendation. This value determines how the description is rendered.
Severity (string) --
The severity level of the recommendation. The severity level can help you decide the urgency with which to address the recommendation.
Valid values:
high
medium
low
informational
ResourceArn (string) --
The Amazon Resource Name (ARN) of the RDS resource associated with the recommendation.
Status (string) --
The current status of the recommendation.
Valid values:
active - The recommendations which are ready for you to apply.
pending - The applied or scheduled recommendations which are in progress.
resolved - The recommendations which are completed.
dismissed - The recommendations that you dismissed.
CreatedTime (datetime) --
The time when the recommendation was created. For example, 2023-09-28T01:13:53.931000+00:00.
UpdatedTime (datetime) --
The time when the recommendation was last updated.
Detection (string) --
A short description of the issue identified for this recommendation. The description might contain markdown.
Recommendation (string) --
A short description of the recommendation to resolve an issue. The description might contain markdown.
Description (string) --
A detailed description of the recommendation. The description might contain markdown.
Reason (string) --
The reason why this recommendation was created. The information might contain markdown.
RecommendedActions (list) --
A list of recommended actions.
(dict) --
The recommended actions to apply to resolve the issues associated with your DB instances, DB clusters, and DB parameter groups.
ActionId (string) --
The unique identifier of the recommended action.
Title (string) --
A short description to summarize the action. The description might contain markdown.
Description (string) --
A detailed description of the action. The description might contain markdown.
Operation (string) --
An API operation for the action.
Parameters (list) --
The parameters for the API operation.
(dict) --
A single parameter to use with the RecommendedAction API operation to apply the action.
Key (string) --
The key of the parameter to use with the RecommendedAction API operation.
Value (string) --
The value of the parameter to use with the RecommendedAction API operation.
ApplyModes (list) --
The methods to apply the recommended action.
Valid values:
manual - The action requires you to resolve the recommendation manually.
immediately - The action is applied immediately.
next-maintainance-window - The action is applied during the next scheduled maintainance.
(string) --
Status (string) --
The status of the action.
ready
applied
scheduled
resolved
IssueDetails (dict) --
The details of the issue.
PerformanceIssueDetails (dict) --
A detailed description of the issue when the recommendation category is performance.
StartTime (datetime) --
The time when the performance issue started.
EndTime (datetime) --
The time when the performance issue stopped.
Metrics (list) --
The metrics that are relevant to the performance issue.
(dict) --
The representation of a metric.
Name (string) --
The name of a metric.
References (list) --
A list of metric references (thresholds).
(dict) --
The reference (threshold) for a metric.
Name (string) --
The name of the metric reference.
ReferenceDetails (dict) --
The details of a performance issue.
ScalarReferenceDetails (dict) --
The metric reference details when the reference is a scalar.
Value (float) --
The value of a scalar reference.
StatisticsDetails (string) --
The details of different statistics for a metric. The description might contain markdown.
MetricQuery (dict) --
The query to retrieve metric data points.
PerformanceInsightsMetricQuery (dict) --
The Performance Insights query that you can use to retrieve Performance Insights metric data points.
GroupBy (dict) --
A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.
Dimensions (list) --
A list of specific dimensions from a dimension group. If this list isn't included, then all of the dimensions in the group were requested, or are present in the response.
(string) --
Group (string) --
The available dimension groups for Performance Insights metric type.
Limit (integer) --
The maximum number of items to fetch for this dimension group.
Metric (string) --
The name of a Performance Insights metric to be measured.
Valid Values:
db.load.avg - A scaled representation of the number of active sessions for the database engine.
db.sampledload.avg - The raw number of active sessions for the database engine.
The counter metrics listed in Performance Insights operating system counters in the Amazon Aurora User Guide.
If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.
Analysis (string) --
The analysis of the performance issue. The information might contain markdown.
ContextAttributes (list) --
The supporting attributes to explain the recommended action.
(dict) --
The additional attributes of RecommendedAction data type.
Key (string) --
The key of ContextAttribute.
Value (string) --
The value of ContextAttribute.
Category (string) --
The category of the recommendation.
Valid values:
performance efficiency
security
reliability
cost optimization
operational excellence
sustainability
Source (string) --
The Amazon Web Services service that generated the recommendations.
TypeDetection (string) --
A short description of the recommendation type. The description might contain markdown.
TypeRecommendation (string) --
A short description that summarizes the recommendation to fix all the issues of the recommendation type. The description might contain markdown.
Impact (string) --
A short description that explains the possible impact of an issue.
AdditionalInfo (string) --
Additional information about the recommendation. The information might contain markdown.
Links (list) --
A link to documentation that provides additional information about the recommendation.
(dict) --
A link to documentation that provides additional information for a recommendation.
Text (string) --
The text with the link to documentation for the recommendation.
Url (string) --
The URL for the documentation for the recommendation.
IssueDetails (dict) --
Details of the issue that caused the recommendation.
PerformanceIssueDetails (dict) --
A detailed description of the issue when the recommendation category is performance.
StartTime (datetime) --
The time when the performance issue started.
EndTime (datetime) --
The time when the performance issue stopped.
Metrics (list) --
The metrics that are relevant to the performance issue.
(dict) --
The representation of a metric.
Name (string) --
The name of a metric.
References (list) --
A list of metric references (thresholds).
(dict) --
The reference (threshold) for a metric.
Name (string) --
The name of the metric reference.
ReferenceDetails (dict) --
The details of a performance issue.
ScalarReferenceDetails (dict) --
The metric reference details when the reference is a scalar.
Value (float) --
The value of a scalar reference.
StatisticsDetails (string) --
The details of different statistics for a metric. The description might contain markdown.
MetricQuery (dict) --
The query to retrieve metric data points.
PerformanceInsightsMetricQuery (dict) --
The Performance Insights query that you can use to retrieve Performance Insights metric data points.
GroupBy (dict) --
A specification for how to aggregate the data points from a query result. You must specify a valid dimension group. Performance Insights will return all of the dimensions within that group, unless you provide the names of specific dimensions within that group. You can also request that Performance Insights return a limited number of values for a dimension.
Dimensions (list) --
A list of specific dimensions from a dimension group. If this list isn't included, then all of the dimensions in the group were requested, or are present in the response.
(string) --
Group (string) --
The available dimension groups for Performance Insights metric type.
Limit (integer) --
The maximum number of items to fetch for this dimension group.
Metric (string) --
The name of a Performance Insights metric to be measured.
Valid Values:
db.load.avg - A scaled representation of the number of active sessions for the database engine.
db.sampledload.avg - The raw number of active sessions for the database engine.
The counter metrics listed in Performance Insights operating system counters in the Amazon Aurora User Guide.
If the number of active sessions is less than an internal Performance Insights threshold, db.load.avg and db.sampledload.avg are the same value. If the number of active sessions is greater than the internal threshold, Performance Insights samples the active sessions, with db.load.avg showing the scaled values, db.sampledload.avg showing the raw values, and db.sampledload.avg less than db.load.avg. For most use cases, you can query db.load.avg only.
Analysis (string) --
The analysis of the performance issue. The information might contain markdown.