Merge branch 'ecs_service_deployment_cfg' of https://github.com/joshgarnett/terraform into joshgarnett-ecs_service_deployment_cfg
This commit is contained in:
commit
5f7060e9f5
|
@ -55,6 +55,18 @@ func resourceAwsEcsService() *schema.Resource {
|
||||||
Optional: true,
|
Optional: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"deployment_maximum_percent": &schema.Schema{
|
||||||
|
Type: schema.TypeInt,
|
||||||
|
Optional: true,
|
||||||
|
Default: 200,
|
||||||
|
},
|
||||||
|
|
||||||
|
"deployment_minimum_healthy_percent": &schema.Schema{
|
||||||
|
Type: schema.TypeInt,
|
||||||
|
Optional: true,
|
||||||
|
Default: 100,
|
||||||
|
},
|
||||||
|
|
||||||
"load_balancer": &schema.Schema{
|
"load_balancer": &schema.Schema{
|
||||||
Type: schema.TypeSet,
|
Type: schema.TypeSet,
|
||||||
Optional: true,
|
Optional: true,
|
||||||
|
@ -94,6 +106,10 @@ func resourceAwsEcsServiceCreate(d *schema.ResourceData, meta interface{}) error
|
||||||
TaskDefinition: aws.String(d.Get("task_definition").(string)),
|
TaskDefinition: aws.String(d.Get("task_definition").(string)),
|
||||||
DesiredCount: aws.Int64(int64(d.Get("desired_count").(int))),
|
DesiredCount: aws.Int64(int64(d.Get("desired_count").(int))),
|
||||||
ClientToken: aws.String(resource.UniqueId()),
|
ClientToken: aws.String(resource.UniqueId()),
|
||||||
|
DeploymentConfiguration: &ecs.DeploymentConfiguration{
|
||||||
|
MaximumPercent: aws.Int64(int64(d.Get("deployment_maximum_percent").(int))),
|
||||||
|
MinimumHealthyPercent: aws.Int64(int64(d.Get("deployment_minimum_healthy_percent").(int))),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
if v, ok := d.GetOk("cluster"); ok {
|
if v, ok := d.GetOk("cluster"); ok {
|
||||||
|
@ -208,6 +224,11 @@ func resourceAwsEcsServiceRead(d *schema.ResourceData, meta interface{}) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if service.DeploymentConfiguration != nil {
|
||||||
|
d.Set("deployment_maximum_percent", *service.DeploymentConfiguration.MaximumPercent)
|
||||||
|
d.Set("deployment_minimum_healthy_percent", *service.DeploymentConfiguration.MinimumHealthyPercent)
|
||||||
|
}
|
||||||
|
|
||||||
if service.LoadBalancers != nil {
|
if service.LoadBalancers != nil {
|
||||||
d.Set("load_balancers", flattenEcsLoadBalancers(service.LoadBalancers))
|
d.Set("load_balancers", flattenEcsLoadBalancers(service.LoadBalancers))
|
||||||
}
|
}
|
||||||
|
@ -233,6 +254,13 @@ func resourceAwsEcsServiceUpdate(d *schema.ResourceData, meta interface{}) error
|
||||||
input.TaskDefinition = aws.String(n.(string))
|
input.TaskDefinition = aws.String(n.(string))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if d.HasChange("deployment_maximum_percent") || d.HasChange("deployment_minimum_healthy_percent") {
|
||||||
|
input.DeploymentConfiguration = &ecs.DeploymentConfiguration{
|
||||||
|
MaximumPercent: aws.Int64(int64(d.Get("deployment_maximum_percent").(int))),
|
||||||
|
MinimumHealthyPercent: aws.Int64(int64(d.Get("deployment_minimum_healthy_percent").(int))),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
out, err := conn.UpdateService(&input)
|
out, err := conn.UpdateService(&input)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -42,6 +42,8 @@ The following arguments are supported:
|
||||||
* `desired_count` - (Required) The number of instances of the task definition to place and keep running
|
* `desired_count` - (Required) The number of instances of the task definition to place and keep running
|
||||||
* `cluster` - (Optional) ARN of an ECS cluster
|
* `cluster` - (Optional) ARN of an ECS cluster
|
||||||
* `iam_role` - (Optional) IAM role that allows your Amazon ECS container agent to make calls to your load balancer on your behalf. This parameter is only required if you are using a load balancer with your service.
|
* `iam_role` - (Optional) IAM role that allows your Amazon ECS container agent to make calls to your load balancer on your behalf. This parameter is only required if you are using a load balancer with your service.
|
||||||
|
* `deployment_maximum_percent` - (Optional) The upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment.
|
||||||
|
* `deployment_minimum_healthy_percent` - (Optional) The lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
|
||||||
* `load_balancer` - (Optional) A load balancer block. Load balancers documented below.
|
* `load_balancer` - (Optional) A load balancer block. Load balancers documented below.
|
||||||
|
|
||||||
Load balancers support the following:
|
Load balancers support the following:
|
||||||
|
|
Loading…
Reference in New Issue