/** * 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 namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Xml { class XmlDocument; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { class EnableFastLaunchResponse { public: AWS_EC2_API EnableFastLaunchResponse(); AWS_EC2_API EnableFastLaunchResponse(const Aws::AmazonWebServiceResult& result); AWS_EC2_API EnableFastLaunchResponse& operator=(const Aws::AmazonWebServiceResult& result); /** *

The image ID that identifies the Windows AMI for which faster launching was * enabled.

*/ inline const Aws::String& GetImageId() const{ return m_imageId; } /** *

The image ID that identifies the Windows AMI for which faster launching was * enabled.

*/ inline void SetImageId(const Aws::String& value) { m_imageId = value; } /** *

The image ID that identifies the Windows AMI for which faster launching was * enabled.

*/ inline void SetImageId(Aws::String&& value) { m_imageId = std::move(value); } /** *

The image ID that identifies the Windows AMI for which faster launching was * enabled.

*/ inline void SetImageId(const char* value) { m_imageId.assign(value); } /** *

The image ID that identifies the Windows AMI for which faster launching was * enabled.

*/ inline EnableFastLaunchResponse& WithImageId(const Aws::String& value) { SetImageId(value); return *this;} /** *

The image ID that identifies the Windows AMI for which faster launching was * enabled.

*/ inline EnableFastLaunchResponse& WithImageId(Aws::String&& value) { SetImageId(std::move(value)); return *this;} /** *

The image ID that identifies the Windows AMI for which faster launching was * enabled.

*/ inline EnableFastLaunchResponse& WithImageId(const char* value) { SetImageId(value); return *this;} /** *

The type of resource that was defined for pre-provisioning the Windows AMI * for faster launching.

*/ inline const FastLaunchResourceType& GetResourceType() const{ return m_resourceType; } /** *

The type of resource that was defined for pre-provisioning the Windows AMI * for faster launching.

*/ inline void SetResourceType(const FastLaunchResourceType& value) { m_resourceType = value; } /** *

The type of resource that was defined for pre-provisioning the Windows AMI * for faster launching.

*/ inline void SetResourceType(FastLaunchResourceType&& value) { m_resourceType = std::move(value); } /** *

The type of resource that was defined for pre-provisioning the Windows AMI * for faster launching.

*/ inline EnableFastLaunchResponse& WithResourceType(const FastLaunchResourceType& value) { SetResourceType(value); return *this;} /** *

The type of resource that was defined for pre-provisioning the Windows AMI * for faster launching.

*/ inline EnableFastLaunchResponse& WithResourceType(FastLaunchResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *

Settings to create and manage the pre-provisioned snapshots that Amazon EC2 * uses for faster launches from the Windows AMI. This property is returned when * the associated resourceType is snapshot.

*/ inline const FastLaunchSnapshotConfigurationResponse& GetSnapshotConfiguration() const{ return m_snapshotConfiguration; } /** *

Settings to create and manage the pre-provisioned snapshots that Amazon EC2 * uses for faster launches from the Windows AMI. This property is returned when * the associated resourceType is snapshot.

*/ inline void SetSnapshotConfiguration(const FastLaunchSnapshotConfigurationResponse& value) { m_snapshotConfiguration = value; } /** *

Settings to create and manage the pre-provisioned snapshots that Amazon EC2 * uses for faster launches from the Windows AMI. This property is returned when * the associated resourceType is snapshot.

*/ inline void SetSnapshotConfiguration(FastLaunchSnapshotConfigurationResponse&& value) { m_snapshotConfiguration = std::move(value); } /** *

Settings to create and manage the pre-provisioned snapshots that Amazon EC2 * uses for faster launches from the Windows AMI. This property is returned when * the associated resourceType is snapshot.

*/ inline EnableFastLaunchResponse& WithSnapshotConfiguration(const FastLaunchSnapshotConfigurationResponse& value) { SetSnapshotConfiguration(value); return *this;} /** *

Settings to create and manage the pre-provisioned snapshots that Amazon EC2 * uses for faster launches from the Windows AMI. This property is returned when * the associated resourceType is snapshot.

*/ inline EnableFastLaunchResponse& WithSnapshotConfiguration(FastLaunchSnapshotConfigurationResponse&& value) { SetSnapshotConfiguration(std::move(value)); return *this;} /** *

The launch template that is used when launching Windows instances from * pre-provisioned snapshots.

*/ inline const FastLaunchLaunchTemplateSpecificationResponse& GetLaunchTemplate() const{ return m_launchTemplate; } /** *

The launch template that is used when launching Windows instances from * pre-provisioned snapshots.

*/ inline void SetLaunchTemplate(const FastLaunchLaunchTemplateSpecificationResponse& value) { m_launchTemplate = value; } /** *

The launch template that is used when launching Windows instances from * pre-provisioned snapshots.

*/ inline void SetLaunchTemplate(FastLaunchLaunchTemplateSpecificationResponse&& value) { m_launchTemplate = std::move(value); } /** *

The launch template that is used when launching Windows instances from * pre-provisioned snapshots.

*/ inline EnableFastLaunchResponse& WithLaunchTemplate(const FastLaunchLaunchTemplateSpecificationResponse& value) { SetLaunchTemplate(value); return *this;} /** *

The launch template that is used when launching Windows instances from * pre-provisioned snapshots.

*/ inline EnableFastLaunchResponse& WithLaunchTemplate(FastLaunchLaunchTemplateSpecificationResponse&& value) { SetLaunchTemplate(std::move(value)); return *this;} /** *

The maximum number of instances that Amazon EC2 can launch at the same time * to create pre-provisioned snapshots for Windows faster launching.

*/ inline int GetMaxParallelLaunches() const{ return m_maxParallelLaunches; } /** *

The maximum number of instances that Amazon EC2 can launch at the same time * to create pre-provisioned snapshots for Windows faster launching.

*/ inline void SetMaxParallelLaunches(int value) { m_maxParallelLaunches = value; } /** *

The maximum number of instances that Amazon EC2 can launch at the same time * to create pre-provisioned snapshots for Windows faster launching.

*/ inline EnableFastLaunchResponse& WithMaxParallelLaunches(int value) { SetMaxParallelLaunches(value); return *this;} /** *

The owner ID for the Windows AMI for which faster launching was enabled.

*/ inline const Aws::String& GetOwnerId() const{ return m_ownerId; } /** *

The owner ID for the Windows AMI for which faster launching was enabled.

*/ inline void SetOwnerId(const Aws::String& value) { m_ownerId = value; } /** *

The owner ID for the Windows AMI for which faster launching was enabled.

*/ inline void SetOwnerId(Aws::String&& value) { m_ownerId = std::move(value); } /** *

The owner ID for the Windows AMI for which faster launching was enabled.

*/ inline void SetOwnerId(const char* value) { m_ownerId.assign(value); } /** *

The owner ID for the Windows AMI for which faster launching was enabled.

*/ inline EnableFastLaunchResponse& WithOwnerId(const Aws::String& value) { SetOwnerId(value); return *this;} /** *

The owner ID for the Windows AMI for which faster launching was enabled.

*/ inline EnableFastLaunchResponse& WithOwnerId(Aws::String&& value) { SetOwnerId(std::move(value)); return *this;} /** *

The owner ID for the Windows AMI for which faster launching was enabled.

*/ inline EnableFastLaunchResponse& WithOwnerId(const char* value) { SetOwnerId(value); return *this;} /** *

The current state of faster launching for the specified Windows AMI.

*/ inline const FastLaunchStateCode& GetState() const{ return m_state; } /** *

The current state of faster launching for the specified Windows AMI.

*/ inline void SetState(const FastLaunchStateCode& value) { m_state = value; } /** *

The current state of faster launching for the specified Windows AMI.

*/ inline void SetState(FastLaunchStateCode&& value) { m_state = std::move(value); } /** *

The current state of faster launching for the specified Windows AMI.

*/ inline EnableFastLaunchResponse& WithState(const FastLaunchStateCode& value) { SetState(value); return *this;} /** *

The current state of faster launching for the specified Windows AMI.

*/ inline EnableFastLaunchResponse& WithState(FastLaunchStateCode&& value) { SetState(std::move(value)); return *this;} /** *

The reason that the state changed for faster launching for the Windows * AMI.

*/ inline const Aws::String& GetStateTransitionReason() const{ return m_stateTransitionReason; } /** *

The reason that the state changed for faster launching for the Windows * AMI.

*/ inline void SetStateTransitionReason(const Aws::String& value) { m_stateTransitionReason = value; } /** *

The reason that the state changed for faster launching for the Windows * AMI.

*/ inline void SetStateTransitionReason(Aws::String&& value) { m_stateTransitionReason = std::move(value); } /** *

The reason that the state changed for faster launching for the Windows * AMI.

*/ inline void SetStateTransitionReason(const char* value) { m_stateTransitionReason.assign(value); } /** *

The reason that the state changed for faster launching for the Windows * AMI.

*/ inline EnableFastLaunchResponse& WithStateTransitionReason(const Aws::String& value) { SetStateTransitionReason(value); return *this;} /** *

The reason that the state changed for faster launching for the Windows * AMI.

*/ inline EnableFastLaunchResponse& WithStateTransitionReason(Aws::String&& value) { SetStateTransitionReason(std::move(value)); return *this;} /** *

The reason that the state changed for faster launching for the Windows * AMI.

*/ inline EnableFastLaunchResponse& WithStateTransitionReason(const char* value) { SetStateTransitionReason(value); return *this;} /** *

The time that the state changed for faster launching for the Windows AMI.

*/ inline const Aws::Utils::DateTime& GetStateTransitionTime() const{ return m_stateTransitionTime; } /** *

The time that the state changed for faster launching for the Windows AMI.

*/ inline void SetStateTransitionTime(const Aws::Utils::DateTime& value) { m_stateTransitionTime = value; } /** *

The time that the state changed for faster launching for the Windows AMI.

*/ inline void SetStateTransitionTime(Aws::Utils::DateTime&& value) { m_stateTransitionTime = std::move(value); } /** *

The time that the state changed for faster launching for the Windows AMI.

*/ inline EnableFastLaunchResponse& WithStateTransitionTime(const Aws::Utils::DateTime& value) { SetStateTransitionTime(value); return *this;} /** *

The time that the state changed for faster launching for the Windows AMI.

*/ inline EnableFastLaunchResponse& WithStateTransitionTime(Aws::Utils::DateTime&& value) { SetStateTransitionTime(std::move(value)); return *this;} inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } inline EnableFastLaunchResponse& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} inline EnableFastLaunchResponse& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} private: Aws::String m_imageId; FastLaunchResourceType m_resourceType; FastLaunchSnapshotConfigurationResponse m_snapshotConfiguration; FastLaunchLaunchTemplateSpecificationResponse m_launchTemplate; int m_maxParallelLaunches; Aws::String m_ownerId; FastLaunchStateCode m_state; Aws::String m_stateTransitionReason; Aws::Utils::DateTime m_stateTransitionTime; ResponseMetadata m_responseMetadata; }; } // namespace Model } // namespace EC2 } // namespace Aws