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

Describes a Spot Fleet request.

See Also:

AWS * API Reference

*/ class SpotFleetRequestConfig { public: AWS_EC2_API SpotFleetRequestConfig(); AWS_EC2_API SpotFleetRequestConfig(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API SpotFleetRequestConfig& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The progress of the Spot Fleet request. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the fleet is decreased, the status is pending_termination * while Spot Instances are terminating.

*/ inline const ActivityStatus& GetActivityStatus() const{ return m_activityStatus; } /** *

The progress of the Spot Fleet request. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the fleet is decreased, the status is pending_termination * while Spot Instances are terminating.

*/ inline bool ActivityStatusHasBeenSet() const { return m_activityStatusHasBeenSet; } /** *

The progress of the Spot Fleet request. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the fleet is decreased, the status is pending_termination * while Spot Instances are terminating.

*/ inline void SetActivityStatus(const ActivityStatus& value) { m_activityStatusHasBeenSet = true; m_activityStatus = value; } /** *

The progress of the Spot Fleet request. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the fleet is decreased, the status is pending_termination * while Spot Instances are terminating.

*/ inline void SetActivityStatus(ActivityStatus&& value) { m_activityStatusHasBeenSet = true; m_activityStatus = std::move(value); } /** *

The progress of the Spot Fleet request. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the fleet is decreased, the status is pending_termination * while Spot Instances are terminating.

*/ inline SpotFleetRequestConfig& WithActivityStatus(const ActivityStatus& value) { SetActivityStatus(value); return *this;} /** *

The progress of the Spot Fleet request. If there is an error, the status is * error. After all requests are placed, the status is * pending_fulfillment. If the size of the fleet is equal to or * greater than its target capacity, the status is fulfilled. If the * size of the fleet is decreased, the status is pending_termination * while Spot Instances are terminating.

*/ inline SpotFleetRequestConfig& WithActivityStatus(ActivityStatus&& value) { SetActivityStatus(std::move(value)); return *this;} /** *

The creation date and time of the request.

*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *

The creation date and time of the request.

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

The creation date and time of the request.

*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

The creation date and time of the request.

*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

The creation date and time of the request.

*/ inline SpotFleetRequestConfig& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *

The creation date and time of the request.

*/ inline SpotFleetRequestConfig& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *

The configuration of the Spot Fleet request.

*/ inline const SpotFleetRequestConfigData& GetSpotFleetRequestConfig() const{ return m_spotFleetRequestConfig; } /** *

The configuration of the Spot Fleet request.

*/ inline bool SpotFleetRequestConfigHasBeenSet() const { return m_spotFleetRequestConfigHasBeenSet; } /** *

The configuration of the Spot Fleet request.

*/ inline void SetSpotFleetRequestConfig(const SpotFleetRequestConfigData& value) { m_spotFleetRequestConfigHasBeenSet = true; m_spotFleetRequestConfig = value; } /** *

The configuration of the Spot Fleet request.

*/ inline void SetSpotFleetRequestConfig(SpotFleetRequestConfigData&& value) { m_spotFleetRequestConfigHasBeenSet = true; m_spotFleetRequestConfig = std::move(value); } /** *

The configuration of the Spot Fleet request.

*/ inline SpotFleetRequestConfig& WithSpotFleetRequestConfig(const SpotFleetRequestConfigData& value) { SetSpotFleetRequestConfig(value); return *this;} /** *

The configuration of the Spot Fleet request.

*/ inline SpotFleetRequestConfig& WithSpotFleetRequestConfig(SpotFleetRequestConfigData&& value) { SetSpotFleetRequestConfig(std::move(value)); return *this;} /** *

The ID of the Spot Fleet request.

*/ inline const Aws::String& GetSpotFleetRequestId() const{ return m_spotFleetRequestId; } /** *

The ID of the Spot Fleet request.

*/ inline bool SpotFleetRequestIdHasBeenSet() const { return m_spotFleetRequestIdHasBeenSet; } /** *

The ID of the Spot Fleet request.

*/ inline void SetSpotFleetRequestId(const Aws::String& value) { m_spotFleetRequestIdHasBeenSet = true; m_spotFleetRequestId = value; } /** *

The ID of the Spot Fleet request.

*/ inline void SetSpotFleetRequestId(Aws::String&& value) { m_spotFleetRequestIdHasBeenSet = true; m_spotFleetRequestId = std::move(value); } /** *

The ID of the Spot Fleet request.

*/ inline void SetSpotFleetRequestId(const char* value) { m_spotFleetRequestIdHasBeenSet = true; m_spotFleetRequestId.assign(value); } /** *

The ID of the Spot Fleet request.

*/ inline SpotFleetRequestConfig& WithSpotFleetRequestId(const Aws::String& value) { SetSpotFleetRequestId(value); return *this;} /** *

The ID of the Spot Fleet request.

*/ inline SpotFleetRequestConfig& WithSpotFleetRequestId(Aws::String&& value) { SetSpotFleetRequestId(std::move(value)); return *this;} /** *

The ID of the Spot Fleet request.

*/ inline SpotFleetRequestConfig& WithSpotFleetRequestId(const char* value) { SetSpotFleetRequestId(value); return *this;} /** *

The state of the Spot Fleet request.

*/ inline const BatchState& GetSpotFleetRequestState() const{ return m_spotFleetRequestState; } /** *

The state of the Spot Fleet request.

*/ inline bool SpotFleetRequestStateHasBeenSet() const { return m_spotFleetRequestStateHasBeenSet; } /** *

The state of the Spot Fleet request.

*/ inline void SetSpotFleetRequestState(const BatchState& value) { m_spotFleetRequestStateHasBeenSet = true; m_spotFleetRequestState = value; } /** *

The state of the Spot Fleet request.

*/ inline void SetSpotFleetRequestState(BatchState&& value) { m_spotFleetRequestStateHasBeenSet = true; m_spotFleetRequestState = std::move(value); } /** *

The state of the Spot Fleet request.

*/ inline SpotFleetRequestConfig& WithSpotFleetRequestState(const BatchState& value) { SetSpotFleetRequestState(value); return *this;} /** *

The state of the Spot Fleet request.

*/ inline SpotFleetRequestConfig& WithSpotFleetRequestState(BatchState&& value) { SetSpotFleetRequestState(std::move(value)); return *this;} /** *

The tags for a Spot Fleet resource.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

The tags for a Spot Fleet resource.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

The tags for a Spot Fleet resource.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

The tags for a Spot Fleet resource.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

The tags for a Spot Fleet resource.

*/ inline SpotFleetRequestConfig& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

The tags for a Spot Fleet resource.

*/ inline SpotFleetRequestConfig& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

The tags for a Spot Fleet resource.

*/ inline SpotFleetRequestConfig& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

The tags for a Spot Fleet resource.

*/ inline SpotFleetRequestConfig& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: ActivityStatus m_activityStatus; bool m_activityStatusHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; SpotFleetRequestConfigData m_spotFleetRequestConfig; bool m_spotFleetRequestConfigHasBeenSet = false; Aws::String m_spotFleetRequestId; bool m_spotFleetRequestIdHasBeenSet = false; BatchState m_spotFleetRequestState; bool m_spotFleetRequestStateHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws