/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Provides details about the market (purchasing) option for an Amazon EC2
* instance. See Also:
AWS
* API Reference
The market type.
*/ inline const Aws::String& GetMarketType() const{ return m_marketType; } /** *The market type.
*/ inline bool MarketTypeHasBeenSet() const { return m_marketTypeHasBeenSet; } /** *The market type.
*/ inline void SetMarketType(const Aws::String& value) { m_marketTypeHasBeenSet = true; m_marketType = value; } /** *The market type.
*/ inline void SetMarketType(Aws::String&& value) { m_marketTypeHasBeenSet = true; m_marketType = std::move(value); } /** *The market type.
*/ inline void SetMarketType(const char* value) { m_marketTypeHasBeenSet = true; m_marketType.assign(value); } /** *The market type.
*/ inline AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& WithMarketType(const Aws::String& value) { SetMarketType(value); return *this;} /** *The market type.
*/ inline AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& WithMarketType(Aws::String&& value) { SetMarketType(std::move(value)); return *this;} /** *The market type.
*/ inline AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& WithMarketType(const char* value) { SetMarketType(value); return *this;} /** *The options for Spot Instances.
*/ inline const AwsEc2LaunchTemplateDataInstanceMarketOptionsSpotOptionsDetails& GetSpotOptions() const{ return m_spotOptions; } /** *The options for Spot Instances.
*/ inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } /** *The options for Spot Instances.
*/ inline void SetSpotOptions(const AwsEc2LaunchTemplateDataInstanceMarketOptionsSpotOptionsDetails& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = value; } /** *The options for Spot Instances.
*/ inline void SetSpotOptions(AwsEc2LaunchTemplateDataInstanceMarketOptionsSpotOptionsDetails&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::move(value); } /** *The options for Spot Instances.
*/ inline AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& WithSpotOptions(const AwsEc2LaunchTemplateDataInstanceMarketOptionsSpotOptionsDetails& value) { SetSpotOptions(value); return *this;} /** *The options for Spot Instances.
*/ inline AwsEc2LaunchTemplateDataInstanceMarketOptionsDetails& WithSpotOptions(AwsEc2LaunchTemplateDataInstanceMarketOptionsSpotOptionsDetails&& value) { SetSpotOptions(std::move(value)); return *this;} private: Aws::String m_marketType; bool m_marketTypeHasBeenSet = false; AwsEc2LaunchTemplateDataInstanceMarketOptionsSpotOptionsDetails m_spotOptions; bool m_spotOptionsHasBeenSet = false; }; } // namespace Model } // namespace SecurityHub } // namespace Aws