/** * 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 { namespace Utils { namespace Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

Describe details about a fast-launch enabled Windows image that meets the * requested criteria. Criteria are defined by the * DescribeFastLaunchImages action filters.

See Also:

* AWS * API Reference

*/ class DescribeFastLaunchImagesSuccessItem { public: AWS_EC2_API DescribeFastLaunchImagesSuccessItem(); AWS_EC2_API DescribeFastLaunchImagesSuccessItem(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API DescribeFastLaunchImagesSuccessItem& 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 image ID that identifies the fast-launch enabled Windows image.

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

The image ID that identifies the fast-launch enabled Windows image.

*/ inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; } /** *

The image ID that identifies the fast-launch enabled Windows image.

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

The image ID that identifies the fast-launch enabled Windows image.

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

The image ID that identifies the fast-launch enabled Windows image.

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

The image ID that identifies the fast-launch enabled Windows image.

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

The image ID that identifies the fast-launch enabled Windows image.

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

The image ID that identifies the fast-launch enabled Windows image.

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

The resource type that is used for pre-provisioning the Windows AMI. * Supported values include: snapshot.

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

The resource type that is used for pre-provisioning the Windows AMI. * Supported values include: snapshot.

*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *

The resource type that is used for pre-provisioning the Windows AMI. * Supported values include: snapshot.

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

The resource type that is used for pre-provisioning the Windows AMI. * Supported values include: snapshot.

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

The resource type that is used for pre-provisioning the Windows AMI. * Supported values include: snapshot.

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

The resource type that is used for pre-provisioning the Windows AMI. * Supported values include: snapshot.

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

A group of parameters that are used for pre-provisioning the associated * Windows AMI using snapshots.

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

A group of parameters that are used for pre-provisioning the associated * Windows AMI using snapshots.

*/ inline bool SnapshotConfigurationHasBeenSet() const { return m_snapshotConfigurationHasBeenSet; } /** *

A group of parameters that are used for pre-provisioning the associated * Windows AMI using snapshots.

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

A group of parameters that are used for pre-provisioning the associated * Windows AMI using snapshots.

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

A group of parameters that are used for pre-provisioning the associated * Windows AMI using snapshots.

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

A group of parameters that are used for pre-provisioning the associated * Windows AMI using snapshots.

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

The launch template that the fast-launch enabled Windows AMI uses when it * launches Windows instances from pre-provisioned snapshots.

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

The launch template that the fast-launch enabled Windows AMI uses when it * launches Windows instances from pre-provisioned snapshots.

*/ inline bool LaunchTemplateHasBeenSet() const { return m_launchTemplateHasBeenSet; } /** *

The launch template that the fast-launch enabled Windows AMI uses when it * launches Windows instances from pre-provisioned snapshots.

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

The launch template that the fast-launch enabled Windows AMI uses when it * launches Windows instances from pre-provisioned snapshots.

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

The launch template that the fast-launch enabled Windows AMI uses when it * launches Windows instances from pre-provisioned snapshots.

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

The launch template that the fast-launch enabled Windows AMI uses when it * launches Windows instances from pre-provisioned snapshots.

*/ inline DescribeFastLaunchImagesSuccessItem& 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 bool MaxParallelLaunchesHasBeenSet() const { return m_maxParallelLaunchesHasBeenSet; } /** *

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_maxParallelLaunchesHasBeenSet = true; 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 DescribeFastLaunchImagesSuccessItem& WithMaxParallelLaunches(int value) { SetMaxParallelLaunches(value); return *this;} /** *

The owner ID for the fast-launch enabled Windows AMI.

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

The owner ID for the fast-launch enabled Windows AMI.

*/ inline bool OwnerIdHasBeenSet() const { return m_ownerIdHasBeenSet; } /** *

The owner ID for the fast-launch enabled Windows AMI.

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

The owner ID for the fast-launch enabled Windows AMI.

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

The owner ID for the fast-launch enabled Windows AMI.

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

The owner ID for the fast-launch enabled Windows AMI.

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

The owner ID for the fast-launch enabled Windows AMI.

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

The owner ID for the fast-launch enabled Windows AMI.

*/ inline DescribeFastLaunchImagesSuccessItem& 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 bool StateHasBeenSet() const { return m_stateHasBeenSet; } /** *

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

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

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

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

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

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

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

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

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

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

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

*/ inline bool StateTransitionReasonHasBeenSet() const { return m_stateTransitionReasonHasBeenSet; } /** *

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*/ inline bool StateTransitionTimeHasBeenSet() const { return m_stateTransitionTimeHasBeenSet; } /** *

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

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

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

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

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

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

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

*/ inline DescribeFastLaunchImagesSuccessItem& WithStateTransitionTime(Aws::Utils::DateTime&& value) { SetStateTransitionTime(std::move(value)); return *this;} private: Aws::String m_imageId; bool m_imageIdHasBeenSet = false; FastLaunchResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; FastLaunchSnapshotConfigurationResponse m_snapshotConfiguration; bool m_snapshotConfigurationHasBeenSet = false; FastLaunchLaunchTemplateSpecificationResponse m_launchTemplate; bool m_launchTemplateHasBeenSet = false; int m_maxParallelLaunches; bool m_maxParallelLaunchesHasBeenSet = false; Aws::String m_ownerId; bool m_ownerIdHasBeenSet = false; FastLaunchStateCode m_state; bool m_stateHasBeenSet = false; Aws::String m_stateTransitionReason; bool m_stateTransitionReasonHasBeenSet = false; Aws::Utils::DateTime m_stateTransitionTime; bool m_stateTransitionTimeHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws