7#include <aws/batch/Batch_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/batch/model/CRUpdateAllocationStrategy.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/batch/model/LaunchTemplateSpecification.h>
13#include <aws/batch/model/CRType.h>
14#include <aws/batch/model/Ec2Configuration.h>
59 inline void SetMinvCpus(
int value) { m_minvCpusHasBeenSet =
true; m_minvCpus = value; }
76 inline void SetMaxvCpus(
int value) { m_maxvCpusHasBeenSet =
true; m_maxvCpus = value; }
98 inline void SetDesiredvCpus(
int value) { m_desiredvCpusHasBeenSet =
true; m_desiredvCpus = value; }
129 template<
typename SubnetsT = Aws::Vector<Aws::String>>
130 void SetSubnets(SubnetsT&& value) { m_subnetsHasBeenSet =
true; m_subnets = std::forward<SubnetsT>(value); }
131 template<
typename SubnetsT = Aws::Vector<Aws::String>>
133 template<
typename SubnetsT = Aws::String>
153 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
154 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
155 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
157 template<
typename SecurityGroupIdsT = Aws::String>
226 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
227 void SetInstanceTypes(InstanceTypesT&& value) { m_instanceTypesHasBeenSet =
true; m_instanceTypes = std::forward<InstanceTypesT>(value); }
228 template<
typename InstanceTypesT = Aws::Vector<Aws::String>>
230 template<
typename InstanceTypesT = Aws::String>
248 template<
typename Ec2KeyPairT = Aws::String>
249 void SetEc2KeyPair(Ec2KeyPairT&& value) { m_ec2KeyPairHasBeenSet =
true; m_ec2KeyPair = std::forward<Ec2KeyPairT>(value); }
250 template<
typename Ec2KeyPairT = Aws::String>
273 template<
typename InstanceRoleT = Aws::String>
274 void SetInstanceRole(InstanceRoleT&& value) { m_instanceRoleHasBeenSet =
true; m_instanceRole = std::forward<InstanceRoleT>(value); }
275 template<
typename InstanceRoleT = Aws::String>
297 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
298 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
299 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
301 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
303 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
326 template<
typename PlacementGroupT = Aws::String>
327 void SetPlacementGroup(PlacementGroupT&& value) { m_placementGroupHasBeenSet =
true; m_placementGroup = std::forward<PlacementGroupT>(value); }
328 template<
typename PlacementGroupT = Aws::String>
349 inline void SetBidPercentage(
int value) { m_bidPercentageHasBeenSet =
true; m_bidPercentage = value; }
375 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
376 void SetLaunchTemplate(LaunchTemplateT&& value) { m_launchTemplateHasBeenSet =
true; m_launchTemplate = std::forward<LaunchTemplateT>(value); }
377 template<
typename LaunchTemplateT = LaunchTemplateSpecification>
397 template<
typename Ec2ConfigurationT = Aws::Vector<Ec2Configuration>>
398 void SetEc2Configuration(Ec2ConfigurationT&& value) { m_ec2ConfigurationHasBeenSet =
true; m_ec2Configuration = std::forward<Ec2ConfigurationT>(value); }
399 template<
typename Ec2ConfigurationT = Aws::Vector<Ec2Configuration>>
401 template<
typename Ec2ConfigurationT = Ec2Configuration>
445 inline void SetType(
CRType value) { m_typeHasBeenSet =
true; m_type = value; }
472 template<
typename ImageIdT = Aws::String>
473 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet =
true; m_imageId = std::forward<ImageIdT>(value); }
474 template<
typename ImageIdT = Aws::String>
480 bool m_minvCpusHasBeenSet =
false;
483 bool m_maxvCpusHasBeenSet =
false;
485 int m_desiredvCpus{0};
486 bool m_desiredvCpusHasBeenSet =
false;
489 bool m_subnetsHasBeenSet =
false;
492 bool m_securityGroupIdsHasBeenSet =
false;
495 bool m_allocationStrategyHasBeenSet =
false;
498 bool m_instanceTypesHasBeenSet =
false;
501 bool m_ec2KeyPairHasBeenSet =
false;
504 bool m_instanceRoleHasBeenSet =
false;
507 bool m_tagsHasBeenSet =
false;
510 bool m_placementGroupHasBeenSet =
false;
512 int m_bidPercentage{0};
513 bool m_bidPercentageHasBeenSet =
false;
515 LaunchTemplateSpecification m_launchTemplate;
516 bool m_launchTemplateHasBeenSet =
false;
519 bool m_ec2ConfigurationHasBeenSet =
false;
521 bool m_updateToLatestImageVersion{
false};
522 bool m_updateToLatestImageVersionHasBeenSet =
false;
525 bool m_typeHasBeenSet =
false;
528 bool m_imageIdHasBeenSet =
false;
bool GetUpdateToLatestImageVersion() const
ComputeResourceUpdate & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetInstanceRole(InstanceRoleT &&value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
ComputeResourceUpdate & WithImageId(ImageIdT &&value)
void SetEc2Configuration(Ec2ConfigurationT &&value)
int GetBidPercentage() const
void SetAllocationStrategy(CRUpdateAllocationStrategy value)
void SetPlacementGroup(PlacementGroupT &&value)
ComputeResourceUpdate & WithType(CRType value)
bool PlacementGroupHasBeenSet() const
void SetLaunchTemplate(LaunchTemplateT &&value)
AWS_BATCH_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_BATCH_API ComputeResourceUpdate(Aws::Utils::Json::JsonView jsonValue)
bool InstanceRoleHasBeenSet() const
ComputeResourceUpdate & WithInstanceRole(InstanceRoleT &&value)
ComputeResourceUpdate & WithInstanceTypes(InstanceTypesT &&value)
const Aws::String & GetImageId() const
void SetInstanceTypes(InstanceTypesT &&value)
ComputeResourceUpdate & AddEc2Configuration(Ec2ConfigurationT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
ComputeResourceUpdate & AddInstanceTypes(InstanceTypesT &&value)
ComputeResourceUpdate & WithUpdateToLatestImageVersion(bool value)
const LaunchTemplateSpecification & GetLaunchTemplate() const
void SetBidPercentage(int value)
bool AllocationStrategyHasBeenSet() const
ComputeResourceUpdate & WithTags(TagsT &&value)
ComputeResourceUpdate & WithDesiredvCpus(int value)
void SetEc2KeyPair(Ec2KeyPairT &&value)
ComputeResourceUpdate & WithEc2Configuration(Ec2ConfigurationT &&value)
bool LaunchTemplateHasBeenSet() const
const Aws::String & GetPlacementGroup() const
bool Ec2ConfigurationHasBeenSet() const
const Aws::Vector< Aws::String > & GetInstanceTypes() const
bool ImageIdHasBeenSet() const
bool DesiredvCpusHasBeenSet() const
bool BidPercentageHasBeenSet() const
CRUpdateAllocationStrategy GetAllocationStrategy() const
ComputeResourceUpdate & WithEc2KeyPair(Ec2KeyPairT &&value)
bool SecurityGroupIdsHasBeenSet() const
ComputeResourceUpdate & WithSubnets(SubnetsT &&value)
const Aws::Vector< Ec2Configuration > & GetEc2Configuration() const
ComputeResourceUpdate & WithLaunchTemplate(LaunchTemplateT &&value)
ComputeResourceUpdate & AddSubnets(SubnetsT &&value)
ComputeResourceUpdate & WithPlacementGroup(PlacementGroupT &&value)
bool MaxvCpusHasBeenSet() const
const Aws::Vector< Aws::String > & GetSubnets() const
bool UpdateToLatestImageVersionHasBeenSet() const
bool Ec2KeyPairHasBeenSet() const
void SetType(CRType value)
void SetSubnets(SubnetsT &&value)
const Aws::String & GetEc2KeyPair() const
int GetDesiredvCpus() const
bool SubnetsHasBeenSet() const
void SetMinvCpus(int value)
void SetMaxvCpus(int value)
AWS_BATCH_API ComputeResourceUpdate()=default
AWS_BATCH_API ComputeResourceUpdate & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
ComputeResourceUpdate & WithSecurityGroupIds(SecurityGroupIdsT &&value)
ComputeResourceUpdate & WithAllocationStrategy(CRUpdateAllocationStrategy value)
const Aws::String & GetInstanceRole() const
void SetTags(TagsT &&value)
void SetImageId(ImageIdT &&value)
ComputeResourceUpdate & WithBidPercentage(int value)
bool InstanceTypesHasBeenSet() const
void SetUpdateToLatestImageVersion(bool value)
bool MinvCpusHasBeenSet() const
ComputeResourceUpdate & AddTags(TagsKeyT &&key, TagsValueT &&value)
void SetDesiredvCpus(int value)
ComputeResourceUpdate & WithMinvCpus(int value)
bool TypeHasBeenSet() const
bool TagsHasBeenSet() const
ComputeResourceUpdate & WithMaxvCpus(int value)
CRUpdateAllocationStrategy
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue