/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SecurityHub { namespace Model { /** *

Provides details about an auto scaling group.

See Also:

AWS * API Reference

*/ class AWS_SECURITYHUB_API AwsAutoScalingAutoScalingGroupDetails { public: AwsAutoScalingAutoScalingGroupDetails(); AwsAutoScalingAutoScalingGroupDetails(Aws::Utils::Json::JsonView jsonValue); AwsAutoScalingAutoScalingGroupDetails& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The name of the launch configuration.

*/ inline const Aws::String& GetLaunchConfigurationName() const{ return m_launchConfigurationName; } /** *

The name of the launch configuration.

*/ inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; } /** *

The name of the launch configuration.

*/ inline void SetLaunchConfigurationName(const Aws::String& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = value; } /** *

The name of the launch configuration.

*/ inline void SetLaunchConfigurationName(Aws::String&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = std::move(value); } /** *

The name of the launch configuration.

*/ inline void SetLaunchConfigurationName(const char* value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName.assign(value); } /** *

The name of the launch configuration.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchConfigurationName(const Aws::String& value) { SetLaunchConfigurationName(value); return *this;} /** *

The name of the launch configuration.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchConfigurationName(Aws::String&& value) { SetLaunchConfigurationName(std::move(value)); return *this;} /** *

The name of the launch configuration.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLaunchConfigurationName(const char* value) { SetLaunchConfigurationName(value); return *this;} /** *

The list of load balancers associated with the group.

*/ inline const Aws::Vector& GetLoadBalancerNames() const{ return m_loadBalancerNames; } /** *

The list of load balancers associated with the group.

*/ inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; } /** *

The list of load balancers associated with the group.

*/ inline void SetLoadBalancerNames(const Aws::Vector& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; } /** *

The list of load balancers associated with the group.

*/ inline void SetLoadBalancerNames(Aws::Vector&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = std::move(value); } /** *

The list of load balancers associated with the group.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLoadBalancerNames(const Aws::Vector& value) { SetLoadBalancerNames(value); return *this;} /** *

The list of load balancers associated with the group.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithLoadBalancerNames(Aws::Vector&& value) { SetLoadBalancerNames(std::move(value)); return *this;} /** *

The list of load balancers associated with the group.

*/ inline AwsAutoScalingAutoScalingGroupDetails& AddLoadBalancerNames(const Aws::String& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; } /** *

The list of load balancers associated with the group.

*/ inline AwsAutoScalingAutoScalingGroupDetails& AddLoadBalancerNames(Aws::String&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(std::move(value)); return *this; } /** *

The list of load balancers associated with the group.

*/ inline AwsAutoScalingAutoScalingGroupDetails& AddLoadBalancerNames(const char* value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; } /** *

The service to use for the health checks.

*/ inline const Aws::String& GetHealthCheckType() const{ return m_healthCheckType; } /** *

The service to use for the health checks.

*/ inline bool HealthCheckTypeHasBeenSet() const { return m_healthCheckTypeHasBeenSet; } /** *

The service to use for the health checks.

*/ inline void SetHealthCheckType(const Aws::String& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = value; } /** *

The service to use for the health checks.

*/ inline void SetHealthCheckType(Aws::String&& value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType = std::move(value); } /** *

The service to use for the health checks.

*/ inline void SetHealthCheckType(const char* value) { m_healthCheckTypeHasBeenSet = true; m_healthCheckType.assign(value); } /** *

The service to use for the health checks.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithHealthCheckType(const Aws::String& value) { SetHealthCheckType(value); return *this;} /** *

The service to use for the health checks.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithHealthCheckType(Aws::String&& value) { SetHealthCheckType(std::move(value)); return *this;} /** *

The service to use for the health checks.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithHealthCheckType(const char* value) { SetHealthCheckType(value); return *this;} /** *

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.

*/ inline int GetHealthCheckGracePeriod() const{ return m_healthCheckGracePeriod; } /** *

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.

*/ inline bool HealthCheckGracePeriodHasBeenSet() const { return m_healthCheckGracePeriodHasBeenSet; } /** *

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.

*/ inline void SetHealthCheckGracePeriod(int value) { m_healthCheckGracePeriodHasBeenSet = true; m_healthCheckGracePeriod = value; } /** *

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it * checks the health status of an EC2 instance that has come into service.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithHealthCheckGracePeriod(int value) { SetHealthCheckGracePeriod(value); return *this;} /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline const Aws::String& GetCreatedTime() const{ return m_createdTime; } /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; } /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetCreatedTime(const Aws::String& value) { m_createdTimeHasBeenSet = true; m_createdTime = value; } /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetCreatedTime(Aws::String&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::move(value); } /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline void SetCreatedTime(const char* value) { m_createdTimeHasBeenSet = true; m_createdTime.assign(value); } /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithCreatedTime(const Aws::String& value) { SetCreatedTime(value); return *this;} /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithCreatedTime(Aws::String&& value) { SetCreatedTime(std::move(value)); return *this;} /** *

Indicates when the auto scaling group was created.

Uses the * date-time format specified in RFC 3339 section 5.6, * Internet Date/Time Format. The value cannot contain spaces. For example, * 2020-03-22T13:22:13.933Z.

*/ inline AwsAutoScalingAutoScalingGroupDetails& WithCreatedTime(const char* value) { SetCreatedTime(value); return *this;} private: Aws::String m_launchConfigurationName; bool m_launchConfigurationNameHasBeenSet; Aws::Vector m_loadBalancerNames; bool m_loadBalancerNamesHasBeenSet; Aws::String m_healthCheckType; bool m_healthCheckTypeHasBeenSet; int m_healthCheckGracePeriod; bool m_healthCheckGracePeriodHasBeenSet; Aws::String m_createdTime; bool m_createdTimeHasBeenSet; }; } // namespace Model } // namespace SecurityHub } // namespace Aws