7#include <aws/ecs/ECS_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ecs/model/LaunchType.h>
11#include <aws/ecs/model/DeploymentConfiguration.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/ecs/model/NetworkConfiguration.h>
14#include <aws/ecs/model/SchedulingStrategy.h>
15#include <aws/ecs/model/DeploymentController.h>
16#include <aws/ecs/model/PropagateTags.h>
17#include <aws/ecs/model/AvailabilityZoneRebalancing.h>
18#include <aws/ecs/model/LoadBalancer.h>
19#include <aws/ecs/model/ServiceRegistry.h>
20#include <aws/ecs/model/CapacityProviderStrategyItem.h>
21#include <aws/ecs/model/TaskSet.h>
22#include <aws/ecs/model/Deployment.h>
23#include <aws/ecs/model/ServiceEvent.h>
24#include <aws/ecs/model/PlacementConstraint.h>
25#include <aws/ecs/model/PlacementStrategy.h>
26#include <aws/ecs/model/Tag.h>
67 template<
typename ServiceArnT = Aws::String>
68 void SetServiceArn(ServiceArnT&& value) { m_serviceArnHasBeenSet =
true; m_serviceArn = std::forward<ServiceArnT>(value); }
69 template<
typename ServiceArnT = Aws::String>
82 template<
typename ServiceNameT = Aws::String>
83 void SetServiceName(ServiceNameT&& value) { m_serviceNameHasBeenSet =
true; m_serviceName = std::forward<ServiceNameT>(value); }
84 template<
typename ServiceNameT = Aws::String>
94 template<
typename ClusterArnT = Aws::String>
95 void SetClusterArn(ClusterArnT&& value) { m_clusterArnHasBeenSet =
true; m_clusterArn = std::forward<ClusterArnT>(value); }
96 template<
typename ClusterArnT = Aws::String>
109 template<
typename LoadBalancersT = Aws::Vector<LoadBalancer>>
110 void SetLoadBalancers(LoadBalancersT&& value) { m_loadBalancersHasBeenSet =
true; m_loadBalancers = std::forward<LoadBalancersT>(value); }
111 template<
typename LoadBalancersT = Aws::Vector<LoadBalancer>>
113 template<
typename LoadBalancersT = LoadBalancer>
114 Service&
AddLoadBalancers(LoadBalancersT&& value) { m_loadBalancersHasBeenSet =
true; m_loadBalancers.emplace_back(std::forward<LoadBalancersT>(value));
return *
this; }
126 template<
typename ServiceRegistriesT = Aws::Vector<ServiceRegistry>>
127 void SetServiceRegistries(ServiceRegistriesT&& value) { m_serviceRegistriesHasBeenSet =
true; m_serviceRegistries = std::forward<ServiceRegistriesT>(value); }
128 template<
typename ServiceRegistriesT = Aws::Vector<ServiceRegistry>>
130 template<
typename ServiceRegistriesT = ServiceRegistry>
131 Service&
AddServiceRegistries(ServiceRegistriesT&& value) { m_serviceRegistriesHasBeenSet =
true; m_serviceRegistries.emplace_back(std::forward<ServiceRegistriesT>(value));
return *
this; }
141 template<
typename StatusT = Aws::String>
142 void SetStatus(StatusT&& value) { m_statusHasBeenSet =
true; m_status = std::forward<StatusT>(value); }
143 template<
typename StatusT = Aws::String>
157 inline void SetDesiredCount(
int value) { m_desiredCountHasBeenSet =
true; m_desiredCount = value; }
168 inline void SetRunningCount(
int value) { m_runningCountHasBeenSet =
true; m_runningCount = value; }
179 inline void SetPendingCount(
int value) { m_pendingCountHasBeenSet =
true; m_pendingCount = value; }
203 template<
typename CapacityProv
iderStrategyT = Aws::Vector<CapacityProv
iderStrategyItem>>
204 void SetCapacityProviderStrategy(CapacityProviderStrategyT&& value) { m_capacityProviderStrategyHasBeenSet =
true; m_capacityProviderStrategy = std::forward<CapacityProviderStrategyT>(value); }
205 template<
typename CapacityProv
iderStrategyT = Aws::Vector<CapacityProv
iderStrategyItem>>
207 template<
typename CapacityProv
iderStrategyT = CapacityProv
iderStrategyItem>
208 Service&
AddCapacityProviderStrategy(CapacityProviderStrategyT&& value) { m_capacityProviderStrategyHasBeenSet =
true; m_capacityProviderStrategy.emplace_back(std::forward<CapacityProviderStrategyT>(value));
return *
this; }
222 template<
typename PlatformVersionT = Aws::String>
223 void SetPlatformVersion(PlatformVersionT&& value) { m_platformVersionHasBeenSet =
true; m_platformVersion = std::forward<PlatformVersionT>(value); }
224 template<
typename PlatformVersionT = Aws::String>
237 template<
typename PlatformFamilyT = Aws::String>
238 void SetPlatformFamily(PlatformFamilyT&& value) { m_platformFamilyHasBeenSet =
true; m_platformFamily = std::forward<PlatformFamilyT>(value); }
239 template<
typename PlatformFamilyT = Aws::String>
253 template<
typename TaskDefinitionT = Aws::String>
254 void SetTaskDefinition(TaskDefinitionT&& value) { m_taskDefinitionHasBeenSet =
true; m_taskDefinition = std::forward<TaskDefinitionT>(value); }
255 template<
typename TaskDefinitionT = Aws::String>
266 template<
typename DeploymentConfigurationT = DeploymentConfiguration>
267 void SetDeploymentConfiguration(DeploymentConfigurationT&& value) { m_deploymentConfigurationHasBeenSet =
true; m_deploymentConfiguration = std::forward<DeploymentConfigurationT>(value); }
268 template<
typename DeploymentConfigurationT = DeploymentConfiguration>
281 template<
typename TaskSetsT = Aws::Vector<TaskSet>>
282 void SetTaskSets(TaskSetsT&& value) { m_taskSetsHasBeenSet =
true; m_taskSets = std::forward<TaskSetsT>(value); }
283 template<
typename TaskSetsT = Aws::Vector<TaskSet>>
285 template<
typename TaskSetsT = TaskSet>
286 Service&
AddTaskSets(TaskSetsT&& value) { m_taskSetsHasBeenSet =
true; m_taskSets.emplace_back(std::forward<TaskSetsT>(value));
return *
this; }
295 template<
typename DeploymentsT = Aws::Vector<Deployment>>
296 void SetDeployments(DeploymentsT&& value) { m_deploymentsHasBeenSet =
true; m_deployments = std::forward<DeploymentsT>(value); }
297 template<
typename DeploymentsT = Aws::Vector<Deployment>>
299 template<
typename DeploymentsT = Deployment>
300 Service&
AddDeployments(DeploymentsT&& value) { m_deploymentsHasBeenSet =
true; m_deployments.emplace_back(std::forward<DeploymentsT>(value));
return *
this; }
311 template<
typename RoleArnT = Aws::String>
312 void SetRoleArn(RoleArnT&& value) { m_roleArnHasBeenSet =
true; m_roleArn = std::forward<RoleArnT>(value); }
313 template<
typename RoleArnT = Aws::String>
324 template<
typename EventsT = Aws::Vector<ServiceEvent>>
325 void SetEvents(EventsT&& value) { m_eventsHasBeenSet =
true; m_events = std::forward<EventsT>(value); }
326 template<
typename EventsT = Aws::Vector<ServiceEvent>>
328 template<
typename EventsT = ServiceEvent>
329 Service&
AddEvents(EventsT&& value) { m_eventsHasBeenSet =
true; m_events.emplace_back(std::forward<EventsT>(value));
return *
this; }
338 template<
typename CreatedAtT = Aws::Utils::DateTime>
339 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
340 template<
typename CreatedAtT = Aws::Utils::DateTime>
350 template<
typename PlacementConstra
intsT = Aws::Vector<PlacementConstra
int>>
351 void SetPlacementConstraints(PlacementConstraintsT&& value) { m_placementConstraintsHasBeenSet =
true; m_placementConstraints = std::forward<PlacementConstraintsT>(value); }
352 template<
typename PlacementConstra
intsT = Aws::Vector<PlacementConstra
int>>
354 template<
typename PlacementConstra
intsT = PlacementConstra
int>
355 Service&
AddPlacementConstraints(PlacementConstraintsT&& value) { m_placementConstraintsHasBeenSet =
true; m_placementConstraints.emplace_back(std::forward<PlacementConstraintsT>(value));
return *
this; }
365 template<
typename PlacementStrategyT = Aws::Vector<PlacementStrategy>>
366 void SetPlacementStrategy(PlacementStrategyT&& value) { m_placementStrategyHasBeenSet =
true; m_placementStrategy = std::forward<PlacementStrategyT>(value); }
367 template<
typename PlacementStrategyT = Aws::Vector<PlacementStrategy>>
369 template<
typename PlacementStrategyT = PlacementStrategy>
370 Service&
AddPlacementStrategy(PlacementStrategyT&& value) { m_placementStrategyHasBeenSet =
true; m_placementStrategy.emplace_back(std::forward<PlacementStrategyT>(value));
return *
this; }
381 template<
typename NetworkConfigurationT = NetworkConfiguration>
382 void SetNetworkConfiguration(NetworkConfigurationT&& value) { m_networkConfigurationHasBeenSet =
true; m_networkConfiguration = std::forward<NetworkConfigurationT>(value); }
383 template<
typename NetworkConfigurationT = NetworkConfiguration>
427 template<
typename DeploymentControllerT = DeploymentController>
428 void SetDeploymentController(DeploymentControllerT&& value) { m_deploymentControllerHasBeenSet =
true; m_deploymentController = std::forward<DeploymentControllerT>(value); }
429 template<
typename DeploymentControllerT = DeploymentController>
455 template<
typename TagsT = Aws::Vector<Tag>>
456 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
457 template<
typename TagsT = Aws::Vector<Tag>>
459 template<
typename TagsT = Tag>
460 Service&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
469 template<
typename CreatedByT = Aws::String>
470 void SetCreatedBy(CreatedByT&& value) { m_createdByHasBeenSet =
true; m_createdBy = std::forward<CreatedByT>(value); }
471 template<
typename CreatedByT = Aws::String>
528 bool m_serviceArnHasBeenSet =
false;
531 bool m_serviceNameHasBeenSet =
false;
534 bool m_clusterArnHasBeenSet =
false;
537 bool m_loadBalancersHasBeenSet =
false;
540 bool m_serviceRegistriesHasBeenSet =
false;
543 bool m_statusHasBeenSet =
false;
545 int m_desiredCount{0};
546 bool m_desiredCountHasBeenSet =
false;
548 int m_runningCount{0};
549 bool m_runningCountHasBeenSet =
false;
551 int m_pendingCount{0};
552 bool m_pendingCountHasBeenSet =
false;
555 bool m_launchTypeHasBeenSet =
false;
558 bool m_capacityProviderStrategyHasBeenSet =
false;
561 bool m_platformVersionHasBeenSet =
false;
564 bool m_platformFamilyHasBeenSet =
false;
567 bool m_taskDefinitionHasBeenSet =
false;
569 DeploymentConfiguration m_deploymentConfiguration;
570 bool m_deploymentConfigurationHasBeenSet =
false;
573 bool m_taskSetsHasBeenSet =
false;
576 bool m_deploymentsHasBeenSet =
false;
579 bool m_roleArnHasBeenSet =
false;
582 bool m_eventsHasBeenSet =
false;
585 bool m_createdAtHasBeenSet =
false;
588 bool m_placementConstraintsHasBeenSet =
false;
591 bool m_placementStrategyHasBeenSet =
false;
593 NetworkConfiguration m_networkConfiguration;
594 bool m_networkConfigurationHasBeenSet =
false;
596 int m_healthCheckGracePeriodSeconds{0};
597 bool m_healthCheckGracePeriodSecondsHasBeenSet =
false;
600 bool m_schedulingStrategyHasBeenSet =
false;
602 DeploymentController m_deploymentController;
603 bool m_deploymentControllerHasBeenSet =
false;
606 bool m_tagsHasBeenSet =
false;
609 bool m_createdByHasBeenSet =
false;
611 bool m_enableECSManagedTags{
false};
612 bool m_enableECSManagedTagsHasBeenSet =
false;
615 bool m_propagateTagsHasBeenSet =
false;
617 bool m_enableExecuteCommand{
false};
618 bool m_enableExecuteCommandHasBeenSet =
false;
621 bool m_availabilityZoneRebalancingHasBeenSet =
false;
void SetRunningCount(int value)
const Aws::Vector< ServiceRegistry > & GetServiceRegistries() const
const Aws::String & GetTaskDefinition() const
AWS_ECS_API Service()=default
bool DesiredCountHasBeenSet() const
void SetDeployments(DeploymentsT &&value)
bool RoleArnHasBeenSet() const
const DeploymentConfiguration & GetDeploymentConfiguration() const
bool DeploymentConfigurationHasBeenSet() const
void SetPropagateTags(PropagateTags value)
bool EventsHasBeenSet() const
bool DeploymentControllerHasBeenSet() const
Service & AddPlacementStrategy(PlacementStrategyT &&value)
Service & AddEvents(EventsT &&value)
void SetPlatformVersion(PlatformVersionT &&value)
const Aws::Vector< LoadBalancer > & GetLoadBalancers() const
Service & WithNetworkConfiguration(NetworkConfigurationT &&value)
void SetLoadBalancers(LoadBalancersT &&value)
const Aws::String & GetRoleArn() const
bool HealthCheckGracePeriodSecondsHasBeenSet() const
bool TaskSetsHasBeenSet() const
Service & WithStatus(StatusT &&value)
bool NetworkConfigurationHasBeenSet() const
void SetCreatedAt(CreatedAtT &&value)
Service & WithAvailabilityZoneRebalancing(AvailabilityZoneRebalancing value)
Service & AddServiceRegistries(ServiceRegistriesT &&value)
bool PlacementStrategyHasBeenSet() const
void SetStatus(StatusT &&value)
bool RunningCountHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
Service & WithClusterArn(ClusterArnT &&value)
Service & WithPendingCount(int value)
Service & WithCreatedAt(CreatedAtT &&value)
Service & AddTags(TagsT &&value)
Service & WithServiceRegistries(ServiceRegistriesT &&value)
const Aws::String & GetStatus() const
bool PlatformFamilyHasBeenSet() const
Service & AddDeployments(DeploymentsT &&value)
Service & WithPlatformVersion(PlatformVersionT &&value)
int GetDesiredCount() const
void SetTaskSets(TaskSetsT &&value)
Service & WithDesiredCount(int value)
const NetworkConfiguration & GetNetworkConfiguration() const
void SetServiceRegistries(ServiceRegistriesT &&value)
Service & WithLoadBalancers(LoadBalancersT &&value)
void SetRoleArn(RoleArnT &&value)
bool CreatedByHasBeenSet() const
const Aws::Utils::DateTime & GetCreatedAt() const
Service & WithEnableExecuteCommand(bool value)
void SetEnableExecuteCommand(bool value)
Service & WithServiceName(ServiceNameT &&value)
AWS_ECS_API Service(Aws::Utils::Json::JsonView jsonValue)
bool LoadBalancersHasBeenSet() const
Service & WithDeployments(DeploymentsT &&value)
int GetPendingCount() const
void SetTags(TagsT &&value)
bool ServiceArnHasBeenSet() const
bool ServiceNameHasBeenSet() const
Service & WithEvents(EventsT &&value)
bool PropagateTagsHasBeenSet() const
int GetHealthCheckGracePeriodSeconds() const
bool PlatformVersionHasBeenSet() const
void SetServiceName(ServiceNameT &&value)
bool ClusterArnHasBeenSet() const
const Aws::Vector< TaskSet > & GetTaskSets() const
Service & WithRunningCount(int value)
void SetCapacityProviderStrategy(CapacityProviderStrategyT &&value)
void SetLaunchType(LaunchType value)
Service & WithLaunchType(LaunchType value)
Service & AddTaskSets(TaskSetsT &&value)
bool PlacementConstraintsHasBeenSet() const
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
Service & WithRoleArn(RoleArnT &&value)
Service & WithPlatformFamily(PlatformFamilyT &&value)
const Aws::String & GetPlatformFamily() const
const Aws::Vector< PlacementConstraint > & GetPlacementConstraints() const
void SetEvents(EventsT &&value)
bool GetEnableECSManagedTags() const
const Aws::String & GetCreatedBy() const
bool TaskDefinitionHasBeenSet() const
Service & AddLoadBalancers(LoadBalancersT &&value)
Service & WithTaskDefinition(TaskDefinitionT &&value)
void SetTaskDefinition(TaskDefinitionT &&value)
AWS_ECS_API Service & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetPlatformVersion() const
bool PendingCountHasBeenSet() const
bool EnableECSManagedTagsHasBeenSet() const
bool GetEnableExecuteCommand() const
Service & WithDeploymentConfiguration(DeploymentConfigurationT &&value)
bool ServiceRegistriesHasBeenSet() const
Service & WithCapacityProviderStrategy(CapacityProviderStrategyT &&value)
Service & WithServiceArn(ServiceArnT &&value)
bool EnableExecuteCommandHasBeenSet() const
bool TagsHasBeenSet() const
Service & WithTaskSets(TaskSetsT &&value)
bool AvailabilityZoneRebalancingHasBeenSet() const
void SetSchedulingStrategy(SchedulingStrategy value)
Service & WithHealthCheckGracePeriodSeconds(int value)
void SetPlacementConstraints(PlacementConstraintsT &&value)
const Aws::Vector< Deployment > & GetDeployments() const
Service & WithPropagateTags(PropagateTags value)
void SetPlatformFamily(PlatformFamilyT &&value)
Service & WithPlacementConstraints(PlacementConstraintsT &&value)
Service & WithSchedulingStrategy(SchedulingStrategy value)
bool CapacityProviderStrategyHasBeenSet() const
Service & AddPlacementConstraints(PlacementConstraintsT &&value)
Service & WithCreatedBy(CreatedByT &&value)
Service & WithPlacementStrategy(PlacementStrategyT &&value)
SchedulingStrategy GetSchedulingStrategy() const
bool CreatedAtHasBeenSet() const
const Aws::String & GetServiceArn() const
const Aws::Vector< PlacementStrategy > & GetPlacementStrategy() const
void SetServiceArn(ServiceArnT &&value)
PropagateTags GetPropagateTags() const
const DeploymentController & GetDeploymentController() const
LaunchType GetLaunchType() const
void SetClusterArn(ClusterArnT &&value)
void SetNetworkConfiguration(NetworkConfigurationT &&value)
void SetEnableECSManagedTags(bool value)
void SetDeploymentConfiguration(DeploymentConfigurationT &&value)
Service & WithTags(TagsT &&value)
void SetPendingCount(int value)
void SetHealthCheckGracePeriodSeconds(int value)
bool LaunchTypeHasBeenSet() const
Service & WithEnableECSManagedTags(bool value)
Service & WithDeploymentController(DeploymentControllerT &&value)
const Aws::Vector< ServiceEvent > & GetEvents() const
void SetAvailabilityZoneRebalancing(AvailabilityZoneRebalancing value)
AvailabilityZoneRebalancing GetAvailabilityZoneRebalancing() const
Service & AddCapacityProviderStrategy(CapacityProviderStrategyT &&value)
void SetCreatedBy(CreatedByT &&value)
int GetRunningCount() const
bool SchedulingStrategyHasBeenSet() const
void SetDeploymentController(DeploymentControllerT &&value)
void SetPlacementStrategy(PlacementStrategyT &&value)
const Aws::Vector< CapacityProviderStrategyItem > & GetCapacityProviderStrategy() const
bool StatusHasBeenSet() const
void SetDesiredCount(int value)
const Aws::String & GetServiceName() const
const Aws::String & GetClusterArn() const
bool DeploymentsHasBeenSet() const
AvailabilityZoneRebalancing
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue