Class: Aws::ApplicationSignals::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::ApplicationSignals::Client
- Includes:
- ClientStubs
- Defined in:
- lib/aws-sdk-applicationsignals/client.rb
Overview
An API client for ApplicationSignals. To construct a client, you need to configure a ‘:region` and `:credentials`.
client = Aws::ApplicationSignals::Client.new(
region: region_name,
credentials: credentials,
# ...
)
For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
See #initialize for a full list of supported configuration options.
Class Attribute Summary collapse
- .identifier ⇒ Object readonly private
API Operations collapse
-
#batch_get_service_level_objective_budget_report(params = {}) ⇒ Types::BatchGetServiceLevelObjectiveBudgetReportOutput
Use this operation to retrieve one or more *service level objective (SLO) budget reports*.
-
#batch_update_exclusion_windows(params = {}) ⇒ Types::BatchUpdateExclusionWindowsOutput
Add or remove time window exclusions for one or more Service Level Objectives (SLOs).
-
#create_service_level_objective(params = {}) ⇒ Types::CreateServiceLevelObjectiveOutput
Creates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations.
-
#delete_grouping_configuration(params = {}) ⇒ Struct
Deletes the grouping configuration for this account.
-
#delete_service_level_objective(params = {}) ⇒ Struct
Deletes the specified service level objective.
-
#get_service(params = {}) ⇒ Types::GetServiceOutput
Returns information about a service discovered by Application Signals.
-
#get_service_level_objective(params = {}) ⇒ Types::GetServiceLevelObjectiveOutput
Returns information about one SLO created in the account.
-
#list_audit_findings(params = {}) ⇒ Types::ListAuditFindingsOutput
Returns a list of audit findings that provide automated analysis of service behavior and root cause analysis.
-
#list_entity_events(params = {}) ⇒ Types::ListEntityEventsOutput
Returns a list of change events for a specific entity, such as deployments, configuration changes, or other state-changing activities.
-
#list_grouping_attribute_definitions(params = {}) ⇒ Types::ListGroupingAttributeDefinitionsOutput
Returns the current grouping configuration for this account, including all custom grouping attribute definitions that have been configured.
-
#list_service_dependencies(params = {}) ⇒ Types::ListServiceDependenciesOutput
Returns a list of service dependencies of the service that you specify.
-
#list_service_dependents(params = {}) ⇒ Types::ListServiceDependentsOutput
Returns the list of dependents that invoked the specified service during the provided time range.
-
#list_service_level_objective_exclusion_windows(params = {}) ⇒ Types::ListServiceLevelObjectiveExclusionWindowsOutput
Retrieves all exclusion windows configured for a specific SLO.
-
#list_service_level_objectives(params = {}) ⇒ Types::ListServiceLevelObjectivesOutput
Returns a list of SLOs created in this account.
-
#list_service_operations(params = {}) ⇒ Types::ListServiceOperationsOutput
Returns a list of the operations of this service that have been discovered by Application Signals.
-
#list_service_states(params = {}) ⇒ Types::ListServiceStatesOutput
Returns information about the last deployment and other change states of services.
-
#list_services(params = {}) ⇒ Types::ListServicesOutput
Returns a list of services that have been discovered by Application Signals.
-
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Displays the tags associated with a CloudWatch resource.
-
#put_grouping_configuration(params = {}) ⇒ Types::PutGroupingConfigurationOutput
Creates or updates the grouping configuration for this account.
-
#start_discovery(params = {}) ⇒ Struct
Enables this Amazon Web Services account to be able to use CloudWatch Application Signals by creating the AWSServiceRoleForCloudWatchApplicationSignals service-linked role.
-
#tag_resource(params = {}) ⇒ Struct
Assigns one or more tags (key-value pairs) to the specified CloudWatch resource, such as a service level objective.
-
#untag_resource(params = {}) ⇒ Struct
Removes one or more tags from the specified resource.
-
#update_service_level_objective(params = {}) ⇒ Types::UpdateServiceLevelObjectiveOutput
Updates an existing service level objective (SLO).
Class Method Summary collapse
- .errors_module ⇒ Object private
Instance Method Summary collapse
- #build_request(operation_name, params = {}) ⇒ Object private
-
#initialize(options) ⇒ Client
constructor
A new instance of Client.
- #waiter_names ⇒ Object deprecated private Deprecated.
Constructor Details
#initialize(options) ⇒ Client
Returns a new instance of Client.
471 472 473 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 471 def initialize(*args) super end |
Class Attribute Details
.identifier ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3114 3115 3116 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 3114 def identifier @identifier end |
Class Method Details
.errors_module ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3117 3118 3119 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 3117 def errors_module Errors end |
Instance Method Details
#batch_get_service_level_objective_budget_report(params = {}) ⇒ Types::BatchGetServiceLevelObjectiveBudgetReportOutput
Use this operation to retrieve one or more *service level objective (SLO) budget reports*.
An *error budget* is the amount of time or requests in an unhealthy state that your service can accumulate during an interval before your overall SLO budget health is breached and the SLO is considered to be unmet. For example, an SLO with a threshold of 99.95% and a monthly interval translates to an error budget of 21.9 minutes of downtime in a 30-day month.
Budget reports include a health indicator, the attainment value, and remaining budget.
For more information about SLO error budgets, see [ SLO concepts].
641 642 643 644 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 641 def batch_get_service_level_objective_budget_report(params = {}, = {}) req = build_request(:batch_get_service_level_objective_budget_report, params) req.send_request() end |
#batch_update_exclusion_windows(params = {}) ⇒ Types::BatchUpdateExclusionWindowsOutput
Add or remove time window exclusions for one or more Service Level Objectives (SLOs).
710 711 712 713 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 710 def batch_update_exclusion_windows(params = {}, = {}) req = build_request(:batch_update_exclusion_windows, params) req.send_request() end |
#build_request(operation_name, params = {}) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 3087 def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) tracer = config.telemetry_provider.tracer_provider.tracer( Aws::Telemetry.module_to_tracer_name('Aws::ApplicationSignals') ) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config, tracer: tracer ) context[:gem_name] = 'aws-sdk-applicationsignals' context[:gem_version] = '1.43.0' Seahorse::Client::Request.new(handlers, context) end |
#create_service_level_objective(params = {}) ⇒ Types::CreateServiceLevelObjectiveOutput
Creates a service level objective (SLO), which can help you ensure that your critical business operations are meeting customer expectations. Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.
Create an SLO to set a target for a service or operation’s availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.
The target performance quality that is defined for an SLO is the *attainment goal*.
You can set SLO targets for your applications that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.
<note markdown=“1”> You can’t create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
</note>
When you create an SLO, you specify whether it is a *period-based SLO* or a *request-based SLO*. Each type of SLO has a different way of evaluating your application’s performance against its attainment goal.
-
A *period-based SLO* uses defined periods of time within a specified total time interval. For each period of time, Application Signals determines whether the application met its goal. The attainment rate is calculated as the ‘number of good periods/number of total periods`.
For example, for a period-based SLO, meeting an attainment goal of 99.9% means that within your interval, your application must meet its performance goal during at least 99.9% of the time periods.
-
A *request-based SLO* doesn’t use pre-defined periods of time. Instead, the SLO measures ‘number of good requests/number of total requests` during the interval. At any time, you can find the ratio of good requests to total requests for the interval up to the time stamp that you specify, and measure that ratio against the goal set in your SLO.
After you have created an SLO, you can retrieve error budget reports for it. An *error budget* is the amount of time or amount of requests that your application can be non-compliant with the SLO’s goal, and still have your application meet the goal.
-
For a period-based SLO, the error budget starts at a number defined by the highest number of periods that can fail to meet the threshold, while still meeting the overall goal. The *remaining error budget* decreases with every failed period that is recorded. The error budget within one interval can never increase.
For example, an SLO with a threshold that 99.95% of requests must be completed under 2000ms every month translates to an error budget of 21.9 minutes of downtime per month.
-
For a request-based SLO, the remaining error budget is dynamic and can increase or decrease, depending on the ratio of good requests to total requests.
For more information about SLOs, see [ Service level objectives (SLOs)].
When you perform a ‘CreateServiceLevelObjective` operation, Application Signals creates the AWSServiceRoleForCloudWatchApplicationSignals service-linked role, if it doesn’t already exist in your account. This service- linked role has the following permissions:
-
‘xray:GetServiceGraph`
-
‘logs:StartQuery`
-
‘logs:GetQueryResults`
-
‘cloudwatch:GetMetricData`
-
‘cloudwatch:ListMetrics`
-
‘tag:GetResources`
-
‘autoscaling:DescribeAutoScalingGroups`
[1]: docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-ServiceLevelObjectives.html
1195 1196 1197 1198 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1195 def create_service_level_objective(params = {}, = {}) req = build_request(:create_service_level_objective, params) req.send_request() end |
#delete_grouping_configuration(params = {}) ⇒ Struct
Deletes the grouping configuration for this account. This removes all custom grouping attribute definitions that were previously configured.
1209 1210 1211 1212 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1209 def delete_grouping_configuration(params = {}, = {}) req = build_request(:delete_grouping_configuration, params) req.send_request() end |
#delete_service_level_objective(params = {}) ⇒ Struct
Deletes the specified service level objective.
1231 1232 1233 1234 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1231 def delete_service_level_objective(params = {}, = {}) req = build_request(:delete_service_level_objective, params) req.send_request() end |
#get_service(params = {}) ⇒ Types::GetServiceOutput
Returns information about a service discovered by Application Signals.
1326 1327 1328 1329 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1326 def get_service(params = {}, = {}) req = build_request(:get_service, params) req.send_request() end |
#get_service_level_objective(params = {}) ⇒ Types::GetServiceLevelObjectiveOutput
Returns information about one SLO created in the account.
1470 1471 1472 1473 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1470 def get_service_level_objective(params = {}, = {}) req = build_request(:get_service_level_objective, params) req.send_request() end |
#list_audit_findings(params = {}) ⇒ Types::ListAuditFindingsOutput
Returns a list of audit findings that provide automated analysis of service behavior and root cause analysis. These findings help identify the most significant observations about your services, including performance issues, anomalies, and potential problems. The findings are generated using heuristic algorithms based on established troubleshooting patterns.
1658 1659 1660 1661 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1658 def list_audit_findings(params = {}, = {}) req = build_request(:list_audit_findings, params) req.send_request() end |
#list_entity_events(params = {}) ⇒ Types::ListEntityEventsOutput
Returns a list of change events for a specific entity, such as deployments, configuration changes, or other state-changing activities. This operation helps track the history of changes that may have affected service performance.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1763 1764 1765 1766 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1763 def list_entity_events(params = {}, = {}) req = build_request(:list_entity_events, params) req.send_request() end |
#list_grouping_attribute_definitions(params = {}) ⇒ Types::ListGroupingAttributeDefinitionsOutput
Returns the current grouping configuration for this account, including all custom grouping attribute definitions that have been configured. These definitions determine how services are logically grouped based on telemetry attributes, Amazon Web Services tags, or predefined mappings.
1816 1817 1818 1819 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1816 def list_grouping_attribute_definitions(params = {}, = {}) req = build_request(:list_grouping_attribute_definitions, params) req.send_request() end |
#list_service_dependencies(params = {}) ⇒ Types::ListServiceDependenciesOutput
Returns a list of service dependencies of the service that you specify. A dependency is an infrastructure component that an operation of this service connects with. Dependencies can include Amazon Web Services services, Amazon Web Services resources, and third-party services.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
1917 1918 1919 1920 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 1917 def list_service_dependencies(params = {}, = {}) req = build_request(:list_service_dependencies, params) req.send_request() end |
#list_service_dependents(params = {}) ⇒ Types::ListServiceDependentsOutput
Returns the list of dependents that invoked the specified service during the provided time range. Dependents include other services, CloudWatch Synthetics canaries, and clients that are instrumented with CloudWatch RUM app monitors.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2017 2018 2019 2020 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2017 def list_service_dependents(params = {}, = {}) req = build_request(:list_service_dependents, params) req.send_request() end |
#list_service_level_objective_exclusion_windows(params = {}) ⇒ Types::ListServiceLevelObjectiveExclusionWindowsOutput
Retrieves all exclusion windows configured for a specific SLO.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2064 2065 2066 2067 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2064 def list_service_level_objective_exclusion_windows(params = {}, = {}) req = build_request(:list_service_level_objective_exclusion_windows, params) req.send_request() end |
#list_service_level_objectives(params = {}) ⇒ Types::ListServiceLevelObjectivesOutput
Returns a list of SLOs created in this account.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2204 2205 2206 2207 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2204 def list_service_level_objectives(params = {}, = {}) req = build_request(:list_service_level_objectives, params) req.send_request() end |
#list_service_operations(params = {}) ⇒ Types::ListServiceOperationsOutput
Returns a list of the operations of this service that have been discovered by Application Signals. Only the operations that were invoked during the specified time range are returned.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2300 2301 2302 2303 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2300 def list_service_operations(params = {}, = {}) req = build_request(:list_service_operations, params) req.send_request() end |
#list_service_states(params = {}) ⇒ Types::ListServiceStatesOutput
Returns information about the last deployment and other change states of services. This API provides visibility into recent changes that may have affected service performance, helping with troubleshooting and change correlation.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2394 2395 2396 2397 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2394 def list_service_states(params = {}, = {}) req = build_request(:list_service_states, params) req.send_request() end |
#list_services(params = {}) ⇒ Types::ListServicesOutput
Returns a list of services that have been discovered by Application Signals. A service represents a minimum logical and transactional unit that completes a business function. Services are discovered through Application Signals instrumentation.
The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.
2482 2483 2484 2485 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2482 def list_services(params = {}, = {}) req = build_request(:list_services, params) req.send_request() end |
#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse
Displays the tags associated with a CloudWatch resource. Tags can be assigned to service level objectives.
2524 2525 2526 2527 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2524 def (params = {}, = {}) req = build_request(:list_tags_for_resource, params) req.send_request() end |
#put_grouping_configuration(params = {}) ⇒ Types::PutGroupingConfigurationOutput
Creates or updates the grouping configuration for this account. This operation allows you to define custom grouping attributes that determine how services are logically grouped based on telemetry attributes, Amazon Web Services tags, or predefined mappings. These grouping attributes can then be used to organize and filter services in the Application Signals console and APIs.
2570 2571 2572 2573 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2570 def put_grouping_configuration(params = {}, = {}) req = build_request(:put_grouping_configuration, params) req.send_request() end |
#start_discovery(params = {}) ⇒ Struct
Enables this Amazon Web Services account to be able to use CloudWatch Application Signals by creating the AWSServiceRoleForCloudWatchApplicationSignals service-linked role. This service- linked role has the following permissions:
-
‘xray:GetServiceGraph`
-
‘logs:StartQuery`
-
‘logs:GetQueryResults`
-
‘cloudwatch:GetMetricData`
-
‘cloudwatch:ListMetrics`
-
‘tag:GetResources`
-
‘autoscaling:DescribeAutoScalingGroups`
A service-linked CloudTrail event channel is created to process CloudTrail events and return change event information. This includes last deployment time, userName, eventName, and other event metadata.
After completing this step, you still need to instrument your Java and Python applications to send data to Application Signals. For more information, see [ Enabling Application Signals].
[1]: docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Signals-Enable.html
2612 2613 2614 2615 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2612 def start_discovery(params = {}, = {}) req = build_request(:start_discovery, params) req.send_request() end |
#tag_resource(params = {}) ⇒ Struct
Assigns one or more tags (key-value pairs) to the specified CloudWatch resource, such as a service level objective.
Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
Tags don’t have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.
You can use the ‘TagResource` action with an alarm that already has tags. If you specify a new tag key for the alarm, this tag is appended to the list of tags associated with the alarm. If you specify a tag key that is already associated with the alarm, the new tag value that you specify replaces the previous value for that tag.
You can associate as many as 50 tags with a CloudWatch resource.
2670 2671 2672 2673 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2670 def tag_resource(params = {}, = {}) req = build_request(:tag_resource, params) req.send_request() end |
#untag_resource(params = {}) ⇒ Struct
Removes one or more tags from the specified resource.
2707 2708 2709 2710 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 2707 def untag_resource(params = {}, = {}) req = build_request(:untag_resource, params) req.send_request() end |
#update_service_level_objective(params = {}) ⇒ Types::UpdateServiceLevelObjectiveOutput
Updates an existing service level objective (SLO). If you omit parameters, the previous values of those parameters are retained.
You cannot change from a period-based SLO to a request-based SLO, or change from a request-based SLO to a period-based SLO.
3078 3079 3080 3081 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 3078 def update_service_level_objective(params = {}, = {}) req = build_request(:update_service_level_objective, params) req.send_request() end |
#waiter_names ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
3107 3108 3109 |
# File 'lib/aws-sdk-applicationsignals/client.rb', line 3107 def waiter_names [] end |