/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies the properties for creating an Amazon Elastic Compute Cloud
* (Amazon EC2) launch template. See Also:
AWS
* API Reference
A name for the launch template.
*/ inline const Aws::String& GetLaunchTemplateName() const{ return m_launchTemplateName; } /** *A name for the launch template.
*/ inline bool LaunchTemplateNameHasBeenSet() const { return m_launchTemplateNameHasBeenSet; } /** *A name for the launch template.
*/ inline void SetLaunchTemplateName(const Aws::String& value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName = value; } /** *A name for the launch template.
*/ inline void SetLaunchTemplateName(Aws::String&& value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName = std::move(value); } /** *A name for the launch template.
*/ inline void SetLaunchTemplateName(const char* value) { m_launchTemplateNameHasBeenSet = true; m_launchTemplateName.assign(value); } /** *A name for the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithLaunchTemplateName(const Aws::String& value) { SetLaunchTemplateName(value); return *this;} /** *A name for the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithLaunchTemplateName(Aws::String&& value) { SetLaunchTemplateName(std::move(value)); return *this;} /** *A name for the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithLaunchTemplateName(const char* value) { SetLaunchTemplateName(value); return *this;} /** *An ID for the launch template.
*/ inline const Aws::String& GetId() const{ return m_id; } /** *An ID for the launch template.
*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *An ID for the launch template.
*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *An ID for the launch template.
*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *An ID for the launch template.
*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *An ID for the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithId(const Aws::String& value) { SetId(value); return *this;} /** *An ID for the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *An ID for the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithId(const char* value) { SetId(value); return *this;} /** *The information to include in the launch template.
*/ inline const AwsEc2LaunchTemplateDataDetails& GetLaunchTemplateData() const{ return m_launchTemplateData; } /** *The information to include in the launch template.
*/ inline bool LaunchTemplateDataHasBeenSet() const { return m_launchTemplateDataHasBeenSet; } /** *The information to include in the launch template.
*/ inline void SetLaunchTemplateData(const AwsEc2LaunchTemplateDataDetails& value) { m_launchTemplateDataHasBeenSet = true; m_launchTemplateData = value; } /** *The information to include in the launch template.
*/ inline void SetLaunchTemplateData(AwsEc2LaunchTemplateDataDetails&& value) { m_launchTemplateDataHasBeenSet = true; m_launchTemplateData = std::move(value); } /** *The information to include in the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithLaunchTemplateData(const AwsEc2LaunchTemplateDataDetails& value) { SetLaunchTemplateData(value); return *this;} /** *The information to include in the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithLaunchTemplateData(AwsEc2LaunchTemplateDataDetails&& value) { SetLaunchTemplateData(std::move(value)); return *this;} /** *The default version of the launch template.
*/ inline long long GetDefaultVersionNumber() const{ return m_defaultVersionNumber; } /** *The default version of the launch template.
*/ inline bool DefaultVersionNumberHasBeenSet() const { return m_defaultVersionNumberHasBeenSet; } /** *The default version of the launch template.
*/ inline void SetDefaultVersionNumber(long long value) { m_defaultVersionNumberHasBeenSet = true; m_defaultVersionNumber = value; } /** *The default version of the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithDefaultVersionNumber(long long value) { SetDefaultVersionNumber(value); return *this;} /** *The latest version of the launch template.
*/ inline long long GetLatestVersionNumber() const{ return m_latestVersionNumber; } /** *The latest version of the launch template.
*/ inline bool LatestVersionNumberHasBeenSet() const { return m_latestVersionNumberHasBeenSet; } /** *The latest version of the launch template.
*/ inline void SetLatestVersionNumber(long long value) { m_latestVersionNumberHasBeenSet = true; m_latestVersionNumber = value; } /** *The latest version of the launch template.
*/ inline AwsEc2LaunchTemplateDetails& WithLatestVersionNumber(long long value) { SetLatestVersionNumber(value); return *this;} private: Aws::String m_launchTemplateName; bool m_launchTemplateNameHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; AwsEc2LaunchTemplateDataDetails m_launchTemplateData; bool m_launchTemplateDataHasBeenSet = false; long long m_defaultVersionNumber; bool m_defaultVersionNumberHasBeenSet = false; long long m_latestVersionNumber; bool m_latestVersionNumberHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws