/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace EC2 { namespace Model { /** */ class EnableFastLaunchRequest : public EC2Request { public: AWS_EC2_API EnableFastLaunchRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "EnableFastLaunch"; } AWS_EC2_API Aws::String SerializePayload() const override; protected: AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

The ID of the image for which you’re enabling faster launching.

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

The ID of the image for which you’re enabling faster launching.

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

The ID of the image for which you’re enabling faster launching.

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

The ID of the image for which you’re enabling faster launching.

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

The ID of the image for which you’re enabling faster launching.

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

The ID of the image for which you’re enabling faster launching.

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

The ID of the image for which you’re enabling faster launching.

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

The ID of the image for which you’re enabling faster launching.

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

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

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

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

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

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

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

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

*/ inline EnableFastLaunchRequest& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

*/ inline EnableFastLaunchRequest& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

The type of resource to use for pre-provisioning the Windows AMI for faster * launching. Supported values include: snapshot, which is the default * value.

*/ inline EnableFastLaunchRequest& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

Configuration settings for creating and managing the snapshots that are used * for pre-provisioning the Windows AMI for faster launching. The associated * ResourceType must be snapshot.

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

Configuration settings for creating and managing the snapshots that are used * for pre-provisioning the Windows AMI for faster launching. The associated * ResourceType must be snapshot.

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

Configuration settings for creating and managing the snapshots that are used * for pre-provisioning the Windows AMI for faster launching. The associated * ResourceType must be snapshot.

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

Configuration settings for creating and managing the snapshots that are used * for pre-provisioning the Windows AMI for faster launching. The associated * ResourceType must be snapshot.

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

Configuration settings for creating and managing the snapshots that are used * for pre-provisioning the Windows AMI for faster launching. The associated * ResourceType must be snapshot.

*/ inline EnableFastLaunchRequest& WithSnapshotConfiguration(const FastLaunchSnapshotConfigurationRequest& value) { SetSnapshotConfiguration(value); return *this;} /** *

Configuration settings for creating and managing the snapshots that are used * for pre-provisioning the Windows AMI for faster launching. The associated * ResourceType must be snapshot.

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

The launch template to use when launching Windows instances from * pre-provisioned snapshots. Launch template parameters can include either the * name or ID of the launch template, but not both.

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

The launch template to use when launching Windows instances from * pre-provisioned snapshots. Launch template parameters can include either the * name or ID of the launch template, but not both.

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

The launch template to use when launching Windows instances from * pre-provisioned snapshots. Launch template parameters can include either the * name or ID of the launch template, but not both.

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

The launch template to use when launching Windows instances from * pre-provisioned snapshots. Launch template parameters can include either the * name or ID of the launch template, but not both.

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

The launch template to use when launching Windows instances from * pre-provisioned snapshots. Launch template parameters can include either the * name or ID of the launch template, but not both.

*/ inline EnableFastLaunchRequest& WithLaunchTemplate(const FastLaunchLaunchTemplateSpecificationRequest& value) { SetLaunchTemplate(value); return *this;} /** *

The launch template to use when launching Windows instances from * pre-provisioned snapshots. Launch template parameters can include either the * name or ID of the launch template, but not both.

*/ inline EnableFastLaunchRequest& WithLaunchTemplate(FastLaunchLaunchTemplateSpecificationRequest&& 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. Value must be * 6 or greater.

*/ 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. Value must be * 6 or greater.

*/ 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. Value must be * 6 or greater.

*/ 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. Value must be * 6 or greater.

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

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline bool GetDryRun() const{ return m_dryRun; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline void SetDryRun(bool value) { m_dryRunHasBeenSet = true; m_dryRun = value; } /** *

Checks whether you have the required permissions for the action, without * actually making the request, and provides an error response. If you have the * required permissions, the error response is DryRunOperation. * Otherwise, it is UnauthorizedOperation.

*/ inline EnableFastLaunchRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} private: Aws::String m_imageId; bool m_imageIdHasBeenSet = false; Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; FastLaunchSnapshotConfigurationRequest m_snapshotConfiguration; bool m_snapshotConfigurationHasBeenSet = false; FastLaunchLaunchTemplateSpecificationRequest m_launchTemplate; bool m_launchTemplateHasBeenSet = false; int m_maxParallelLaunches; bool m_maxParallelLaunchesHasBeenSet = false; bool m_dryRun; bool m_dryRunHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws