/* * 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: /// /// /// /// 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 } }