/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes the configuration settings for the modified Reserved
* Instances.See Also:
AWS
* API Reference
The Availability Zone for the modified Reserved Instances.
*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *The Availability Zone for the modified Reserved Instances.
*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *The Availability Zone for the modified Reserved Instances.
*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *The Availability Zone for the modified Reserved Instances.
*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *The Availability Zone for the modified Reserved Instances.
*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *The Availability Zone for the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *The Availability Zone for the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *The Availability Zone for the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *The number of modified Reserved Instances.
This is a required * field for a request.
*/ inline int GetInstanceCount() const{ return m_instanceCount; } /** *The number of modified Reserved Instances.
This is a required * field for a request.
*/ inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; } /** *The number of modified Reserved Instances.
This is a required * field for a request.
*/ inline void SetInstanceCount(int value) { m_instanceCountHasBeenSet = true; m_instanceCount = value; } /** *The number of modified Reserved Instances.
This is a required * field for a request.
*/ inline ReservedInstancesConfiguration& WithInstanceCount(int value) { SetInstanceCount(value); return *this;} /** *The instance type for the modified Reserved Instances.
*/ inline const InstanceType& GetInstanceType() const{ return m_instanceType; } /** *The instance type for the modified Reserved Instances.
*/ inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; } /** *The instance type for the modified Reserved Instances.
*/ inline void SetInstanceType(const InstanceType& value) { m_instanceTypeHasBeenSet = true; m_instanceType = value; } /** *The instance type for the modified Reserved Instances.
*/ inline void SetInstanceType(InstanceType&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::move(value); } /** *The instance type for the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithInstanceType(const InstanceType& value) { SetInstanceType(value); return *this;} /** *The instance type for the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithInstanceType(InstanceType&& value) { SetInstanceType(std::move(value)); return *this;} /** *The network platform of the modified Reserved Instances.
*/ inline const Aws::String& GetPlatform() const{ return m_platform; } /** *The network platform of the modified Reserved Instances.
*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *The network platform of the modified Reserved Instances.
*/ inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; } /** *The network platform of the modified Reserved Instances.
*/ inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *The network platform of the modified Reserved Instances.
*/ inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); } /** *The network platform of the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;} /** *The network platform of the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;} /** *The network platform of the modified Reserved Instances.
*/ inline ReservedInstancesConfiguration& WithPlatform(const char* value) { SetPlatform(value); return *this;} /** *Whether the Reserved Instance is applied to instances in a Region or * instances in a specific Availability Zone.
*/ inline const Scope& GetScope() const{ return m_scope; } /** *Whether the Reserved Instance is applied to instances in a Region or * instances in a specific Availability Zone.
*/ inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; } /** *Whether the Reserved Instance is applied to instances in a Region or * instances in a specific Availability Zone.
*/ inline void SetScope(const Scope& value) { m_scopeHasBeenSet = true; m_scope = value; } /** *Whether the Reserved Instance is applied to instances in a Region or * instances in a specific Availability Zone.
*/ inline void SetScope(Scope&& value) { m_scopeHasBeenSet = true; m_scope = std::move(value); } /** *Whether the Reserved Instance is applied to instances in a Region or * instances in a specific Availability Zone.
*/ inline ReservedInstancesConfiguration& WithScope(const Scope& value) { SetScope(value); return *this;} /** *Whether the Reserved Instance is applied to instances in a Region or * instances in a specific Availability Zone.
*/ inline ReservedInstancesConfiguration& WithScope(Scope&& value) { SetScope(std::move(value)); return *this;} private: Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; int m_instanceCount; bool m_instanceCountHasBeenSet = false; InstanceType m_instanceType; bool m_instanceTypeHasBeenSet = false; Aws::String m_platform; bool m_platformHasBeenSet = false; Scope m_scope; bool m_scopeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws