/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
namespace Aws
{
namespace Utils
{
namespace Json
{
class JsonValue;
class JsonView;
} // namespace Json
} // namespace Utils
namespace SecurityHub
{
namespace Model
{
/**
* Details about the launch template to use.
See Also:
AWS
* API Reference
*/
class AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification
{
public:
AWS_SECURITYHUB_API AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification();
AWS_SECURITYHUB_API AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification(Aws::Utils::Json::JsonView jsonValue);
AWS_SECURITYHUB_API AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& operator=(Aws::Utils::Json::JsonView jsonValue);
AWS_SECURITYHUB_API Aws::Utils::Json::JsonValue Jsonize() const;
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline const Aws::String& GetLaunchTemplateId() const{ return m_launchTemplateId; }
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline bool LaunchTemplateIdHasBeenSet() const { return m_launchTemplateIdHasBeenSet; }
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline void SetLaunchTemplateId(const Aws::String& value) { m_launchTemplateIdHasBeenSet = true; m_launchTemplateId = value; }
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline void SetLaunchTemplateId(Aws::String&& value) { m_launchTemplateIdHasBeenSet = true; m_launchTemplateId = std::move(value); }
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline void SetLaunchTemplateId(const char* value) { m_launchTemplateIdHasBeenSet = true; m_launchTemplateId.assign(value); }
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithLaunchTemplateId(const Aws::String& value) { SetLaunchTemplateId(value); return *this;}
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithLaunchTemplateId(Aws::String&& value) { SetLaunchTemplateId(std::move(value)); return *this;}
/**
* The identifier of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithLaunchTemplateId(const char* value) { SetLaunchTemplateId(value); return *this;}
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline const Aws::String& GetLaunchTemplateName() const{ return m_launchTemplateName; }
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline bool LaunchTemplateNameHasBeenSet() const { return m_launchTemplateNameHasBeenSet; }
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline void SetLaunchTemplateName(const Aws::String& value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName = value; }
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline void SetLaunchTemplateName(Aws::String&& value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName = std::move(value); }
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline void SetLaunchTemplateName(const char* value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName.assign(value); }
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithLaunchTemplateName(const Aws::String& value) { SetLaunchTemplateName(value); return *this;}
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithLaunchTemplateName(Aws::String&& value) { SetLaunchTemplateName(std::move(value)); return *this;}
/**
* The name of the launch template. You must specify either
* LaunchTemplateId
or LaunchTemplateName
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithLaunchTemplateName(const char* value) { SetLaunchTemplateName(value); return *this;}
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline const Aws::String& GetVersion() const{ return m_version; }
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
/**
* Identifies the version of the launch template. You can specify a version
* identifier, or use the values $Latest
or $Default
.
*/
inline AwsAutoScalingAutoScalingGroupLaunchTemplateLaunchTemplateSpecification& WithVersion(const char* value) { SetVersion(value); return *this;}
private:
Aws::String m_launchTemplateId;
bool m_launchTemplateIdHasBeenSet = false;
Aws::String m_launchTemplateName;
bool m_launchTemplateNameHasBeenSet = false;
Aws::String m_version;
bool m_versionHasBeenSet = false;
};
} // namespace Model
} // namespace SecurityHub
} // namespace Aws