
software.amazon.awssdk.services.pi.PiClient Maven / Gradle / Ivy
/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package software.amazon.awssdk.services.pi;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.SdkClient;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.regions.ServiceMetadata;
import software.amazon.awssdk.services.pi.model.DescribeDimensionKeysRequest;
import software.amazon.awssdk.services.pi.model.DescribeDimensionKeysResponse;
import software.amazon.awssdk.services.pi.model.GetResourceMetricsRequest;
import software.amazon.awssdk.services.pi.model.GetResourceMetricsResponse;
import software.amazon.awssdk.services.pi.model.InternalServiceErrorException;
import software.amazon.awssdk.services.pi.model.InvalidArgumentException;
import software.amazon.awssdk.services.pi.model.NotAuthorizedException;
import software.amazon.awssdk.services.pi.model.PiException;
/**
* Service client for accessing AWS PI. This can be created using the static {@link #builder()} method.
*
*
* AWS Performance Insights enables you to monitor and explore different dimensions of database load based on data
* captured from a running RDS instance. The guide provides detailed information about Performance Insights data types,
* parameters and errors. For more information about Performance Insights capabilities see Using Amazon RDS Performance
* Insights in the Amazon RDS User Guide.
*
*
* The AWS Performance Insights API provides visibility into the performance of your RDS instance, when Performance
* Insights is enabled for supported engine types. While Amazon CloudWatch provides the authoritative source for AWS
* service vended monitoring metrics, AWS Performance Insights offers a domain-specific view of database load measured
* as Average Active Sessions and provided to API consumers as a 2-dimensional time-series dataset. The time dimension
* of the data provides DB load data for each time point in the queried time range, and each time point decomposes
* overall load in relation to the requested dimensions, such as SQL, Wait-event, User or Host, measured at that time
* point.
*
*/
@Generated("software.amazon.awssdk:codegen")
public interface PiClient extends SdkClient {
String SERVICE_NAME = "pi";
/**
* Create a {@link PiClient} with the region loaded from the
* {@link software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain} and credentials loaded from the
* {@link software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider}.
*/
static PiClient create() {
return builder().build();
}
/**
* Create a builder that can be used to configure and create a {@link PiClient}.
*/
static PiClientBuilder builder() {
return new DefaultPiClientBuilder();
}
/**
*
* For a specific time period, retrieve the top N
dimension keys for a metric.
*
*
* @param describeDimensionKeysRequest
* @return Result of the DescribeDimensionKeys operation returned by the service.
* @throws InvalidArgumentException
* One of the arguments provided is invalid for this request.
* @throws InternalServiceErrorException
* The request failed due to an unknown error.
* @throws NotAuthorizedException
* The user is not authorized to perform this request.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws PiException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample PiClient.DescribeDimensionKeys
* @see AWS API
* Documentation
*/
default DescribeDimensionKeysResponse describeDimensionKeys(DescribeDimensionKeysRequest describeDimensionKeysRequest)
throws InvalidArgumentException, InternalServiceErrorException, NotAuthorizedException, AwsServiceException,
SdkClientException, PiException {
throw new UnsupportedOperationException();
}
/**
*
* For a specific time period, retrieve the top N
dimension keys for a metric.
*
*
*
* This is a convenience which creates an instance of the {@link DescribeDimensionKeysRequest.Builder} avoiding the
* need to create one manually via {@link DescribeDimensionKeysRequest#builder()}
*
*
* @param describeDimensionKeysRequest
* A {@link Consumer} that will call methods on {@link DescribeDimensionKeysRequest.Builder} to create a
* request.
* @return Result of the DescribeDimensionKeys operation returned by the service.
* @throws InvalidArgumentException
* One of the arguments provided is invalid for this request.
* @throws InternalServiceErrorException
* The request failed due to an unknown error.
* @throws NotAuthorizedException
* The user is not authorized to perform this request.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws PiException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample PiClient.DescribeDimensionKeys
* @see AWS API
* Documentation
*/
default DescribeDimensionKeysResponse describeDimensionKeys(
Consumer describeDimensionKeysRequest) throws InvalidArgumentException,
InternalServiceErrorException, NotAuthorizedException, AwsServiceException, SdkClientException, PiException {
return describeDimensionKeys(DescribeDimensionKeysRequest.builder().applyMutation(describeDimensionKeysRequest).build());
}
/**
*
* Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide specific
* dimension groups and dimensions, and provide aggregation and filtering criteria for each group.
*
*
* @param getResourceMetricsRequest
* @return Result of the GetResourceMetrics operation returned by the service.
* @throws InvalidArgumentException
* One of the arguments provided is invalid for this request.
* @throws InternalServiceErrorException
* The request failed due to an unknown error.
* @throws NotAuthorizedException
* The user is not authorized to perform this request.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws PiException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample PiClient.GetResourceMetrics
* @see AWS API
* Documentation
*/
default GetResourceMetricsResponse getResourceMetrics(GetResourceMetricsRequest getResourceMetricsRequest)
throws InvalidArgumentException, InternalServiceErrorException, NotAuthorizedException, AwsServiceException,
SdkClientException, PiException {
throw new UnsupportedOperationException();
}
/**
*
* Retrieve Performance Insights metrics for a set of data sources, over a time period. You can provide specific
* dimension groups and dimensions, and provide aggregation and filtering criteria for each group.
*
*
*
* This is a convenience which creates an instance of the {@link GetResourceMetricsRequest.Builder} avoiding the
* need to create one manually via {@link GetResourceMetricsRequest#builder()}
*
*
* @param getResourceMetricsRequest
* A {@link Consumer} that will call methods on {@link GetResourceMetricsRequest.Builder} to create a
* request.
* @return Result of the GetResourceMetrics operation returned by the service.
* @throws InvalidArgumentException
* One of the arguments provided is invalid for this request.
* @throws InternalServiceErrorException
* The request failed due to an unknown error.
* @throws NotAuthorizedException
* The user is not authorized to perform this request.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws PiException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample PiClient.GetResourceMetrics
* @see AWS API
* Documentation
*/
default GetResourceMetricsResponse getResourceMetrics(Consumer getResourceMetricsRequest)
throws InvalidArgumentException, InternalServiceErrorException, NotAuthorizedException, AwsServiceException,
SdkClientException, PiException {
return getResourceMetrics(GetResourceMetricsRequest.builder().applyMutation(getResourceMetricsRequest).build());
}
static ServiceMetadata serviceMetadata() {
return ServiceMetadata.of("pi");
}
}