/** * 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 #include #include #include namespace Aws { namespace EC2 { namespace Model { /** */ class CreateFleetRequest : public EC2Request { public: AWS_EC2_API CreateFleetRequest(); // 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 "CreateFleet"; } AWS_EC2_API Aws::String SerializePayload() const override; protected: AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri ) const override; public: /** *

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 CreateFleetRequest& WithDryRun(bool value) { SetDryRun(value); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline CreateFleetRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline CreateFleetRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

Unique, case-sensitive identifier that you provide to ensure the idempotency * of the request. For more information, see Ensuring * idempotency.

*/ inline CreateFleetRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

Describes the configuration of Spot Instances in an EC2 Fleet.

*/ inline const SpotOptionsRequest& GetSpotOptions() const{ return m_spotOptions; } /** *

Describes the configuration of Spot Instances in an EC2 Fleet.

*/ inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; } /** *

Describes the configuration of Spot Instances in an EC2 Fleet.

*/ inline void SetSpotOptions(const SpotOptionsRequest& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = value; } /** *

Describes the configuration of Spot Instances in an EC2 Fleet.

*/ inline void SetSpotOptions(SpotOptionsRequest&& value) { m_spotOptionsHasBeenSet = true; m_spotOptions = std::move(value); } /** *

Describes the configuration of Spot Instances in an EC2 Fleet.

*/ inline CreateFleetRequest& WithSpotOptions(const SpotOptionsRequest& value) { SetSpotOptions(value); return *this;} /** *

Describes the configuration of Spot Instances in an EC2 Fleet.

*/ inline CreateFleetRequest& WithSpotOptions(SpotOptionsRequest&& value) { SetSpotOptions(std::move(value)); return *this;} /** *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ inline const OnDemandOptionsRequest& GetOnDemandOptions() const{ return m_onDemandOptions; } /** *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ inline bool OnDemandOptionsHasBeenSet() const { return m_onDemandOptionsHasBeenSet; } /** *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ inline void SetOnDemandOptions(const OnDemandOptionsRequest& value) { m_onDemandOptionsHasBeenSet = true; m_onDemandOptions = value; } /** *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ inline void SetOnDemandOptions(OnDemandOptionsRequest&& value) { m_onDemandOptionsHasBeenSet = true; m_onDemandOptions = std::move(value); } /** *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ inline CreateFleetRequest& WithOnDemandOptions(const OnDemandOptionsRequest& value) { SetOnDemandOptions(value); return *this;} /** *

Describes the configuration of On-Demand Instances in an EC2 Fleet.

*/ inline CreateFleetRequest& WithOnDemandOptions(OnDemandOptionsRequest&& value) { SetOnDemandOptions(std::move(value)); return *this;} /** *

Indicates whether running instances should be terminated if the total target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline const FleetExcessCapacityTerminationPolicy& GetExcessCapacityTerminationPolicy() const{ return m_excessCapacityTerminationPolicy; } /** *

Indicates whether running instances should be terminated if the total target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline bool ExcessCapacityTerminationPolicyHasBeenSet() const { return m_excessCapacityTerminationPolicyHasBeenSet; } /** *

Indicates whether running instances should be terminated if the total target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline void SetExcessCapacityTerminationPolicy(const FleetExcessCapacityTerminationPolicy& value) { m_excessCapacityTerminationPolicyHasBeenSet = true; m_excessCapacityTerminationPolicy = value; } /** *

Indicates whether running instances should be terminated if the total target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline void SetExcessCapacityTerminationPolicy(FleetExcessCapacityTerminationPolicy&& value) { m_excessCapacityTerminationPolicyHasBeenSet = true; m_excessCapacityTerminationPolicy = std::move(value); } /** *

Indicates whether running instances should be terminated if the total target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline CreateFleetRequest& WithExcessCapacityTerminationPolicy(const FleetExcessCapacityTerminationPolicy& value) { SetExcessCapacityTerminationPolicy(value); return *this;} /** *

Indicates whether running instances should be terminated if the total target * capacity of the EC2 Fleet is decreased below the current size of the EC2 * Fleet.

Supported only for fleets of type maintain.

*/ inline CreateFleetRequest& WithExcessCapacityTerminationPolicy(FleetExcessCapacityTerminationPolicy&& value) { SetExcessCapacityTerminationPolicy(std::move(value)); return *this;} /** *

The configuration for the EC2 Fleet.

*/ inline const Aws::Vector& GetLaunchTemplateConfigs() const{ return m_launchTemplateConfigs; } /** *

The configuration for the EC2 Fleet.

*/ inline bool LaunchTemplateConfigsHasBeenSet() const { return m_launchTemplateConfigsHasBeenSet; } /** *

The configuration for the EC2 Fleet.

*/ inline void SetLaunchTemplateConfigs(const Aws::Vector& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs = value; } /** *

The configuration for the EC2 Fleet.

*/ inline void SetLaunchTemplateConfigs(Aws::Vector&& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs = std::move(value); } /** *

The configuration for the EC2 Fleet.

*/ inline CreateFleetRequest& WithLaunchTemplateConfigs(const Aws::Vector& value) { SetLaunchTemplateConfigs(value); return *this;} /** *

The configuration for the EC2 Fleet.

*/ inline CreateFleetRequest& WithLaunchTemplateConfigs(Aws::Vector&& value) { SetLaunchTemplateConfigs(std::move(value)); return *this;} /** *

The configuration for the EC2 Fleet.

*/ inline CreateFleetRequest& AddLaunchTemplateConfigs(const FleetLaunchTemplateConfigRequest& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs.push_back(value); return *this; } /** *

The configuration for the EC2 Fleet.

*/ inline CreateFleetRequest& AddLaunchTemplateConfigs(FleetLaunchTemplateConfigRequest&& value) { m_launchTemplateConfigsHasBeenSet = true; m_launchTemplateConfigs.push_back(std::move(value)); return *this; } /** *

The number of units to request.

*/ inline const TargetCapacitySpecificationRequest& GetTargetCapacitySpecification() const{ return m_targetCapacitySpecification; } /** *

The number of units to request.

*/ inline bool TargetCapacitySpecificationHasBeenSet() const { return m_targetCapacitySpecificationHasBeenSet; } /** *

The number of units to request.

*/ inline void SetTargetCapacitySpecification(const TargetCapacitySpecificationRequest& value) { m_targetCapacitySpecificationHasBeenSet = true; m_targetCapacitySpecification = value; } /** *

The number of units to request.

*/ inline void SetTargetCapacitySpecification(TargetCapacitySpecificationRequest&& value) { m_targetCapacitySpecificationHasBeenSet = true; m_targetCapacitySpecification = std::move(value); } /** *

The number of units to request.

*/ inline CreateFleetRequest& WithTargetCapacitySpecification(const TargetCapacitySpecificationRequest& value) { SetTargetCapacitySpecification(value); return *this;} /** *

The number of units to request.

*/ inline CreateFleetRequest& WithTargetCapacitySpecification(TargetCapacitySpecificationRequest&& value) { SetTargetCapacitySpecification(std::move(value)); return *this;} /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline bool GetTerminateInstancesWithExpiration() const{ return m_terminateInstancesWithExpiration; } /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline bool TerminateInstancesWithExpirationHasBeenSet() const { return m_terminateInstancesWithExpirationHasBeenSet; } /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline void SetTerminateInstancesWithExpiration(bool value) { m_terminateInstancesWithExpirationHasBeenSet = true; m_terminateInstancesWithExpiration = value; } /** *

Indicates whether running instances should be terminated when the EC2 Fleet * expires.

*/ inline CreateFleetRequest& WithTerminateInstancesWithExpiration(bool value) { SetTerminateInstancesWithExpiration(value); return *this;} /** *

The fleet type. The default value is maintain.

  • * maintain - The EC2 Fleet places an asynchronous request for your * desired capacity, and continues to maintain your desired Spot capacity by * replenishing interrupted Spot Instances.

  • request * - The EC2 Fleet places an asynchronous one-time request for your desired * capacity, but does submit Spot requests in alternative capacity pools if Spot * capacity is unavailable, and does not maintain Spot capacity if Spot Instances * are interrupted.

  • instant - The EC2 Fleet places * a synchronous one-time request for your desired capacity, and returns errors for * any instances that could not be launched.

For more * information, see EC2 * Fleet request types in the Amazon EC2 User Guide.

*/ inline const FleetType& GetType() const{ return m_type; } /** *

The fleet type. The default value is maintain.

  • * maintain - The EC2 Fleet places an asynchronous request for your * desired capacity, and continues to maintain your desired Spot capacity by * replenishing interrupted Spot Instances.

  • request * - The EC2 Fleet places an asynchronous one-time request for your desired * capacity, but does submit Spot requests in alternative capacity pools if Spot * capacity is unavailable, and does not maintain Spot capacity if Spot Instances * are interrupted.

  • instant - The EC2 Fleet places * a synchronous one-time request for your desired capacity, and returns errors for * any instances that could not be launched.

For more * information, see EC2 * Fleet request types in the Amazon EC2 User Guide.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The fleet type. The default value is maintain.

  • * maintain - The EC2 Fleet places an asynchronous request for your * desired capacity, and continues to maintain your desired Spot capacity by * replenishing interrupted Spot Instances.

  • request * - The EC2 Fleet places an asynchronous one-time request for your desired * capacity, but does submit Spot requests in alternative capacity pools if Spot * capacity is unavailable, and does not maintain Spot capacity if Spot Instances * are interrupted.

  • instant - The EC2 Fleet places * a synchronous one-time request for your desired capacity, and returns errors for * any instances that could not be launched.

For more * information, see EC2 * Fleet request types in the Amazon EC2 User Guide.

*/ inline void SetType(const FleetType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The fleet type. The default value is maintain.

  • * maintain - The EC2 Fleet places an asynchronous request for your * desired capacity, and continues to maintain your desired Spot capacity by * replenishing interrupted Spot Instances.

  • request * - The EC2 Fleet places an asynchronous one-time request for your desired * capacity, but does submit Spot requests in alternative capacity pools if Spot * capacity is unavailable, and does not maintain Spot capacity if Spot Instances * are interrupted.

  • instant - The EC2 Fleet places * a synchronous one-time request for your desired capacity, and returns errors for * any instances that could not be launched.

For more * information, see EC2 * Fleet request types in the Amazon EC2 User Guide.

*/ inline void SetType(FleetType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The fleet type. The default value is maintain.

  • * maintain - The EC2 Fleet places an asynchronous request for your * desired capacity, and continues to maintain your desired Spot capacity by * replenishing interrupted Spot Instances.

  • request * - The EC2 Fleet places an asynchronous one-time request for your desired * capacity, but does submit Spot requests in alternative capacity pools if Spot * capacity is unavailable, and does not maintain Spot capacity if Spot Instances * are interrupted.

  • instant - The EC2 Fleet places * a synchronous one-time request for your desired capacity, and returns errors for * any instances that could not be launched.

For more * information, see EC2 * Fleet request types in the Amazon EC2 User Guide.

*/ inline CreateFleetRequest& WithType(const FleetType& value) { SetType(value); return *this;} /** *

The fleet type. The default value is maintain.

  • * maintain - The EC2 Fleet places an asynchronous request for your * desired capacity, and continues to maintain your desired Spot capacity by * replenishing interrupted Spot Instances.

  • request * - The EC2 Fleet places an asynchronous one-time request for your desired * capacity, but does submit Spot requests in alternative capacity pools if Spot * capacity is unavailable, and does not maintain Spot capacity if Spot Instances * are interrupted.

  • instant - The EC2 Fleet places * a synchronous one-time request for your desired capacity, and returns errors for * any instances that could not be launched.

For more * information, see EC2 * Fleet request types in the Amazon EC2 User Guide.

*/ inline CreateFleetRequest& WithType(FleetType&& value) { SetType(std::move(value)); return *this;} /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline const Aws::Utils::DateTime& GetValidFrom() const{ return m_validFrom; } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline bool ValidFromHasBeenSet() const { return m_validFromHasBeenSet; } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline void SetValidFrom(const Aws::Utils::DateTime& value) { m_validFromHasBeenSet = true; m_validFrom = value; } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline void SetValidFrom(Aws::Utils::DateTime&& value) { m_validFromHasBeenSet = true; m_validFrom = std::move(value); } /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline CreateFleetRequest& WithValidFrom(const Aws::Utils::DateTime& value) { SetValidFrom(value); return *this;} /** *

The start date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). The default is * to start fulfilling the request immediately.

*/ inline CreateFleetRequest& WithValidFrom(Aws::Utils::DateTime&& value) { SetValidFrom(std::move(value)); return *this;} /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new EC2 Fleet requests are placed or able to fulfill the request. If no value * is specified, the request remains until you cancel it.

*/ inline const Aws::Utils::DateTime& GetValidUntil() const{ return m_validUntil; } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new EC2 Fleet requests are placed or able to fulfill the request. If no value * is specified, the request remains until you cancel it.

*/ inline bool ValidUntilHasBeenSet() const { return m_validUntilHasBeenSet; } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new EC2 Fleet requests are placed or able to fulfill the request. If no value * is specified, the request remains until you cancel it.

*/ inline void SetValidUntil(const Aws::Utils::DateTime& value) { m_validUntilHasBeenSet = true; m_validUntil = value; } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new EC2 Fleet requests are placed or able to fulfill the request. If no value * is specified, the request remains until you cancel it.

*/ inline void SetValidUntil(Aws::Utils::DateTime&& value) { m_validUntilHasBeenSet = true; m_validUntil = std::move(value); } /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new EC2 Fleet requests are placed or able to fulfill the request. If no value * is specified, the request remains until you cancel it.

*/ inline CreateFleetRequest& WithValidUntil(const Aws::Utils::DateTime& value) { SetValidUntil(value); return *this;} /** *

The end date and time of the request, in UTC format (for example, * YYYY-MM-DDTHH:MM:SSZ). At this point, * no new EC2 Fleet requests are placed or able to fulfill the request. If no value * is specified, the request remains until you cancel it.

*/ inline CreateFleetRequest& WithValidUntil(Aws::Utils::DateTime&& value) { SetValidUntil(std::move(value)); return *this;} /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline bool GetReplaceUnhealthyInstances() const{ return m_replaceUnhealthyInstances; } /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline bool ReplaceUnhealthyInstancesHasBeenSet() const { return m_replaceUnhealthyInstancesHasBeenSet; } /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline void SetReplaceUnhealthyInstances(bool value) { m_replaceUnhealthyInstancesHasBeenSet = true; m_replaceUnhealthyInstances = value; } /** *

Indicates whether EC2 Fleet should replace unhealthy Spot Instances. * Supported only for fleets of type maintain. For more information, * see EC2 * Fleet health checks in the Amazon EC2 User Guide.

*/ inline CreateFleetRequest& WithReplaceUnhealthyInstances(bool value) { SetReplaceUnhealthyInstances(value); return *this;} /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline const Aws::Vector& GetTagSpecifications() const{ return m_tagSpecifications; } /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; } /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline void SetTagSpecifications(const Aws::Vector& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = value; } /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline void SetTagSpecifications(Aws::Vector&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications = std::move(value); } /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline CreateFleetRequest& WithTagSpecifications(const Aws::Vector& value) { SetTagSpecifications(value); return *this;} /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline CreateFleetRequest& WithTagSpecifications(Aws::Vector&& value) { SetTagSpecifications(std::move(value)); return *this;} /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline CreateFleetRequest& AddTagSpecifications(const TagSpecification& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(value); return *this; } /** *

The key-value pair for tagging the EC2 Fleet request on creation. For more * information, see Tagging * your resources.

If the fleet type is instant, specify a * resource type of fleet to tag the fleet or instance to * tag the instances at launch.

If the fleet type is maintain * or request, specify a resource type of fleet to tag * the fleet. You cannot specify a resource type of instance. To tag * instances at launch, specify the tags in a launch * template.

*/ inline CreateFleetRequest& AddTagSpecifications(TagSpecification&& value) { m_tagSpecificationsHasBeenSet = true; m_tagSpecifications.push_back(std::move(value)); return *this; } /** *

Reserved.

*/ inline const Aws::String& GetContext() const{ return m_context; } /** *

Reserved.

*/ inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; } /** *

Reserved.

*/ inline void SetContext(const Aws::String& value) { m_contextHasBeenSet = true; m_context = value; } /** *

Reserved.

*/ inline void SetContext(Aws::String&& value) { m_contextHasBeenSet = true; m_context = std::move(value); } /** *

Reserved.

*/ inline void SetContext(const char* value) { m_contextHasBeenSet = true; m_context.assign(value); } /** *

Reserved.

*/ inline CreateFleetRequest& WithContext(const Aws::String& value) { SetContext(value); return *this;} /** *

Reserved.

*/ inline CreateFleetRequest& WithContext(Aws::String&& value) { SetContext(std::move(value)); return *this;} /** *

Reserved.

*/ inline CreateFleetRequest& WithContext(const char* value) { SetContext(value); return *this;} private: bool m_dryRun; bool m_dryRunHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; SpotOptionsRequest m_spotOptions; bool m_spotOptionsHasBeenSet = false; OnDemandOptionsRequest m_onDemandOptions; bool m_onDemandOptionsHasBeenSet = false; FleetExcessCapacityTerminationPolicy m_excessCapacityTerminationPolicy; bool m_excessCapacityTerminationPolicyHasBeenSet = false; Aws::Vector m_launchTemplateConfigs; bool m_launchTemplateConfigsHasBeenSet = false; TargetCapacitySpecificationRequest m_targetCapacitySpecification; bool m_targetCapacitySpecificationHasBeenSet = false; bool m_terminateInstancesWithExpiration; bool m_terminateInstancesWithExpirationHasBeenSet = false; FleetType m_type; bool m_typeHasBeenSet = false; Aws::Utils::DateTime m_validFrom; bool m_validFromHasBeenSet = false; Aws::Utils::DateTime m_validUntil; bool m_validUntilHasBeenSet = false; bool m_replaceUnhealthyInstances; bool m_replaceUnhealthyInstancesHasBeenSet = false; Aws::Vector m_tagSpecifications; bool m_tagSpecificationsHasBeenSet = false; Aws::String m_context; bool m_contextHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws