7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ecs/ECSRequest.h>
10#include <aws/ecs/ECS_EXPORTS.h>
11#include <aws/ecs/model/AvailabilityZoneRebalancing.h>
12#include <aws/ecs/model/CapacityProviderStrategyItem.h>
13#include <aws/ecs/model/DeploymentConfiguration.h>
14#include <aws/ecs/model/DeploymentController.h>
15#include <aws/ecs/model/LaunchType.h>
16#include <aws/ecs/model/LoadBalancer.h>
17#include <aws/ecs/model/MonitoringConfiguration.h>
18#include <aws/ecs/model/NetworkConfiguration.h>
19#include <aws/ecs/model/PlacementConstraint.h>
20#include <aws/ecs/model/PlacementStrategy.h>
21#include <aws/ecs/model/PropagateTags.h>
22#include <aws/ecs/model/SchedulingStrategy.h>
23#include <aws/ecs/model/ServiceConnectConfiguration.h>
24#include <aws/ecs/model/ServiceRegistry.h>
25#include <aws/ecs/model/ServiceVolumeConfiguration.h>
26#include <aws/ecs/model/Tag.h>
27#include <aws/ecs/model/VpcLatticeConfiguration.h>
62 template <
typename ClusterT = Aws::String>
64 m_clusterHasBeenSet =
true;
65 m_cluster = std::forward<ClusterT>(value);
67 template <
typename ClusterT = Aws::String>
83 template <
typename ServiceNameT = Aws::String>
85 m_serviceNameHasBeenSet =
true;
86 m_serviceName = std::forward<ServiceNameT>(value);
88 template <
typename ServiceNameT = Aws::String>
109 template <
typename TaskDefinitionT = Aws::String>
111 m_taskDefinitionHasBeenSet =
true;
112 m_taskDefinition = std::forward<TaskDefinitionT>(value);
114 template <
typename TaskDefinitionT = Aws::String>
140 m_availabilityZoneRebalancingHasBeenSet =
true;
141 m_availabilityZoneRebalancing = value;
196 template <
typename LoadBalancersT = Aws::Vector<LoadBalancer>>
198 m_loadBalancersHasBeenSet =
true;
199 m_loadBalancers = std::forward<LoadBalancersT>(value);
201 template <
typename LoadBalancersT = Aws::Vector<LoadBalancer>>
206 template <
typename LoadBalancersT = LoadBalancer>
208 m_loadBalancersHasBeenSet =
true;
209 m_loadBalancers.emplace_back(std::forward<LoadBalancersT>(value));
225 template <
typename ServiceRegistriesT = Aws::Vector<ServiceRegistry>>
227 m_serviceRegistriesHasBeenSet =
true;
228 m_serviceRegistries = std::forward<ServiceRegistriesT>(value);
230 template <
typename ServiceRegistriesT = Aws::Vector<ServiceRegistry>>
235 template <
typename ServiceRegistriesT = ServiceRegistry>
237 m_serviceRegistriesHasBeenSet =
true;
238 m_serviceRegistries.emplace_back(std::forward<ServiceRegistriesT>(value));
254 m_desiredCountHasBeenSet =
true;
255 m_desiredCount = value;
271 template <
typename ClientTokenT = Aws::String>
273 m_clientTokenHasBeenSet =
true;
274 m_clientToken = std::forward<ClientTokenT>(value);
276 template <
typename ClientTokenT = Aws::String>
306 m_launchTypeHasBeenSet =
true;
307 m_launchType = value;
329 template <
typename CapacityProv
iderStrategyT = Aws::Vector<CapacityProv
iderStrategyItem>>
331 m_capacityProviderStrategyHasBeenSet =
true;
332 m_capacityProviderStrategy = std::forward<CapacityProviderStrategyT>(value);
334 template <
typename CapacityProv
iderStrategyT = Aws::Vector<CapacityProv
iderStrategyItem>>
339 template <
typename CapacityProv
iderStrategyT = CapacityProv
iderStrategyItem>
341 m_capacityProviderStrategyHasBeenSet =
true;
342 m_capacityProviderStrategy.emplace_back(std::forward<CapacityProviderStrategyT>(value));
359 template <
typename PlatformVersionT = Aws::String>
361 m_platformVersionHasBeenSet =
true;
362 m_platformVersion = std::forward<PlatformVersionT>(value);
364 template <
typename PlatformVersionT = Aws::String>
398 template <
typename RoleT = Aws::String>
400 m_roleHasBeenSet =
true;
401 m_role = std::forward<RoleT>(value);
403 template <
typename RoleT = Aws::String>
405 SetRole(std::forward<RoleT>(value));
417 template <
typename DeploymentConfigurationT = DeploymentConfiguration>
419 m_deploymentConfigurationHasBeenSet =
true;
420 m_deploymentConfiguration = std::forward<DeploymentConfigurationT>(value);
422 template <
typename DeploymentConfigurationT = DeploymentConfiguration>
437 template <
typename PlacementConstra
intsT = Aws::Vector<PlacementConstra
int>>
439 m_placementConstraintsHasBeenSet =
true;
440 m_placementConstraints = std::forward<PlacementConstraintsT>(value);
442 template <
typename PlacementConstra
intsT = Aws::Vector<PlacementConstra
int>>
447 template <
typename PlacementConstra
intsT = PlacementConstra
int>
449 m_placementConstraintsHasBeenSet =
true;
450 m_placementConstraints.emplace_back(std::forward<PlacementConstraintsT>(value));
462 template <
typename PlacementStrategyT = Aws::Vector<PlacementStrategy>>
464 m_placementStrategyHasBeenSet =
true;
465 m_placementStrategy = std::forward<PlacementStrategyT>(value);
467 template <
typename PlacementStrategyT = Aws::Vector<PlacementStrategy>>
472 template <
typename PlacementStrategyT = PlacementStrategy>
474 m_placementStrategyHasBeenSet =
true;
475 m_placementStrategy.emplace_back(std::forward<PlacementStrategyT>(value));
492 template <
typename NetworkConfigurationT = NetworkConfiguration>
494 m_networkConfigurationHasBeenSet =
true;
495 m_networkConfiguration = std::forward<NetworkConfigurationT>(value);
497 template <
typename NetworkConfigurationT = NetworkConfiguration>
517 m_healthCheckGracePeriodSecondsHasBeenSet =
true;
518 m_healthCheckGracePeriodSeconds = value;
551 m_schedulingStrategyHasBeenSet =
true;
552 m_schedulingStrategy = value;
567 template <
typename DeploymentControllerT = DeploymentController>
569 m_deploymentControllerHasBeenSet =
true;
570 m_deploymentController = std::forward<DeploymentControllerT>(value);
572 template <
typename DeploymentControllerT = DeploymentController>
601 template <
typename TagsT = Aws::Vector<Tag>>
603 m_tagsHasBeenSet =
true;
604 m_tags = std::forward<TagsT>(value);
606 template <
typename TagsT = Aws::Vector<Tag>>
608 SetTags(std::forward<TagsT>(value));
611 template <
typename TagsT = Tag>
613 m_tagsHasBeenSet =
true;
614 m_tags.emplace_back(std::forward<TagsT>(value));
631 m_enableECSManagedTagsHasBeenSet =
true;
632 m_enableECSManagedTags = value;
656 m_propagateTagsHasBeenSet =
true;
657 m_propagateTags = value;
674 m_enableExecuteCommandHasBeenSet =
true;
675 m_enableExecuteCommand = value;
697 template <
typename ServiceConnectConfigurationT = ServiceConnectConfiguration>
699 m_serviceConnectConfigurationHasBeenSet =
true;
700 m_serviceConnectConfiguration = std::forward<ServiceConnectConfigurationT>(value);
702 template <
typename ServiceConnectConfigurationT = ServiceConnectConfiguration>
717 template <
typename VolumeConfigurationsT = Aws::Vector<ServiceVolumeConfiguration>>
719 m_volumeConfigurationsHasBeenSet =
true;
720 m_volumeConfigurations = std::forward<VolumeConfigurationsT>(value);
722 template <
typename VolumeConfigurationsT = Aws::Vector<ServiceVolumeConfiguration>>
727 template <
typename VolumeConfigurationsT = ServiceVolumeConfiguration>
729 m_volumeConfigurationsHasBeenSet =
true;
730 m_volumeConfigurations.emplace_back(std::forward<VolumeConfigurationsT>(value));
741 template <
typename VpcLatticeConfigurationsT = Aws::Vector<VpcLatticeConfiguration>>
743 m_vpcLatticeConfigurationsHasBeenSet =
true;
744 m_vpcLatticeConfigurations = std::forward<VpcLatticeConfigurationsT>(value);
746 template <
typename VpcLatticeConfigurationsT = Aws::Vector<VpcLatticeConfiguration>>
751 template <
typename VpcLatticeConfigurationsT = VpcLatticeConfiguration>
753 m_vpcLatticeConfigurationsHasBeenSet =
true;
754 m_vpcLatticeConfigurations.emplace_back(std::forward<VpcLatticeConfigurationsT>(value));
768 template <
typename MonitoringT = MonitoringConfiguration>
770 m_monitoringHasBeenSet =
true;
771 m_monitoring = std::forward<MonitoringT>(value);
773 template <
typename MonitoringT = MonitoringConfiguration>
792 int m_desiredCount{0};
804 DeploymentConfiguration m_deploymentConfiguration;
810 NetworkConfiguration m_networkConfiguration;
812 int m_healthCheckGracePeriodSeconds{0};
816 DeploymentController m_deploymentController;
820 bool m_enableECSManagedTags{
false};
824 bool m_enableExecuteCommand{
false};
826 ServiceConnectConfiguration m_serviceConnectConfiguration;
832 MonitoringConfiguration m_monitoring;
833 bool m_clusterHasBeenSet =
false;
834 bool m_serviceNameHasBeenSet =
false;
835 bool m_taskDefinitionHasBeenSet =
false;
836 bool m_availabilityZoneRebalancingHasBeenSet =
false;
837 bool m_loadBalancersHasBeenSet =
false;
838 bool m_serviceRegistriesHasBeenSet =
false;
839 bool m_desiredCountHasBeenSet =
false;
840 bool m_clientTokenHasBeenSet =
false;
841 bool m_launchTypeHasBeenSet =
false;
842 bool m_capacityProviderStrategyHasBeenSet =
false;
843 bool m_platformVersionHasBeenSet =
false;
844 bool m_roleHasBeenSet =
false;
845 bool m_deploymentConfigurationHasBeenSet =
false;
846 bool m_placementConstraintsHasBeenSet =
false;
847 bool m_placementStrategyHasBeenSet =
false;
848 bool m_networkConfigurationHasBeenSet =
false;
849 bool m_healthCheckGracePeriodSecondsHasBeenSet =
false;
850 bool m_schedulingStrategyHasBeenSet =
false;
851 bool m_deploymentControllerHasBeenSet =
false;
852 bool m_tagsHasBeenSet =
false;
853 bool m_enableECSManagedTagsHasBeenSet =
false;
854 bool m_propagateTagsHasBeenSet =
false;
855 bool m_enableExecuteCommandHasBeenSet =
false;
856 bool m_serviceConnectConfigurationHasBeenSet =
false;
857 bool m_volumeConfigurationsHasBeenSet =
false;
858 bool m_vpcLatticeConfigurationsHasBeenSet =
false;
859 bool m_monitoringHasBeenSet =
false;
LaunchType GetLaunchType() const
bool PlacementStrategyHasBeenSet() const
void SetTaskDefinition(TaskDefinitionT &&value)
AWS_ECS_API CreateServiceRequest()=default
void SetCluster(ClusterT &&value)
void SetHealthCheckGracePeriodSeconds(int value)
void SetDeploymentController(DeploymentControllerT &&value)
CreateServiceRequest & AddPlacementStrategy(PlacementStrategyT &&value)
void SetCapacityProviderStrategy(CapacityProviderStrategyT &&value)
CreateServiceRequest & WithLoadBalancers(LoadBalancersT &&value)
void SetRole(RoleT &&value)
void SetPlacementConstraints(PlacementConstraintsT &&value)
void SetEnableExecuteCommand(bool value)
bool RoleHasBeenSet() const
void SetVpcLatticeConfigurations(VpcLatticeConfigurationsT &&value)
const Aws::Vector< LoadBalancer > & GetLoadBalancers() const
void SetNetworkConfiguration(NetworkConfigurationT &&value)
CreateServiceRequest & WithPropagateTags(PropagateTags value)
CreateServiceRequest & WithMonitoring(MonitoringT &&value)
bool HealthCheckGracePeriodSecondsHasBeenSet() const
bool TagsHasBeenSet() const
bool AvailabilityZoneRebalancingHasBeenSet() const
const MonitoringConfiguration & GetMonitoring() const
CreateServiceRequest & AddVpcLatticeConfigurations(VpcLatticeConfigurationsT &&value)
void SetTags(TagsT &&value)
void SetServiceConnectConfiguration(ServiceConnectConfigurationT &&value)
CreateServiceRequest & WithVolumeConfigurations(VolumeConfigurationsT &&value)
bool CapacityProviderStrategyHasBeenSet() const
bool PropagateTagsHasBeenSet() const
CreateServiceRequest & AddCapacityProviderStrategy(CapacityProviderStrategyT &&value)
CreateServiceRequest & WithRole(RoleT &&value)
bool PlacementConstraintsHasBeenSet() const
CreateServiceRequest & AddServiceRegistries(ServiceRegistriesT &&value)
const DeploymentConfiguration & GetDeploymentConfiguration() const
bool GetEnableExecuteCommand() const
bool DeploymentControllerHasBeenSet() const
CreateServiceRequest & WithDeploymentController(DeploymentControllerT &&value)
CreateServiceRequest & WithPlacementConstraints(PlacementConstraintsT &&value)
CreateServiceRequest & AddVolumeConfigurations(VolumeConfigurationsT &&value)
const NetworkConfiguration & GetNetworkConfiguration() const
int GetHealthCheckGracePeriodSeconds() const
void SetPropagateTags(PropagateTags value)
CreateServiceRequest & AddLoadBalancers(LoadBalancersT &&value)
void SetLaunchType(LaunchType value)
CreateServiceRequest & WithEnableExecuteCommand(bool value)
AWS_ECS_API Aws::String SerializePayload() const override
bool LaunchTypeHasBeenSet() const
CreateServiceRequest & WithDeploymentConfiguration(DeploymentConfigurationT &&value)
CreateServiceRequest & WithClientToken(ClientTokenT &&value)
CreateServiceRequest & WithSchedulingStrategy(SchedulingStrategy value)
void SetDeploymentConfiguration(DeploymentConfigurationT &&value)
CreateServiceRequest & WithLaunchType(LaunchType value)
CreateServiceRequest & WithServiceConnectConfiguration(ServiceConnectConfigurationT &&value)
bool PlatformVersionHasBeenSet() const
CreateServiceRequest & WithEnableECSManagedTags(bool value)
bool ServiceConnectConfigurationHasBeenSet() const
const Aws::String & GetTaskDefinition() const
void SetClientToken(ClientTokenT &&value)
CreateServiceRequest & AddPlacementConstraints(PlacementConstraintsT &&value)
void SetMonitoring(MonitoringT &&value)
CreateServiceRequest & WithCapacityProviderStrategy(CapacityProviderStrategyT &&value)
void SetServiceRegistries(ServiceRegistriesT &&value)
CreateServiceRequest & WithHealthCheckGracePeriodSeconds(int value)
virtual const char * GetServiceRequestName() const override
const Aws::Vector< PlacementConstraint > & GetPlacementConstraints() const
SchedulingStrategy GetSchedulingStrategy() const
bool ClientTokenHasBeenSet() const
CreateServiceRequest & WithDesiredCount(int value)
const Aws::Vector< VpcLatticeConfiguration > & GetVpcLatticeConfigurations() const
bool EnableExecuteCommandHasBeenSet() const
AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
const Aws::Vector< ServiceRegistry > & GetServiceRegistries() const
const DeploymentController & GetDeploymentController() const
const Aws::Vector< Tag > & GetTags() const
bool DeploymentConfigurationHasBeenSet() const
const Aws::Vector< PlacementStrategy > & GetPlacementStrategy() const
void SetLoadBalancers(LoadBalancersT &&value)
const Aws::String & GetServiceName() const
bool VpcLatticeConfigurationsHasBeenSet() const
bool GetEnableECSManagedTags() const
CreateServiceRequest & WithServiceName(ServiceNameT &&value)
void SetAvailabilityZoneRebalancing(AvailabilityZoneRebalancing value)
bool DesiredCountHasBeenSet() const
void SetEnableECSManagedTags(bool value)
CreateServiceRequest & AddTags(TagsT &&value)
PropagateTags GetPropagateTags() const
bool ClusterHasBeenSet() const
void SetDesiredCount(int value)
CreateServiceRequest & WithCluster(ClusterT &&value)
void SetVolumeConfigurations(VolumeConfigurationsT &&value)
CreateServiceRequest & WithVpcLatticeConfigurations(VpcLatticeConfigurationsT &&value)
CreateServiceRequest & WithTaskDefinition(TaskDefinitionT &&value)
const Aws::String & GetPlatformVersion() const
CreateServiceRequest & WithPlatformVersion(PlatformVersionT &&value)
CreateServiceRequest & WithTags(TagsT &&value)
void SetPlacementStrategy(PlacementStrategyT &&value)
bool NetworkConfigurationHasBeenSet() const
const Aws::Vector< CapacityProviderStrategyItem > & GetCapacityProviderStrategy() const
const Aws::String & GetRole() const
bool TaskDefinitionHasBeenSet() const
CreateServiceRequest & WithPlacementStrategy(PlacementStrategyT &&value)
AvailabilityZoneRebalancing GetAvailabilityZoneRebalancing() const
void SetServiceName(ServiceNameT &&value)
void SetPlatformVersion(PlatformVersionT &&value)
bool ServiceNameHasBeenSet() const
bool VolumeConfigurationsHasBeenSet() const
int GetDesiredCount() const
bool EnableECSManagedTagsHasBeenSet() const
const Aws::String & GetClientToken() const
const ServiceConnectConfiguration & GetServiceConnectConfiguration() const
const Aws::Vector< ServiceVolumeConfiguration > & GetVolumeConfigurations() const
CreateServiceRequest & WithServiceRegistries(ServiceRegistriesT &&value)
bool ServiceRegistriesHasBeenSet() const
bool MonitoringHasBeenSet() const
bool LoadBalancersHasBeenSet() const
void SetSchedulingStrategy(SchedulingStrategy value)
CreateServiceRequest & WithAvailabilityZoneRebalancing(AvailabilityZoneRebalancing value)
const Aws::String & GetCluster() const
bool SchedulingStrategyHasBeenSet() const
CreateServiceRequest & WithNetworkConfiguration(NetworkConfigurationT &&value)
AvailabilityZoneRebalancing
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector