Skip to content

Commit be48f07

Browse files
Amazon ECS supports native blue/green deployments, allowing you to validate new service revisions before directing production traffic to them.
1 parent fd81120 commit be48f07

File tree

48 files changed

+3893
-386
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+3893
-386
lines changed

generator/ServiceModels/ecs/ecs-2014-11-13.api.json

Lines changed: 116 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -980,6 +980,15 @@
980980
"members":{},
981981
"exception":true
982982
},
983+
"AdvancedConfiguration":{
984+
"type":"structure",
985+
"members":{
986+
"alternateTargetGroupArn":{"shape":"String"},
987+
"productionListenerRule":{"shape":"String"},
988+
"testListenerRule":{"shape":"String"},
989+
"roleArn":{"shape":"String"}
990+
}
991+
},
983992
"AgentUpdateStatus":{
984993
"type":"string",
985994
"enum":[
@@ -1783,7 +1792,10 @@
17831792
"deploymentCircuitBreaker":{"shape":"DeploymentCircuitBreaker"},
17841793
"maximumPercent":{"shape":"BoxedInteger"},
17851794
"minimumHealthyPercent":{"shape":"BoxedInteger"},
1786-
"alarms":{"shape":"DeploymentAlarms"}
1795+
"alarms":{"shape":"DeploymentAlarms"},
1796+
"strategy":{"shape":"DeploymentStrategy"},
1797+
"bakeTimeInMinutes":{"shape":"BoxedInteger"},
1798+
"lifecycleHooks":{"shape":"DeploymentLifecycleHookList"}
17871799
}
17881800
},
17891801
"DeploymentController":{
@@ -1807,6 +1819,35 @@
18071819
"kmsKeyId":{"shape":"String"}
18081820
}
18091821
},
1822+
"DeploymentLifecycleHook":{
1823+
"type":"structure",
1824+
"members":{
1825+
"hookTargetArn":{"shape":"String"},
1826+
"roleArn":{"shape":"IAMRoleArn"},
1827+
"lifecycleStages":{"shape":"DeploymentLifecycleHookStageList"},
1828+
"hookDetails":{"shape":"HookDetails"}
1829+
}
1830+
},
1831+
"DeploymentLifecycleHookList":{
1832+
"type":"list",
1833+
"member":{"shape":"DeploymentLifecycleHook"}
1834+
},
1835+
"DeploymentLifecycleHookStage":{
1836+
"type":"string",
1837+
"enum":[
1838+
"RECONCILE_SERVICE",
1839+
"PRE_SCALE_UP",
1840+
"POST_SCALE_UP",
1841+
"TEST_TRAFFIC_SHIFT",
1842+
"POST_TEST_TRAFFIC_SHIFT",
1843+
"PRODUCTION_TRAFFIC_SHIFT",
1844+
"POST_PRODUCTION_TRAFFIC_SHIFT"
1845+
]
1846+
},
1847+
"DeploymentLifecycleHookStageList":{
1848+
"type":"list",
1849+
"member":{"shape":"DeploymentLifecycleHookStage"}
1850+
},
18101851
"DeploymentRolloutState":{
18111852
"type":"string",
18121853
"enum":[
@@ -1815,6 +1856,13 @@
18151856
"IN_PROGRESS"
18161857
]
18171858
},
1859+
"DeploymentStrategy":{
1860+
"type":"string",
1861+
"enum":[
1862+
"ROLLING",
1863+
"BLUE_GREEN"
1864+
]
1865+
},
18181866
"Deployments":{
18191867
"type":"list",
18201868
"member":{"shape":"Deployment"}
@@ -2287,6 +2335,11 @@
22872335
"UNKNOWN"
22882336
]
22892337
},
2338+
"HookDetails":{
2339+
"type":"structure",
2340+
"members":{},
2341+
"document":true
2342+
},
22902343
"HostEntry":{
22912344
"type":"structure",
22922345
"required":[
@@ -2611,7 +2664,8 @@
26112664
"targetGroupArn":{"shape":"String"},
26122665
"loadBalancerName":{"shape":"String"},
26132666
"containerName":{"shape":"String"},
2614-
"containerPort":{"shape":"BoxedInteger"}
2667+
"containerPort":{"shape":"BoxedInteger"},
2668+
"advancedConfiguration":{"shape":"AdvancedConfiguration"}
26152669
}
26162670
},
26172671
"LoadBalancers":{
@@ -3082,6 +3136,12 @@
30823136
"type":"list",
30833137
"member":{"shape":"Attribute"}
30843138
},
3139+
"ResolvedConfiguration":{
3140+
"type":"structure",
3141+
"members":{
3142+
"loadBalancers":{"shape":"ServiceRevisionLoadBalancers"}
3143+
}
3144+
},
30853145
"Resource":{
30863146
"type":"structure",
30873147
"members":{
@@ -3277,7 +3337,8 @@
32773337
"required":["port"],
32783338
"members":{
32793339
"port":{"shape":"PortNumber"},
3280-
"dnsName":{"shape":"String"}
3340+
"dnsName":{"shape":"String"},
3341+
"testTrafficRules":{"shape":"ServiceConnectTestTrafficRules"}
32813342
}
32823343
},
32833344
"ServiceConnectClientAliasList":{
@@ -3321,6 +3382,28 @@
33213382
"type":"list",
33223383
"member":{"shape":"ServiceConnectServiceResource"}
33233384
},
3385+
"ServiceConnectTestTrafficHeaderMatchRules":{
3386+
"type":"structure",
3387+
"required":["exact"],
3388+
"members":{
3389+
"exact":{"shape":"String"}
3390+
}
3391+
},
3392+
"ServiceConnectTestTrafficHeaderRules":{
3393+
"type":"structure",
3394+
"required":["name"],
3395+
"members":{
3396+
"name":{"shape":"String"},
3397+
"value":{"shape":"ServiceConnectTestTrafficHeaderMatchRules"}
3398+
}
3399+
},
3400+
"ServiceConnectTestTrafficRules":{
3401+
"type":"structure",
3402+
"required":["header"],
3403+
"members":{
3404+
"header":{"shape":"ServiceConnectTestTrafficHeaderRules"}
3405+
}
3406+
},
33243407
"ServiceConnectTlsCertificateAuthority":{
33253408
"type":"structure",
33263409
"members":{
@@ -3351,6 +3434,7 @@
33513434
"targetServiceRevision":{"shape":"ServiceRevisionSummary"},
33523435
"status":{"shape":"ServiceDeploymentStatus"},
33533436
"statusReason":{"shape":"String"},
3437+
"lifecycleStage":{"shape":"ServiceDeploymentLifecycleStage"},
33543438
"deploymentConfiguration":{"shape":"DeploymentConfiguration"},
33553439
"rollback":{"shape":"Rollback"},
33563440
"deploymentCircuitBreaker":{"shape":"ServiceDeploymentCircuitBreaker"},
@@ -3387,6 +3471,21 @@
33873471
"threshold":{"shape":"Integer"}
33883472
}
33893473
},
3474+
"ServiceDeploymentLifecycleStage":{
3475+
"type":"string",
3476+
"enum":[
3477+
"RECONCILE_SERVICE",
3478+
"PRE_SCALE_UP",
3479+
"SCALE_UP",
3480+
"POST_SCALE_UP",
3481+
"TEST_TRAFFIC_SHIFT",
3482+
"POST_TEST_TRAFFIC_SHIFT",
3483+
"PRODUCTION_TRAFFIC_SHIFT",
3484+
"POST_PRODUCTION_TRAFFIC_SHIFT",
3485+
"BAKE_TIME",
3486+
"CLEAN_UP"
3487+
]
3488+
},
33903489
"ServiceDeploymentNotFoundException":{
33913490
"type":"structure",
33923491
"members":{},
@@ -3507,9 +3606,21 @@
35073606
"volumeConfigurations":{"shape":"ServiceVolumeConfigurations"},
35083607
"fargateEphemeralStorage":{"shape":"DeploymentEphemeralStorage"},
35093608
"createdAt":{"shape":"Timestamp"},
3510-
"vpcLatticeConfigurations":{"shape":"VpcLatticeConfigurations"}
3609+
"vpcLatticeConfigurations":{"shape":"VpcLatticeConfigurations"},
3610+
"resolvedConfiguration":{"shape":"ResolvedConfiguration"}
3611+
}
3612+
},
3613+
"ServiceRevisionLoadBalancer":{
3614+
"type":"structure",
3615+
"members":{
3616+
"targetGroupArn":{"shape":"String"},
3617+
"productionListenerRule":{"shape":"String"}
35113618
}
35123619
},
3620+
"ServiceRevisionLoadBalancers":{
3621+
"type":"list",
3622+
"member":{"shape":"ServiceRevisionLoadBalancer"}
3623+
},
35133624
"ServiceRevisionSummary":{
35143625
"type":"structure",
35153626
"members":{
@@ -4264,6 +4375,7 @@
42644375
"platformVersion":{"shape":"String"},
42654376
"forceNewDeployment":{"shape":"Boolean"},
42664377
"healthCheckGracePeriodSeconds":{"shape":"BoxedInteger"},
4378+
"deploymentController":{"shape":"DeploymentController"},
42674379
"enableExecuteCommand":{"shape":"BoxedBoolean"},
42684380
"enableECSManagedTags":{"shape":"BoxedBoolean"},
42694381
"loadBalancers":{"shape":"LoadBalancers"},

generator/ServiceModels/ecs/ecs-2014-11-13.docs.json

Lines changed: 102 additions & 6 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)