/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once /* Generic header includes */ #include #include #include #include #include #include #include #include #include /* End of generic header includes */ /* Service model headers required in ComputeOptimizerClient header */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* End of service model headers required in ComputeOptimizerClient header */ namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace ComputeOptimizer { using ComputeOptimizerClientConfiguration = Aws::Client::GenericClientConfiguration; using ComputeOptimizerEndpointProviderBase = Aws::ComputeOptimizer::Endpoint::ComputeOptimizerEndpointProviderBase; using ComputeOptimizerEndpointProvider = Aws::ComputeOptimizer::Endpoint::ComputeOptimizerEndpointProvider; namespace Model { /* Service model forward declarations required in ComputeOptimizerClient header */ class DeleteRecommendationPreferencesRequest; class DescribeRecommendationExportJobsRequest; class ExportAutoScalingGroupRecommendationsRequest; class ExportEBSVolumeRecommendationsRequest; class ExportEC2InstanceRecommendationsRequest; class ExportECSServiceRecommendationsRequest; class ExportLambdaFunctionRecommendationsRequest; class GetAutoScalingGroupRecommendationsRequest; class GetEBSVolumeRecommendationsRequest; class GetEC2InstanceRecommendationsRequest; class GetEC2RecommendationProjectedMetricsRequest; class GetECSServiceRecommendationProjectedMetricsRequest; class GetECSServiceRecommendationsRequest; class GetEffectiveRecommendationPreferencesRequest; class GetEnrollmentStatusRequest; class GetEnrollmentStatusesForOrganizationRequest; class GetLambdaFunctionRecommendationsRequest; class GetRecommendationPreferencesRequest; class GetRecommendationSummariesRequest; class PutRecommendationPreferencesRequest; class UpdateEnrollmentStatusRequest; /* End of service model forward declarations required in ComputeOptimizerClient header */ /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome DeleteRecommendationPreferencesOutcome; typedef Aws::Utils::Outcome DescribeRecommendationExportJobsOutcome; typedef Aws::Utils::Outcome ExportAutoScalingGroupRecommendationsOutcome; typedef Aws::Utils::Outcome ExportEBSVolumeRecommendationsOutcome; typedef Aws::Utils::Outcome ExportEC2InstanceRecommendationsOutcome; typedef Aws::Utils::Outcome ExportECSServiceRecommendationsOutcome; typedef Aws::Utils::Outcome ExportLambdaFunctionRecommendationsOutcome; typedef Aws::Utils::Outcome GetAutoScalingGroupRecommendationsOutcome; typedef Aws::Utils::Outcome GetEBSVolumeRecommendationsOutcome; typedef Aws::Utils::Outcome GetEC2InstanceRecommendationsOutcome; typedef Aws::Utils::Outcome GetEC2RecommendationProjectedMetricsOutcome; typedef Aws::Utils::Outcome GetECSServiceRecommendationProjectedMetricsOutcome; typedef Aws::Utils::Outcome GetECSServiceRecommendationsOutcome; typedef Aws::Utils::Outcome GetEffectiveRecommendationPreferencesOutcome; typedef Aws::Utils::Outcome GetEnrollmentStatusOutcome; typedef Aws::Utils::Outcome GetEnrollmentStatusesForOrganizationOutcome; typedef Aws::Utils::Outcome GetLambdaFunctionRecommendationsOutcome; typedef Aws::Utils::Outcome GetRecommendationPreferencesOutcome; typedef Aws::Utils::Outcome GetRecommendationSummariesOutcome; typedef Aws::Utils::Outcome PutRecommendationPreferencesOutcome; typedef Aws::Utils::Outcome UpdateEnrollmentStatusOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ typedef std::future DeleteRecommendationPreferencesOutcomeCallable; typedef std::future DescribeRecommendationExportJobsOutcomeCallable; typedef std::future ExportAutoScalingGroupRecommendationsOutcomeCallable; typedef std::future ExportEBSVolumeRecommendationsOutcomeCallable; typedef std::future ExportEC2InstanceRecommendationsOutcomeCallable; typedef std::future ExportECSServiceRecommendationsOutcomeCallable; typedef std::future ExportLambdaFunctionRecommendationsOutcomeCallable; typedef std::future GetAutoScalingGroupRecommendationsOutcomeCallable; typedef std::future GetEBSVolumeRecommendationsOutcomeCallable; typedef std::future GetEC2InstanceRecommendationsOutcomeCallable; typedef std::future GetEC2RecommendationProjectedMetricsOutcomeCallable; typedef std::future GetECSServiceRecommendationProjectedMetricsOutcomeCallable; typedef std::future GetECSServiceRecommendationsOutcomeCallable; typedef std::future GetEffectiveRecommendationPreferencesOutcomeCallable; typedef std::future GetEnrollmentStatusOutcomeCallable; typedef std::future GetEnrollmentStatusesForOrganizationOutcomeCallable; typedef std::future GetLambdaFunctionRecommendationsOutcomeCallable; typedef std::future GetRecommendationPreferencesOutcomeCallable; typedef std::future GetRecommendationSummariesOutcomeCallable; typedef std::future PutRecommendationPreferencesOutcomeCallable; typedef std::future UpdateEnrollmentStatusOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model class ComputeOptimizerClient; /* Service model async handlers definitions */ typedef std::function&) > DeleteRecommendationPreferencesResponseReceivedHandler; typedef std::function&) > DescribeRecommendationExportJobsResponseReceivedHandler; typedef std::function&) > ExportAutoScalingGroupRecommendationsResponseReceivedHandler; typedef std::function&) > ExportEBSVolumeRecommendationsResponseReceivedHandler; typedef std::function&) > ExportEC2InstanceRecommendationsResponseReceivedHandler; typedef std::function&) > ExportECSServiceRecommendationsResponseReceivedHandler; typedef std::function&) > ExportLambdaFunctionRecommendationsResponseReceivedHandler; typedef std::function&) > GetAutoScalingGroupRecommendationsResponseReceivedHandler; typedef std::function&) > GetEBSVolumeRecommendationsResponseReceivedHandler; typedef std::function&) > GetEC2InstanceRecommendationsResponseReceivedHandler; typedef std::function&) > GetEC2RecommendationProjectedMetricsResponseReceivedHandler; typedef std::function&) > GetECSServiceRecommendationProjectedMetricsResponseReceivedHandler; typedef std::function&) > GetECSServiceRecommendationsResponseReceivedHandler; typedef std::function&) > GetEffectiveRecommendationPreferencesResponseReceivedHandler; typedef std::function&) > GetEnrollmentStatusResponseReceivedHandler; typedef std::function&) > GetEnrollmentStatusesForOrganizationResponseReceivedHandler; typedef std::function&) > GetLambdaFunctionRecommendationsResponseReceivedHandler; typedef std::function&) > GetRecommendationPreferencesResponseReceivedHandler; typedef std::function&) > GetRecommendationSummariesResponseReceivedHandler; typedef std::function&) > PutRecommendationPreferencesResponseReceivedHandler; typedef std::function&) > UpdateEnrollmentStatusResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace ComputeOptimizer } // namespace Aws