/** * 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 AutoScalingClient header */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #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 AutoScalingClient 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 AutoScaling { using AutoScalingClientConfiguration = Aws::Client::GenericClientConfiguration; using AutoScalingEndpointProviderBase = Aws::AutoScaling::Endpoint::AutoScalingEndpointProviderBase; using AutoScalingEndpointProvider = Aws::AutoScaling::Endpoint::AutoScalingEndpointProvider; namespace Model { /* Service model forward declarations required in AutoScalingClient header */ class AttachInstancesRequest; class AttachLoadBalancerTargetGroupsRequest; class AttachLoadBalancersRequest; class AttachTrafficSourcesRequest; class BatchDeleteScheduledActionRequest; class BatchPutScheduledUpdateGroupActionRequest; class CancelInstanceRefreshRequest; class CompleteLifecycleActionRequest; class CreateAutoScalingGroupRequest; class CreateLaunchConfigurationRequest; class CreateOrUpdateTagsRequest; class DeleteAutoScalingGroupRequest; class DeleteLaunchConfigurationRequest; class DeleteLifecycleHookRequest; class DeleteNotificationConfigurationRequest; class DeletePolicyRequest; class DeleteScheduledActionRequest; class DeleteTagsRequest; class DeleteWarmPoolRequest; class DescribeAccountLimitsRequest; class DescribeAdjustmentTypesRequest; class DescribeAutoScalingGroupsRequest; class DescribeAutoScalingInstancesRequest; class DescribeAutoScalingNotificationTypesRequest; class DescribeInstanceRefreshesRequest; class DescribeLaunchConfigurationsRequest; class DescribeLifecycleHookTypesRequest; class DescribeLifecycleHooksRequest; class DescribeLoadBalancerTargetGroupsRequest; class DescribeLoadBalancersRequest; class DescribeMetricCollectionTypesRequest; class DescribeNotificationConfigurationsRequest; class DescribePoliciesRequest; class DescribeScalingActivitiesRequest; class DescribeScalingProcessTypesRequest; class DescribeScheduledActionsRequest; class DescribeTagsRequest; class DescribeTerminationPolicyTypesRequest; class DescribeTrafficSourcesRequest; class DescribeWarmPoolRequest; class DetachInstancesRequest; class DetachLoadBalancerTargetGroupsRequest; class DetachLoadBalancersRequest; class DetachTrafficSourcesRequest; class DisableMetricsCollectionRequest; class EnableMetricsCollectionRequest; class EnterStandbyRequest; class ExecutePolicyRequest; class ExitStandbyRequest; class GetPredictiveScalingForecastRequest; class PutLifecycleHookRequest; class PutNotificationConfigurationRequest; class PutScalingPolicyRequest; class PutScheduledUpdateGroupActionRequest; class PutWarmPoolRequest; class RecordLifecycleActionHeartbeatRequest; class ResumeProcessesRequest; class RollbackInstanceRefreshRequest; class SetDesiredCapacityRequest; class SetInstanceHealthRequest; class SetInstanceProtectionRequest; class StartInstanceRefreshRequest; class SuspendProcessesRequest; class TerminateInstanceInAutoScalingGroupRequest; class UpdateAutoScalingGroupRequest; /* End of service model forward declarations required in AutoScalingClient header */ /* Service model Outcome class definitions */ typedef Aws::Utils::Outcome AttachInstancesOutcome; typedef Aws::Utils::Outcome AttachLoadBalancerTargetGroupsOutcome; typedef Aws::Utils::Outcome AttachLoadBalancersOutcome; typedef Aws::Utils::Outcome AttachTrafficSourcesOutcome; typedef Aws::Utils::Outcome BatchDeleteScheduledActionOutcome; typedef Aws::Utils::Outcome BatchPutScheduledUpdateGroupActionOutcome; typedef Aws::Utils::Outcome CancelInstanceRefreshOutcome; typedef Aws::Utils::Outcome CompleteLifecycleActionOutcome; typedef Aws::Utils::Outcome CreateAutoScalingGroupOutcome; typedef Aws::Utils::Outcome CreateLaunchConfigurationOutcome; typedef Aws::Utils::Outcome CreateOrUpdateTagsOutcome; typedef Aws::Utils::Outcome DeleteAutoScalingGroupOutcome; typedef Aws::Utils::Outcome DeleteLaunchConfigurationOutcome; typedef Aws::Utils::Outcome DeleteLifecycleHookOutcome; typedef Aws::Utils::Outcome DeleteNotificationConfigurationOutcome; typedef Aws::Utils::Outcome DeletePolicyOutcome; typedef Aws::Utils::Outcome DeleteScheduledActionOutcome; typedef Aws::Utils::Outcome DeleteTagsOutcome; typedef Aws::Utils::Outcome DeleteWarmPoolOutcome; typedef Aws::Utils::Outcome DescribeAccountLimitsOutcome; typedef Aws::Utils::Outcome DescribeAdjustmentTypesOutcome; typedef Aws::Utils::Outcome DescribeAutoScalingGroupsOutcome; typedef Aws::Utils::Outcome DescribeAutoScalingInstancesOutcome; typedef Aws::Utils::Outcome DescribeAutoScalingNotificationTypesOutcome; typedef Aws::Utils::Outcome DescribeInstanceRefreshesOutcome; typedef Aws::Utils::Outcome DescribeLaunchConfigurationsOutcome; typedef Aws::Utils::Outcome DescribeLifecycleHookTypesOutcome; typedef Aws::Utils::Outcome DescribeLifecycleHooksOutcome; typedef Aws::Utils::Outcome DescribeLoadBalancerTargetGroupsOutcome; typedef Aws::Utils::Outcome DescribeLoadBalancersOutcome; typedef Aws::Utils::Outcome DescribeMetricCollectionTypesOutcome; typedef Aws::Utils::Outcome DescribeNotificationConfigurationsOutcome; typedef Aws::Utils::Outcome DescribePoliciesOutcome; typedef Aws::Utils::Outcome DescribeScalingActivitiesOutcome; typedef Aws::Utils::Outcome DescribeScalingProcessTypesOutcome; typedef Aws::Utils::Outcome DescribeScheduledActionsOutcome; typedef Aws::Utils::Outcome DescribeTagsOutcome; typedef Aws::Utils::Outcome DescribeTerminationPolicyTypesOutcome; typedef Aws::Utils::Outcome DescribeTrafficSourcesOutcome; typedef Aws::Utils::Outcome DescribeWarmPoolOutcome; typedef Aws::Utils::Outcome DetachInstancesOutcome; typedef Aws::Utils::Outcome DetachLoadBalancerTargetGroupsOutcome; typedef Aws::Utils::Outcome DetachLoadBalancersOutcome; typedef Aws::Utils::Outcome DetachTrafficSourcesOutcome; typedef Aws::Utils::Outcome DisableMetricsCollectionOutcome; typedef Aws::Utils::Outcome EnableMetricsCollectionOutcome; typedef Aws::Utils::Outcome EnterStandbyOutcome; typedef Aws::Utils::Outcome ExecutePolicyOutcome; typedef Aws::Utils::Outcome ExitStandbyOutcome; typedef Aws::Utils::Outcome GetPredictiveScalingForecastOutcome; typedef Aws::Utils::Outcome PutLifecycleHookOutcome; typedef Aws::Utils::Outcome PutNotificationConfigurationOutcome; typedef Aws::Utils::Outcome PutScalingPolicyOutcome; typedef Aws::Utils::Outcome PutScheduledUpdateGroupActionOutcome; typedef Aws::Utils::Outcome PutWarmPoolOutcome; typedef Aws::Utils::Outcome RecordLifecycleActionHeartbeatOutcome; typedef Aws::Utils::Outcome ResumeProcessesOutcome; typedef Aws::Utils::Outcome RollbackInstanceRefreshOutcome; typedef Aws::Utils::Outcome SetDesiredCapacityOutcome; typedef Aws::Utils::Outcome SetInstanceHealthOutcome; typedef Aws::Utils::Outcome SetInstanceProtectionOutcome; typedef Aws::Utils::Outcome StartInstanceRefreshOutcome; typedef Aws::Utils::Outcome SuspendProcessesOutcome; typedef Aws::Utils::Outcome TerminateInstanceInAutoScalingGroupOutcome; typedef Aws::Utils::Outcome UpdateAutoScalingGroupOutcome; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ typedef std::future AttachInstancesOutcomeCallable; typedef std::future AttachLoadBalancerTargetGroupsOutcomeCallable; typedef std::future AttachLoadBalancersOutcomeCallable; typedef std::future AttachTrafficSourcesOutcomeCallable; typedef std::future BatchDeleteScheduledActionOutcomeCallable; typedef std::future BatchPutScheduledUpdateGroupActionOutcomeCallable; typedef std::future CancelInstanceRefreshOutcomeCallable; typedef std::future CompleteLifecycleActionOutcomeCallable; typedef std::future CreateAutoScalingGroupOutcomeCallable; typedef std::future CreateLaunchConfigurationOutcomeCallable; typedef std::future CreateOrUpdateTagsOutcomeCallable; typedef std::future DeleteAutoScalingGroupOutcomeCallable; typedef std::future DeleteLaunchConfigurationOutcomeCallable; typedef std::future DeleteLifecycleHookOutcomeCallable; typedef std::future DeleteNotificationConfigurationOutcomeCallable; typedef std::future DeletePolicyOutcomeCallable; typedef std::future DeleteScheduledActionOutcomeCallable; typedef std::future DeleteTagsOutcomeCallable; typedef std::future DeleteWarmPoolOutcomeCallable; typedef std::future DescribeAccountLimitsOutcomeCallable; typedef std::future DescribeAdjustmentTypesOutcomeCallable; typedef std::future DescribeAutoScalingGroupsOutcomeCallable; typedef std::future DescribeAutoScalingInstancesOutcomeCallable; typedef std::future DescribeAutoScalingNotificationTypesOutcomeCallable; typedef std::future DescribeInstanceRefreshesOutcomeCallable; typedef std::future DescribeLaunchConfigurationsOutcomeCallable; typedef std::future DescribeLifecycleHookTypesOutcomeCallable; typedef std::future DescribeLifecycleHooksOutcomeCallable; typedef std::future DescribeLoadBalancerTargetGroupsOutcomeCallable; typedef std::future DescribeLoadBalancersOutcomeCallable; typedef std::future DescribeMetricCollectionTypesOutcomeCallable; typedef std::future DescribeNotificationConfigurationsOutcomeCallable; typedef std::future DescribePoliciesOutcomeCallable; typedef std::future DescribeScalingActivitiesOutcomeCallable; typedef std::future DescribeScalingProcessTypesOutcomeCallable; typedef std::future DescribeScheduledActionsOutcomeCallable; typedef std::future DescribeTagsOutcomeCallable; typedef std::future DescribeTerminationPolicyTypesOutcomeCallable; typedef std::future DescribeTrafficSourcesOutcomeCallable; typedef std::future DescribeWarmPoolOutcomeCallable; typedef std::future DetachInstancesOutcomeCallable; typedef std::future DetachLoadBalancerTargetGroupsOutcomeCallable; typedef std::future DetachLoadBalancersOutcomeCallable; typedef std::future DetachTrafficSourcesOutcomeCallable; typedef std::future DisableMetricsCollectionOutcomeCallable; typedef std::future EnableMetricsCollectionOutcomeCallable; typedef std::future EnterStandbyOutcomeCallable; typedef std::future ExecutePolicyOutcomeCallable; typedef std::future ExitStandbyOutcomeCallable; typedef std::future GetPredictiveScalingForecastOutcomeCallable; typedef std::future PutLifecycleHookOutcomeCallable; typedef std::future PutNotificationConfigurationOutcomeCallable; typedef std::future PutScalingPolicyOutcomeCallable; typedef std::future PutScheduledUpdateGroupActionOutcomeCallable; typedef std::future PutWarmPoolOutcomeCallable; typedef std::future RecordLifecycleActionHeartbeatOutcomeCallable; typedef std::future ResumeProcessesOutcomeCallable; typedef std::future RollbackInstanceRefreshOutcomeCallable; typedef std::future SetDesiredCapacityOutcomeCallable; typedef std::future SetInstanceHealthOutcomeCallable; typedef std::future SetInstanceProtectionOutcomeCallable; typedef std::future StartInstanceRefreshOutcomeCallable; typedef std::future SuspendProcessesOutcomeCallable; typedef std::future TerminateInstanceInAutoScalingGroupOutcomeCallable; typedef std::future UpdateAutoScalingGroupOutcomeCallable; /* End of service model Outcome callable definitions */ } // namespace Model class AutoScalingClient; /* Service model async handlers definitions */ typedef std::function&) > AttachInstancesResponseReceivedHandler; typedef std::function&) > AttachLoadBalancerTargetGroupsResponseReceivedHandler; typedef std::function&) > AttachLoadBalancersResponseReceivedHandler; typedef std::function&) > AttachTrafficSourcesResponseReceivedHandler; typedef std::function&) > BatchDeleteScheduledActionResponseReceivedHandler; typedef std::function&) > BatchPutScheduledUpdateGroupActionResponseReceivedHandler; typedef std::function&) > CancelInstanceRefreshResponseReceivedHandler; typedef std::function&) > CompleteLifecycleActionResponseReceivedHandler; typedef std::function&) > CreateAutoScalingGroupResponseReceivedHandler; typedef std::function&) > CreateLaunchConfigurationResponseReceivedHandler; typedef std::function&) > CreateOrUpdateTagsResponseReceivedHandler; typedef std::function&) > DeleteAutoScalingGroupResponseReceivedHandler; typedef std::function&) > DeleteLaunchConfigurationResponseReceivedHandler; typedef std::function&) > DeleteLifecycleHookResponseReceivedHandler; typedef std::function&) > DeleteNotificationConfigurationResponseReceivedHandler; typedef std::function&) > DeletePolicyResponseReceivedHandler; typedef std::function&) > DeleteScheduledActionResponseReceivedHandler; typedef std::function&) > DeleteTagsResponseReceivedHandler; typedef std::function&) > DeleteWarmPoolResponseReceivedHandler; typedef std::function&) > DescribeAccountLimitsResponseReceivedHandler; typedef std::function&) > DescribeAdjustmentTypesResponseReceivedHandler; typedef std::function&) > DescribeAutoScalingGroupsResponseReceivedHandler; typedef std::function&) > DescribeAutoScalingInstancesResponseReceivedHandler; typedef std::function&) > DescribeAutoScalingNotificationTypesResponseReceivedHandler; typedef std::function&) > DescribeInstanceRefreshesResponseReceivedHandler; typedef std::function&) > DescribeLaunchConfigurationsResponseReceivedHandler; typedef std::function&) > DescribeLifecycleHookTypesResponseReceivedHandler; typedef std::function&) > DescribeLifecycleHooksResponseReceivedHandler; typedef std::function&) > DescribeLoadBalancerTargetGroupsResponseReceivedHandler; typedef std::function&) > DescribeLoadBalancersResponseReceivedHandler; typedef std::function&) > DescribeMetricCollectionTypesResponseReceivedHandler; typedef std::function&) > DescribeNotificationConfigurationsResponseReceivedHandler; typedef std::function&) > DescribePoliciesResponseReceivedHandler; typedef std::function&) > DescribeScalingActivitiesResponseReceivedHandler; typedef std::function&) > DescribeScalingProcessTypesResponseReceivedHandler; typedef std::function&) > DescribeScheduledActionsResponseReceivedHandler; typedef std::function&) > DescribeTagsResponseReceivedHandler; typedef std::function&) > DescribeTerminationPolicyTypesResponseReceivedHandler; typedef std::function&) > DescribeTrafficSourcesResponseReceivedHandler; typedef std::function&) > DescribeWarmPoolResponseReceivedHandler; typedef std::function&) > DetachInstancesResponseReceivedHandler; typedef std::function&) > DetachLoadBalancerTargetGroupsResponseReceivedHandler; typedef std::function&) > DetachLoadBalancersResponseReceivedHandler; typedef std::function&) > DetachTrafficSourcesResponseReceivedHandler; typedef std::function&) > DisableMetricsCollectionResponseReceivedHandler; typedef std::function&) > EnableMetricsCollectionResponseReceivedHandler; typedef std::function&) > EnterStandbyResponseReceivedHandler; typedef std::function&) > ExecutePolicyResponseReceivedHandler; typedef std::function&) > ExitStandbyResponseReceivedHandler; typedef std::function&) > GetPredictiveScalingForecastResponseReceivedHandler; typedef std::function&) > PutLifecycleHookResponseReceivedHandler; typedef std::function&) > PutNotificationConfigurationResponseReceivedHandler; typedef std::function&) > PutScalingPolicyResponseReceivedHandler; typedef std::function&) > PutScheduledUpdateGroupActionResponseReceivedHandler; typedef std::function&) > PutWarmPoolResponseReceivedHandler; typedef std::function&) > RecordLifecycleActionHeartbeatResponseReceivedHandler; typedef std::function&) > ResumeProcessesResponseReceivedHandler; typedef std::function&) > RollbackInstanceRefreshResponseReceivedHandler; typedef std::function&) > SetDesiredCapacityResponseReceivedHandler; typedef std::function&) > SetInstanceHealthResponseReceivedHandler; typedef std::function&) > SetInstanceProtectionResponseReceivedHandler; typedef std::function&) > StartInstanceRefreshResponseReceivedHandler; typedef std::function&) > SuspendProcessesResponseReceivedHandler; typedef std::function&) > TerminateInstanceInAutoScalingGroupResponseReceivedHandler; typedef std::function&) > UpdateAutoScalingGroupResponseReceivedHandler; /* End of service model async handlers definitions */ } // namespace AutoScaling } // namespace Aws