forked from aws/aws-sdk-js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathecs-2014-11-13.normal.json
2666 lines (2666 loc) · 170 KB
/
ecs-2014-11-13.normal.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"version":"2.0",
"metadata":{
"apiVersion":"2014-11-13",
"endpointPrefix":"ecs",
"jsonVersion":"1.1",
"protocol":"json",
"serviceAbbreviation":"Amazon ECS",
"serviceFullName":"Amazon EC2 Container Service",
"signatureVersion":"v4",
"targetPrefix":"AmazonEC2ContainerServiceV20141113",
"uid":"ecs-2014-11-13"
},
"operations":{
"CreateCluster":{
"name":"CreateCluster",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateClusterRequest"},
"output":{"shape":"CreateClusterResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Creates a new Amazon ECS cluster. By default, your account receives a <code>default</code> cluster when you launch your first container instance. However, you can create your own cluster with a unique name with the <code>CreateCluster</code> action.</p>"
},
"CreateService":{
"name":"CreateService",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"CreateServiceRequest"},
"output":{"shape":"CreateServiceResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Runs and maintains a desired number of tasks from a specified task definition. If the number of tasks running in a service drops below <code>desiredCount</code>, Amazon ECS spawns another copy of the task in the specified cluster. To update an existing service, see <a>UpdateService</a>.</p> <p>In addition to maintaining the desired count of tasks in your service, you can optionally run your service behind a load balancer. The load balancer distributes traffic across the tasks that are associated with the service. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html\">Service Load Balancing</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p> <p>You can optionally specify a deployment configuration for your service. During a deployment (which is triggered by changing the task definition or the desired count of a service with an <a>UpdateService</a> operation), the service scheduler uses the <code>minimumHealthyPercent</code> and <code>maximumPercent</code> parameters to determine the deployment strategy.</p> <p>The <code>minimumHealthyPercent</code> represents a lower limit on the number of your service's tasks that must remain in the <code>RUNNING</code> state during a deployment, as a percentage of the <code>desiredCount</code> (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if <code>desiredCount</code> is four tasks and the minimum is 50%, the scheduler can stop two existing tasks to free up cluster capacity before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the <code>RUNNING</code> state. Tasks for services that use a load balancer are considered healthy if they are in the <code>RUNNING</code> state and the container instance they are hosted on is reported as healthy by the load balancer. The default value is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs.</p> <p>The <code>maximumPercent</code> parameter represents an upper limit on the number of your service's tasks that are allowed in the <code>RUNNING</code> or <code>PENDING</code> state during a deployment, as a percentage of the <code>desiredCount</code> (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if <code>desiredCount</code> is four tasks and the maximum is 200%, the scheduler can start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default value is 200%.</p> <p>When the service scheduler launches new tasks, it determines task placement in your cluster using the following logic:</p> <ul> <li> <p>Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).</p> </li> <li> <p>By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy):</p> <ul> <li> <p>Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.</p> </li> <li> <p>Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.</p> </li> </ul> </li> </ul>"
},
"DeleteAttributes":{
"name":"DeleteAttributes",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteAttributesRequest"},
"output":{"shape":"DeleteAttributesResponse"},
"errors":[
{"shape":"ClusterNotFoundException"},
{"shape":"TargetNotFoundException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Deletes one or more custom attributes from an Amazon ECS resource.</p>"
},
"DeleteCluster":{
"name":"DeleteCluster",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteClusterRequest"},
"output":{"shape":"DeleteClusterResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"},
{"shape":"ClusterContainsContainerInstancesException"},
{"shape":"ClusterContainsServicesException"}
],
"documentation":"<p>Deletes the specified cluster. You must deregister all container instances from this cluster before you may delete it. You can list the container instances in a cluster with <a>ListContainerInstances</a> and deregister them with <a>DeregisterContainerInstance</a>.</p>"
},
"DeleteService":{
"name":"DeleteService",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeleteServiceRequest"},
"output":{"shape":"DeleteServiceResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"},
{"shape":"ServiceNotFoundException"}
],
"documentation":"<p>Deletes a specified service within a cluster. You can delete a service if you have no running tasks in it and the desired task count is zero. If the service is actively maintaining tasks, you cannot delete it, and you must update the service to a desired task count of zero. For more information, see <a>UpdateService</a>.</p> <note> <p>When you delete a service, if there are still running tasks that require cleanup, the service status moves from <code>ACTIVE</code> to <code>DRAINING</code>, and the service is no longer visible in the console or in <a>ListServices</a> API operations. After the tasks have stopped, then the service status moves from <code>DRAINING</code> to <code>INACTIVE</code>. Services in the <code>DRAINING</code> or <code>INACTIVE</code> status can still be viewed with <a>DescribeServices</a> API operations; however, in the future, <code>INACTIVE</code> services may be cleaned up and purged from Amazon ECS record keeping, and <a>DescribeServices</a> API operations on those services will return a <code>ServiceNotFoundException</code> error.</p> </note>"
},
"DeregisterContainerInstance":{
"name":"DeregisterContainerInstance",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeregisterContainerInstanceRequest"},
"output":{"shape":"DeregisterContainerInstanceResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Deregisters an Amazon ECS container instance from the specified cluster. This instance is no longer available to run tasks.</p> <p>If you intend to use the container instance for some other purpose after deregistration, you should stop all of the tasks running on the container instance before deregistration to avoid any orphaned tasks from consuming resources.</p> <p>Deregistering a container instance removes the instance from a cluster, but it does not terminate the EC2 instance; if you are finished using the instance, be sure to terminate it in the Amazon EC2 console to stop billing.</p> <note> <p>If you terminate a running container instance, Amazon ECS automatically deregisters the instance from your cluster (stopped container instances or instances with disconnected agents are not automatically deregistered when terminated).</p> </note>"
},
"DeregisterTaskDefinition":{
"name":"DeregisterTaskDefinition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DeregisterTaskDefinitionRequest"},
"output":{"shape":"DeregisterTaskDefinitionResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Deregisters the specified task definition by family and revision. Upon deregistration, the task definition is marked as <code>INACTIVE</code>. Existing tasks and services that reference an <code>INACTIVE</code> task definition continue to run without disruption. Existing services that reference an <code>INACTIVE</code> task definition can still scale up or down by modifying the service's desired count.</p> <p>You cannot use an <code>INACTIVE</code> task definition to run new tasks or create new services, and you cannot update an existing service to reference an <code>INACTIVE</code> task definition (although there may be up to a 10 minute window following deregistration where these restrictions have not yet taken effect).</p>"
},
"DescribeClusters":{
"name":"DescribeClusters",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeClustersRequest"},
"output":{"shape":"DescribeClustersResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Describes one or more of your clusters.</p>"
},
"DescribeContainerInstances":{
"name":"DescribeContainerInstances",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeContainerInstancesRequest"},
"output":{"shape":"DescribeContainerInstancesResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Describes Amazon EC2 Container Service container instances. Returns metadata about registered and remaining resources on each container instance requested.</p>"
},
"DescribeServices":{
"name":"DescribeServices",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeServicesRequest"},
"output":{"shape":"DescribeServicesResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Describes the specified services running in your cluster.</p>"
},
"DescribeTaskDefinition":{
"name":"DescribeTaskDefinition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeTaskDefinitionRequest"},
"output":{"shape":"DescribeTaskDefinitionResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Describes a task definition. You can specify a <code>family</code> and <code>revision</code> to find information about a specific task definition, or you can simply specify the family to find the latest <code>ACTIVE</code> revision in that family.</p> <note> <p>You can only describe <code>INACTIVE</code> task definitions while an active task or service references them.</p> </note>"
},
"DescribeTasks":{
"name":"DescribeTasks",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DescribeTasksRequest"},
"output":{"shape":"DescribeTasksResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Describes a specified task or tasks.</p>"
},
"DiscoverPollEndpoint":{
"name":"DiscoverPollEndpoint",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"DiscoverPollEndpointRequest"},
"output":{"shape":"DiscoverPollEndpointResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"}
],
"documentation":"<note> <p>This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.</p> </note> <p>Returns an endpoint for the Amazon EC2 Container Service agent to poll for updates.</p>"
},
"ListAttributes":{
"name":"ListAttributes",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListAttributesRequest"},
"output":{"shape":"ListAttributesResponse"},
"errors":[
{"shape":"ClusterNotFoundException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Lists the attributes for Amazon ECS resources within a specified target type and cluster. When you specify a target type and cluster, <code>LisAttributes</code> returns a list of attribute objects, one for each attribute on each resource. You can filter the list of results to a single attribute name to only return results that have that name. You can also filter the results by attribute name and value, for example, to see which container instances in a cluster are running a Linux AMI (<code>ecs.os-type=linux</code>). </p>"
},
"ListClusters":{
"name":"ListClusters",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListClustersRequest"},
"output":{"shape":"ListClustersResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Returns a list of existing clusters.</p>"
},
"ListContainerInstances":{
"name":"ListContainerInstances",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListContainerInstancesRequest"},
"output":{"shape":"ListContainerInstancesResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Returns a list of container instances in a specified cluster. You can filter the results of a <code>ListContainerInstances</code> operation with cluster query language statements inside the <code>filter</code> parameter. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html\">Cluster Query Language</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p>"
},
"ListServices":{
"name":"ListServices",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListServicesRequest"},
"output":{"shape":"ListServicesResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Lists the services that are running in a specified cluster.</p>"
},
"ListTaskDefinitionFamilies":{
"name":"ListTaskDefinitionFamilies",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListTaskDefinitionFamiliesRequest"},
"output":{"shape":"ListTaskDefinitionFamiliesResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Returns a list of task definition families that are registered to your account (which may include task definition families that no longer have any <code>ACTIVE</code> task definition revisions).</p> <p>You can filter out task definition families that do not contain any <code>ACTIVE</code> task definition revisions by setting the <code>status</code> parameter to <code>ACTIVE</code>. You can also filter the results with the <code>familyPrefix</code> parameter.</p>"
},
"ListTaskDefinitions":{
"name":"ListTaskDefinitions",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListTaskDefinitionsRequest"},
"output":{"shape":"ListTaskDefinitionsResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Returns a list of task definitions that are registered to your account. You can filter the results by family name with the <code>familyPrefix</code> parameter or by status with the <code>status</code> parameter.</p>"
},
"ListTasks":{
"name":"ListTasks",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"ListTasksRequest"},
"output":{"shape":"ListTasksResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"},
{"shape":"ServiceNotFoundException"}
],
"documentation":"<p>Returns a list of tasks for a specified cluster. You can filter the results by family name, by a particular container instance, or by the desired status of the task with the <code>family</code>, <code>containerInstance</code>, and <code>desiredStatus</code> parameters.</p> <p>Recently-stopped tasks might appear in the returned results. Currently, stopped tasks appear in the returned results for at least one hour. </p>"
},
"PutAttributes":{
"name":"PutAttributes",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"PutAttributesRequest"},
"output":{"shape":"PutAttributesResponse"},
"errors":[
{"shape":"ClusterNotFoundException"},
{"shape":"TargetNotFoundException"},
{"shape":"AttributeLimitExceededException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Create or update an attribute on an Amazon ECS resource. If the attribute does not exist, it is created. If the attribute exists, its value is replaced with the specified value. To delete an attribute, use <a>DeleteAttributes</a>. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes\">Attributes</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p>"
},
"RegisterContainerInstance":{
"name":"RegisterContainerInstance",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"RegisterContainerInstanceRequest"},
"output":{"shape":"RegisterContainerInstanceResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"}
],
"documentation":"<note> <p>This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.</p> </note> <p>Registers an EC2 instance into the specified cluster. This instance becomes available to place containers on.</p>"
},
"RegisterTaskDefinition":{
"name":"RegisterTaskDefinition",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"RegisterTaskDefinitionRequest"},
"output":{"shape":"RegisterTaskDefinitionResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"}
],
"documentation":"<p>Registers a new task definition from the supplied <code>family</code> and <code>containerDefinitions</code>. Optionally, you can add data volumes to your containers with the <code>volumes</code> parameter. For more information about task definition parameters and defaults, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html\">Amazon ECS Task Definitions</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p> <p>You can specify an IAM role for your task with the <code>taskRoleArn</code> parameter. When you specify an IAM role for a task, its containers can then use the latest versions of the AWS CLI or SDKs to make API requests to the AWS services that are specified in the IAM policy associated with the role. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html\">IAM Roles for Tasks</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p> <p>You can specify a Docker networking mode for the containers in your task definition with the <code>networkMode</code> parameter. The available network modes correspond to those described in <a href=\"https://docs.docker.com/engine/reference/run/#/network-settings\">Network settings</a> in the Docker run reference.</p>"
},
"RunTask":{
"name":"RunTask",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"RunTaskRequest"},
"output":{"shape":"RunTaskResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Starts a new task using the specified task definition.</p> <p>You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places tasks using placement constraints and placement strategies. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html\">Scheduling Tasks</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p> <p>Alternatively, you can use <a>StartTask</a> to use your own scheduler or place tasks manually on specific container instances.</p>"
},
"StartTask":{
"name":"StartTask",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"StartTaskRequest"},
"output":{"shape":"StartTaskResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Starts a new task from the specified task definition on the specified container instance or instances.</p> <p>Alternatively, you can use <a>RunTask</a> to place tasks for you. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html\">Scheduling Tasks</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p>"
},
"StopTask":{
"name":"StopTask",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"StopTaskRequest"},
"output":{"shape":"StopTaskResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Stops a running task.</p> <p>When <a>StopTask</a> is called on a task, the equivalent of <code>docker stop</code> is issued to the containers running in the task. This results in a <code>SIGTERM</code> and a 30-second timeout, after which <code>SIGKILL</code> is sent and the containers are forcibly stopped. If the container handles the <code>SIGTERM</code> gracefully and exits within 30 seconds from receiving it, no <code>SIGKILL</code> is sent.</p>"
},
"SubmitContainerStateChange":{
"name":"SubmitContainerStateChange",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"SubmitContainerStateChangeRequest"},
"output":{"shape":"SubmitContainerStateChangeResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"}
],
"documentation":"<note> <p>This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.</p> </note> <p>Sent to acknowledge that a container changed states.</p>"
},
"SubmitTaskStateChange":{
"name":"SubmitTaskStateChange",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"SubmitTaskStateChangeRequest"},
"output":{"shape":"SubmitTaskStateChangeResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"}
],
"documentation":"<note> <p>This action is only used by the Amazon EC2 Container Service agent, and it is not intended for use outside of the agent.</p> </note> <p>Sent to acknowledge that a task changed states.</p>"
},
"UpdateContainerAgent":{
"name":"UpdateContainerAgent",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateContainerAgentRequest"},
"output":{"shape":"UpdateContainerAgentResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"},
{"shape":"UpdateInProgressException"},
{"shape":"NoUpdateAvailableException"},
{"shape":"MissingVersionException"}
],
"documentation":"<p>Updates the Amazon ECS container agent on a specified container instance. Updating the Amazon ECS container agent does not interrupt running tasks or services on the container instance. The process for updating the agent differs depending on whether your container instance was launched with the Amazon ECS-optimized AMI or another operating system.</p> <p> <code>UpdateContainerAgent</code> requires the Amazon ECS-optimized AMI or Amazon Linux with the <code>ecs-init</code> service installed and running. For help updating the Amazon ECS container agent on other operating systems, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent\">Manually Updating the Amazon ECS Container Agent</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p>"
},
"UpdateContainerInstancesState":{
"name":"UpdateContainerInstancesState",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateContainerInstancesStateRequest"},
"output":{"shape":"UpdateContainerInstancesStateResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"}
],
"documentation":"<p>Modifies the status of an Amazon ECS container instance.</p> <p>You can change the status of a container instance to <code>DRAINING</code> to manually remove an instance from a cluster, for example to perform system updates, update the Docker daemon, or scale down the cluster size. </p> <p>When you set a container instance to <code>DRAINING</code>, Amazon ECS prevents new tasks from being scheduled for placement on the container instance and replacement service tasks are started on other container instances in the cluster if the resources are available. Service tasks on the container instance that are in the <code>PENDING</code> state are stopped immediately.</p> <p>Service tasks on the container instance that are in the <code>RUNNING</code> state are stopped and replaced according the service's deployment configuration parameters, <code>minimumHealthyPercent</code> and <code>maximumPercent</code>. Note that you can change the deployment configuration of your service using <a>UpdateService</a>.</p> <ul> <li> <p>If <code>minimumHealthyPercent</code> is below 100%, the scheduler can ignore <code>desiredCount</code> temporarily during task replacement. For example, <code>desiredCount</code> is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. If the minimum is 100%, the service scheduler can't remove existing tasks until the replacement tasks are considered healthy. Tasks for services that do not use a load balancer are considered healthy if they are in the <code>RUNNING</code> state. Tasks for services that use a load balancer are considered healthy if they are in the <code>RUNNING</code> state and the container instance they are hosted on is reported as healthy by the load balancer.</p> </li> <li> <p>The <code>maximumPercent</code> parameter represents an upper limit on the number of running tasks during task replacement, which enables you to define the replacement batch size. For example, if <code>desiredCount</code> of four tasks, a maximum of 200% starts four new tasks before stopping the four tasks to be drained (provided that the cluster resources required to do this are available). If the maximum is 100%, then replacement tasks can't start until the draining tasks have stopped.</p> </li> </ul> <p>Any <code>PENDING</code> or <code>RUNNING</code> tasks that do not belong to a service are not affected; you must wait for them to finish or stop them manually.</p> <p>A container instance has completed draining when it has no more <code>RUNNING</code> tasks. You can verify this using <a>ListTasks</a>.</p> <p>When you set a container instance to <code>ACTIVE</code>, the Amazon ECS scheduler can begin scheduling tasks on the instance again.</p>"
},
"UpdateService":{
"name":"UpdateService",
"http":{
"method":"POST",
"requestUri":"/"
},
"input":{"shape":"UpdateServiceRequest"},
"output":{"shape":"UpdateServiceResponse"},
"errors":[
{"shape":"ServerException"},
{"shape":"ClientException"},
{"shape":"InvalidParameterException"},
{"shape":"ClusterNotFoundException"},
{"shape":"ServiceNotFoundException"},
{"shape":"ServiceNotActiveException"}
],
"documentation":"<p>Modifies the desired count, deployment configuration, or task definition used in a service.</p> <p>You can add to or subtract from the number of instantiations of a task definition in a service by specifying the cluster that the service is running in and a new <code>desiredCount</code> parameter.</p> <p>You can use <a>UpdateService</a> to modify your task definition and deploy a new version of your service.</p> <p>You can also update the deployment configuration of a service. When a deployment is triggered by updating the task definition of a service, the service scheduler uses the deployment configuration parameters, <code>minimumHealthyPercent</code> and <code>maximumPercent</code>, to determine the deployment strategy.</p> <ul> <li> <p>If <code>minimumHealthyPercent</code> is below 100%, the scheduler can ignore <code>desiredCount</code> temporarily during a deployment. For example, if <code>desiredCount</code> is four tasks, a minimum of 50% allows the scheduler to stop two existing tasks before starting two new tasks. Tasks for services that do not use a load balancer are considered healthy if they are in the <code>RUNNING</code> state. Tasks for services that use a load balancer are considered healthy if they are in the <code>RUNNING</code> state and the container instance they are hosted on is reported as healthy by the load balancer.</p> </li> <li> <p>The <code>maximumPercent</code> parameter represents an upper limit on the number of running tasks during a deployment, which enables you to define the deployment batch size. For example, if <code>desiredCount</code> is four tasks, a maximum of 200% starts four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available).</p> </li> </ul> <p>When <a>UpdateService</a> stops a task during a deployment, the equivalent of <code>docker stop</code> is issued to the containers running in the task. This results in a <code>SIGTERM</code> and a 30-second timeout, after which <code>SIGKILL</code> is sent and the containers are forcibly stopped. If the container handles the <code>SIGTERM</code> gracefully and exits within 30 seconds from receiving it, no <code>SIGKILL</code> is sent.</p> <p>When the service scheduler launches new tasks, it determines task placement in your cluster with the following logic:</p> <ul> <li> <p>Determine which of the container instances in your cluster can support your service's task definition (for example, they have the required CPU, memory, ports, and container instance attributes).</p> </li> <li> <p>By default, the service scheduler attempts to balance tasks across Availability Zones in this manner (although you can choose a different placement strategy):</p> <ul> <li> <p>Sort the valid container instances by the fewest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have zero, valid container instances in either zone B or C are considered optimal for placement.</p> </li> <li> <p>Place the new service task on a valid container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the fewest number of running tasks for this service.</p> </li> </ul> </li> </ul> <p>When the service scheduler stops running tasks, it attempts to maintain balance across the Availability Zones in your cluster using the following logic: </p> <ul> <li> <p>Sort the container instances by the largest number of running tasks for this service in the same Availability Zone as the instance. For example, if zone A has one running service task and zones B and C each have two, container instances in either zone B or C are considered optimal for termination.</p> </li> <li> <p>Stop the task on a container instance in an optimal Availability Zone (based on the previous steps), favoring container instances with the largest number of running tasks for this service.</p> </li> </ul>"
}
},
"shapes":{
"AgentUpdateStatus":{
"type":"string",
"enum":[
"PENDING",
"STAGING",
"STAGED",
"UPDATING",
"UPDATED",
"FAILED"
]
},
"Attribute":{
"type":"structure",
"required":["name"],
"members":{
"name":{
"shape":"String",
"documentation":"<p>The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, and periods are allowed.</p>"
},
"value":{
"shape":"String",
"documentation":"<p>The value of the attribute. Up to 128 letters (uppercase and lowercase), numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, and spaces are allowed.</p>"
},
"targetType":{
"shape":"TargetType",
"documentation":"<p>The type of the target with which to attach the attribute. This parameter is required if you use the short form ID for a resource instead of the full Amazon Resource Name (ARN).</p>"
},
"targetId":{
"shape":"String",
"documentation":"<p>The ID of the target. You can specify the short form ID for a resource or the full Amazon Resource Name (ARN).</p>"
}
},
"documentation":"<p>An attribute is a name-value pair associated with an Amazon ECS object. Attributes enable you to extend the Amazon ECS data model by adding custom metadata to your resources. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes\">Attributes</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p>"
},
"AttributeLimitExceededException":{
"type":"structure",
"members":{
},
"documentation":"<p>You can apply up to 10 custom attributes per resource. You can view the attributes of a resource with <a>ListAttributes</a>. You can remove existing attributes on a resource with <a>DeleteAttributes</a>.</p>",
"exception":true
},
"Attributes":{
"type":"list",
"member":{"shape":"Attribute"}
},
"Boolean":{"type":"boolean"},
"BoxedBoolean":{
"type":"boolean",
"box":true
},
"BoxedInteger":{
"type":"integer",
"box":true
},
"ClientException":{
"type":"structure",
"members":{
"message":{"shape":"String"}
},
"documentation":"<p>These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permission to use the action or resource, or specifying an identifier that is not valid.</p>",
"exception":true
},
"Cluster":{
"type":"structure",
"members":{
"clusterArn":{
"shape":"String",
"documentation":"<p>The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains the <code>arn:aws:ecs</code> namespace, followed by the region of the cluster, the AWS account ID of the cluster owner, the <code>cluster</code> namespace, and then the cluster name. For example, <code>arn:aws:ecs:<i>region</i>:<i>012345678910</i>:cluster/<i>test</i> </code>..</p>"
},
"clusterName":{
"shape":"String",
"documentation":"<p>A user-generated string that you use to identify your cluster.</p>"
},
"status":{
"shape":"String",
"documentation":"<p>The status of the cluster. The valid values are <code>ACTIVE</code> or <code>INACTIVE</code>. <code>ACTIVE</code> indicates that you can register container instances with the cluster and the associated instances can accept tasks.</p>"
},
"registeredContainerInstancesCount":{
"shape":"Integer",
"documentation":"<p>The number of container instances registered into the cluster.</p>"
},
"runningTasksCount":{
"shape":"Integer",
"documentation":"<p>The number of tasks in the cluster that are in the <code>RUNNING</code> state.</p>"
},
"pendingTasksCount":{
"shape":"Integer",
"documentation":"<p>The number of tasks in the cluster that are in the <code>PENDING</code> state.</p>"
},
"activeServicesCount":{
"shape":"Integer",
"documentation":"<p>The number of services that are running on the cluster in an <code>ACTIVE</code> state. You can view these services with <a>ListServices</a>.</p>"
}
},
"documentation":"<p>A regional grouping of one or more container instances on which you can run task requests. Each account receives a default cluster the first time you use the Amazon ECS service, but you may also create other clusters. Clusters may contain more than one instance type simultaneously.</p>"
},
"ClusterContainsContainerInstancesException":{
"type":"structure",
"members":{
},
"documentation":"<p>You cannot delete a cluster that has registered container instances. You must first deregister the container instances before you can delete the cluster. For more information, see <a>DeregisterContainerInstance</a>.</p>",
"exception":true
},
"ClusterContainsServicesException":{
"type":"structure",
"members":{
},
"documentation":"<p>You cannot delete a cluster that contains services. You must first update the service to reduce its desired task count to 0 and then delete the service. For more information, see <a>UpdateService</a> and <a>DeleteService</a>.</p>",
"exception":true
},
"ClusterNotFoundException":{
"type":"structure",
"members":{
},
"documentation":"<p>The specified cluster could not be found. You can view your available clusters with <a>ListClusters</a>. Amazon ECS clusters are region-specific.</p>",
"exception":true
},
"Clusters":{
"type":"list",
"member":{"shape":"Cluster"}
},
"Container":{
"type":"structure",
"members":{
"containerArn":{
"shape":"String",
"documentation":"<p>The Amazon Resource Name (ARN) of the container.</p>"
},
"taskArn":{
"shape":"String",
"documentation":"<p>The Amazon Resource Name (ARN) of the task.</p>"
},
"name":{
"shape":"String",
"documentation":"<p>The name of the container.</p>"
},
"lastStatus":{
"shape":"String",
"documentation":"<p>The last known status of the container.</p>"
},
"exitCode":{
"shape":"BoxedInteger",
"documentation":"<p>The exit code returned from the container.</p>"
},
"reason":{
"shape":"String",
"documentation":"<p>A short (255 max characters) human-readable string to provide additional details about a running or stopped container.</p>"
},
"networkBindings":{
"shape":"NetworkBindings",
"documentation":"<p>The network bindings associated with the container.</p>"
}
},
"documentation":"<p>A Docker container that is part of a task.</p>"
},
"ContainerDefinition":{
"type":"structure",
"members":{
"name":{
"shape":"String",
"documentation":"<p>The name of a container. If you are linking multiple containers together in a task definition, the <code>name</code> of one container can be entered in the <code>links</code> of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. This parameter maps to <code>name</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--name</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>. </p>"
},
"image":{
"shape":"String",
"documentation":"<p>The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with <code> <i>repository-url</i>/<i>image</i>:<i>tag</i> </code>. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to <code>Image</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>IMAGE</code> parameter of <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p> <note> <p>Amazon ECS task definitions currently only support tags as image identifiers within a specified repository (and not <code>sha256</code> digests).</p> </note> <ul> <li> <p>Images in Amazon ECR repositories use the full registry and repository URI (for example, <code>012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name></code>). </p> </li> <li> <p>Images in official repositories on Docker Hub use a single name (for example, <code>ubuntu</code> or <code>mongo</code>).</p> </li> <li> <p>Images in other repositories on Docker Hub are qualified with an organization name (for example, <code>amazon/amazon-ecs-agent</code>).</p> </li> <li> <p>Images in other online repositories are qualified further by a domain name (for example, <code>quay.io/assemblyline/ubuntu</code>).</p> </li> </ul>"
},
"cpu":{
"shape":"Integer",
"documentation":"<p>The number of <code>cpu</code> units reserved for the container. A container instance has 1,024 <code>cpu</code> units for every CPU core. This parameter specifies the minimum amount of CPU to reserve for a container, and containers share unallocated CPU units with other containers on the instance with the same ratio as their allocated amount. This parameter maps to <code>CpuShares</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--cpu-shares</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p> <note> <p>You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the <a href=\"http://aws.amazon.com/ec2/instance-types/\">Amazon EC2 Instances</a> detail page by 1,024.</p> </note> <p>For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that is the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task would be guaranteed a minimum of 512 CPU units when needed, and each container could float to higher CPU usage if the other container was not using it, but if both tasks were 100% active all of the time, they would be limited to 512 CPU units.</p> <p>The Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. For more information, see <a href=\"https://docs.docker.com/engine/reference/run/#cpu-share-constraint\">CPU share constraint</a> in the Docker documentation. The minimum valid CPU share value that the Linux kernel allows is 2; however, the CPU parameter is not required, and you can use CPU values below 2 in your container definitions. For CPU values below 2 (including null), the behavior varies based on your Amazon ECS container agent version:</p> <ul> <li> <p> <b>Agent versions less than or equal to 1.1.0:</b> Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to 2 CPU shares.</p> </li> <li> <p> <b>Agent versions greater than or equal to 1.2.0:</b> Null, zero, and CPU values of 1 are passed to Docker as 2.</p> </li> </ul>"
},
"memory":{
"shape":"BoxedInteger",
"documentation":"<p>The hard limit (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. This parameter maps to <code>Memory</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--memory</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p> <p>You must specify a non-zero integer for one or both of <code>memory</code> or <code>memoryReservation</code> in container definitions. If you specify both, <code>memory</code> must be greater than <code>memoryReservation</code>. If you specify <code>memoryReservation</code>, then that value is subtracted from the available memory resources for the container instance on which the container is placed; otherwise, the value of <code>memory</code> is used.</p> <p>The Docker daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers. </p>"
},
"memoryReservation":{
"shape":"BoxedInteger",
"documentation":"<p>The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit; however, your container can consume more memory when it needs to, up to either the hard limit specified with the <code>memory</code> parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to <code>MemoryReservation</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--memory-reservation</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p> <p>You must specify a non-zero integer for one or both of <code>memory</code> or <code>memoryReservation</code> in container definitions. If you specify both, <code>memory</code> must be greater than <code>memoryReservation</code>. If you specify <code>memoryReservation</code>, then that value is subtracted from the available memory resources for the container instance on which the container is placed; otherwise, the value of <code>memory</code> is used.</p> <p>For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a <code>memoryReservation</code> of 128 MiB, and a <code>memory</code> hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed.</p>"
},
"links":{
"shape":"StringList",
"documentation":"<p>The <code>link</code> parameter allows containers to communicate with each other without the need for port mappings, using the <code>name</code> parameter and optionally, an <code>alias</code> for the link. This construct is analogous to <code>name:alias</code> in Docker links. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed for each <code>name</code> and <code>alias</code>. For more information on linking Docker containers, see <a href=\"https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/\">https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/</a>. This parameter maps to <code>Links</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--link</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p> <important> <p>Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.</p> </important>"
},
"portMappings":{
"shape":"PortMappingList",
"documentation":"<p>The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. This parameter maps to <code>PortBindings</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--publish</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>. If the network mode of a task definition is set to <code>none</code>, then you cannot specify port mappings. If the network mode of a task definition is set to <code>host</code>, then host ports must either be undefined or they must match the container port in the port mapping.</p> <note> <p>After a task reaches the <code>RUNNING</code> status, manual and automatic host and container port assignments are visible in the <b>Network Bindings</b> section of a container description of a selected task in the Amazon ECS console, or the <code>networkBindings</code> section <a>DescribeTasks</a> responses.</p> </note>"
},
"essential":{
"shape":"BoxedBoolean",
"documentation":"<p>If the <code>essential</code> parameter of a container is marked as <code>true</code>, and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the <code>essential</code> parameter of a container is marked as <code>false</code>, then its failure does not affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.</p> <p>All tasks must have at least one essential container. If you have an application that is composed of multiple containers, you should group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html\">Application Architecture</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p>"
},
"entryPoint":{
"shape":"StringList",
"documentation":"<important> <p>Early versions of the Amazon ECS container agent do not properly handle <code>entryPoint</code> parameters. If you have problems using <code>entryPoint</code>, update your container agent or enter your commands and arguments as <code>command</code> array items instead.</p> </important> <p>The entry point that is passed to the container. This parameter maps to <code>Entrypoint</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--entrypoint</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>. For more information, see <a href=\"https://docs.docker.com/engine/reference/builder/#entrypoint\">https://docs.docker.com/engine/reference/builder/#entrypoint</a>.</p>"
},
"command":{
"shape":"StringList",
"documentation":"<p>The command that is passed to the container. This parameter maps to <code>Cmd</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>COMMAND</code> parameter to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>. For more information, see <a href=\"https://docs.docker.com/engine/reference/builder/#cmd\">https://docs.docker.com/engine/reference/builder/#cmd</a>.</p>"
},
"environment":{
"shape":"EnvironmentVariables",
"documentation":"<p>The environment variables to pass to a container. This parameter maps to <code>Env</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--env</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p> <important> <p>We do not recommend using plain text environment variables for sensitive information, such as credential data.</p> </important>"
},
"mountPoints":{
"shape":"MountPointList",
"documentation":"<p>The mount points for data volumes in your container. This parameter maps to <code>Volumes</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--volume</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"volumesFrom":{
"shape":"VolumeFromList",
"documentation":"<p>Data volumes to mount from another container. This parameter maps to <code>VolumesFrom</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--volumes-from</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"hostname":{
"shape":"String",
"documentation":"<p>The hostname to use for your container. This parameter maps to <code>Hostname</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--hostname</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"user":{
"shape":"String",
"documentation":"<p>The user name to use inside the container. This parameter maps to <code>User</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--user</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"workingDirectory":{
"shape":"String",
"documentation":"<p>The working directory in which to run commands inside the container. This parameter maps to <code>WorkingDir</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--workdir</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"disableNetworking":{
"shape":"BoxedBoolean",
"documentation":"<p>When this parameter is true, networking is disabled within the container. This parameter maps to <code>NetworkDisabled</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a>.</p>"
},
"privileged":{
"shape":"BoxedBoolean",
"documentation":"<p>When this parameter is true, the container is given elevated privileges on the host container instance (similar to the <code>root</code> user). This parameter maps to <code>Privileged</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--privileged</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"readonlyRootFilesystem":{
"shape":"BoxedBoolean",
"documentation":"<p>When this parameter is true, the container is given read-only access to its root file system. This parameter maps to <code>ReadonlyRootfs</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--read-only</code> option to <code>docker run</code>.</p>"
},
"dnsServers":{
"shape":"StringList",
"documentation":"<p>A list of DNS servers that are presented to the container. This parameter maps to <code>Dns</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--dns</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"dnsSearchDomains":{
"shape":"StringList",
"documentation":"<p>A list of DNS search domains that are presented to the container. This parameter maps to <code>DnsSearch</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--dns-search</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"extraHosts":{
"shape":"HostEntryList",
"documentation":"<p>A list of hostnames and IP address mappings to append to the <code>/etc/hosts</code> file on the container. This parameter maps to <code>ExtraHosts</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--add-host</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p>"
},
"dockerSecurityOptions":{
"shape":"StringList",
"documentation":"<p>A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. This parameter maps to <code>SecurityOpt</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--security-opt</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>.</p> <note> <p>The Amazon ECS container agent running on a container instance must register with the <code>ECS_SELINUX_CAPABLE=true</code> or <code>ECS_APPARMOR_CAPABLE=true</code> environment variables before containers placed on that instance can use these security options. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html\">Amazon ECS Container Agent Configuration</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p> </note>"
},
"dockerLabels":{
"shape":"DockerLabelsMap",
"documentation":"<p>A key/value map of labels to add to the container. This parameter maps to <code>Labels</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--label</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: <code>sudo docker version | grep \"Server API version\"</code> </p>"
},
"ulimits":{
"shape":"UlimitList",
"documentation":"<p>A list of <code>ulimits</code> to set in the container. This parameter maps to <code>Ulimits</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--ulimit</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>. Valid naming values are displayed in the <a>Ulimit</a> data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: <code>sudo docker version | grep \"Server API version\"</code> </p>"
},
"logConfiguration":{
"shape":"LogConfiguration",
"documentation":"<p>The log configuration specification for the container. This parameter maps to <code>LogConfig</code> in the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container\">Create a container</a> section of the <a href=\"https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/\">Docker Remote API</a> and the <code>--log-driver</code> option to <a href=\"https://docs.docker.com/engine/reference/run/\">docker run</a>. By default, containers use the same logging driver that the Docker daemon uses; however the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see <a href=\"https://docs.docker.com/engine/admin/logging/overview/\">Configure logging drivers</a> in the Docker documentation.</p> <note> <p>Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the <a>LogConfiguration</a> data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.</p> </note> <p>This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log into your container instance and run the following command: <code>sudo docker version | grep \"Server API version\"</code> </p> <note> <p>The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the <code>ECS_AVAILABLE_LOGGING_DRIVERS</code> environment variable before containers placed on that instance can use these log configuration options. For more information, see <a href=\"http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html\">Amazon ECS Container Agent Configuration</a> in the <i>Amazon EC2 Container Service Developer Guide</i>.</p> </note>"
}
},
"documentation":"<p>Container definitions are used in task definitions to describe the different containers that are launched as part of a task.</p>"
},
"ContainerDefinitions":{
"type":"list",
"member":{"shape":"ContainerDefinition"}
},
"ContainerInstance":{
"type":"structure",
"members":{
"containerInstanceArn":{
"shape":"String",
"documentation":"<p>The Amazon Resource Name (ARN) of the container instance. The ARN contains the <code>arn:aws:ecs</code> namespace, followed by the region of the container instance, the AWS account ID of the container instance owner, the <code>container-instance</code> namespace, and then the container instance ID. For example, <code>arn:aws:ecs:<i>region</i>:<i>aws_account_id</i>:container-instance/<i>container_instance_ID</i> </code>.</p>"
},
"ec2InstanceId":{
"shape":"String",
"documentation":"<p>The EC2 instance ID of the container instance.</p>"
},
"version":{
"shape":"Long",
"documentation":"<p>The version counter for the container instance. Every time a container instance experiences a change that triggers a CloudWatch event, the version counter is incremented. If you are replicating your Amazon ECS container instance state with CloudWatch events, you can compare the version of a container instance reported by the Amazon ECS APIs with the version reported in CloudWatch events for the container instance (inside the <code>detail</code> object) to verify that the version in your event stream is current.</p>"
},
"versionInfo":{
"shape":"VersionInfo",
"documentation":"<p>The version information for the Amazon ECS container agent and Docker daemon running on the container instance.</p>"
},
"remainingResources":{
"shape":"Resources",
"documentation":"<p>For most resource types, this parameter describes the remaining resources of the container instance that are available for new tasks. For port resource types, this parameter describes the ports that are reserved by the Amazon ECS container agent and any containers that have reserved port mappings; any port that is not specified here is available for new tasks.</p>"
},
"registeredResources":{
"shape":"Resources",
"documentation":"<p>For most resource types, this parameter describes the registered resources on the container instance that are in use by current tasks. For port resource types, this parameter describes the ports that were reserved by the Amazon ECS container agent when it registered the container instance with Amazon ECS.</p>"
},
"status":{
"shape":"String",
"documentation":"<p>The status of the container instance. The valid values are <code>ACTIVE</code> or <code>INACTIVE</code>. <code>ACTIVE</code> indicates that the container instance can accept tasks.</p>"
},
"agentConnected":{
"shape":"Boolean",
"documentation":"<p>This parameter returns <code>true</code> if the agent is actually connected to Amazon ECS. Registered instances with an agent that may be unhealthy or stopped return <code>false</code>, and instances without a connected agent cannot accept placement requests.</p>"
},
"runningTasksCount":{
"shape":"Integer",
"documentation":"<p>The number of tasks on the container instance that are in the <code>RUNNING</code> status.</p>"
},
"pendingTasksCount":{
"shape":"Integer",
"documentation":"<p>The number of tasks on the container instance that are in the <code>PENDING</code> status.</p>"
},
"agentUpdateStatus":{
"shape":"AgentUpdateStatus",
"documentation":"<p>The status of the most recent agent update. If an update has never been requested, this value is <code>NULL</code>.</p>"
},
"attributes":{
"shape":"Attributes",
"documentation":"<p>The attributes set for the container instance, either by the Amazon ECS container agent at instance registration or manually with the <a>PutAttributes</a> operation.</p>"
}
},
"documentation":"<p>An EC2 instance that is running the Amazon ECS agent and has been registered with a cluster.</p>"
},
"ContainerInstanceStatus":{
"type":"string",
"enum":[
"ACTIVE",
"DRAINING"
]
},
"ContainerInstances":{
"type":"list",
"member":{"shape":"ContainerInstance"}
},
"ContainerOverride":{
"type":"structure",
"members":{
"name":{
"shape":"String",
"documentation":"<p>The name of the container that receives the override.</p>"
},
"command":{
"shape":"StringList",
"documentation":"<p>The command to send to the container that overrides the default command from the Docker image or the task definition.</p>"
},
"environment":{
"shape":"EnvironmentVariables",
"documentation":"<p>The environment variables to send to the container. You can add new environment variables, which are added to the container at launch, or you can override the existing environment variables from the Docker image or the task definition.</p>"
}
},
"documentation":"<p>The overrides that should be sent to a container.</p>"
},
"ContainerOverrides":{
"type":"list",
"member":{"shape":"ContainerOverride"}
},
"Containers":{
"type":"list",
"member":{"shape":"Container"}
},
"CreateClusterRequest":{
"type":"structure",
"members":{
"clusterName":{
"shape":"String",
"documentation":"<p>The name of your cluster. If you do not specify a name for your cluster, you create a cluster named <code>default</code>. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed.</p>"
}
}
},
"CreateClusterResponse":{
"type":"structure",
"members":{
"cluster":{
"shape":"Cluster",
"documentation":"<p>The full description of your new cluster.</p>"
}
}
},
"CreateServiceRequest":{
"type":"structure",
"required":[
"serviceName",
"taskDefinition",
"desiredCount"
],
"members":{
"cluster":{
"shape":"String",
"documentation":"<p>The short name or full Amazon Resource Name (ARN) of the cluster on which to run your service. If you do not specify a cluster, the default cluster is assumed.</p>"
},
"serviceName":{
"shape":"String",
"documentation":"<p>The name of your service. Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a region or across multiple regions.</p>"
},
"taskDefinition":{
"shape":"String",
"documentation":"<p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or full Amazon Resource Name (ARN) of the task definition to run in your service. If a <code>revision</code> is not specified, the latest <code>ACTIVE</code> revision is used.</p>"
},
"loadBalancers":{
"shape":"LoadBalancers",
"documentation":"<p>A load balancer object representing the load balancer to use with your service. Currently, you are limited to one load balancer or target group per service. After you create a service, the load balancer name or target group ARN, container name, and container port specified in the service definition are immutable.</p> <p>For Elastic Load Balancing Classic load balancers, this object must contain the load balancer name, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance is registered with the load balancer specified here.</p> <p>For Elastic Load Balancing Application load balancers, this object must contain the load balancer target group ARN, the container name (as it appears in a container definition), and the container port to access from the load balancer. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group specified here.</p>"
},
"desiredCount":{
"shape":"BoxedInteger",
"documentation":"<p>The number of instantiations of the specified task definition to place and keep running on your cluster.</p>"
},
"clientToken":{
"shape":"String",
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure the idempotency of the request. Up to 32 ASCII characters are allowed.</p>"
},
"role":{
"shape":"String",
"documentation":"<p>The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service. If you specify the <code>role</code> parameter, you must also specify a load balancer object with the <code>loadBalancers</code> parameter.</p> <p>If your specified role has a path other than <code>/</code>, then you must either specify the full role ARN (this is recommended) or prefix the role name with the path. For example, if a role with the name <code>bar</code> has a path of <code>/foo/</code> then you would specify <code>/foo/bar</code> as the role name. For more information, see <a href=\"http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names\">Friendly Names and Paths</a> in the <i>IAM User Guide</i>.</p>"
},
"deploymentConfiguration":{
"shape":"DeploymentConfiguration",
"documentation":"<p>Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.</p>"
},
"placementConstraints":{
"shape":"PlacementConstraints",
"documentation":"<p>An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time). </p>"
},
"placementStrategy":{
"shape":"PlacementStrategies",
"documentation":"<p>The placement strategy objects to use for tasks in your service. You can specify a maximum of 5 strategy rules per service.</p>"
}
}
},
"CreateServiceResponse":{
"type":"structure",
"members":{
"service":{
"shape":"Service",
"documentation":"<p>The full description of your service following the create call.</p>"
}
}
},
"DeleteAttributesRequest":{
"type":"structure",
"required":["attributes"],
"members":{
"cluster":{
"shape":"String",
"documentation":"<p>The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply attributes. If you do not specify a cluster, the default cluster is assumed.</p>"
},
"attributes":{
"shape":"Attributes",
"documentation":"<p>The attributes to delete from your resource. You can specify up to 10 attributes per request. For custom attributes, specify the attribute name and target ID, but do not specify the value. If you specify the target ID using the short form, you must also specify the target type.</p>"
}
}
},
"DeleteAttributesResponse":{
"type":"structure",
"members":{
"attributes":{
"shape":"Attributes",
"documentation":"<p>A list of attribute objects that were successfully deleted from your resource.</p>"
}
}
},
"DeleteClusterRequest":{
"type":"structure",
"required":["cluster"],
"members":{
"cluster":{
"shape":"String",
"documentation":"<p>The short name or full Amazon Resource Name (ARN) of the cluster to delete.</p>"
}
}
},
"DeleteClusterResponse":{
"type":"structure",
"members":{
"cluster":{
"shape":"Cluster",
"documentation":"<p>The full description of the deleted cluster.</p>"
}
}
},
"DeleteServiceRequest":{
"type":"structure",
"required":["service"],
"members":{
"cluster":{
"shape":"String",
"documentation":"<p>The name of the cluster that hosts the service to delete. If you do not specify a cluster, the default cluster is assumed.</p>"
},
"service":{
"shape":"String",
"documentation":"<p>The name of the service to delete.</p>"
}
}
},
"DeleteServiceResponse":{
"type":"structure",
"members":{
"service":{
"shape":"Service",