/*
* 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.
*/
/*
* Do not modify this file. This file is generated from the ce-2017-10-25.normal.json service model.
*/
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.CostExplorer.Model;
using Amazon.CostExplorer.Model.Internal.MarshallTransformations;
using Amazon.CostExplorer.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.CostExplorer
{
///
/// Implementation for accessing CostExplorer
///
/// You can use the Cost Explorer API to programmatically query your cost and usage data.
/// You can query for aggregated data such as total monthly costs or total daily usage.
/// You can also query for granular data. This might include the number of daily write
/// operations for Amazon DynamoDB database tables in your production environment.
///
///
///
/// Service Endpoint
///
///
///
/// The Cost Explorer API provides the following endpoint:
///
/// -
///
///
https://ce.us-east-1.amazonaws.com
///
///
///
/// For information about the costs that are associated with the Cost Explorer API, see
/// Amazon Web Services Cost
/// Management Pricing.
///
///
public partial class AmazonCostExplorerClient : AmazonServiceClient, IAmazonCostExplorer
{
private static IServiceMetadata serviceMetadata = new AmazonCostExplorerMetadata();
#region Constructors
///
/// Constructs AmazonCostExplorerClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonCostExplorerClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonCostExplorerConfig()) { }
///
/// Constructs AmazonCostExplorerClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonCostExplorerClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonCostExplorerConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonCostExplorerClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonCostExplorerClient Configuration Object
public AmazonCostExplorerClient(AmazonCostExplorerConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonCostExplorerClient with AWS Credentials
///
/// AWS Credentials
public AmazonCostExplorerClient(AWSCredentials credentials)
: this(credentials, new AmazonCostExplorerConfig())
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonCostExplorerClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonCostExplorerConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Credentials and an
/// AmazonCostExplorerClient Configuration object.
///
/// AWS Credentials
/// The AmazonCostExplorerClient Configuration Object
public AmazonCostExplorerClient(AWSCredentials credentials, AmazonCostExplorerConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonCostExplorerClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonCostExplorerConfig())
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonCostExplorerClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonCostExplorerConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonCostExplorerClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonCostExplorerClient Configuration Object
public AmazonCostExplorerClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonCostExplorerConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonCostExplorerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonCostExplorerConfig())
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonCostExplorerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonCostExplorerConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonCostExplorerClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonCostExplorerClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonCostExplorerClient Configuration Object
public AmazonCostExplorerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonCostExplorerConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#if AWS_ASYNC_ENUMERABLES_API
private ICostExplorerPaginatorFactory _paginators;
///
/// Paginators for the service
///
public ICostExplorerPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new CostExplorerPaginatorFactory(this);
}
return this._paginators;
}
}
#endif
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customizes the runtime pipeline.
///
/// Runtime pipeline for the current client.
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonCostExplorerEndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region CreateAnomalyMonitor
internal virtual CreateAnomalyMonitorResponse CreateAnomalyMonitor(CreateAnomalyMonitorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAnomalyMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAnomalyMonitorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates a new cost anomaly detection monitor with the requested type and monitor specification.
///
/// Container for the necessary parameters to execute the CreateAnomalyMonitor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAnomalyMonitor service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for CreateAnomalyMonitor Operation
public virtual Task CreateAnomalyMonitorAsync(CreateAnomalyMonitorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAnomalyMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAnomalyMonitorResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateAnomalySubscription
internal virtual CreateAnomalySubscriptionResponse CreateAnomalySubscription(CreateAnomalySubscriptionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAnomalySubscriptionRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAnomalySubscriptionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Adds an alert subscription to a cost anomaly detection monitor. You can use each subscription
/// to define subscribers with email or SNS notifications. Email subscribers can set an
/// absolute or percentage threshold and a time frequency for receiving notifications.
///
/// Container for the necessary parameters to execute the CreateAnomalySubscription service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAnomalySubscription service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The cost anomaly monitor does not exist for the account.
///
/// REST API Reference for CreateAnomalySubscription Operation
public virtual Task CreateAnomalySubscriptionAsync(CreateAnomalySubscriptionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAnomalySubscriptionRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAnomalySubscriptionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateCostCategoryDefinition
internal virtual CreateCostCategoryDefinitionResponse CreateCostCategoryDefinition(CreateCostCategoryDefinitionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateCostCategoryDefinitionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates a new Cost Category with the requested name and rules.
///
/// Container for the necessary parameters to execute the CreateCostCategoryDefinition service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateCostCategoryDefinition service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// You've reached the limit on the number of resources you can create, or exceeded the
/// size of an individual resource.
///
/// REST API Reference for CreateCostCategoryDefinition Operation
public virtual Task CreateCostCategoryDefinitionAsync(CreateCostCategoryDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateCostCategoryDefinitionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteAnomalyMonitor
internal virtual DeleteAnomalyMonitorResponse DeleteAnomalyMonitor(DeleteAnomalyMonitorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAnomalyMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAnomalyMonitorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes a cost anomaly monitor.
///
/// Container for the necessary parameters to execute the DeleteAnomalyMonitor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAnomalyMonitor service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The cost anomaly monitor does not exist for the account.
///
/// REST API Reference for DeleteAnomalyMonitor Operation
public virtual Task DeleteAnomalyMonitorAsync(DeleteAnomalyMonitorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAnomalyMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAnomalyMonitorResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteAnomalySubscription
internal virtual DeleteAnomalySubscriptionResponse DeleteAnomalySubscription(DeleteAnomalySubscriptionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAnomalySubscriptionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAnomalySubscriptionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes a cost anomaly subscription.
///
/// Container for the necessary parameters to execute the DeleteAnomalySubscription service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAnomalySubscription service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The cost anomaly subscription does not exist for the account.
///
/// REST API Reference for DeleteAnomalySubscription Operation
public virtual Task DeleteAnomalySubscriptionAsync(DeleteAnomalySubscriptionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAnomalySubscriptionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAnomalySubscriptionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteCostCategoryDefinition
internal virtual DeleteCostCategoryDefinitionResponse DeleteCostCategoryDefinition(DeleteCostCategoryDefinitionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteCostCategoryDefinitionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes a Cost Category. Expenses from this month going forward will no longer be
/// categorized with this Cost Category.
///
/// Container for the necessary parameters to execute the DeleteCostCategoryDefinition service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteCostCategoryDefinition service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The specified ARN in the request doesn't exist.
///
/// REST API Reference for DeleteCostCategoryDefinition Operation
public virtual Task DeleteCostCategoryDefinitionAsync(DeleteCostCategoryDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteCostCategoryDefinitionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeCostCategoryDefinition
internal virtual DescribeCostCategoryDefinitionResponse DescribeCostCategoryDefinition(DescribeCostCategoryDefinitionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeCostCategoryDefinitionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the name, Amazon Resource Name (ARN), rules, definition, and effective dates
/// of a Cost Category that's defined in the account.
///
///
///
/// You have the option to use EffectiveOn
to return a Cost Category that's
/// active on a specific date. If there's no EffectiveOn
specified, you see
/// a Cost Category that's effective on the current date. If Cost Category is still effective,
/// EffectiveEnd
is omitted in the response.
///
///
/// Container for the necessary parameters to execute the DescribeCostCategoryDefinition service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeCostCategoryDefinition service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The specified ARN in the request doesn't exist.
///
/// REST API Reference for DescribeCostCategoryDefinition Operation
public virtual Task DescribeCostCategoryDefinitionAsync(DescribeCostCategoryDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeCostCategoryDefinitionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetAnomalies
internal virtual GetAnomaliesResponse GetAnomalies(GetAnomaliesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAnomaliesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAnomaliesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves all of the cost anomalies detected on your account during the time period
/// that's specified by the DateInterval
object. Anomalies are available
/// for up to 90 days.
///
/// Container for the necessary parameters to execute the GetAnomalies service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAnomalies service method, as returned by CostExplorer.
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetAnomalies Operation
public virtual Task GetAnomaliesAsync(GetAnomaliesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAnomaliesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAnomaliesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetAnomalyMonitors
internal virtual GetAnomalyMonitorsResponse GetAnomalyMonitors(GetAnomalyMonitorsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAnomalyMonitorsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAnomalyMonitorsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the cost anomaly monitor definitions for your account. You can filter using
/// a list of cost anomaly monitor Amazon Resource Names (ARNs).
///
/// Container for the necessary parameters to execute the GetAnomalyMonitors service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAnomalyMonitors service method, as returned by CostExplorer.
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The cost anomaly monitor does not exist for the account.
///
/// REST API Reference for GetAnomalyMonitors Operation
public virtual Task GetAnomalyMonitorsAsync(GetAnomalyMonitorsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAnomalyMonitorsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAnomalyMonitorsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetAnomalySubscriptions
internal virtual GetAnomalySubscriptionsResponse GetAnomalySubscriptions(GetAnomalySubscriptionsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAnomalySubscriptionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAnomalySubscriptionsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the cost anomaly subscription objects for your account. You can filter using
/// a list of cost anomaly monitor Amazon Resource Names (ARNs).
///
/// Container for the necessary parameters to execute the GetAnomalySubscriptions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAnomalySubscriptions service method, as returned by CostExplorer.
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The cost anomaly subscription does not exist for the account.
///
/// REST API Reference for GetAnomalySubscriptions Operation
public virtual Task GetAnomalySubscriptionsAsync(GetAnomalySubscriptionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAnomalySubscriptionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAnomalySubscriptionsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetCostAndUsage
internal virtual GetCostAndUsageResponse GetCostAndUsage(GetCostAndUsageRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostAndUsageRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostAndUsageResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves cost and usage metrics for your account. You can specify which cost and
/// usage-related metric that you want the request to return. For example, you can specify
/// BlendedCosts
or UsageQuantity
. You can also filter and group
/// your data by various dimensions, such as SERVICE
or AZ
,
/// in a specific time range. For a complete list of valid dimensions, see the GetDimensionValues
/// operation. Management account in an organization in Organizations have access to all
/// member accounts.
///
///
///
/// For information about filter limitations, see Quotas
/// and restrictions in the Billing and Cost Management User Guide.
///
///
/// Container for the necessary parameters to execute the GetCostAndUsage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetCostAndUsage service method, as returned by CostExplorer.
///
/// The requested report expired. Update the date interval and try again.
///
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// Your request parameters changed between pages. Try again with the old parameters or
/// without a pagination token.
///
/// REST API Reference for GetCostAndUsage Operation
public virtual Task GetCostAndUsageAsync(GetCostAndUsageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostAndUsageRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostAndUsageResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetCostAndUsageWithResources
internal virtual GetCostAndUsageWithResourcesResponse GetCostAndUsageWithResources(GetCostAndUsageWithResourcesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostAndUsageWithResourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostAndUsageWithResourcesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves cost and usage metrics with resources for your account. You can specify
/// which cost and usage-related metric, such as BlendedCosts
or UsageQuantity
,
/// that you want the request to return. You can also filter and group your data by various
/// dimensions, such as SERVICE
or AZ
, in a specific time range.
/// For a complete list of valid dimensions, see the GetDimensionValues
/// operation. Management account in an organization in Organizations have access to all
/// member accounts. This API is currently available for the Amazon Elastic Compute Cloud
/// – Compute service only.
///
///
///
/// This is an opt-in only feature. You can enable this feature from the Cost Explorer
/// Settings page. For information about how to access the Settings page, see Controlling
/// Access for Cost Explorer in the Billing and Cost Management User Guide.
///
///
///
/// Container for the necessary parameters to execute the GetCostAndUsageWithResources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetCostAndUsageWithResources service method, as returned by CostExplorer.
///
/// The requested report expired. Update the date interval and try again.
///
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// Your request parameters changed between pages. Try again with the old parameters or
/// without a pagination token.
///
/// REST API Reference for GetCostAndUsageWithResources Operation
public virtual Task GetCostAndUsageWithResourcesAsync(GetCostAndUsageWithResourcesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostAndUsageWithResourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostAndUsageWithResourcesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetCostCategories
internal virtual GetCostCategoriesResponse GetCostCategories(GetCostCategoriesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostCategoriesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostCategoriesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of Cost Category names and values incurred cost.
///
///
///
/// If some Cost Category names and values are not associated with any cost, they will
/// not be returned by this API.
///
///
///
/// Container for the necessary parameters to execute the GetCostCategories service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetCostCategories service method, as returned by CostExplorer.
///
/// The requested report expired. Update the date interval and try again.
///
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// Your request parameters changed between pages. Try again with the old parameters or
/// without a pagination token.
///
/// REST API Reference for GetCostCategories Operation
public virtual Task GetCostCategoriesAsync(GetCostCategoriesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostCategoriesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostCategoriesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetCostForecast
internal virtual GetCostForecastResponse GetCostForecast(GetCostForecastRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostForecastRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostForecastResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves a forecast for how much Amazon Web Services predicts that you will spend
/// over the forecast time period that you select, based on your past costs.
///
/// Container for the necessary parameters to execute the GetCostForecast service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetCostForecast service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetCostForecast Operation
public virtual Task GetCostForecastAsync(GetCostForecastRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetCostForecastRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetCostForecastResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetDimensionValues
internal virtual GetDimensionValuesResponse GetDimensionValues(GetDimensionValuesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetDimensionValuesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetDimensionValuesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves all available filter values for a specified filter over a period of time.
/// You can search the dimension values for an arbitrary string.
///
/// Container for the necessary parameters to execute the GetDimensionValues service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetDimensionValues service method, as returned by CostExplorer.
///
/// The requested report expired. Update the date interval and try again.
///
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// Your request parameters changed between pages. Try again with the old parameters or
/// without a pagination token.
///
/// REST API Reference for GetDimensionValues Operation
public virtual Task GetDimensionValuesAsync(GetDimensionValuesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetDimensionValuesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetDimensionValuesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetReservationCoverage
internal virtual GetReservationCoverageResponse GetReservationCoverage(GetReservationCoverageRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetReservationCoverageRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetReservationCoverageResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the reservation coverage for your account, which you can use to see how
/// much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon Relational Database
/// Service, or Amazon Redshift usage is covered by a reservation. An organization's management
/// account can see the coverage of the associated member accounts. This supports dimensions,
/// Cost Categories, and nested expressions. For any time period, you can filter data
/// about reservation usage by the following dimensions:
///
/// -
///
/// AZ
///
///
-
///
/// CACHE_ENGINE
///
///
-
///
/// DATABASE_ENGINE
///
///
-
///
/// DEPLOYMENT_OPTION
///
///
-
///
/// INSTANCE_TYPE
///
///
-
///
/// LINKED_ACCOUNT
///
///
-
///
/// OPERATING_SYSTEM
///
///
-
///
/// PLATFORM
///
///
-
///
/// REGION
///
///
-
///
/// SERVICE
///
///
-
///
/// TAG
///
///
-
///
/// TENANCY
///
///
///
/// To determine valid values for a dimension, use the GetDimensionValues
/// operation.
///
///
/// Container for the necessary parameters to execute the GetReservationCoverage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetReservationCoverage service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetReservationCoverage Operation
public virtual Task GetReservationCoverageAsync(GetReservationCoverageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetReservationCoverageRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetReservationCoverageResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetReservationPurchaseRecommendation
internal virtual GetReservationPurchaseRecommendationResponse GetReservationPurchaseRecommendation(GetReservationPurchaseRecommendationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetReservationPurchaseRecommendationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetReservationPurchaseRecommendationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets recommendations for reservation purchases. These recommendations might help you
/// to reduce your costs. Reservations provide a discounted hourly rate (up to 75%) compared
/// to On-Demand pricing.
///
///
///
/// Amazon Web Services generates your recommendations by identifying your On-Demand usage
/// during a specific time period and collecting your usage into categories that are eligible
/// for a reservation. After Amazon Web Services has these categories, it simulates every
/// combination of reservations in each category of usage to identify the best number
/// of each type of Reserved Instance (RI) to purchase to maximize your estimated savings.
///
///
///
///
/// For example, Amazon Web Services automatically aggregates your Amazon EC2 Linux, shared
/// tenancy, and c4 family usage in the US West (Oregon) Region and recommends that you
/// buy size-flexible regional reservations to apply to the c4 family usage. Amazon Web
/// Services recommends the smallest size instance in an instance family. This makes it
/// easier to purchase a size-flexible Reserved Instance (RI). Amazon Web Services also
/// shows the equal number of normalized units. This way, you can purchase any instance
/// size that you want. For this example, your RI recommendation is for c4.large
/// because that is the smallest size instance in the c4 instance family.
///
///
/// Container for the necessary parameters to execute the GetReservationPurchaseRecommendation service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetReservationPurchaseRecommendation service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetReservationPurchaseRecommendation Operation
public virtual Task GetReservationPurchaseRecommendationAsync(GetReservationPurchaseRecommendationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetReservationPurchaseRecommendationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetReservationPurchaseRecommendationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetReservationUtilization
internal virtual GetReservationUtilizationResponse GetReservationUtilization(GetReservationUtilizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetReservationUtilizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetReservationUtilizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the reservation utilization for your account. Management account in an organization
/// have access to member accounts. You can filter data by dimensions in a time period.
/// You can use GetDimensionValues
to determine the possible dimension values.
/// Currently, you can group only by SUBSCRIPTION_ID
.
///
/// Container for the necessary parameters to execute the GetReservationUtilization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetReservationUtilization service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetReservationUtilization Operation
public virtual Task GetReservationUtilizationAsync(GetReservationUtilizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetReservationUtilizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetReservationUtilizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetRightsizingRecommendation
internal virtual GetRightsizingRecommendationResponse GetRightsizingRecommendation(GetRightsizingRecommendationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRightsizingRecommendationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRightsizingRecommendationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates recommendations that help you save cost by identifying idle and underutilized
/// Amazon EC2 instances.
///
///
///
/// Recommendations are generated to either downsize or terminate instances, along with
/// providing savings detail and metrics. For more information about calculation and function,
/// see Optimizing
/// Your Cost with Rightsizing Recommendations in the Billing and Cost Management
/// User Guide.
///
///
/// Container for the necessary parameters to execute the GetRightsizingRecommendation service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRightsizingRecommendation service method, as returned by CostExplorer.
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetRightsizingRecommendation Operation
public virtual Task GetRightsizingRecommendationAsync(GetRightsizingRecommendationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRightsizingRecommendationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRightsizingRecommendationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetSavingsPlanPurchaseRecommendationDetails
internal virtual GetSavingsPlanPurchaseRecommendationDetailsResponse GetSavingsPlanPurchaseRecommendationDetails(GetSavingsPlanPurchaseRecommendationDetailsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlanPurchaseRecommendationDetailsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlanPurchaseRecommendationDetailsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the details for a Savings Plan recommendation. These details include the
/// hourly data-points that construct the new cost, coverage, and utilization charts.
///
/// Container for the necessary parameters to execute the GetSavingsPlanPurchaseRecommendationDetails service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSavingsPlanPurchaseRecommendationDetails service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetSavingsPlanPurchaseRecommendationDetails Operation
public virtual Task GetSavingsPlanPurchaseRecommendationDetailsAsync(GetSavingsPlanPurchaseRecommendationDetailsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlanPurchaseRecommendationDetailsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlanPurchaseRecommendationDetailsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetSavingsPlansCoverage
internal virtual GetSavingsPlansCoverageResponse GetSavingsPlansCoverage(GetSavingsPlansCoverageRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansCoverageRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansCoverageResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the Savings Plans covered for your account. This enables you to see how
/// much of your cost is covered by a Savings Plan. An organization’s management account
/// can see the coverage of the associated member accounts. This supports dimensions,
/// Cost Categories, and nested expressions. For any time period, you can filter data
/// for Savings Plans usage with the following dimensions:
///
/// -
///
///
LINKED_ACCOUNT
///
/// -
///
///
REGION
///
/// -
///
///
SERVICE
///
/// -
///
///
INSTANCE_FAMILY
///
///
///
/// To determine valid values for a dimension, use the GetDimensionValues
/// operation.
///
///
/// Container for the necessary parameters to execute the GetSavingsPlansCoverage service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSavingsPlansCoverage service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetSavingsPlansCoverage Operation
public virtual Task GetSavingsPlansCoverageAsync(GetSavingsPlansCoverageRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansCoverageRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansCoverageResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetSavingsPlansPurchaseRecommendation
internal virtual GetSavingsPlansPurchaseRecommendationResponse GetSavingsPlansPurchaseRecommendation(GetSavingsPlansPurchaseRecommendationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansPurchaseRecommendationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansPurchaseRecommendationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the Savings Plans recommendations for your account. First use StartSavingsPlansPurchaseRecommendationGeneration
/// to generate a new set of recommendations, and then use GetSavingsPlansPurchaseRecommendation
/// to retrieve them.
///
/// Container for the necessary parameters to execute the GetSavingsPlansPurchaseRecommendation service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSavingsPlansPurchaseRecommendation service method, as returned by CostExplorer.
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetSavingsPlansPurchaseRecommendation Operation
public virtual Task GetSavingsPlansPurchaseRecommendationAsync(GetSavingsPlansPurchaseRecommendationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansPurchaseRecommendationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansPurchaseRecommendationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetSavingsPlansUtilization
internal virtual GetSavingsPlansUtilizationResponse GetSavingsPlansUtilization(GetSavingsPlansUtilizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansUtilizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansUtilizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the Savings Plans utilization for your account across date ranges with daily
/// or monthly granularity. Management account in an organization have access to member
/// accounts. You can use GetDimensionValues
in SAVINGS_PLANS
/// to determine the possible dimension values.
///
///
///
/// You can't group by any dimension values for GetSavingsPlansUtilization
.
///
///
///
/// Container for the necessary parameters to execute the GetSavingsPlansUtilization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSavingsPlansUtilization service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetSavingsPlansUtilization Operation
public virtual Task GetSavingsPlansUtilizationAsync(GetSavingsPlansUtilizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansUtilizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansUtilizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetSavingsPlansUtilizationDetails
internal virtual GetSavingsPlansUtilizationDetailsResponse GetSavingsPlansUtilizationDetails(GetSavingsPlansUtilizationDetailsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansUtilizationDetailsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansUtilizationDetailsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves attribute data along with aggregate utilization and savings data for a given
/// time period. This doesn't support granular or grouped data (daily/monthly) in response.
/// You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization
,
/// but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails
/// by providing individual dates. You can use GetDimensionValues
in SAVINGS_PLANS
/// to determine the possible dimension values.
///
///
///
/// GetSavingsPlanUtilizationDetails
internally groups data by SavingsPlansArn
.
///
///
///
/// Container for the necessary parameters to execute the GetSavingsPlansUtilizationDetails service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSavingsPlansUtilizationDetails service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for GetSavingsPlansUtilizationDetails Operation
public virtual Task GetSavingsPlansUtilizationDetailsAsync(GetSavingsPlansUtilizationDetailsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSavingsPlansUtilizationDetailsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSavingsPlansUtilizationDetailsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetTags
internal virtual GetTagsResponse GetTags(GetTagsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetTagsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Queries for available tag keys and tag values for a specified period. You can search
/// the tag values for an arbitrary string.
///
/// Container for the necessary parameters to execute the GetTags service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetTags service method, as returned by CostExplorer.
///
/// The requested report expired. Update the date interval and try again.
///
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// Your request parameters changed between pages. Try again with the old parameters or
/// without a pagination token.
///
/// REST API Reference for GetTags Operation
public virtual Task GetTagsAsync(GetTagsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetTagsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetUsageForecast
internal virtual GetUsageForecastResponse GetUsageForecast(GetUsageForecastRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetUsageForecastRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetUsageForecastResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves a forecast for how much Amazon Web Services predicts that you will use over
/// the forecast time period that you select, based on your past usage.
///
/// Container for the necessary parameters to execute the GetUsageForecast service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetUsageForecast service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// Cost Explorer was unable to identify the usage unit. Provide UsageType/UsageTypeGroup
/// filter selections that contain matching units, for example: hours
.
///
/// REST API Reference for GetUsageForecast Operation
public virtual Task GetUsageForecastAsync(GetUsageForecastRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetUsageForecastRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetUsageForecastResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListCostAllocationTags
internal virtual ListCostAllocationTagsResponse ListCostAllocationTags(ListCostAllocationTagsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListCostAllocationTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListCostAllocationTagsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Get a list of cost allocation tags. All inputs in the API are optional and serve as
/// filters. By default, all cost allocation tags are returned.
///
/// Container for the necessary parameters to execute the ListCostAllocationTags service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListCostAllocationTags service method, as returned by CostExplorer.
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for ListCostAllocationTags Operation
public virtual Task ListCostAllocationTagsAsync(ListCostAllocationTagsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListCostAllocationTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListCostAllocationTagsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListCostCategoryDefinitions
internal virtual ListCostCategoryDefinitionsResponse ListCostCategoryDefinitions(ListCostCategoryDefinitionsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListCostCategoryDefinitionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListCostCategoryDefinitionsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the name, Amazon Resource Name (ARN), NumberOfRules
and effective
/// dates of all Cost Categories defined in the account. You have the option to use EffectiveOn
/// to return a list of Cost Categories that were active on a specific date. If there
/// is no EffectiveOn
specified, you’ll see Cost Categories that are effective
/// on the current date. If Cost Category is still effective, EffectiveEnd
/// is omitted in the response. ListCostCategoryDefinitions
supports pagination.
/// The request can have a MaxResults
range up to 100.
///
/// Container for the necessary parameters to execute the ListCostCategoryDefinitions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListCostCategoryDefinitions service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for ListCostCategoryDefinitions Operation
public virtual Task ListCostCategoryDefinitionsAsync(ListCostCategoryDefinitionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListCostCategoryDefinitionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListCostCategoryDefinitionsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListSavingsPlansPurchaseRecommendationGeneration
internal virtual ListSavingsPlansPurchaseRecommendationGenerationResponse ListSavingsPlansPurchaseRecommendationGeneration(ListSavingsPlansPurchaseRecommendationGenerationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSavingsPlansPurchaseRecommendationGenerationRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSavingsPlansPurchaseRecommendationGenerationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves a list of your historical recommendation generations within the past 30
/// days.
///
/// Container for the necessary parameters to execute the ListSavingsPlansPurchaseRecommendationGeneration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListSavingsPlansPurchaseRecommendationGeneration service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// The pagination token is invalid. Try again without a pagination token.
///
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for ListSavingsPlansPurchaseRecommendationGeneration Operation
public virtual Task ListSavingsPlansPurchaseRecommendationGenerationAsync(ListSavingsPlansPurchaseRecommendationGenerationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListSavingsPlansPurchaseRecommendationGenerationRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListSavingsPlansPurchaseRecommendationGenerationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListTagsForResource
internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of resource tags associated with the resource specified by the Amazon
/// Resource Name (ARN).
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The specified ARN in the request doesn't exist.
///
/// REST API Reference for ListTagsForResource Operation
public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ProvideAnomalyFeedback
internal virtual ProvideAnomalyFeedbackResponse ProvideAnomalyFeedback(ProvideAnomalyFeedbackRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ProvideAnomalyFeedbackRequestMarshaller.Instance;
options.ResponseUnmarshaller = ProvideAnomalyFeedbackResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Modifies the feedback property of a given cost anomaly.
///
/// Container for the necessary parameters to execute the ProvideAnomalyFeedback service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ProvideAnomalyFeedback service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for ProvideAnomalyFeedback Operation
public virtual Task ProvideAnomalyFeedbackAsync(ProvideAnomalyFeedbackRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ProvideAnomalyFeedbackRequestMarshaller.Instance;
options.ResponseUnmarshaller = ProvideAnomalyFeedbackResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region StartSavingsPlansPurchaseRecommendationGeneration
internal virtual StartSavingsPlansPurchaseRecommendationGenerationResponse StartSavingsPlansPurchaseRecommendationGeneration(StartSavingsPlansPurchaseRecommendationGenerationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = StartSavingsPlansPurchaseRecommendationGenerationRequestMarshaller.Instance;
options.ResponseUnmarshaller = StartSavingsPlansPurchaseRecommendationGenerationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Requests a Savings Plans recommendation generation. This enables you to calculate
/// a fresh set of Savings Plans recommendations that takes your latest usage data and
/// current Savings Plans inventory into account. You can refresh Savings Plans recommendations
/// up to three times daily for a consolidated billing family.
///
///
///
/// StartSavingsPlansPurchaseRecommendationGeneration
has no request syntax
/// because no input parameters are needed to support this operation.
///
///
///
/// Container for the necessary parameters to execute the StartSavingsPlansPurchaseRecommendationGeneration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartSavingsPlansPurchaseRecommendationGeneration service method, as returned by CostExplorer.
///
/// The requested data is unavailable.
///
///
/// A request to generate a recommendation is already in progress.
///
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// You've reached the limit on the number of resources you can create, or exceeded the
/// size of an individual resource.
///
/// REST API Reference for StartSavingsPlansPurchaseRecommendationGeneration Operation
public virtual Task StartSavingsPlansPurchaseRecommendationGenerationAsync(StartSavingsPlansPurchaseRecommendationGenerationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = StartSavingsPlansPurchaseRecommendationGenerationRequestMarshaller.Instance;
options.ResponseUnmarshaller = StartSavingsPlansPurchaseRecommendationGenerationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region TagResource
internal virtual TagResourceResponse TagResource(TagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// An API operation for adding one or more tags (key-value pairs) to a resource.
///
///
///
/// You can use the TagResource
operation with a resource that already has
/// tags. If you specify a new tag key for the resource, this tag is appended to the list
/// of tags associated with the resource. If you specify a tag key that is already associated
/// with the resource, the new tag value you specify replaces the previous value for that
/// tag.
///
///
///
/// Although the maximum number of array members is 200, user-tag maximum is 50. The remaining
/// are reserved for Amazon Web Services use.
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The specified ARN in the request doesn't exist.
///
///
/// Can occur if you specify a number of tags for a resource greater than the maximum
/// 50 user tags per resource.
///
/// REST API Reference for TagResource Operation
public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UntagResource
internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Removes one or more tags from a resource. Specify only tag keys in your request. Don't
/// specify the value.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The specified ARN in the request doesn't exist.
///
/// REST API Reference for UntagResource Operation
public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateAnomalyMonitor
internal virtual UpdateAnomalyMonitorResponse UpdateAnomalyMonitor(UpdateAnomalyMonitorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAnomalyMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAnomalyMonitorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates an existing cost anomaly monitor. The changes made are applied going forward,
/// and doesn't change anomalies detected in the past.
///
/// Container for the necessary parameters to execute the UpdateAnomalyMonitor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateAnomalyMonitor service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The cost anomaly monitor does not exist for the account.
///
/// REST API Reference for UpdateAnomalyMonitor Operation
public virtual Task UpdateAnomalyMonitorAsync(UpdateAnomalyMonitorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAnomalyMonitorRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAnomalyMonitorResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateAnomalySubscription
internal virtual UpdateAnomalySubscriptionResponse UpdateAnomalySubscription(UpdateAnomalySubscriptionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAnomalySubscriptionRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAnomalySubscriptionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates an existing cost anomaly subscription. Specify the fields that you want to
/// update. Omitted fields are unchanged.
///
///
///
/// The JSON below describes the generic construct for each type. See Request
/// Parameters for possible values as they apply to AnomalySubscription
.
///
///
///
/// Container for the necessary parameters to execute the UpdateAnomalySubscription service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateAnomalySubscription service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The cost anomaly monitor does not exist for the account.
///
///
/// The cost anomaly subscription does not exist for the account.
///
/// REST API Reference for UpdateAnomalySubscription Operation
public virtual Task UpdateAnomalySubscriptionAsync(UpdateAnomalySubscriptionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAnomalySubscriptionRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAnomalySubscriptionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateCostAllocationTagsStatus
internal virtual UpdateCostAllocationTagsStatusResponse UpdateCostAllocationTagsStatus(UpdateCostAllocationTagsStatusRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateCostAllocationTagsStatusRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateCostAllocationTagsStatusResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates status for cost allocation tags in bulk, with maximum batch size of 20. If
/// the tag status that's updated is the same as the existing tag status, the request
/// doesn't fail. Instead, it doesn't have any effect on the tag status (for example,
/// activating the active tag).
///
/// Container for the necessary parameters to execute the UpdateCostAllocationTagsStatus service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateCostAllocationTagsStatus service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
/// REST API Reference for UpdateCostAllocationTagsStatus Operation
public virtual Task UpdateCostAllocationTagsStatusAsync(UpdateCostAllocationTagsStatusRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateCostAllocationTagsStatusRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateCostAllocationTagsStatusResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateCostCategoryDefinition
internal virtual UpdateCostCategoryDefinitionResponse UpdateCostCategoryDefinition(UpdateCostCategoryDefinitionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateCostCategoryDefinitionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates an existing Cost Category. Changes made to the Cost Category rules will be
/// used to categorize the current month’s expenses and future expenses. This won’t change
/// categorization for the previous months.
///
/// Container for the necessary parameters to execute the UpdateCostCategoryDefinition service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateCostCategoryDefinition service method, as returned by CostExplorer.
///
/// You made too many calls in a short period of time. Try again later.
///
///
/// The specified ARN in the request doesn't exist.
///
///
/// You've reached the limit on the number of resources you can create, or exceeded the
/// size of an individual resource.
///
/// REST API Reference for UpdateCostCategoryDefinition Operation
public virtual Task UpdateCostCategoryDefinitionAsync(UpdateCostCategoryDefinitionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateCostCategoryDefinitionRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateCostCategoryDefinitionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}