1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package ecs 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12) 13 14const opCreateCluster = "CreateCluster" 15 16// CreateClusterRequest generates a "aws/request.Request" representing the 17// client's request for the CreateCluster operation. The "output" return 18// value will be populated with the request's response once the request complets 19// successfuly. 20// 21// Use "Send" method on the returned Request to send the API call to the service. 22// the "output" return value is not valid until after Send returns without error. 23// 24// See CreateCluster for more information on using the CreateCluster 25// API call, and error handling. 26// 27// This method is useful when you want to inject custom logic or configuration 28// into the SDK's request lifecycle. Such as custom headers, or retry logic. 29// 30// 31// // Example sending a request using the CreateClusterRequest method. 32// req, resp := client.CreateClusterRequest(params) 33// 34// err := req.Send() 35// if err == nil { // resp is now filled 36// fmt.Println(resp) 37// } 38// 39// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 40func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 41 op := &request.Operation{ 42 Name: opCreateCluster, 43 HTTPMethod: "POST", 44 HTTPPath: "/", 45 } 46 47 if input == nil { 48 input = &CreateClusterInput{} 49 } 50 51 output = &CreateClusterOutput{} 52 req = c.newRequest(op, input, output) 53 return 54} 55 56// CreateCluster API operation for Amazon EC2 Container Service. 57// 58// Creates a new Amazon ECS cluster. By default, your account receives a default 59// cluster when you launch your first container instance. However, you can create 60// your own cluster with a unique name with the CreateCluster action. 61// 62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 63// with awserr.Error's Code and Message methods to get detailed information about 64// the error. 65// 66// See the AWS API reference guide for Amazon EC2 Container Service's 67// API operation CreateCluster for usage and error information. 68// 69// Returned Error Codes: 70// * ErrCodeServerException "ServerException" 71// These errors are usually caused by a server issue. 72// 73// * ErrCodeClientException "ClientException" 74// These errors are usually caused by a client action, such as using an action 75// or resource on behalf of a user that doesn't have permission to use the action 76// or resource, or specifying an identifier that is not valid. 77// 78// * ErrCodeInvalidParameterException "InvalidParameterException" 79// The specified parameter is invalid. Review the available parameters for the 80// API request. 81// 82// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 83func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 84 req, out := c.CreateClusterRequest(input) 85 return out, req.Send() 86} 87 88// CreateClusterWithContext is the same as CreateCluster with the addition of 89// the ability to pass a context and additional request options. 90// 91// See CreateCluster for details on how to use this API operation. 92// 93// The context must be non-nil and will be used for request cancellation. If 94// the context is nil a panic will occur. In the future the SDK may create 95// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 96// for more information on using Contexts. 97func (c *ECS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 98 req, out := c.CreateClusterRequest(input) 99 req.SetContext(ctx) 100 req.ApplyOptions(opts...) 101 return out, req.Send() 102} 103 104const opCreateService = "CreateService" 105 106// CreateServiceRequest generates a "aws/request.Request" representing the 107// client's request for the CreateService operation. The "output" return 108// value will be populated with the request's response once the request complets 109// successfuly. 110// 111// Use "Send" method on the returned Request to send the API call to the service. 112// the "output" return value is not valid until after Send returns without error. 113// 114// See CreateService for more information on using the CreateService 115// API call, and error handling. 116// 117// This method is useful when you want to inject custom logic or configuration 118// into the SDK's request lifecycle. Such as custom headers, or retry logic. 119// 120// 121// // Example sending a request using the CreateServiceRequest method. 122// req, resp := client.CreateServiceRequest(params) 123// 124// err := req.Send() 125// if err == nil { // resp is now filled 126// fmt.Println(resp) 127// } 128// 129// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 130func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { 131 op := &request.Operation{ 132 Name: opCreateService, 133 HTTPMethod: "POST", 134 HTTPPath: "/", 135 } 136 137 if input == nil { 138 input = &CreateServiceInput{} 139 } 140 141 output = &CreateServiceOutput{} 142 req = c.newRequest(op, input, output) 143 return 144} 145 146// CreateService API operation for Amazon EC2 Container Service. 147// 148// Runs and maintains a desired number of tasks from a specified task definition. 149// If the number of tasks running in a service drops below desiredCount, Amazon 150// ECS spawns another copy of the task in the specified cluster. To update an 151// existing service, see UpdateService. 152// 153// In addition to maintaining the desired count of tasks in your service, you 154// can optionally run your service behind a load balancer. The load balancer 155// distributes traffic across the tasks that are associated with the service. 156// For more information, see Service Load Balancing (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 157// in the Amazon EC2 Container Service Developer Guide. 158// 159// You can optionally specify a deployment configuration for your service. During 160// a deployment (which is triggered by changing the task definition or the desired 161// count of a service with an UpdateService operation), the service scheduler 162// uses the minimumHealthyPercent and maximumPercent parameters to determine 163// the deployment strategy. 164// 165// The minimumHealthyPercent represents a lower limit on the number of your 166// service's tasks that must remain in the RUNNING state during a deployment, 167// as a percentage of the desiredCount (rounded up to the nearest integer). 168// This parameter enables you to deploy without using additional cluster capacity. 169// For example, if your service has a desiredCount of four tasks and a minimumHealthyPercent 170// of 50%, the scheduler can stop two existing tasks to free up cluster capacity 171// before starting two new tasks. Tasks for services that do not use a load 172// balancer are considered healthy if they are in the RUNNING state. Tasks for 173// services that do use a load balancer are considered healthy if they are in 174// the RUNNING state and the container instance they are hosted on is reported 175// as healthy by the load balancer. The default value for minimumHealthyPercent 176// is 50% in the console and 100% for the AWS CLI, the AWS SDKs, and the APIs. 177// 178// The maximumPercent parameter represents an upper limit on the number of your 179// service's tasks that are allowed in the RUNNING or PENDING state during a 180// deployment, as a percentage of the desiredCount (rounded down to the nearest 181// integer). This parameter enables you to define the deployment batch size. 182// For example, if your service has a desiredCount of four tasks and a maximumPercent 183// value of 200%, the scheduler can start four new tasks before stopping the 184// four older tasks (provided that the cluster resources required to do this 185// are available). The default value for maximumPercent is 200%. 186// 187// When the service scheduler launches new tasks, it determines task placement 188// in your cluster using the following logic: 189// 190// * Determine which of the container instances in your cluster can support 191// your service's task definition (for example, they have the required CPU, 192// memory, ports, and container instance attributes). 193// 194// * By default, the service scheduler attempts to balance tasks across Availability 195// Zones in this manner (although you can choose a different placement strategy) 196// with the placementStrategy parameter): 197// 198// Sort the valid container instances by the fewest number of running tasks 199// for this service in the same Availability Zone as the instance. For example, 200// if zone A has one running service task and zones B and C each have zero, 201// valid container instances in either zone B or C are considered optimal 202// for placement. 203// 204// Place the new service task on a valid container instance in an optimal Availability 205// Zone (based on the previous steps), favoring container instances with 206// the fewest number of running tasks for this service. 207// 208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 209// with awserr.Error's Code and Message methods to get detailed information about 210// the error. 211// 212// See the AWS API reference guide for Amazon EC2 Container Service's 213// API operation CreateService for usage and error information. 214// 215// Returned Error Codes: 216// * ErrCodeServerException "ServerException" 217// These errors are usually caused by a server issue. 218// 219// * ErrCodeClientException "ClientException" 220// These errors are usually caused by a client action, such as using an action 221// or resource on behalf of a user that doesn't have permission to use the action 222// or resource, or specifying an identifier that is not valid. 223// 224// * ErrCodeInvalidParameterException "InvalidParameterException" 225// The specified parameter is invalid. Review the available parameters for the 226// API request. 227// 228// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 229// The specified cluster could not be found. You can view your available clusters 230// with ListClusters. Amazon ECS clusters are region-specific. 231// 232// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 233func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 234 req, out := c.CreateServiceRequest(input) 235 return out, req.Send() 236} 237 238// CreateServiceWithContext is the same as CreateService with the addition of 239// the ability to pass a context and additional request options. 240// 241// See CreateService for details on how to use this API operation. 242// 243// The context must be non-nil and will be used for request cancellation. If 244// the context is nil a panic will occur. In the future the SDK may create 245// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 246// for more information on using Contexts. 247func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 248 req, out := c.CreateServiceRequest(input) 249 req.SetContext(ctx) 250 req.ApplyOptions(opts...) 251 return out, req.Send() 252} 253 254const opDeleteAttributes = "DeleteAttributes" 255 256// DeleteAttributesRequest generates a "aws/request.Request" representing the 257// client's request for the DeleteAttributes operation. The "output" return 258// value will be populated with the request's response once the request complets 259// successfuly. 260// 261// Use "Send" method on the returned Request to send the API call to the service. 262// the "output" return value is not valid until after Send returns without error. 263// 264// See DeleteAttributes for more information on using the DeleteAttributes 265// API call, and error handling. 266// 267// This method is useful when you want to inject custom logic or configuration 268// into the SDK's request lifecycle. Such as custom headers, or retry logic. 269// 270// 271// // Example sending a request using the DeleteAttributesRequest method. 272// req, resp := client.DeleteAttributesRequest(params) 273// 274// err := req.Send() 275// if err == nil { // resp is now filled 276// fmt.Println(resp) 277// } 278// 279// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 280func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { 281 op := &request.Operation{ 282 Name: opDeleteAttributes, 283 HTTPMethod: "POST", 284 HTTPPath: "/", 285 } 286 287 if input == nil { 288 input = &DeleteAttributesInput{} 289 } 290 291 output = &DeleteAttributesOutput{} 292 req = c.newRequest(op, input, output) 293 return 294} 295 296// DeleteAttributes API operation for Amazon EC2 Container Service. 297// 298// Deletes one or more custom attributes from an Amazon ECS resource. 299// 300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 301// with awserr.Error's Code and Message methods to get detailed information about 302// the error. 303// 304// See the AWS API reference guide for Amazon EC2 Container Service's 305// API operation DeleteAttributes for usage and error information. 306// 307// Returned Error Codes: 308// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 309// The specified cluster could not be found. You can view your available clusters 310// with ListClusters. Amazon ECS clusters are region-specific. 311// 312// * ErrCodeTargetNotFoundException "TargetNotFoundException" 313// The specified target could not be found. You can view your available container 314// instances with ListContainerInstances. Amazon ECS container instances are 315// cluster-specific and region-specific. 316// 317// * ErrCodeInvalidParameterException "InvalidParameterException" 318// The specified parameter is invalid. Review the available parameters for the 319// API request. 320// 321// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 322func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { 323 req, out := c.DeleteAttributesRequest(input) 324 return out, req.Send() 325} 326 327// DeleteAttributesWithContext is the same as DeleteAttributes with the addition of 328// the ability to pass a context and additional request options. 329// 330// See DeleteAttributes for details on how to use this API operation. 331// 332// The context must be non-nil and will be used for request cancellation. If 333// the context is nil a panic will occur. In the future the SDK may create 334// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 335// for more information on using Contexts. 336func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) { 337 req, out := c.DeleteAttributesRequest(input) 338 req.SetContext(ctx) 339 req.ApplyOptions(opts...) 340 return out, req.Send() 341} 342 343const opDeleteCluster = "DeleteCluster" 344 345// DeleteClusterRequest generates a "aws/request.Request" representing the 346// client's request for the DeleteCluster operation. The "output" return 347// value will be populated with the request's response once the request complets 348// successfuly. 349// 350// Use "Send" method on the returned Request to send the API call to the service. 351// the "output" return value is not valid until after Send returns without error. 352// 353// See DeleteCluster for more information on using the DeleteCluster 354// API call, and error handling. 355// 356// This method is useful when you want to inject custom logic or configuration 357// into the SDK's request lifecycle. Such as custom headers, or retry logic. 358// 359// 360// // Example sending a request using the DeleteClusterRequest method. 361// req, resp := client.DeleteClusterRequest(params) 362// 363// err := req.Send() 364// if err == nil { // resp is now filled 365// fmt.Println(resp) 366// } 367// 368// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 369func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 370 op := &request.Operation{ 371 Name: opDeleteCluster, 372 HTTPMethod: "POST", 373 HTTPPath: "/", 374 } 375 376 if input == nil { 377 input = &DeleteClusterInput{} 378 } 379 380 output = &DeleteClusterOutput{} 381 req = c.newRequest(op, input, output) 382 return 383} 384 385// DeleteCluster API operation for Amazon EC2 Container Service. 386// 387// Deletes the specified cluster. You must deregister all container instances 388// from this cluster before you may delete it. You can list the container instances 389// in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance. 390// 391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 392// with awserr.Error's Code and Message methods to get detailed information about 393// the error. 394// 395// See the AWS API reference guide for Amazon EC2 Container Service's 396// API operation DeleteCluster for usage and error information. 397// 398// Returned Error Codes: 399// * ErrCodeServerException "ServerException" 400// These errors are usually caused by a server issue. 401// 402// * ErrCodeClientException "ClientException" 403// These errors are usually caused by a client action, such as using an action 404// or resource on behalf of a user that doesn't have permission to use the action 405// or resource, or specifying an identifier that is not valid. 406// 407// * ErrCodeInvalidParameterException "InvalidParameterException" 408// The specified parameter is invalid. Review the available parameters for the 409// API request. 410// 411// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 412// The specified cluster could not be found. You can view your available clusters 413// with ListClusters. Amazon ECS clusters are region-specific. 414// 415// * ErrCodeClusterContainsContainerInstancesException "ClusterContainsContainerInstancesException" 416// You cannot delete a cluster that has registered container instances. You 417// must first deregister the container instances before you can delete the cluster. 418// For more information, see DeregisterContainerInstance. 419// 420// * ErrCodeClusterContainsServicesException "ClusterContainsServicesException" 421// You cannot delete a cluster that contains services. You must first update 422// the service to reduce its desired task count to 0 and then delete the service. 423// For more information, see UpdateService and DeleteService. 424// 425// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 426func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 427 req, out := c.DeleteClusterRequest(input) 428 return out, req.Send() 429} 430 431// DeleteClusterWithContext is the same as DeleteCluster with the addition of 432// the ability to pass a context and additional request options. 433// 434// See DeleteCluster for details on how to use this API operation. 435// 436// The context must be non-nil and will be used for request cancellation. If 437// the context is nil a panic will occur. In the future the SDK may create 438// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 439// for more information on using Contexts. 440func (c *ECS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 441 req, out := c.DeleteClusterRequest(input) 442 req.SetContext(ctx) 443 req.ApplyOptions(opts...) 444 return out, req.Send() 445} 446 447const opDeleteService = "DeleteService" 448 449// DeleteServiceRequest generates a "aws/request.Request" representing the 450// client's request for the DeleteService operation. The "output" return 451// value will be populated with the request's response once the request complets 452// successfuly. 453// 454// Use "Send" method on the returned Request to send the API call to the service. 455// the "output" return value is not valid until after Send returns without error. 456// 457// See DeleteService for more information on using the DeleteService 458// API call, and error handling. 459// 460// This method is useful when you want to inject custom logic or configuration 461// into the SDK's request lifecycle. Such as custom headers, or retry logic. 462// 463// 464// // Example sending a request using the DeleteServiceRequest method. 465// req, resp := client.DeleteServiceRequest(params) 466// 467// err := req.Send() 468// if err == nil { // resp is now filled 469// fmt.Println(resp) 470// } 471// 472// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 473func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 474 op := &request.Operation{ 475 Name: opDeleteService, 476 HTTPMethod: "POST", 477 HTTPPath: "/", 478 } 479 480 if input == nil { 481 input = &DeleteServiceInput{} 482 } 483 484 output = &DeleteServiceOutput{} 485 req = c.newRequest(op, input, output) 486 return 487} 488 489// DeleteService API operation for Amazon EC2 Container Service. 490// 491// Deletes a specified service within a cluster. You can delete a service if 492// you have no running tasks in it and the desired task count is zero. If the 493// service is actively maintaining tasks, you cannot delete it, and you must 494// update the service to a desired task count of zero. For more information, 495// see UpdateService. 496// 497// When you delete a service, if there are still running tasks that require 498// cleanup, the service status moves from ACTIVE to DRAINING, and the service 499// is no longer visible in the console or in ListServices API operations. After 500// the tasks have stopped, then the service status moves from DRAINING to INACTIVE. 501// Services in the DRAINING or INACTIVE status can still be viewed with DescribeServices 502// API operations; however, in the future, INACTIVE services may be cleaned 503// up and purged from Amazon ECS record keeping, and DescribeServices API operations 504// on those services will return a ServiceNotFoundException error. 505// 506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 507// with awserr.Error's Code and Message methods to get detailed information about 508// the error. 509// 510// See the AWS API reference guide for Amazon EC2 Container Service's 511// API operation DeleteService for usage and error information. 512// 513// Returned Error Codes: 514// * ErrCodeServerException "ServerException" 515// These errors are usually caused by a server issue. 516// 517// * ErrCodeClientException "ClientException" 518// These errors are usually caused by a client action, such as using an action 519// or resource on behalf of a user that doesn't have permission to use the action 520// or resource, or specifying an identifier that is not valid. 521// 522// * ErrCodeInvalidParameterException "InvalidParameterException" 523// The specified parameter is invalid. Review the available parameters for the 524// API request. 525// 526// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 527// The specified cluster could not be found. You can view your available clusters 528// with ListClusters. Amazon ECS clusters are region-specific. 529// 530// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 531// The specified service could not be found. You can view your available services 532// with ListServices. Amazon ECS services are cluster-specific and region-specific. 533// 534// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 535func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 536 req, out := c.DeleteServiceRequest(input) 537 return out, req.Send() 538} 539 540// DeleteServiceWithContext is the same as DeleteService with the addition of 541// the ability to pass a context and additional request options. 542// 543// See DeleteService for details on how to use this API operation. 544// 545// The context must be non-nil and will be used for request cancellation. If 546// the context is nil a panic will occur. In the future the SDK may create 547// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 548// for more information on using Contexts. 549func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 550 req, out := c.DeleteServiceRequest(input) 551 req.SetContext(ctx) 552 req.ApplyOptions(opts...) 553 return out, req.Send() 554} 555 556const opDeregisterContainerInstance = "DeregisterContainerInstance" 557 558// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 559// client's request for the DeregisterContainerInstance operation. The "output" return 560// value will be populated with the request's response once the request complets 561// successfuly. 562// 563// Use "Send" method on the returned Request to send the API call to the service. 564// the "output" return value is not valid until after Send returns without error. 565// 566// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 567// API call, and error handling. 568// 569// This method is useful when you want to inject custom logic or configuration 570// into the SDK's request lifecycle. Such as custom headers, or retry logic. 571// 572// 573// // Example sending a request using the DeregisterContainerInstanceRequest method. 574// req, resp := client.DeregisterContainerInstanceRequest(params) 575// 576// err := req.Send() 577// if err == nil { // resp is now filled 578// fmt.Println(resp) 579// } 580// 581// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 582func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 583 op := &request.Operation{ 584 Name: opDeregisterContainerInstance, 585 HTTPMethod: "POST", 586 HTTPPath: "/", 587 } 588 589 if input == nil { 590 input = &DeregisterContainerInstanceInput{} 591 } 592 593 output = &DeregisterContainerInstanceOutput{} 594 req = c.newRequest(op, input, output) 595 return 596} 597 598// DeregisterContainerInstance API operation for Amazon EC2 Container Service. 599// 600// Deregisters an Amazon ECS container instance from the specified cluster. 601// This instance is no longer available to run tasks. 602// 603// If you intend to use the container instance for some other purpose after 604// deregistration, you should stop all of the tasks running on the container 605// instance before deregistration to avoid any orphaned tasks from consuming 606// resources. 607// 608// Deregistering a container instance removes the instance from a cluster, but 609// it does not terminate the EC2 instance; if you are finished using the instance, 610// be sure to terminate it in the Amazon EC2 console to stop billing. 611// 612// If you terminate a running container instance, Amazon ECS automatically deregisters 613// the instance from your cluster (stopped container instances or instances 614// with disconnected agents are not automatically deregistered when terminated). 615// 616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 617// with awserr.Error's Code and Message methods to get detailed information about 618// the error. 619// 620// See the AWS API reference guide for Amazon EC2 Container Service's 621// API operation DeregisterContainerInstance for usage and error information. 622// 623// Returned Error Codes: 624// * ErrCodeServerException "ServerException" 625// These errors are usually caused by a server issue. 626// 627// * ErrCodeClientException "ClientException" 628// These errors are usually caused by a client action, such as using an action 629// or resource on behalf of a user that doesn't have permission to use the action 630// or resource, or specifying an identifier that is not valid. 631// 632// * ErrCodeInvalidParameterException "InvalidParameterException" 633// The specified parameter is invalid. Review the available parameters for the 634// API request. 635// 636// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 637// The specified cluster could not be found. You can view your available clusters 638// with ListClusters. Amazon ECS clusters are region-specific. 639// 640// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 641func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 642 req, out := c.DeregisterContainerInstanceRequest(input) 643 return out, req.Send() 644} 645 646// DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 647// the ability to pass a context and additional request options. 648// 649// See DeregisterContainerInstance for details on how to use this API operation. 650// 651// The context must be non-nil and will be used for request cancellation. If 652// the context is nil a panic will occur. In the future the SDK may create 653// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 654// for more information on using Contexts. 655func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 656 req, out := c.DeregisterContainerInstanceRequest(input) 657 req.SetContext(ctx) 658 req.ApplyOptions(opts...) 659 return out, req.Send() 660} 661 662const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 663 664// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 665// client's request for the DeregisterTaskDefinition operation. The "output" return 666// value will be populated with the request's response once the request complets 667// successfuly. 668// 669// Use "Send" method on the returned Request to send the API call to the service. 670// the "output" return value is not valid until after Send returns without error. 671// 672// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 673// API call, and error handling. 674// 675// This method is useful when you want to inject custom logic or configuration 676// into the SDK's request lifecycle. Such as custom headers, or retry logic. 677// 678// 679// // Example sending a request using the DeregisterTaskDefinitionRequest method. 680// req, resp := client.DeregisterTaskDefinitionRequest(params) 681// 682// err := req.Send() 683// if err == nil { // resp is now filled 684// fmt.Println(resp) 685// } 686// 687// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 688func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 689 op := &request.Operation{ 690 Name: opDeregisterTaskDefinition, 691 HTTPMethod: "POST", 692 HTTPPath: "/", 693 } 694 695 if input == nil { 696 input = &DeregisterTaskDefinitionInput{} 697 } 698 699 output = &DeregisterTaskDefinitionOutput{} 700 req = c.newRequest(op, input, output) 701 return 702} 703 704// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 705// 706// Deregisters the specified task definition by family and revision. Upon deregistration, 707// the task definition is marked as INACTIVE. Existing tasks and services that 708// reference an INACTIVE task definition continue to run without disruption. 709// Existing services that reference an INACTIVE task definition can still scale 710// up or down by modifying the service's desired count. 711// 712// You cannot use an INACTIVE task definition to run new tasks or create new 713// services, and you cannot update an existing service to reference an INACTIVE 714// task definition (although there may be up to a 10 minute window following 715// deregistration where these restrictions have not yet taken effect). 716// 717// At this time, INACTIVE task definitions remain discoverable in your account 718// indefinitely; however, this behavior is subject to change in the future, 719// so you should not rely on INACTIVE task definitions persisting beyond the 720// life cycle of any associated tasks and services. 721// 722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 723// with awserr.Error's Code and Message methods to get detailed information about 724// the error. 725// 726// See the AWS API reference guide for Amazon EC2 Container Service's 727// API operation DeregisterTaskDefinition for usage and error information. 728// 729// Returned Error Codes: 730// * ErrCodeServerException "ServerException" 731// These errors are usually caused by a server issue. 732// 733// * ErrCodeClientException "ClientException" 734// These errors are usually caused by a client action, such as using an action 735// or resource on behalf of a user that doesn't have permission to use the action 736// or resource, or specifying an identifier that is not valid. 737// 738// * ErrCodeInvalidParameterException "InvalidParameterException" 739// The specified parameter is invalid. Review the available parameters for the 740// API request. 741// 742// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 743func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 744 req, out := c.DeregisterTaskDefinitionRequest(input) 745 return out, req.Send() 746} 747 748// DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 749// the ability to pass a context and additional request options. 750// 751// See DeregisterTaskDefinition for details on how to use this API operation. 752// 753// The context must be non-nil and will be used for request cancellation. If 754// the context is nil a panic will occur. In the future the SDK may create 755// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 756// for more information on using Contexts. 757func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 758 req, out := c.DeregisterTaskDefinitionRequest(input) 759 req.SetContext(ctx) 760 req.ApplyOptions(opts...) 761 return out, req.Send() 762} 763 764const opDescribeClusters = "DescribeClusters" 765 766// DescribeClustersRequest generates a "aws/request.Request" representing the 767// client's request for the DescribeClusters operation. The "output" return 768// value will be populated with the request's response once the request complets 769// successfuly. 770// 771// Use "Send" method on the returned Request to send the API call to the service. 772// the "output" return value is not valid until after Send returns without error. 773// 774// See DescribeClusters for more information on using the DescribeClusters 775// API call, and error handling. 776// 777// This method is useful when you want to inject custom logic or configuration 778// into the SDK's request lifecycle. Such as custom headers, or retry logic. 779// 780// 781// // Example sending a request using the DescribeClustersRequest method. 782// req, resp := client.DescribeClustersRequest(params) 783// 784// err := req.Send() 785// if err == nil { // resp is now filled 786// fmt.Println(resp) 787// } 788// 789// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 790func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 791 op := &request.Operation{ 792 Name: opDescribeClusters, 793 HTTPMethod: "POST", 794 HTTPPath: "/", 795 } 796 797 if input == nil { 798 input = &DescribeClustersInput{} 799 } 800 801 output = &DescribeClustersOutput{} 802 req = c.newRequest(op, input, output) 803 return 804} 805 806// DescribeClusters API operation for Amazon EC2 Container Service. 807// 808// Describes one or more of your clusters. 809// 810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 811// with awserr.Error's Code and Message methods to get detailed information about 812// the error. 813// 814// See the AWS API reference guide for Amazon EC2 Container Service's 815// API operation DescribeClusters for usage and error information. 816// 817// Returned Error Codes: 818// * ErrCodeServerException "ServerException" 819// These errors are usually caused by a server issue. 820// 821// * ErrCodeClientException "ClientException" 822// These errors are usually caused by a client action, such as using an action 823// or resource on behalf of a user that doesn't have permission to use the action 824// or resource, or specifying an identifier that is not valid. 825// 826// * ErrCodeInvalidParameterException "InvalidParameterException" 827// The specified parameter is invalid. Review the available parameters for the 828// API request. 829// 830// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 831func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 832 req, out := c.DescribeClustersRequest(input) 833 return out, req.Send() 834} 835 836// DescribeClustersWithContext is the same as DescribeClusters with the addition of 837// the ability to pass a context and additional request options. 838// 839// See DescribeClusters for details on how to use this API operation. 840// 841// The context must be non-nil and will be used for request cancellation. If 842// the context is nil a panic will occur. In the future the SDK may create 843// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 844// for more information on using Contexts. 845func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 846 req, out := c.DescribeClustersRequest(input) 847 req.SetContext(ctx) 848 req.ApplyOptions(opts...) 849 return out, req.Send() 850} 851 852const opDescribeContainerInstances = "DescribeContainerInstances" 853 854// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 855// client's request for the DescribeContainerInstances operation. The "output" return 856// value will be populated with the request's response once the request complets 857// successfuly. 858// 859// Use "Send" method on the returned Request to send the API call to the service. 860// the "output" return value is not valid until after Send returns without error. 861// 862// See DescribeContainerInstances for more information on using the DescribeContainerInstances 863// API call, and error handling. 864// 865// This method is useful when you want to inject custom logic or configuration 866// into the SDK's request lifecycle. Such as custom headers, or retry logic. 867// 868// 869// // Example sending a request using the DescribeContainerInstancesRequest method. 870// req, resp := client.DescribeContainerInstancesRequest(params) 871// 872// err := req.Send() 873// if err == nil { // resp is now filled 874// fmt.Println(resp) 875// } 876// 877// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 878func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 879 op := &request.Operation{ 880 Name: opDescribeContainerInstances, 881 HTTPMethod: "POST", 882 HTTPPath: "/", 883 } 884 885 if input == nil { 886 input = &DescribeContainerInstancesInput{} 887 } 888 889 output = &DescribeContainerInstancesOutput{} 890 req = c.newRequest(op, input, output) 891 return 892} 893 894// DescribeContainerInstances API operation for Amazon EC2 Container Service. 895// 896// Describes Amazon EC2 Container Service container instances. Returns metadata 897// about registered and remaining resources on each container instance requested. 898// 899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 900// with awserr.Error's Code and Message methods to get detailed information about 901// the error. 902// 903// See the AWS API reference guide for Amazon EC2 Container Service's 904// API operation DescribeContainerInstances for usage and error information. 905// 906// Returned Error Codes: 907// * ErrCodeServerException "ServerException" 908// These errors are usually caused by a server issue. 909// 910// * ErrCodeClientException "ClientException" 911// These errors are usually caused by a client action, such as using an action 912// or resource on behalf of a user that doesn't have permission to use the action 913// or resource, or specifying an identifier that is not valid. 914// 915// * ErrCodeInvalidParameterException "InvalidParameterException" 916// The specified parameter is invalid. Review the available parameters for the 917// API request. 918// 919// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 920// The specified cluster could not be found. You can view your available clusters 921// with ListClusters. Amazon ECS clusters are region-specific. 922// 923// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 924func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 925 req, out := c.DescribeContainerInstancesRequest(input) 926 return out, req.Send() 927} 928 929// DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 930// the ability to pass a context and additional request options. 931// 932// See DescribeContainerInstances for details on how to use this API operation. 933// 934// The context must be non-nil and will be used for request cancellation. If 935// the context is nil a panic will occur. In the future the SDK may create 936// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 937// for more information on using Contexts. 938func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 939 req, out := c.DescribeContainerInstancesRequest(input) 940 req.SetContext(ctx) 941 req.ApplyOptions(opts...) 942 return out, req.Send() 943} 944 945const opDescribeServices = "DescribeServices" 946 947// DescribeServicesRequest generates a "aws/request.Request" representing the 948// client's request for the DescribeServices operation. The "output" return 949// value will be populated with the request's response once the request complets 950// successfuly. 951// 952// Use "Send" method on the returned Request to send the API call to the service. 953// the "output" return value is not valid until after Send returns without error. 954// 955// See DescribeServices for more information on using the DescribeServices 956// API call, and error handling. 957// 958// This method is useful when you want to inject custom logic or configuration 959// into the SDK's request lifecycle. Such as custom headers, or retry logic. 960// 961// 962// // Example sending a request using the DescribeServicesRequest method. 963// req, resp := client.DescribeServicesRequest(params) 964// 965// err := req.Send() 966// if err == nil { // resp is now filled 967// fmt.Println(resp) 968// } 969// 970// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 971func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 972 op := &request.Operation{ 973 Name: opDescribeServices, 974 HTTPMethod: "POST", 975 HTTPPath: "/", 976 } 977 978 if input == nil { 979 input = &DescribeServicesInput{} 980 } 981 982 output = &DescribeServicesOutput{} 983 req = c.newRequest(op, input, output) 984 return 985} 986 987// DescribeServices API operation for Amazon EC2 Container Service. 988// 989// Describes the specified services running in your cluster. 990// 991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 992// with awserr.Error's Code and Message methods to get detailed information about 993// the error. 994// 995// See the AWS API reference guide for Amazon EC2 Container Service's 996// API operation DescribeServices for usage and error information. 997// 998// Returned Error Codes: 999// * ErrCodeServerException "ServerException" 1000// These errors are usually caused by a server issue. 1001// 1002// * ErrCodeClientException "ClientException" 1003// These errors are usually caused by a client action, such as using an action 1004// or resource on behalf of a user that doesn't have permission to use the action 1005// or resource, or specifying an identifier that is not valid. 1006// 1007// * ErrCodeInvalidParameterException "InvalidParameterException" 1008// The specified parameter is invalid. Review the available parameters for the 1009// API request. 1010// 1011// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1012// The specified cluster could not be found. You can view your available clusters 1013// with ListClusters. Amazon ECS clusters are region-specific. 1014// 1015// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1016func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1017 req, out := c.DescribeServicesRequest(input) 1018 return out, req.Send() 1019} 1020 1021// DescribeServicesWithContext is the same as DescribeServices with the addition of 1022// the ability to pass a context and additional request options. 1023// 1024// See DescribeServices for details on how to use this API operation. 1025// 1026// The context must be non-nil and will be used for request cancellation. If 1027// the context is nil a panic will occur. In the future the SDK may create 1028// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1029// for more information on using Contexts. 1030func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1031 req, out := c.DescribeServicesRequest(input) 1032 req.SetContext(ctx) 1033 req.ApplyOptions(opts...) 1034 return out, req.Send() 1035} 1036 1037const opDescribeTaskDefinition = "DescribeTaskDefinition" 1038 1039// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1040// client's request for the DescribeTaskDefinition operation. The "output" return 1041// value will be populated with the request's response once the request complets 1042// successfuly. 1043// 1044// Use "Send" method on the returned Request to send the API call to the service. 1045// the "output" return value is not valid until after Send returns without error. 1046// 1047// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1048// API call, and error handling. 1049// 1050// This method is useful when you want to inject custom logic or configuration 1051// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1052// 1053// 1054// // Example sending a request using the DescribeTaskDefinitionRequest method. 1055// req, resp := client.DescribeTaskDefinitionRequest(params) 1056// 1057// err := req.Send() 1058// if err == nil { // resp is now filled 1059// fmt.Println(resp) 1060// } 1061// 1062// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1063func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1064 op := &request.Operation{ 1065 Name: opDescribeTaskDefinition, 1066 HTTPMethod: "POST", 1067 HTTPPath: "/", 1068 } 1069 1070 if input == nil { 1071 input = &DescribeTaskDefinitionInput{} 1072 } 1073 1074 output = &DescribeTaskDefinitionOutput{} 1075 req = c.newRequest(op, input, output) 1076 return 1077} 1078 1079// DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1080// 1081// Describes a task definition. You can specify a family and revision to find 1082// information about a specific task definition, or you can simply specify the 1083// family to find the latest ACTIVE revision in that family. 1084// 1085// You can only describe INACTIVE task definitions while an active task or service 1086// references them. 1087// 1088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1089// with awserr.Error's Code and Message methods to get detailed information about 1090// the error. 1091// 1092// See the AWS API reference guide for Amazon EC2 Container Service's 1093// API operation DescribeTaskDefinition for usage and error information. 1094// 1095// Returned Error Codes: 1096// * ErrCodeServerException "ServerException" 1097// These errors are usually caused by a server issue. 1098// 1099// * ErrCodeClientException "ClientException" 1100// These errors are usually caused by a client action, such as using an action 1101// or resource on behalf of a user that doesn't have permission to use the action 1102// or resource, or specifying an identifier that is not valid. 1103// 1104// * ErrCodeInvalidParameterException "InvalidParameterException" 1105// The specified parameter is invalid. Review the available parameters for the 1106// API request. 1107// 1108// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1109func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1110 req, out := c.DescribeTaskDefinitionRequest(input) 1111 return out, req.Send() 1112} 1113 1114// DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1115// the ability to pass a context and additional request options. 1116// 1117// See DescribeTaskDefinition for details on how to use this API operation. 1118// 1119// The context must be non-nil and will be used for request cancellation. If 1120// the context is nil a panic will occur. In the future the SDK may create 1121// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1122// for more information on using Contexts. 1123func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1124 req, out := c.DescribeTaskDefinitionRequest(input) 1125 req.SetContext(ctx) 1126 req.ApplyOptions(opts...) 1127 return out, req.Send() 1128} 1129 1130const opDescribeTasks = "DescribeTasks" 1131 1132// DescribeTasksRequest generates a "aws/request.Request" representing the 1133// client's request for the DescribeTasks operation. The "output" return 1134// value will be populated with the request's response once the request complets 1135// successfuly. 1136// 1137// Use "Send" method on the returned Request to send the API call to the service. 1138// the "output" return value is not valid until after Send returns without error. 1139// 1140// See DescribeTasks for more information on using the DescribeTasks 1141// API call, and error handling. 1142// 1143// This method is useful when you want to inject custom logic or configuration 1144// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1145// 1146// 1147// // Example sending a request using the DescribeTasksRequest method. 1148// req, resp := client.DescribeTasksRequest(params) 1149// 1150// err := req.Send() 1151// if err == nil { // resp is now filled 1152// fmt.Println(resp) 1153// } 1154// 1155// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1156func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1157 op := &request.Operation{ 1158 Name: opDescribeTasks, 1159 HTTPMethod: "POST", 1160 HTTPPath: "/", 1161 } 1162 1163 if input == nil { 1164 input = &DescribeTasksInput{} 1165 } 1166 1167 output = &DescribeTasksOutput{} 1168 req = c.newRequest(op, input, output) 1169 return 1170} 1171 1172// DescribeTasks API operation for Amazon EC2 Container Service. 1173// 1174// Describes a specified task or tasks. 1175// 1176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1177// with awserr.Error's Code and Message methods to get detailed information about 1178// the error. 1179// 1180// See the AWS API reference guide for Amazon EC2 Container Service's 1181// API operation DescribeTasks for usage and error information. 1182// 1183// Returned Error Codes: 1184// * ErrCodeServerException "ServerException" 1185// These errors are usually caused by a server issue. 1186// 1187// * ErrCodeClientException "ClientException" 1188// These errors are usually caused by a client action, such as using an action 1189// or resource on behalf of a user that doesn't have permission to use the action 1190// or resource, or specifying an identifier that is not valid. 1191// 1192// * ErrCodeInvalidParameterException "InvalidParameterException" 1193// The specified parameter is invalid. Review the available parameters for the 1194// API request. 1195// 1196// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1197// The specified cluster could not be found. You can view your available clusters 1198// with ListClusters. Amazon ECS clusters are region-specific. 1199// 1200// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1201func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 1202 req, out := c.DescribeTasksRequest(input) 1203 return out, req.Send() 1204} 1205 1206// DescribeTasksWithContext is the same as DescribeTasks with the addition of 1207// the ability to pass a context and additional request options. 1208// 1209// See DescribeTasks for details on how to use this API operation. 1210// 1211// The context must be non-nil and will be used for request cancellation. If 1212// the context is nil a panic will occur. In the future the SDK may create 1213// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1214// for more information on using Contexts. 1215func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 1216 req, out := c.DescribeTasksRequest(input) 1217 req.SetContext(ctx) 1218 req.ApplyOptions(opts...) 1219 return out, req.Send() 1220} 1221 1222const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 1223 1224// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 1225// client's request for the DiscoverPollEndpoint operation. The "output" return 1226// value will be populated with the request's response once the request complets 1227// successfuly. 1228// 1229// Use "Send" method on the returned Request to send the API call to the service. 1230// the "output" return value is not valid until after Send returns without error. 1231// 1232// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 1233// API call, and error handling. 1234// 1235// This method is useful when you want to inject custom logic or configuration 1236// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1237// 1238// 1239// // Example sending a request using the DiscoverPollEndpointRequest method. 1240// req, resp := client.DiscoverPollEndpointRequest(params) 1241// 1242// err := req.Send() 1243// if err == nil { // resp is now filled 1244// fmt.Println(resp) 1245// } 1246// 1247// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1248func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 1249 op := &request.Operation{ 1250 Name: opDiscoverPollEndpoint, 1251 HTTPMethod: "POST", 1252 HTTPPath: "/", 1253 } 1254 1255 if input == nil { 1256 input = &DiscoverPollEndpointInput{} 1257 } 1258 1259 output = &DiscoverPollEndpointOutput{} 1260 req = c.newRequest(op, input, output) 1261 return 1262} 1263 1264// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 1265// 1266// This action is only used by the Amazon EC2 Container Service agent, and it 1267// is not intended for use outside of the agent. 1268// 1269// Returns an endpoint for the Amazon EC2 Container Service agent to poll for 1270// updates. 1271// 1272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1273// with awserr.Error's Code and Message methods to get detailed information about 1274// the error. 1275// 1276// See the AWS API reference guide for Amazon EC2 Container Service's 1277// API operation DiscoverPollEndpoint for usage and error information. 1278// 1279// Returned Error Codes: 1280// * ErrCodeServerException "ServerException" 1281// These errors are usually caused by a server issue. 1282// 1283// * ErrCodeClientException "ClientException" 1284// These errors are usually caused by a client action, such as using an action 1285// or resource on behalf of a user that doesn't have permission to use the action 1286// or resource, or specifying an identifier that is not valid. 1287// 1288// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1289func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 1290 req, out := c.DiscoverPollEndpointRequest(input) 1291 return out, req.Send() 1292} 1293 1294// DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 1295// the ability to pass a context and additional request options. 1296// 1297// See DiscoverPollEndpoint for details on how to use this API operation. 1298// 1299// The context must be non-nil and will be used for request cancellation. If 1300// the context is nil a panic will occur. In the future the SDK may create 1301// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1302// for more information on using Contexts. 1303func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 1304 req, out := c.DiscoverPollEndpointRequest(input) 1305 req.SetContext(ctx) 1306 req.ApplyOptions(opts...) 1307 return out, req.Send() 1308} 1309 1310const opListAttributes = "ListAttributes" 1311 1312// ListAttributesRequest generates a "aws/request.Request" representing the 1313// client's request for the ListAttributes operation. The "output" return 1314// value will be populated with the request's response once the request complets 1315// successfuly. 1316// 1317// Use "Send" method on the returned Request to send the API call to the service. 1318// the "output" return value is not valid until after Send returns without error. 1319// 1320// See ListAttributes for more information on using the ListAttributes 1321// API call, and error handling. 1322// 1323// This method is useful when you want to inject custom logic or configuration 1324// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1325// 1326// 1327// // Example sending a request using the ListAttributesRequest method. 1328// req, resp := client.ListAttributesRequest(params) 1329// 1330// err := req.Send() 1331// if err == nil { // resp is now filled 1332// fmt.Println(resp) 1333// } 1334// 1335// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 1336func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 1337 op := &request.Operation{ 1338 Name: opListAttributes, 1339 HTTPMethod: "POST", 1340 HTTPPath: "/", 1341 } 1342 1343 if input == nil { 1344 input = &ListAttributesInput{} 1345 } 1346 1347 output = &ListAttributesOutput{} 1348 req = c.newRequest(op, input, output) 1349 return 1350} 1351 1352// ListAttributes API operation for Amazon EC2 Container Service. 1353// 1354// Lists the attributes for Amazon ECS resources within a specified target type 1355// and cluster. When you specify a target type and cluster, ListAttributes returns 1356// a list of attribute objects, one for each attribute on each resource. You 1357// can filter the list of results to a single attribute name to only return 1358// results that have that name. You can also filter the results by attribute 1359// name and value, for example, to see which container instances in a cluster 1360// are running a Linux AMI (ecs.os-type=linux). 1361// 1362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1363// with awserr.Error's Code and Message methods to get detailed information about 1364// the error. 1365// 1366// See the AWS API reference guide for Amazon EC2 Container Service's 1367// API operation ListAttributes for usage and error information. 1368// 1369// Returned Error Codes: 1370// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1371// The specified cluster could not be found. You can view your available clusters 1372// with ListClusters. Amazon ECS clusters are region-specific. 1373// 1374// * ErrCodeInvalidParameterException "InvalidParameterException" 1375// The specified parameter is invalid. Review the available parameters for the 1376// API request. 1377// 1378// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 1379func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 1380 req, out := c.ListAttributesRequest(input) 1381 return out, req.Send() 1382} 1383 1384// ListAttributesWithContext is the same as ListAttributes with the addition of 1385// the ability to pass a context and additional request options. 1386// 1387// See ListAttributes for details on how to use this API operation. 1388// 1389// The context must be non-nil and will be used for request cancellation. If 1390// the context is nil a panic will occur. In the future the SDK may create 1391// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1392// for more information on using Contexts. 1393func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 1394 req, out := c.ListAttributesRequest(input) 1395 req.SetContext(ctx) 1396 req.ApplyOptions(opts...) 1397 return out, req.Send() 1398} 1399 1400const opListClusters = "ListClusters" 1401 1402// ListClustersRequest generates a "aws/request.Request" representing the 1403// client's request for the ListClusters operation. The "output" return 1404// value will be populated with the request's response once the request complets 1405// successfuly. 1406// 1407// Use "Send" method on the returned Request to send the API call to the service. 1408// the "output" return value is not valid until after Send returns without error. 1409// 1410// See ListClusters for more information on using the ListClusters 1411// API call, and error handling. 1412// 1413// This method is useful when you want to inject custom logic or configuration 1414// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1415// 1416// 1417// // Example sending a request using the ListClustersRequest method. 1418// req, resp := client.ListClustersRequest(params) 1419// 1420// err := req.Send() 1421// if err == nil { // resp is now filled 1422// fmt.Println(resp) 1423// } 1424// 1425// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 1426func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 1427 op := &request.Operation{ 1428 Name: opListClusters, 1429 HTTPMethod: "POST", 1430 HTTPPath: "/", 1431 Paginator: &request.Paginator{ 1432 InputTokens: []string{"nextToken"}, 1433 OutputTokens: []string{"nextToken"}, 1434 LimitToken: "maxResults", 1435 TruncationToken: "", 1436 }, 1437 } 1438 1439 if input == nil { 1440 input = &ListClustersInput{} 1441 } 1442 1443 output = &ListClustersOutput{} 1444 req = c.newRequest(op, input, output) 1445 return 1446} 1447 1448// ListClusters API operation for Amazon EC2 Container Service. 1449// 1450// Returns a list of existing clusters. 1451// 1452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1453// with awserr.Error's Code and Message methods to get detailed information about 1454// the error. 1455// 1456// See the AWS API reference guide for Amazon EC2 Container Service's 1457// API operation ListClusters for usage and error information. 1458// 1459// Returned Error Codes: 1460// * ErrCodeServerException "ServerException" 1461// These errors are usually caused by a server issue. 1462// 1463// * ErrCodeClientException "ClientException" 1464// These errors are usually caused by a client action, such as using an action 1465// or resource on behalf of a user that doesn't have permission to use the action 1466// or resource, or specifying an identifier that is not valid. 1467// 1468// * ErrCodeInvalidParameterException "InvalidParameterException" 1469// The specified parameter is invalid. Review the available parameters for the 1470// API request. 1471// 1472// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 1473func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 1474 req, out := c.ListClustersRequest(input) 1475 return out, req.Send() 1476} 1477 1478// ListClustersWithContext is the same as ListClusters with the addition of 1479// the ability to pass a context and additional request options. 1480// 1481// See ListClusters for details on how to use this API operation. 1482// 1483// The context must be non-nil and will be used for request cancellation. If 1484// the context is nil a panic will occur. In the future the SDK may create 1485// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1486// for more information on using Contexts. 1487func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 1488 req, out := c.ListClustersRequest(input) 1489 req.SetContext(ctx) 1490 req.ApplyOptions(opts...) 1491 return out, req.Send() 1492} 1493 1494// ListClustersPages iterates over the pages of a ListClusters operation, 1495// calling the "fn" function with the response data for each page. To stop 1496// iterating, return false from the fn function. 1497// 1498// See ListClusters method for more information on how to use this operation. 1499// 1500// Note: This operation can generate multiple requests to a service. 1501// 1502// // Example iterating over at most 3 pages of a ListClusters operation. 1503// pageNum := 0 1504// err := client.ListClustersPages(params, 1505// func(page *ListClustersOutput, lastPage bool) bool { 1506// pageNum++ 1507// fmt.Println(page) 1508// return pageNum <= 3 1509// }) 1510// 1511func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 1512 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 1513} 1514 1515// ListClustersPagesWithContext same as ListClustersPages except 1516// it takes a Context and allows setting request options on the pages. 1517// 1518// The context must be non-nil and will be used for request cancellation. If 1519// the context is nil a panic will occur. In the future the SDK may create 1520// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1521// for more information on using Contexts. 1522func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 1523 p := request.Pagination{ 1524 NewRequest: func() (*request.Request, error) { 1525 var inCpy *ListClustersInput 1526 if input != nil { 1527 tmp := *input 1528 inCpy = &tmp 1529 } 1530 req, _ := c.ListClustersRequest(inCpy) 1531 req.SetContext(ctx) 1532 req.ApplyOptions(opts...) 1533 return req, nil 1534 }, 1535 } 1536 1537 cont := true 1538 for p.Next() && cont { 1539 cont = fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) 1540 } 1541 return p.Err() 1542} 1543 1544const opListContainerInstances = "ListContainerInstances" 1545 1546// ListContainerInstancesRequest generates a "aws/request.Request" representing the 1547// client's request for the ListContainerInstances operation. The "output" return 1548// value will be populated with the request's response once the request complets 1549// successfuly. 1550// 1551// Use "Send" method on the returned Request to send the API call to the service. 1552// the "output" return value is not valid until after Send returns without error. 1553// 1554// See ListContainerInstances for more information on using the ListContainerInstances 1555// API call, and error handling. 1556// 1557// This method is useful when you want to inject custom logic or configuration 1558// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1559// 1560// 1561// // Example sending a request using the ListContainerInstancesRequest method. 1562// req, resp := client.ListContainerInstancesRequest(params) 1563// 1564// err := req.Send() 1565// if err == nil { // resp is now filled 1566// fmt.Println(resp) 1567// } 1568// 1569// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 1570func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 1571 op := &request.Operation{ 1572 Name: opListContainerInstances, 1573 HTTPMethod: "POST", 1574 HTTPPath: "/", 1575 Paginator: &request.Paginator{ 1576 InputTokens: []string{"nextToken"}, 1577 OutputTokens: []string{"nextToken"}, 1578 LimitToken: "maxResults", 1579 TruncationToken: "", 1580 }, 1581 } 1582 1583 if input == nil { 1584 input = &ListContainerInstancesInput{} 1585 } 1586 1587 output = &ListContainerInstancesOutput{} 1588 req = c.newRequest(op, input, output) 1589 return 1590} 1591 1592// ListContainerInstances API operation for Amazon EC2 Container Service. 1593// 1594// Returns a list of container instances in a specified cluster. You can filter 1595// the results of a ListContainerInstances operation with cluster query language 1596// statements inside the filter parameter. For more information, see Cluster 1597// Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 1598// in the Amazon EC2 Container Service Developer Guide. 1599// 1600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1601// with awserr.Error's Code and Message methods to get detailed information about 1602// the error. 1603// 1604// See the AWS API reference guide for Amazon EC2 Container Service's 1605// API operation ListContainerInstances for usage and error information. 1606// 1607// Returned Error Codes: 1608// * ErrCodeServerException "ServerException" 1609// These errors are usually caused by a server issue. 1610// 1611// * ErrCodeClientException "ClientException" 1612// These errors are usually caused by a client action, such as using an action 1613// or resource on behalf of a user that doesn't have permission to use the action 1614// or resource, or specifying an identifier that is not valid. 1615// 1616// * ErrCodeInvalidParameterException "InvalidParameterException" 1617// The specified parameter is invalid. Review the available parameters for the 1618// API request. 1619// 1620// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1621// The specified cluster could not be found. You can view your available clusters 1622// with ListClusters. Amazon ECS clusters are region-specific. 1623// 1624// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 1625func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 1626 req, out := c.ListContainerInstancesRequest(input) 1627 return out, req.Send() 1628} 1629 1630// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 1631// the ability to pass a context and additional request options. 1632// 1633// See ListContainerInstances for details on how to use this API operation. 1634// 1635// The context must be non-nil and will be used for request cancellation. If 1636// the context is nil a panic will occur. In the future the SDK may create 1637// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1638// for more information on using Contexts. 1639func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 1640 req, out := c.ListContainerInstancesRequest(input) 1641 req.SetContext(ctx) 1642 req.ApplyOptions(opts...) 1643 return out, req.Send() 1644} 1645 1646// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 1647// calling the "fn" function with the response data for each page. To stop 1648// iterating, return false from the fn function. 1649// 1650// See ListContainerInstances method for more information on how to use this operation. 1651// 1652// Note: This operation can generate multiple requests to a service. 1653// 1654// // Example iterating over at most 3 pages of a ListContainerInstances operation. 1655// pageNum := 0 1656// err := client.ListContainerInstancesPages(params, 1657// func(page *ListContainerInstancesOutput, lastPage bool) bool { 1658// pageNum++ 1659// fmt.Println(page) 1660// return pageNum <= 3 1661// }) 1662// 1663func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 1664 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 1665} 1666 1667// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 1668// it takes a Context and allows setting request options on the pages. 1669// 1670// The context must be non-nil and will be used for request cancellation. If 1671// the context is nil a panic will occur. In the future the SDK may create 1672// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1673// for more information on using Contexts. 1674func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 1675 p := request.Pagination{ 1676 NewRequest: func() (*request.Request, error) { 1677 var inCpy *ListContainerInstancesInput 1678 if input != nil { 1679 tmp := *input 1680 inCpy = &tmp 1681 } 1682 req, _ := c.ListContainerInstancesRequest(inCpy) 1683 req.SetContext(ctx) 1684 req.ApplyOptions(opts...) 1685 return req, nil 1686 }, 1687 } 1688 1689 cont := true 1690 for p.Next() && cont { 1691 cont = fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) 1692 } 1693 return p.Err() 1694} 1695 1696const opListServices = "ListServices" 1697 1698// ListServicesRequest generates a "aws/request.Request" representing the 1699// client's request for the ListServices operation. The "output" return 1700// value will be populated with the request's response once the request complets 1701// successfuly. 1702// 1703// Use "Send" method on the returned Request to send the API call to the service. 1704// the "output" return value is not valid until after Send returns without error. 1705// 1706// See ListServices for more information on using the ListServices 1707// API call, and error handling. 1708// 1709// This method is useful when you want to inject custom logic or configuration 1710// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1711// 1712// 1713// // Example sending a request using the ListServicesRequest method. 1714// req, resp := client.ListServicesRequest(params) 1715// 1716// err := req.Send() 1717// if err == nil { // resp is now filled 1718// fmt.Println(resp) 1719// } 1720// 1721// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 1722func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 1723 op := &request.Operation{ 1724 Name: opListServices, 1725 HTTPMethod: "POST", 1726 HTTPPath: "/", 1727 Paginator: &request.Paginator{ 1728 InputTokens: []string{"nextToken"}, 1729 OutputTokens: []string{"nextToken"}, 1730 LimitToken: "maxResults", 1731 TruncationToken: "", 1732 }, 1733 } 1734 1735 if input == nil { 1736 input = &ListServicesInput{} 1737 } 1738 1739 output = &ListServicesOutput{} 1740 req = c.newRequest(op, input, output) 1741 return 1742} 1743 1744// ListServices API operation for Amazon EC2 Container Service. 1745// 1746// Lists the services that are running in a specified cluster. 1747// 1748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1749// with awserr.Error's Code and Message methods to get detailed information about 1750// the error. 1751// 1752// See the AWS API reference guide for Amazon EC2 Container Service's 1753// API operation ListServices for usage and error information. 1754// 1755// Returned Error Codes: 1756// * ErrCodeServerException "ServerException" 1757// These errors are usually caused by a server issue. 1758// 1759// * ErrCodeClientException "ClientException" 1760// These errors are usually caused by a client action, such as using an action 1761// or resource on behalf of a user that doesn't have permission to use the action 1762// or resource, or specifying an identifier that is not valid. 1763// 1764// * ErrCodeInvalidParameterException "InvalidParameterException" 1765// The specified parameter is invalid. Review the available parameters for the 1766// API request. 1767// 1768// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1769// The specified cluster could not be found. You can view your available clusters 1770// with ListClusters. Amazon ECS clusters are region-specific. 1771// 1772// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 1773func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 1774 req, out := c.ListServicesRequest(input) 1775 return out, req.Send() 1776} 1777 1778// ListServicesWithContext is the same as ListServices with the addition of 1779// the ability to pass a context and additional request options. 1780// 1781// See ListServices for details on how to use this API operation. 1782// 1783// The context must be non-nil and will be used for request cancellation. If 1784// the context is nil a panic will occur. In the future the SDK may create 1785// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1786// for more information on using Contexts. 1787func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 1788 req, out := c.ListServicesRequest(input) 1789 req.SetContext(ctx) 1790 req.ApplyOptions(opts...) 1791 return out, req.Send() 1792} 1793 1794// ListServicesPages iterates over the pages of a ListServices operation, 1795// calling the "fn" function with the response data for each page. To stop 1796// iterating, return false from the fn function. 1797// 1798// See ListServices method for more information on how to use this operation. 1799// 1800// Note: This operation can generate multiple requests to a service. 1801// 1802// // Example iterating over at most 3 pages of a ListServices operation. 1803// pageNum := 0 1804// err := client.ListServicesPages(params, 1805// func(page *ListServicesOutput, lastPage bool) bool { 1806// pageNum++ 1807// fmt.Println(page) 1808// return pageNum <= 3 1809// }) 1810// 1811func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 1812 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 1813} 1814 1815// ListServicesPagesWithContext same as ListServicesPages except 1816// it takes a Context and allows setting request options on the pages. 1817// 1818// The context must be non-nil and will be used for request cancellation. If 1819// the context is nil a panic will occur. In the future the SDK may create 1820// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1821// for more information on using Contexts. 1822func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 1823 p := request.Pagination{ 1824 NewRequest: func() (*request.Request, error) { 1825 var inCpy *ListServicesInput 1826 if input != nil { 1827 tmp := *input 1828 inCpy = &tmp 1829 } 1830 req, _ := c.ListServicesRequest(inCpy) 1831 req.SetContext(ctx) 1832 req.ApplyOptions(opts...) 1833 return req, nil 1834 }, 1835 } 1836 1837 cont := true 1838 for p.Next() && cont { 1839 cont = fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) 1840 } 1841 return p.Err() 1842} 1843 1844const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 1845 1846// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 1847// client's request for the ListTaskDefinitionFamilies operation. The "output" return 1848// value will be populated with the request's response once the request complets 1849// successfuly. 1850// 1851// Use "Send" method on the returned Request to send the API call to the service. 1852// the "output" return value is not valid until after Send returns without error. 1853// 1854// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 1855// API call, and error handling. 1856// 1857// This method is useful when you want to inject custom logic or configuration 1858// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1859// 1860// 1861// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 1862// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 1863// 1864// err := req.Send() 1865// if err == nil { // resp is now filled 1866// fmt.Println(resp) 1867// } 1868// 1869// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 1870func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 1871 op := &request.Operation{ 1872 Name: opListTaskDefinitionFamilies, 1873 HTTPMethod: "POST", 1874 HTTPPath: "/", 1875 Paginator: &request.Paginator{ 1876 InputTokens: []string{"nextToken"}, 1877 OutputTokens: []string{"nextToken"}, 1878 LimitToken: "maxResults", 1879 TruncationToken: "", 1880 }, 1881 } 1882 1883 if input == nil { 1884 input = &ListTaskDefinitionFamiliesInput{} 1885 } 1886 1887 output = &ListTaskDefinitionFamiliesOutput{} 1888 req = c.newRequest(op, input, output) 1889 return 1890} 1891 1892// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 1893// 1894// Returns a list of task definition families that are registered to your account 1895// (which may include task definition families that no longer have any ACTIVE 1896// task definition revisions). 1897// 1898// You can filter out task definition families that do not contain any ACTIVE 1899// task definition revisions by setting the status parameter to ACTIVE. You 1900// can also filter the results with the familyPrefix parameter. 1901// 1902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1903// with awserr.Error's Code and Message methods to get detailed information about 1904// the error. 1905// 1906// See the AWS API reference guide for Amazon EC2 Container Service's 1907// API operation ListTaskDefinitionFamilies for usage and error information. 1908// 1909// Returned Error Codes: 1910// * ErrCodeServerException "ServerException" 1911// These errors are usually caused by a server issue. 1912// 1913// * ErrCodeClientException "ClientException" 1914// These errors are usually caused by a client action, such as using an action 1915// or resource on behalf of a user that doesn't have permission to use the action 1916// or resource, or specifying an identifier that is not valid. 1917// 1918// * ErrCodeInvalidParameterException "InvalidParameterException" 1919// The specified parameter is invalid. Review the available parameters for the 1920// API request. 1921// 1922// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 1923func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 1924 req, out := c.ListTaskDefinitionFamiliesRequest(input) 1925 return out, req.Send() 1926} 1927 1928// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 1929// the ability to pass a context and additional request options. 1930// 1931// See ListTaskDefinitionFamilies for details on how to use this API operation. 1932// 1933// The context must be non-nil and will be used for request cancellation. If 1934// the context is nil a panic will occur. In the future the SDK may create 1935// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1936// for more information on using Contexts. 1937func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 1938 req, out := c.ListTaskDefinitionFamiliesRequest(input) 1939 req.SetContext(ctx) 1940 req.ApplyOptions(opts...) 1941 return out, req.Send() 1942} 1943 1944// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 1945// calling the "fn" function with the response data for each page. To stop 1946// iterating, return false from the fn function. 1947// 1948// See ListTaskDefinitionFamilies method for more information on how to use this operation. 1949// 1950// Note: This operation can generate multiple requests to a service. 1951// 1952// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 1953// pageNum := 0 1954// err := client.ListTaskDefinitionFamiliesPages(params, 1955// func(page *ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 1956// pageNum++ 1957// fmt.Println(page) 1958// return pageNum <= 3 1959// }) 1960// 1961func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 1962 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 1963} 1964 1965// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 1966// it takes a Context and allows setting request options on the pages. 1967// 1968// The context must be non-nil and will be used for request cancellation. If 1969// the context is nil a panic will occur. In the future the SDK may create 1970// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1971// for more information on using Contexts. 1972func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 1973 p := request.Pagination{ 1974 NewRequest: func() (*request.Request, error) { 1975 var inCpy *ListTaskDefinitionFamiliesInput 1976 if input != nil { 1977 tmp := *input 1978 inCpy = &tmp 1979 } 1980 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 1981 req.SetContext(ctx) 1982 req.ApplyOptions(opts...) 1983 return req, nil 1984 }, 1985 } 1986 1987 cont := true 1988 for p.Next() && cont { 1989 cont = fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) 1990 } 1991 return p.Err() 1992} 1993 1994const opListTaskDefinitions = "ListTaskDefinitions" 1995 1996// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 1997// client's request for the ListTaskDefinitions operation. The "output" return 1998// value will be populated with the request's response once the request complets 1999// successfuly. 2000// 2001// Use "Send" method on the returned Request to send the API call to the service. 2002// the "output" return value is not valid until after Send returns without error. 2003// 2004// See ListTaskDefinitions for more information on using the ListTaskDefinitions 2005// API call, and error handling. 2006// 2007// This method is useful when you want to inject custom logic or configuration 2008// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2009// 2010// 2011// // Example sending a request using the ListTaskDefinitionsRequest method. 2012// req, resp := client.ListTaskDefinitionsRequest(params) 2013// 2014// err := req.Send() 2015// if err == nil { // resp is now filled 2016// fmt.Println(resp) 2017// } 2018// 2019// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 2020func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 2021 op := &request.Operation{ 2022 Name: opListTaskDefinitions, 2023 HTTPMethod: "POST", 2024 HTTPPath: "/", 2025 Paginator: &request.Paginator{ 2026 InputTokens: []string{"nextToken"}, 2027 OutputTokens: []string{"nextToken"}, 2028 LimitToken: "maxResults", 2029 TruncationToken: "", 2030 }, 2031 } 2032 2033 if input == nil { 2034 input = &ListTaskDefinitionsInput{} 2035 } 2036 2037 output = &ListTaskDefinitionsOutput{} 2038 req = c.newRequest(op, input, output) 2039 return 2040} 2041 2042// ListTaskDefinitions API operation for Amazon EC2 Container Service. 2043// 2044// Returns a list of task definitions that are registered to your account. You 2045// can filter the results by family name with the familyPrefix parameter or 2046// by status with the status parameter. 2047// 2048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2049// with awserr.Error's Code and Message methods to get detailed information about 2050// the error. 2051// 2052// See the AWS API reference guide for Amazon EC2 Container Service's 2053// API operation ListTaskDefinitions for usage and error information. 2054// 2055// Returned Error Codes: 2056// * ErrCodeServerException "ServerException" 2057// These errors are usually caused by a server issue. 2058// 2059// * ErrCodeClientException "ClientException" 2060// These errors are usually caused by a client action, such as using an action 2061// or resource on behalf of a user that doesn't have permission to use the action 2062// or resource, or specifying an identifier that is not valid. 2063// 2064// * ErrCodeInvalidParameterException "InvalidParameterException" 2065// The specified parameter is invalid. Review the available parameters for the 2066// API request. 2067// 2068// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 2069func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 2070 req, out := c.ListTaskDefinitionsRequest(input) 2071 return out, req.Send() 2072} 2073 2074// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 2075// the ability to pass a context and additional request options. 2076// 2077// See ListTaskDefinitions for details on how to use this API operation. 2078// 2079// The context must be non-nil and will be used for request cancellation. If 2080// the context is nil a panic will occur. In the future the SDK may create 2081// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2082// for more information on using Contexts. 2083func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 2084 req, out := c.ListTaskDefinitionsRequest(input) 2085 req.SetContext(ctx) 2086 req.ApplyOptions(opts...) 2087 return out, req.Send() 2088} 2089 2090// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 2091// calling the "fn" function with the response data for each page. To stop 2092// iterating, return false from the fn function. 2093// 2094// See ListTaskDefinitions method for more information on how to use this operation. 2095// 2096// Note: This operation can generate multiple requests to a service. 2097// 2098// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 2099// pageNum := 0 2100// err := client.ListTaskDefinitionsPages(params, 2101// func(page *ListTaskDefinitionsOutput, lastPage bool) bool { 2102// pageNum++ 2103// fmt.Println(page) 2104// return pageNum <= 3 2105// }) 2106// 2107func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 2108 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 2109} 2110 2111// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 2112// it takes a Context and allows setting request options on the pages. 2113// 2114// The context must be non-nil and will be used for request cancellation. If 2115// the context is nil a panic will occur. In the future the SDK may create 2116// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2117// for more information on using Contexts. 2118func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 2119 p := request.Pagination{ 2120 NewRequest: func() (*request.Request, error) { 2121 var inCpy *ListTaskDefinitionsInput 2122 if input != nil { 2123 tmp := *input 2124 inCpy = &tmp 2125 } 2126 req, _ := c.ListTaskDefinitionsRequest(inCpy) 2127 req.SetContext(ctx) 2128 req.ApplyOptions(opts...) 2129 return req, nil 2130 }, 2131 } 2132 2133 cont := true 2134 for p.Next() && cont { 2135 cont = fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) 2136 } 2137 return p.Err() 2138} 2139 2140const opListTasks = "ListTasks" 2141 2142// ListTasksRequest generates a "aws/request.Request" representing the 2143// client's request for the ListTasks operation. The "output" return 2144// value will be populated with the request's response once the request complets 2145// successfuly. 2146// 2147// Use "Send" method on the returned Request to send the API call to the service. 2148// the "output" return value is not valid until after Send returns without error. 2149// 2150// See ListTasks for more information on using the ListTasks 2151// API call, and error handling. 2152// 2153// This method is useful when you want to inject custom logic or configuration 2154// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2155// 2156// 2157// // Example sending a request using the ListTasksRequest method. 2158// req, resp := client.ListTasksRequest(params) 2159// 2160// err := req.Send() 2161// if err == nil { // resp is now filled 2162// fmt.Println(resp) 2163// } 2164// 2165// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 2166func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 2167 op := &request.Operation{ 2168 Name: opListTasks, 2169 HTTPMethod: "POST", 2170 HTTPPath: "/", 2171 Paginator: &request.Paginator{ 2172 InputTokens: []string{"nextToken"}, 2173 OutputTokens: []string{"nextToken"}, 2174 LimitToken: "maxResults", 2175 TruncationToken: "", 2176 }, 2177 } 2178 2179 if input == nil { 2180 input = &ListTasksInput{} 2181 } 2182 2183 output = &ListTasksOutput{} 2184 req = c.newRequest(op, input, output) 2185 return 2186} 2187 2188// ListTasks API operation for Amazon EC2 Container Service. 2189// 2190// Returns a list of tasks for a specified cluster. You can filter the results 2191// by family name, by a particular container instance, or by the desired status 2192// of the task with the family, containerInstance, and desiredStatus parameters. 2193// 2194// Recently-stopped tasks might appear in the returned results. Currently, stopped 2195// tasks appear in the returned results for at least one hour. 2196// 2197// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2198// with awserr.Error's Code and Message methods to get detailed information about 2199// the error. 2200// 2201// See the AWS API reference guide for Amazon EC2 Container Service's 2202// API operation ListTasks for usage and error information. 2203// 2204// Returned Error Codes: 2205// * ErrCodeServerException "ServerException" 2206// These errors are usually caused by a server issue. 2207// 2208// * ErrCodeClientException "ClientException" 2209// These errors are usually caused by a client action, such as using an action 2210// or resource on behalf of a user that doesn't have permission to use the action 2211// or resource, or specifying an identifier that is not valid. 2212// 2213// * ErrCodeInvalidParameterException "InvalidParameterException" 2214// The specified parameter is invalid. Review the available parameters for the 2215// API request. 2216// 2217// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2218// The specified cluster could not be found. You can view your available clusters 2219// with ListClusters. Amazon ECS clusters are region-specific. 2220// 2221// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 2222// The specified service could not be found. You can view your available services 2223// with ListServices. Amazon ECS services are cluster-specific and region-specific. 2224// 2225// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 2226func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 2227 req, out := c.ListTasksRequest(input) 2228 return out, req.Send() 2229} 2230 2231// ListTasksWithContext is the same as ListTasks with the addition of 2232// the ability to pass a context and additional request options. 2233// 2234// See ListTasks for details on how to use this API operation. 2235// 2236// The context must be non-nil and will be used for request cancellation. If 2237// the context is nil a panic will occur. In the future the SDK may create 2238// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2239// for more information on using Contexts. 2240func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 2241 req, out := c.ListTasksRequest(input) 2242 req.SetContext(ctx) 2243 req.ApplyOptions(opts...) 2244 return out, req.Send() 2245} 2246 2247// ListTasksPages iterates over the pages of a ListTasks operation, 2248// calling the "fn" function with the response data for each page. To stop 2249// iterating, return false from the fn function. 2250// 2251// See ListTasks method for more information on how to use this operation. 2252// 2253// Note: This operation can generate multiple requests to a service. 2254// 2255// // Example iterating over at most 3 pages of a ListTasks operation. 2256// pageNum := 0 2257// err := client.ListTasksPages(params, 2258// func(page *ListTasksOutput, lastPage bool) bool { 2259// pageNum++ 2260// fmt.Println(page) 2261// return pageNum <= 3 2262// }) 2263// 2264func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 2265 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 2266} 2267 2268// ListTasksPagesWithContext same as ListTasksPages except 2269// it takes a Context and allows setting request options on the pages. 2270// 2271// The context must be non-nil and will be used for request cancellation. If 2272// the context is nil a panic will occur. In the future the SDK may create 2273// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2274// for more information on using Contexts. 2275func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 2276 p := request.Pagination{ 2277 NewRequest: func() (*request.Request, error) { 2278 var inCpy *ListTasksInput 2279 if input != nil { 2280 tmp := *input 2281 inCpy = &tmp 2282 } 2283 req, _ := c.ListTasksRequest(inCpy) 2284 req.SetContext(ctx) 2285 req.ApplyOptions(opts...) 2286 return req, nil 2287 }, 2288 } 2289 2290 cont := true 2291 for p.Next() && cont { 2292 cont = fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) 2293 } 2294 return p.Err() 2295} 2296 2297const opPutAttributes = "PutAttributes" 2298 2299// PutAttributesRequest generates a "aws/request.Request" representing the 2300// client's request for the PutAttributes operation. The "output" return 2301// value will be populated with the request's response once the request complets 2302// successfuly. 2303// 2304// Use "Send" method on the returned Request to send the API call to the service. 2305// the "output" return value is not valid until after Send returns without error. 2306// 2307// See PutAttributes for more information on using the PutAttributes 2308// API call, and error handling. 2309// 2310// This method is useful when you want to inject custom logic or configuration 2311// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2312// 2313// 2314// // Example sending a request using the PutAttributesRequest method. 2315// req, resp := client.PutAttributesRequest(params) 2316// 2317// err := req.Send() 2318// if err == nil { // resp is now filled 2319// fmt.Println(resp) 2320// } 2321// 2322// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 2323func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 2324 op := &request.Operation{ 2325 Name: opPutAttributes, 2326 HTTPMethod: "POST", 2327 HTTPPath: "/", 2328 } 2329 2330 if input == nil { 2331 input = &PutAttributesInput{} 2332 } 2333 2334 output = &PutAttributesOutput{} 2335 req = c.newRequest(op, input, output) 2336 return 2337} 2338 2339// PutAttributes API operation for Amazon EC2 Container Service. 2340// 2341// Create or update an attribute on an Amazon ECS resource. If the attribute 2342// does not exist, it is created. If the attribute exists, its value is replaced 2343// with the specified value. To delete an attribute, use DeleteAttributes. For 2344// more information, see Attributes (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 2345// in the Amazon EC2 Container Service Developer Guide. 2346// 2347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2348// with awserr.Error's Code and Message methods to get detailed information about 2349// the error. 2350// 2351// See the AWS API reference guide for Amazon EC2 Container Service's 2352// API operation PutAttributes for usage and error information. 2353// 2354// Returned Error Codes: 2355// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2356// The specified cluster could not be found. You can view your available clusters 2357// with ListClusters. Amazon ECS clusters are region-specific. 2358// 2359// * ErrCodeTargetNotFoundException "TargetNotFoundException" 2360// The specified target could not be found. You can view your available container 2361// instances with ListContainerInstances. Amazon ECS container instances are 2362// cluster-specific and region-specific. 2363// 2364// * ErrCodeAttributeLimitExceededException "AttributeLimitExceededException" 2365// You can apply up to 10 custom attributes per resource. You can view the attributes 2366// of a resource with ListAttributes. You can remove existing attributes on 2367// a resource with DeleteAttributes. 2368// 2369// * ErrCodeInvalidParameterException "InvalidParameterException" 2370// The specified parameter is invalid. Review the available parameters for the 2371// API request. 2372// 2373// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 2374func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 2375 req, out := c.PutAttributesRequest(input) 2376 return out, req.Send() 2377} 2378 2379// PutAttributesWithContext is the same as PutAttributes with the addition of 2380// the ability to pass a context and additional request options. 2381// 2382// See PutAttributes for details on how to use this API operation. 2383// 2384// The context must be non-nil and will be used for request cancellation. If 2385// the context is nil a panic will occur. In the future the SDK may create 2386// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2387// for more information on using Contexts. 2388func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 2389 req, out := c.PutAttributesRequest(input) 2390 req.SetContext(ctx) 2391 req.ApplyOptions(opts...) 2392 return out, req.Send() 2393} 2394 2395const opRegisterContainerInstance = "RegisterContainerInstance" 2396 2397// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 2398// client's request for the RegisterContainerInstance operation. The "output" return 2399// value will be populated with the request's response once the request complets 2400// successfuly. 2401// 2402// Use "Send" method on the returned Request to send the API call to the service. 2403// the "output" return value is not valid until after Send returns without error. 2404// 2405// See RegisterContainerInstance for more information on using the RegisterContainerInstance 2406// API call, and error handling. 2407// 2408// This method is useful when you want to inject custom logic or configuration 2409// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2410// 2411// 2412// // Example sending a request using the RegisterContainerInstanceRequest method. 2413// req, resp := client.RegisterContainerInstanceRequest(params) 2414// 2415// err := req.Send() 2416// if err == nil { // resp is now filled 2417// fmt.Println(resp) 2418// } 2419// 2420// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 2421func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 2422 op := &request.Operation{ 2423 Name: opRegisterContainerInstance, 2424 HTTPMethod: "POST", 2425 HTTPPath: "/", 2426 } 2427 2428 if input == nil { 2429 input = &RegisterContainerInstanceInput{} 2430 } 2431 2432 output = &RegisterContainerInstanceOutput{} 2433 req = c.newRequest(op, input, output) 2434 return 2435} 2436 2437// RegisterContainerInstance API operation for Amazon EC2 Container Service. 2438// 2439// This action is only used by the Amazon EC2 Container Service agent, and it 2440// is not intended for use outside of the agent. 2441// 2442// Registers an EC2 instance into the specified cluster. This instance becomes 2443// available to place containers on. 2444// 2445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2446// with awserr.Error's Code and Message methods to get detailed information about 2447// the error. 2448// 2449// See the AWS API reference guide for Amazon EC2 Container Service's 2450// API operation RegisterContainerInstance for usage and error information. 2451// 2452// Returned Error Codes: 2453// * ErrCodeServerException "ServerException" 2454// These errors are usually caused by a server issue. 2455// 2456// * ErrCodeClientException "ClientException" 2457// These errors are usually caused by a client action, such as using an action 2458// or resource on behalf of a user that doesn't have permission to use the action 2459// or resource, or specifying an identifier that is not valid. 2460// 2461// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 2462func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 2463 req, out := c.RegisterContainerInstanceRequest(input) 2464 return out, req.Send() 2465} 2466 2467// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 2468// the ability to pass a context and additional request options. 2469// 2470// See RegisterContainerInstance for details on how to use this API operation. 2471// 2472// The context must be non-nil and will be used for request cancellation. If 2473// the context is nil a panic will occur. In the future the SDK may create 2474// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2475// for more information on using Contexts. 2476func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 2477 req, out := c.RegisterContainerInstanceRequest(input) 2478 req.SetContext(ctx) 2479 req.ApplyOptions(opts...) 2480 return out, req.Send() 2481} 2482 2483const opRegisterTaskDefinition = "RegisterTaskDefinition" 2484 2485// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 2486// client's request for the RegisterTaskDefinition operation. The "output" return 2487// value will be populated with the request's response once the request complets 2488// successfuly. 2489// 2490// Use "Send" method on the returned Request to send the API call to the service. 2491// the "output" return value is not valid until after Send returns without error. 2492// 2493// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 2494// API call, and error handling. 2495// 2496// This method is useful when you want to inject custom logic or configuration 2497// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2498// 2499// 2500// // Example sending a request using the RegisterTaskDefinitionRequest method. 2501// req, resp := client.RegisterTaskDefinitionRequest(params) 2502// 2503// err := req.Send() 2504// if err == nil { // resp is now filled 2505// fmt.Println(resp) 2506// } 2507// 2508// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 2509func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 2510 op := &request.Operation{ 2511 Name: opRegisterTaskDefinition, 2512 HTTPMethod: "POST", 2513 HTTPPath: "/", 2514 } 2515 2516 if input == nil { 2517 input = &RegisterTaskDefinitionInput{} 2518 } 2519 2520 output = &RegisterTaskDefinitionOutput{} 2521 req = c.newRequest(op, input, output) 2522 return 2523} 2524 2525// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 2526// 2527// Registers a new task definition from the supplied family and containerDefinitions. 2528// Optionally, you can add data volumes to your containers with the volumes 2529// parameter. For more information about task definition parameters and defaults, 2530// see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 2531// in the Amazon EC2 Container Service Developer Guide. 2532// 2533// You can specify an IAM role for your task with the taskRoleArn parameter. 2534// When you specify an IAM role for a task, its containers can then use the 2535// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 2536// that are specified in the IAM policy associated with the role. For more information, 2537// see IAM Roles for Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 2538// in the Amazon EC2 Container Service Developer Guide. 2539// 2540// You can specify a Docker networking mode for the containers in your task 2541// definition with the networkMode parameter. The available network modes correspond 2542// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 2543// in the Docker run reference. 2544// 2545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2546// with awserr.Error's Code and Message methods to get detailed information about 2547// the error. 2548// 2549// See the AWS API reference guide for Amazon EC2 Container Service's 2550// API operation RegisterTaskDefinition for usage and error information. 2551// 2552// Returned Error Codes: 2553// * ErrCodeServerException "ServerException" 2554// These errors are usually caused by a server issue. 2555// 2556// * ErrCodeClientException "ClientException" 2557// These errors are usually caused by a client action, such as using an action 2558// or resource on behalf of a user that doesn't have permission to use the action 2559// or resource, or specifying an identifier that is not valid. 2560// 2561// * ErrCodeInvalidParameterException "InvalidParameterException" 2562// The specified parameter is invalid. Review the available parameters for the 2563// API request. 2564// 2565// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 2566func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 2567 req, out := c.RegisterTaskDefinitionRequest(input) 2568 return out, req.Send() 2569} 2570 2571// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 2572// the ability to pass a context and additional request options. 2573// 2574// See RegisterTaskDefinition for details on how to use this API operation. 2575// 2576// The context must be non-nil and will be used for request cancellation. If 2577// the context is nil a panic will occur. In the future the SDK may create 2578// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2579// for more information on using Contexts. 2580func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 2581 req, out := c.RegisterTaskDefinitionRequest(input) 2582 req.SetContext(ctx) 2583 req.ApplyOptions(opts...) 2584 return out, req.Send() 2585} 2586 2587const opRunTask = "RunTask" 2588 2589// RunTaskRequest generates a "aws/request.Request" representing the 2590// client's request for the RunTask operation. The "output" return 2591// value will be populated with the request's response once the request complets 2592// successfuly. 2593// 2594// Use "Send" method on the returned Request to send the API call to the service. 2595// the "output" return value is not valid until after Send returns without error. 2596// 2597// See RunTask for more information on using the RunTask 2598// API call, and error handling. 2599// 2600// This method is useful when you want to inject custom logic or configuration 2601// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2602// 2603// 2604// // Example sending a request using the RunTaskRequest method. 2605// req, resp := client.RunTaskRequest(params) 2606// 2607// err := req.Send() 2608// if err == nil { // resp is now filled 2609// fmt.Println(resp) 2610// } 2611// 2612// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 2613func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 2614 op := &request.Operation{ 2615 Name: opRunTask, 2616 HTTPMethod: "POST", 2617 HTTPPath: "/", 2618 } 2619 2620 if input == nil { 2621 input = &RunTaskInput{} 2622 } 2623 2624 output = &RunTaskOutput{} 2625 req = c.newRequest(op, input, output) 2626 return 2627} 2628 2629// RunTask API operation for Amazon EC2 Container Service. 2630// 2631// Starts a new task using the specified task definition. 2632// 2633// You can allow Amazon ECS to place tasks for you, or you can customize how 2634// Amazon ECS places tasks using placement constraints and placement strategies. 2635// For more information, see Scheduling Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 2636// in the Amazon EC2 Container Service Developer Guide. 2637// 2638// Alternatively, you can use StartTask to use your own scheduler or place tasks 2639// manually on specific container instances. 2640// 2641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2642// with awserr.Error's Code and Message methods to get detailed information about 2643// the error. 2644// 2645// See the AWS API reference guide for Amazon EC2 Container Service's 2646// API operation RunTask for usage and error information. 2647// 2648// Returned Error Codes: 2649// * ErrCodeServerException "ServerException" 2650// These errors are usually caused by a server issue. 2651// 2652// * ErrCodeClientException "ClientException" 2653// These errors are usually caused by a client action, such as using an action 2654// or resource on behalf of a user that doesn't have permission to use the action 2655// or resource, or specifying an identifier that is not valid. 2656// 2657// * ErrCodeInvalidParameterException "InvalidParameterException" 2658// The specified parameter is invalid. Review the available parameters for the 2659// API request. 2660// 2661// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2662// The specified cluster could not be found. You can view your available clusters 2663// with ListClusters. Amazon ECS clusters are region-specific. 2664// 2665// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 2666func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 2667 req, out := c.RunTaskRequest(input) 2668 return out, req.Send() 2669} 2670 2671// RunTaskWithContext is the same as RunTask with the addition of 2672// the ability to pass a context and additional request options. 2673// 2674// See RunTask for details on how to use this API operation. 2675// 2676// The context must be non-nil and will be used for request cancellation. If 2677// the context is nil a panic will occur. In the future the SDK may create 2678// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2679// for more information on using Contexts. 2680func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 2681 req, out := c.RunTaskRequest(input) 2682 req.SetContext(ctx) 2683 req.ApplyOptions(opts...) 2684 return out, req.Send() 2685} 2686 2687const opStartTask = "StartTask" 2688 2689// StartTaskRequest generates a "aws/request.Request" representing the 2690// client's request for the StartTask operation. The "output" return 2691// value will be populated with the request's response once the request complets 2692// successfuly. 2693// 2694// Use "Send" method on the returned Request to send the API call to the service. 2695// the "output" return value is not valid until after Send returns without error. 2696// 2697// See StartTask for more information on using the StartTask 2698// API call, and error handling. 2699// 2700// This method is useful when you want to inject custom logic or configuration 2701// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2702// 2703// 2704// // Example sending a request using the StartTaskRequest method. 2705// req, resp := client.StartTaskRequest(params) 2706// 2707// err := req.Send() 2708// if err == nil { // resp is now filled 2709// fmt.Println(resp) 2710// } 2711// 2712// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 2713func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 2714 op := &request.Operation{ 2715 Name: opStartTask, 2716 HTTPMethod: "POST", 2717 HTTPPath: "/", 2718 } 2719 2720 if input == nil { 2721 input = &StartTaskInput{} 2722 } 2723 2724 output = &StartTaskOutput{} 2725 req = c.newRequest(op, input, output) 2726 return 2727} 2728 2729// StartTask API operation for Amazon EC2 Container Service. 2730// 2731// Starts a new task from the specified task definition on the specified container 2732// instance or instances. 2733// 2734// Alternatively, you can use RunTask to place tasks for you. For more information, 2735// see Scheduling Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 2736// in the Amazon EC2 Container Service Developer Guide. 2737// 2738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2739// with awserr.Error's Code and Message methods to get detailed information about 2740// the error. 2741// 2742// See the AWS API reference guide for Amazon EC2 Container Service's 2743// API operation StartTask for usage and error information. 2744// 2745// Returned Error Codes: 2746// * ErrCodeServerException "ServerException" 2747// These errors are usually caused by a server issue. 2748// 2749// * ErrCodeClientException "ClientException" 2750// These errors are usually caused by a client action, such as using an action 2751// or resource on behalf of a user that doesn't have permission to use the action 2752// or resource, or specifying an identifier that is not valid. 2753// 2754// * ErrCodeInvalidParameterException "InvalidParameterException" 2755// The specified parameter is invalid. Review the available parameters for the 2756// API request. 2757// 2758// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2759// The specified cluster could not be found. You can view your available clusters 2760// with ListClusters. Amazon ECS clusters are region-specific. 2761// 2762// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 2763func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 2764 req, out := c.StartTaskRequest(input) 2765 return out, req.Send() 2766} 2767 2768// StartTaskWithContext is the same as StartTask with the addition of 2769// the ability to pass a context and additional request options. 2770// 2771// See StartTask for details on how to use this API operation. 2772// 2773// The context must be non-nil and will be used for request cancellation. If 2774// the context is nil a panic will occur. In the future the SDK may create 2775// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2776// for more information on using Contexts. 2777func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 2778 req, out := c.StartTaskRequest(input) 2779 req.SetContext(ctx) 2780 req.ApplyOptions(opts...) 2781 return out, req.Send() 2782} 2783 2784const opStopTask = "StopTask" 2785 2786// StopTaskRequest generates a "aws/request.Request" representing the 2787// client's request for the StopTask operation. The "output" return 2788// value will be populated with the request's response once the request complets 2789// successfuly. 2790// 2791// Use "Send" method on the returned Request to send the API call to the service. 2792// the "output" return value is not valid until after Send returns without error. 2793// 2794// See StopTask for more information on using the StopTask 2795// API call, and error handling. 2796// 2797// This method is useful when you want to inject custom logic or configuration 2798// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2799// 2800// 2801// // Example sending a request using the StopTaskRequest method. 2802// req, resp := client.StopTaskRequest(params) 2803// 2804// err := req.Send() 2805// if err == nil { // resp is now filled 2806// fmt.Println(resp) 2807// } 2808// 2809// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 2810func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 2811 op := &request.Operation{ 2812 Name: opStopTask, 2813 HTTPMethod: "POST", 2814 HTTPPath: "/", 2815 } 2816 2817 if input == nil { 2818 input = &StopTaskInput{} 2819 } 2820 2821 output = &StopTaskOutput{} 2822 req = c.newRequest(op, input, output) 2823 return 2824} 2825 2826// StopTask API operation for Amazon EC2 Container Service. 2827// 2828// Stops a running task. 2829// 2830// When StopTask is called on a task, the equivalent of docker stop is issued 2831// to the containers running in the task. This results in a SIGTERM and a default 2832// 30-second timeout, after which SIGKILL is sent and the containers are forcibly 2833// stopped. If the container handles the SIGTERM gracefully and exits within 2834// 30 seconds from receiving it, no SIGKILL is sent. 2835// 2836// The default 30-second timeout can be configured on the Amazon ECS container 2837// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 2838// see Amazon ECS Container Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 2839// in the Amazon EC2 Container Service Developer Guide. 2840// 2841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2842// with awserr.Error's Code and Message methods to get detailed information about 2843// the error. 2844// 2845// See the AWS API reference guide for Amazon EC2 Container Service's 2846// API operation StopTask for usage and error information. 2847// 2848// Returned Error Codes: 2849// * ErrCodeServerException "ServerException" 2850// These errors are usually caused by a server issue. 2851// 2852// * ErrCodeClientException "ClientException" 2853// These errors are usually caused by a client action, such as using an action 2854// or resource on behalf of a user that doesn't have permission to use the action 2855// or resource, or specifying an identifier that is not valid. 2856// 2857// * ErrCodeInvalidParameterException "InvalidParameterException" 2858// The specified parameter is invalid. Review the available parameters for the 2859// API request. 2860// 2861// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2862// The specified cluster could not be found. You can view your available clusters 2863// with ListClusters. Amazon ECS clusters are region-specific. 2864// 2865// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 2866func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 2867 req, out := c.StopTaskRequest(input) 2868 return out, req.Send() 2869} 2870 2871// StopTaskWithContext is the same as StopTask with the addition of 2872// the ability to pass a context and additional request options. 2873// 2874// See StopTask for details on how to use this API operation. 2875// 2876// The context must be non-nil and will be used for request cancellation. If 2877// the context is nil a panic will occur. In the future the SDK may create 2878// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2879// for more information on using Contexts. 2880func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 2881 req, out := c.StopTaskRequest(input) 2882 req.SetContext(ctx) 2883 req.ApplyOptions(opts...) 2884 return out, req.Send() 2885} 2886 2887const opSubmitContainerStateChange = "SubmitContainerStateChange" 2888 2889// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 2890// client's request for the SubmitContainerStateChange operation. The "output" return 2891// value will be populated with the request's response once the request complets 2892// successfuly. 2893// 2894// Use "Send" method on the returned Request to send the API call to the service. 2895// the "output" return value is not valid until after Send returns without error. 2896// 2897// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 2898// API call, and error handling. 2899// 2900// This method is useful when you want to inject custom logic or configuration 2901// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2902// 2903// 2904// // Example sending a request using the SubmitContainerStateChangeRequest method. 2905// req, resp := client.SubmitContainerStateChangeRequest(params) 2906// 2907// err := req.Send() 2908// if err == nil { // resp is now filled 2909// fmt.Println(resp) 2910// } 2911// 2912// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 2913func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 2914 op := &request.Operation{ 2915 Name: opSubmitContainerStateChange, 2916 HTTPMethod: "POST", 2917 HTTPPath: "/", 2918 } 2919 2920 if input == nil { 2921 input = &SubmitContainerStateChangeInput{} 2922 } 2923 2924 output = &SubmitContainerStateChangeOutput{} 2925 req = c.newRequest(op, input, output) 2926 return 2927} 2928 2929// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 2930// 2931// This action is only used by the Amazon EC2 Container Service agent, and it 2932// is not intended for use outside of the agent. 2933// 2934// Sent to acknowledge that a container changed states. 2935// 2936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2937// with awserr.Error's Code and Message methods to get detailed information about 2938// the error. 2939// 2940// See the AWS API reference guide for Amazon EC2 Container Service's 2941// API operation SubmitContainerStateChange for usage and error information. 2942// 2943// Returned Error Codes: 2944// * ErrCodeServerException "ServerException" 2945// These errors are usually caused by a server issue. 2946// 2947// * ErrCodeClientException "ClientException" 2948// These errors are usually caused by a client action, such as using an action 2949// or resource on behalf of a user that doesn't have permission to use the action 2950// or resource, or specifying an identifier that is not valid. 2951// 2952// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 2953func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 2954 req, out := c.SubmitContainerStateChangeRequest(input) 2955 return out, req.Send() 2956} 2957 2958// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 2959// the ability to pass a context and additional request options. 2960// 2961// See SubmitContainerStateChange for details on how to use this API operation. 2962// 2963// The context must be non-nil and will be used for request cancellation. If 2964// the context is nil a panic will occur. In the future the SDK may create 2965// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2966// for more information on using Contexts. 2967func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 2968 req, out := c.SubmitContainerStateChangeRequest(input) 2969 req.SetContext(ctx) 2970 req.ApplyOptions(opts...) 2971 return out, req.Send() 2972} 2973 2974const opSubmitTaskStateChange = "SubmitTaskStateChange" 2975 2976// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 2977// client's request for the SubmitTaskStateChange operation. The "output" return 2978// value will be populated with the request's response once the request complets 2979// successfuly. 2980// 2981// Use "Send" method on the returned Request to send the API call to the service. 2982// the "output" return value is not valid until after Send returns without error. 2983// 2984// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 2985// API call, and error handling. 2986// 2987// This method is useful when you want to inject custom logic or configuration 2988// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2989// 2990// 2991// // Example sending a request using the SubmitTaskStateChangeRequest method. 2992// req, resp := client.SubmitTaskStateChangeRequest(params) 2993// 2994// err := req.Send() 2995// if err == nil { // resp is now filled 2996// fmt.Println(resp) 2997// } 2998// 2999// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 3000func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 3001 op := &request.Operation{ 3002 Name: opSubmitTaskStateChange, 3003 HTTPMethod: "POST", 3004 HTTPPath: "/", 3005 } 3006 3007 if input == nil { 3008 input = &SubmitTaskStateChangeInput{} 3009 } 3010 3011 output = &SubmitTaskStateChangeOutput{} 3012 req = c.newRequest(op, input, output) 3013 return 3014} 3015 3016// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 3017// 3018// This action is only used by the Amazon EC2 Container Service agent, and it 3019// is not intended for use outside of the agent. 3020// 3021// Sent to acknowledge that a task changed states. 3022// 3023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3024// with awserr.Error's Code and Message methods to get detailed information about 3025// the error. 3026// 3027// See the AWS API reference guide for Amazon EC2 Container Service's 3028// API operation SubmitTaskStateChange for usage and error information. 3029// 3030// Returned Error Codes: 3031// * ErrCodeServerException "ServerException" 3032// These errors are usually caused by a server issue. 3033// 3034// * ErrCodeClientException "ClientException" 3035// These errors are usually caused by a client action, such as using an action 3036// or resource on behalf of a user that doesn't have permission to use the action 3037// or resource, or specifying an identifier that is not valid. 3038// 3039// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 3040func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 3041 req, out := c.SubmitTaskStateChangeRequest(input) 3042 return out, req.Send() 3043} 3044 3045// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 3046// the ability to pass a context and additional request options. 3047// 3048// See SubmitTaskStateChange for details on how to use this API operation. 3049// 3050// The context must be non-nil and will be used for request cancellation. If 3051// the context is nil a panic will occur. In the future the SDK may create 3052// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3053// for more information on using Contexts. 3054func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 3055 req, out := c.SubmitTaskStateChangeRequest(input) 3056 req.SetContext(ctx) 3057 req.ApplyOptions(opts...) 3058 return out, req.Send() 3059} 3060 3061const opUpdateContainerAgent = "UpdateContainerAgent" 3062 3063// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 3064// client's request for the UpdateContainerAgent operation. The "output" return 3065// value will be populated with the request's response once the request complets 3066// successfuly. 3067// 3068// Use "Send" method on the returned Request to send the API call to the service. 3069// the "output" return value is not valid until after Send returns without error. 3070// 3071// See UpdateContainerAgent for more information on using the UpdateContainerAgent 3072// API call, and error handling. 3073// 3074// This method is useful when you want to inject custom logic or configuration 3075// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3076// 3077// 3078// // Example sending a request using the UpdateContainerAgentRequest method. 3079// req, resp := client.UpdateContainerAgentRequest(params) 3080// 3081// err := req.Send() 3082// if err == nil { // resp is now filled 3083// fmt.Println(resp) 3084// } 3085// 3086// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 3087func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 3088 op := &request.Operation{ 3089 Name: opUpdateContainerAgent, 3090 HTTPMethod: "POST", 3091 HTTPPath: "/", 3092 } 3093 3094 if input == nil { 3095 input = &UpdateContainerAgentInput{} 3096 } 3097 3098 output = &UpdateContainerAgentOutput{} 3099 req = c.newRequest(op, input, output) 3100 return 3101} 3102 3103// UpdateContainerAgent API operation for Amazon EC2 Container Service. 3104// 3105// Updates the Amazon ECS container agent on a specified container instance. 3106// Updating the Amazon ECS container agent does not interrupt running tasks 3107// or services on the container instance. The process for updating the agent 3108// differs depending on whether your container instance was launched with the 3109// Amazon ECS-optimized AMI or another operating system. 3110// 3111// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 3112// with the ecs-init service installed and running. For help updating the Amazon 3113// ECS container agent on other operating systems, see Manually Updating the 3114// Amazon ECS Container Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 3115// in the Amazon EC2 Container Service Developer Guide. 3116// 3117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3118// with awserr.Error's Code and Message methods to get detailed information about 3119// the error. 3120// 3121// See the AWS API reference guide for Amazon EC2 Container Service's 3122// API operation UpdateContainerAgent for usage and error information. 3123// 3124// Returned Error Codes: 3125// * ErrCodeServerException "ServerException" 3126// These errors are usually caused by a server issue. 3127// 3128// * ErrCodeClientException "ClientException" 3129// These errors are usually caused by a client action, such as using an action 3130// or resource on behalf of a user that doesn't have permission to use the action 3131// or resource, or specifying an identifier that is not valid. 3132// 3133// * ErrCodeInvalidParameterException "InvalidParameterException" 3134// The specified parameter is invalid. Review the available parameters for the 3135// API request. 3136// 3137// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3138// The specified cluster could not be found. You can view your available clusters 3139// with ListClusters. Amazon ECS clusters are region-specific. 3140// 3141// * ErrCodeUpdateInProgressException "UpdateInProgressException" 3142// There is already a current Amazon ECS container agent update in progress 3143// on the specified container instance. If the container agent becomes disconnected 3144// while it is in a transitional stage, such as PENDING or STAGING, the update 3145// process can get stuck in that state. However, when the agent reconnects, 3146// it resumes where it stopped previously. 3147// 3148// * ErrCodeNoUpdateAvailableException "NoUpdateAvailableException" 3149// There is no update available for this Amazon ECS container agent. This could 3150// be because the agent is already running the latest version, or it is so old 3151// that there is no update path to the current version. 3152// 3153// * ErrCodeMissingVersionException "MissingVersionException" 3154// Amazon ECS is unable to determine the current version of the Amazon ECS container 3155// agent on the container instance and does not have enough information to proceed 3156// with an update. This could be because the agent running on the container 3157// instance is an older or custom version that does not use our version information. 3158// 3159// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 3160func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 3161 req, out := c.UpdateContainerAgentRequest(input) 3162 return out, req.Send() 3163} 3164 3165// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 3166// the ability to pass a context and additional request options. 3167// 3168// See UpdateContainerAgent for details on how to use this API operation. 3169// 3170// The context must be non-nil and will be used for request cancellation. If 3171// the context is nil a panic will occur. In the future the SDK may create 3172// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3173// for more information on using Contexts. 3174func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 3175 req, out := c.UpdateContainerAgentRequest(input) 3176 req.SetContext(ctx) 3177 req.ApplyOptions(opts...) 3178 return out, req.Send() 3179} 3180 3181const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 3182 3183// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 3184// client's request for the UpdateContainerInstancesState operation. The "output" return 3185// value will be populated with the request's response once the request complets 3186// successfuly. 3187// 3188// Use "Send" method on the returned Request to send the API call to the service. 3189// the "output" return value is not valid until after Send returns without error. 3190// 3191// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 3192// API call, and error handling. 3193// 3194// This method is useful when you want to inject custom logic or configuration 3195// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3196// 3197// 3198// // Example sending a request using the UpdateContainerInstancesStateRequest method. 3199// req, resp := client.UpdateContainerInstancesStateRequest(params) 3200// 3201// err := req.Send() 3202// if err == nil { // resp is now filled 3203// fmt.Println(resp) 3204// } 3205// 3206// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 3207func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 3208 op := &request.Operation{ 3209 Name: opUpdateContainerInstancesState, 3210 HTTPMethod: "POST", 3211 HTTPPath: "/", 3212 } 3213 3214 if input == nil { 3215 input = &UpdateContainerInstancesStateInput{} 3216 } 3217 3218 output = &UpdateContainerInstancesStateOutput{} 3219 req = c.newRequest(op, input, output) 3220 return 3221} 3222 3223// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 3224// 3225// Modifies the status of an Amazon ECS container instance. 3226// 3227// You can change the status of a container instance to DRAINING to manually 3228// remove an instance from a cluster, for example to perform system updates, 3229// update the Docker daemon, or scale down the cluster size. 3230// 3231// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 3232// from being scheduled for placement on the container instance and replacement 3233// service tasks are started on other container instances in the cluster if 3234// the resources are available. Service tasks on the container instance that 3235// are in the PENDING state are stopped immediately. 3236// 3237// Service tasks on the container instance that are in the RUNNING state are 3238// stopped and replaced according the service's deployment configuration parameters, 3239// minimumHealthyPercent and maximumPercent. Note that you can change the deployment 3240// configuration of your service using UpdateService. 3241// 3242// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 3243// temporarily during task replacement. For example, desiredCount is four 3244// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 3245// before starting two new tasks. If the minimum is 100%, the service scheduler 3246// can't remove existing tasks until the replacement tasks are considered 3247// healthy. Tasks for services that do not use a load balancer are considered 3248// healthy if they are in the RUNNING state. Tasks for services that use 3249// a load balancer are considered healthy if they are in the RUNNING state 3250// and the container instance they are hosted on is reported as healthy by 3251// the load balancer. 3252// 3253// * The maximumPercent parameter represents an upper limit on the number 3254// of running tasks during task replacement, which enables you to define 3255// the replacement batch size. For example, if desiredCount of four tasks, 3256// a maximum of 200% starts four new tasks before stopping the four tasks 3257// to be drained (provided that the cluster resources required to do this 3258// are available). If the maximum is 100%, then replacement tasks can't start 3259// until the draining tasks have stopped. 3260// 3261// Any PENDING or RUNNING tasks that do not belong to a service are not affected; 3262// you must wait for them to finish or stop them manually. 3263// 3264// A container instance has completed draining when it has no more RUNNING tasks. 3265// You can verify this using ListTasks. 3266// 3267// When you set a container instance to ACTIVE, the Amazon ECS scheduler can 3268// begin scheduling tasks on the instance again. 3269// 3270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3271// with awserr.Error's Code and Message methods to get detailed information about 3272// the error. 3273// 3274// See the AWS API reference guide for Amazon EC2 Container Service's 3275// API operation UpdateContainerInstancesState for usage and error information. 3276// 3277// Returned Error Codes: 3278// * ErrCodeServerException "ServerException" 3279// These errors are usually caused by a server issue. 3280// 3281// * ErrCodeClientException "ClientException" 3282// These errors are usually caused by a client action, such as using an action 3283// or resource on behalf of a user that doesn't have permission to use the action 3284// or resource, or specifying an identifier that is not valid. 3285// 3286// * ErrCodeInvalidParameterException "InvalidParameterException" 3287// The specified parameter is invalid. Review the available parameters for the 3288// API request. 3289// 3290// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3291// The specified cluster could not be found. You can view your available clusters 3292// with ListClusters. Amazon ECS clusters are region-specific. 3293// 3294// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 3295func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 3296 req, out := c.UpdateContainerInstancesStateRequest(input) 3297 return out, req.Send() 3298} 3299 3300// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 3301// the ability to pass a context and additional request options. 3302// 3303// See UpdateContainerInstancesState for details on how to use this API operation. 3304// 3305// The context must be non-nil and will be used for request cancellation. If 3306// the context is nil a panic will occur. In the future the SDK may create 3307// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3308// for more information on using Contexts. 3309func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 3310 req, out := c.UpdateContainerInstancesStateRequest(input) 3311 req.SetContext(ctx) 3312 req.ApplyOptions(opts...) 3313 return out, req.Send() 3314} 3315 3316const opUpdateService = "UpdateService" 3317 3318// UpdateServiceRequest generates a "aws/request.Request" representing the 3319// client's request for the UpdateService operation. The "output" return 3320// value will be populated with the request's response once the request complets 3321// successfuly. 3322// 3323// Use "Send" method on the returned Request to send the API call to the service. 3324// the "output" return value is not valid until after Send returns without error. 3325// 3326// See UpdateService for more information on using the UpdateService 3327// API call, and error handling. 3328// 3329// This method is useful when you want to inject custom logic or configuration 3330// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3331// 3332// 3333// // Example sending a request using the UpdateServiceRequest method. 3334// req, resp := client.UpdateServiceRequest(params) 3335// 3336// err := req.Send() 3337// if err == nil { // resp is now filled 3338// fmt.Println(resp) 3339// } 3340// 3341// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 3342func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 3343 op := &request.Operation{ 3344 Name: opUpdateService, 3345 HTTPMethod: "POST", 3346 HTTPPath: "/", 3347 } 3348 3349 if input == nil { 3350 input = &UpdateServiceInput{} 3351 } 3352 3353 output = &UpdateServiceOutput{} 3354 req = c.newRequest(op, input, output) 3355 return 3356} 3357 3358// UpdateService API operation for Amazon EC2 Container Service. 3359// 3360// Modifies the desired count, deployment configuration, or task definition 3361// used in a service. 3362// 3363// You can add to or subtract from the number of instantiations of a task definition 3364// in a service by specifying the cluster that the service is running in and 3365// a new desiredCount parameter. 3366// 3367// You can use UpdateService to modify your task definition and deploy a new 3368// version of your service. 3369// 3370// You can also update the deployment configuration of a service. When a deployment 3371// is triggered by updating the task definition of a service, the service scheduler 3372// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 3373// to determine the deployment strategy. 3374// 3375// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 3376// temporarily during a deployment. For example, if desiredCount is four 3377// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 3378// before starting two new tasks. Tasks for services that do not use a load 3379// balancer are considered healthy if they are in the RUNNING state. Tasks 3380// for services that use a load balancer are considered healthy if they are 3381// in the RUNNING state and the container instance they are hosted on is 3382// reported as healthy by the load balancer. 3383// 3384// * The maximumPercent parameter represents an upper limit on the number 3385// of running tasks during a deployment, which enables you to define the 3386// deployment batch size. For example, if desiredCount is four tasks, a maximum 3387// of 200% starts four new tasks before stopping the four older tasks (provided 3388// that the cluster resources required to do this are available). 3389// 3390// When UpdateService stops a task during a deployment, the equivalent of docker 3391// stop is issued to the containers running in the task. This results in a SIGTERM 3392// and a 30-second timeout, after which SIGKILL is sent and the containers are 3393// forcibly stopped. If the container handles the SIGTERM gracefully and exits 3394// within 30 seconds from receiving it, no SIGKILL is sent. 3395// 3396// When the service scheduler launches new tasks, it determines task placement 3397// in your cluster with the following logic: 3398// 3399// * Determine which of the container instances in your cluster can support 3400// your service's task definition (for example, they have the required CPU, 3401// memory, ports, and container instance attributes). 3402// 3403// * By default, the service scheduler attempts to balance tasks across Availability 3404// Zones in this manner (although you can choose a different placement strategy): 3405// 3406// Sort the valid container instances by the fewest number of running tasks 3407// for this service in the same Availability Zone as the instance. For example, 3408// if zone A has one running service task and zones B and C each have zero, 3409// valid container instances in either zone B or C are considered optimal 3410// for placement. 3411// 3412// Place the new service task on a valid container instance in an optimal Availability 3413// Zone (based on the previous steps), favoring container instances with 3414// the fewest number of running tasks for this service. 3415// 3416// When the service scheduler stops running tasks, it attempts to maintain balance 3417// across the Availability Zones in your cluster using the following logic: 3418// 3419// * Sort the container instances by the largest number of running tasks 3420// for this service in the same Availability Zone as the instance. For example, 3421// if zone A has one running service task and zones B and C each have two, 3422// container instances in either zone B or C are considered optimal for termination. 3423// 3424// * Stop the task on a container instance in an optimal Availability Zone 3425// (based on the previous steps), favoring container instances with the largest 3426// number of running tasks for this service. 3427// 3428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3429// with awserr.Error's Code and Message methods to get detailed information about 3430// the error. 3431// 3432// See the AWS API reference guide for Amazon EC2 Container Service's 3433// API operation UpdateService for usage and error information. 3434// 3435// Returned Error Codes: 3436// * ErrCodeServerException "ServerException" 3437// These errors are usually caused by a server issue. 3438// 3439// * ErrCodeClientException "ClientException" 3440// These errors are usually caused by a client action, such as using an action 3441// or resource on behalf of a user that doesn't have permission to use the action 3442// or resource, or specifying an identifier that is not valid. 3443// 3444// * ErrCodeInvalidParameterException "InvalidParameterException" 3445// The specified parameter is invalid. Review the available parameters for the 3446// API request. 3447// 3448// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3449// The specified cluster could not be found. You can view your available clusters 3450// with ListClusters. Amazon ECS clusters are region-specific. 3451// 3452// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 3453// The specified service could not be found. You can view your available services 3454// with ListServices. Amazon ECS services are cluster-specific and region-specific. 3455// 3456// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 3457// The specified service is not active. You cannot update a service that is 3458// not active. If you have previously deleted a service, you can re-create it 3459// with CreateService. 3460// 3461// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 3462func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 3463 req, out := c.UpdateServiceRequest(input) 3464 return out, req.Send() 3465} 3466 3467// UpdateServiceWithContext is the same as UpdateService with the addition of 3468// the ability to pass a context and additional request options. 3469// 3470// See UpdateService for details on how to use this API operation. 3471// 3472// The context must be non-nil and will be used for request cancellation. If 3473// the context is nil a panic will occur. In the future the SDK may create 3474// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3475// for more information on using Contexts. 3476func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 3477 req, out := c.UpdateServiceRequest(input) 3478 req.SetContext(ctx) 3479 req.ApplyOptions(opts...) 3480 return out, req.Send() 3481} 3482 3483// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 3484// enable you to extend the Amazon ECS data model by adding custom metadata 3485// to your resources. For more information, see Attributes (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3486// in the Amazon EC2 Container Service Developer Guide. 3487// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Attribute 3488type Attribute struct { 3489 _ struct{} `type:"structure"` 3490 3491 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 3492 // hyphens, underscores, and periods are allowed. 3493 // 3494 // Name is a required field 3495 Name *string `locationName:"name" type:"string" required:"true"` 3496 3497 // The ID of the target. You can specify the short form ID for a resource or 3498 // the full Amazon Resource Name (ARN). 3499 TargetId *string `locationName:"targetId" type:"string"` 3500 3501 // The type of the target with which to attach the attribute. This parameter 3502 // is required if you use the short form ID for a resource instead of the full 3503 // Amazon Resource Name (ARN). 3504 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 3505 3506 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 3507 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 3508 // and spaces are allowed. 3509 Value *string `locationName:"value" type:"string"` 3510} 3511 3512// String returns the string representation 3513func (s Attribute) String() string { 3514 return awsutil.Prettify(s) 3515} 3516 3517// GoString returns the string representation 3518func (s Attribute) GoString() string { 3519 return s.String() 3520} 3521 3522// Validate inspects the fields of the type to determine if they are valid. 3523func (s *Attribute) Validate() error { 3524 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 3525 if s.Name == nil { 3526 invalidParams.Add(request.NewErrParamRequired("Name")) 3527 } 3528 3529 if invalidParams.Len() > 0 { 3530 return invalidParams 3531 } 3532 return nil 3533} 3534 3535// SetName sets the Name field's value. 3536func (s *Attribute) SetName(v string) *Attribute { 3537 s.Name = &v 3538 return s 3539} 3540 3541// SetTargetId sets the TargetId field's value. 3542func (s *Attribute) SetTargetId(v string) *Attribute { 3543 s.TargetId = &v 3544 return s 3545} 3546 3547// SetTargetType sets the TargetType field's value. 3548func (s *Attribute) SetTargetType(v string) *Attribute { 3549 s.TargetType = &v 3550 return s 3551} 3552 3553// SetValue sets the Value field's value. 3554func (s *Attribute) SetValue(v string) *Attribute { 3555 s.Value = &v 3556 return s 3557} 3558 3559// A regional grouping of one or more container instances on which you can run 3560// task requests. Each account receives a default cluster the first time you 3561// use the Amazon ECS service, but you may also create other clusters. Clusters 3562// may contain more than one instance type simultaneously. 3563// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Cluster 3564type Cluster struct { 3565 _ struct{} `type:"structure"` 3566 3567 // The number of services that are running on the cluster in an ACTIVE state. 3568 // You can view these services with ListServices. 3569 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 3570 3571 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 3572 // the arn:aws:ecs namespace, followed by the region of the cluster, the AWS 3573 // account ID of the cluster owner, the cluster namespace, and then the cluster 3574 // name. For example, arn:aws:ecs:region:012345678910:cluster/test.. 3575 ClusterArn *string `locationName:"clusterArn" type:"string"` 3576 3577 // A user-generated string that you use to identify your cluster. 3578 ClusterName *string `locationName:"clusterName" type:"string"` 3579 3580 // The number of tasks in the cluster that are in the PENDING state. 3581 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 3582 3583 // The number of container instances registered into the cluster. 3584 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 3585 3586 // The number of tasks in the cluster that are in the RUNNING state. 3587 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 3588 3589 // The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE 3590 // indicates that you can register container instances with the cluster and 3591 // the associated instances can accept tasks. 3592 Status *string `locationName:"status" type:"string"` 3593} 3594 3595// String returns the string representation 3596func (s Cluster) String() string { 3597 return awsutil.Prettify(s) 3598} 3599 3600// GoString returns the string representation 3601func (s Cluster) GoString() string { 3602 return s.String() 3603} 3604 3605// SetActiveServicesCount sets the ActiveServicesCount field's value. 3606func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 3607 s.ActiveServicesCount = &v 3608 return s 3609} 3610 3611// SetClusterArn sets the ClusterArn field's value. 3612func (s *Cluster) SetClusterArn(v string) *Cluster { 3613 s.ClusterArn = &v 3614 return s 3615} 3616 3617// SetClusterName sets the ClusterName field's value. 3618func (s *Cluster) SetClusterName(v string) *Cluster { 3619 s.ClusterName = &v 3620 return s 3621} 3622 3623// SetPendingTasksCount sets the PendingTasksCount field's value. 3624func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 3625 s.PendingTasksCount = &v 3626 return s 3627} 3628 3629// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 3630func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 3631 s.RegisteredContainerInstancesCount = &v 3632 return s 3633} 3634 3635// SetRunningTasksCount sets the RunningTasksCount field's value. 3636func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 3637 s.RunningTasksCount = &v 3638 return s 3639} 3640 3641// SetStatus sets the Status field's value. 3642func (s *Cluster) SetStatus(v string) *Cluster { 3643 s.Status = &v 3644 return s 3645} 3646 3647// A Docker container that is part of a task. 3648// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Container 3649type Container struct { 3650 _ struct{} `type:"structure"` 3651 3652 // The Amazon Resource Name (ARN) of the container. 3653 ContainerArn *string `locationName:"containerArn" type:"string"` 3654 3655 // The exit code returned from the container. 3656 ExitCode *int64 `locationName:"exitCode" type:"integer"` 3657 3658 // The last known status of the container. 3659 LastStatus *string `locationName:"lastStatus" type:"string"` 3660 3661 // The name of the container. 3662 Name *string `locationName:"name" type:"string"` 3663 3664 // The network bindings associated with the container. 3665 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 3666 3667 // A short (255 max characters) human-readable string to provide additional 3668 // details about a running or stopped container. 3669 Reason *string `locationName:"reason" type:"string"` 3670 3671 // The Amazon Resource Name (ARN) of the task. 3672 TaskArn *string `locationName:"taskArn" type:"string"` 3673} 3674 3675// String returns the string representation 3676func (s Container) String() string { 3677 return awsutil.Prettify(s) 3678} 3679 3680// GoString returns the string representation 3681func (s Container) GoString() string { 3682 return s.String() 3683} 3684 3685// SetContainerArn sets the ContainerArn field's value. 3686func (s *Container) SetContainerArn(v string) *Container { 3687 s.ContainerArn = &v 3688 return s 3689} 3690 3691// SetExitCode sets the ExitCode field's value. 3692func (s *Container) SetExitCode(v int64) *Container { 3693 s.ExitCode = &v 3694 return s 3695} 3696 3697// SetLastStatus sets the LastStatus field's value. 3698func (s *Container) SetLastStatus(v string) *Container { 3699 s.LastStatus = &v 3700 return s 3701} 3702 3703// SetName sets the Name field's value. 3704func (s *Container) SetName(v string) *Container { 3705 s.Name = &v 3706 return s 3707} 3708 3709// SetNetworkBindings sets the NetworkBindings field's value. 3710func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 3711 s.NetworkBindings = v 3712 return s 3713} 3714 3715// SetReason sets the Reason field's value. 3716func (s *Container) SetReason(v string) *Container { 3717 s.Reason = &v 3718 return s 3719} 3720 3721// SetTaskArn sets the TaskArn field's value. 3722func (s *Container) SetTaskArn(v string) *Container { 3723 s.TaskArn = &v 3724 return s 3725} 3726 3727// Container definitions are used in task definitions to describe the different 3728// containers that are launched as part of a task. 3729// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ContainerDefinition 3730type ContainerDefinition struct { 3731 _ struct{} `type:"structure"` 3732 3733 // The command that is passed to the container. This parameter maps to Cmd in 3734 // the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3735 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3736 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 3737 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 3738 // (https://docs.docker.com/engine/reference/builder/#cmd). 3739 Command []*string `locationName:"command" type:"list"` 3740 3741 // The number of cpu units reserved for the container. A container instance 3742 // has 1,024 cpu units for every CPU core. This parameter specifies the minimum 3743 // amount of CPU to reserve for a container, and containers share unallocated 3744 // CPU units with other containers on the instance with the same ratio as their 3745 // allocated amount. This parameter maps to CpuShares in the Create a container 3746 // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3747 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3748 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 3749 // 3750 // You can determine the number of CPU units that are available per EC2 instance 3751 // type by multiplying the vCPUs listed for that instance type on the Amazon 3752 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 3753 // 1,024. 3754 // 3755 // For example, if you run a single-container task on a single-core instance 3756 // type with 512 CPU units specified for that container, and that is the only 3757 // task running on the container instance, that container could use the full 3758 // 1,024 CPU unit share at any given time. However, if you launched another 3759 // copy of the same task on that container instance, each task would be guaranteed 3760 // a minimum of 512 CPU units when needed, and each container could float to 3761 // higher CPU usage if the other container was not using it, but if both tasks 3762 // were 100% active all of the time, they would be limited to 512 CPU units. 3763 // 3764 // The Docker daemon on the container instance uses the CPU value to calculate 3765 // the relative CPU share ratios for running containers. For more information, 3766 // see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 3767 // in the Docker documentation. The minimum valid CPU share value that the Linux 3768 // kernel allows is 2; however, the CPU parameter is not required, and you can 3769 // use CPU values below 2 in your container definitions. For CPU values below 3770 // 2 (including null), the behavior varies based on your Amazon ECS container 3771 // agent version: 3772 // 3773 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 3774 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 3775 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 3776 // to 2 CPU shares. 3777 // 3778 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 3779 // of 1 are passed to Docker as 2. 3780 Cpu *int64 `locationName:"cpu" type:"integer"` 3781 3782 // When this parameter is true, networking is disabled within the container. 3783 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3784 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/). 3785 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 3786 3787 // A list of DNS search domains that are presented to the container. This parameter 3788 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3789 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3790 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 3791 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 3792 3793 // A list of DNS servers that are presented to the container. This parameter 3794 // maps to Dns in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3795 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3796 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 3797 DnsServers []*string `locationName:"dnsServers" type:"list"` 3798 3799 // A key/value map of labels to add to the container. This parameter maps to 3800 // Labels in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3801 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3802 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 3803 // This parameter requires version 1.18 of the Docker Remote API or greater 3804 // on your container instance. To check the Docker Remote API version on your 3805 // container instance, log into your container instance and run the following 3806 // command: sudo docker version | grep "Server API version" 3807 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 3808 3809 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 3810 // security systems. This parameter maps to SecurityOpt in the Create a container 3811 // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3812 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3813 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 3814 // 3815 // The Amazon ECS container agent running on a container instance must register 3816 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 3817 // variables before containers placed on that instance can use these security 3818 // options. For more information, see Amazon ECS Container Agent Configuration 3819 // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3820 // in the Amazon EC2 Container Service Developer Guide. 3821 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 3822 3823 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 3824 // parameters. If you have problems using entryPoint, update your container 3825 // agent or enter your commands and arguments as command array items instead. 3826 // 3827 // The entry point that is passed to the container. This parameter maps to Entrypoint 3828 // in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3829 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3830 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 3831 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 3832 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 3833 EntryPoint []*string `locationName:"entryPoint" type:"list"` 3834 3835 // The environment variables to pass to a container. This parameter maps to 3836 // Env in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3837 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3838 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 3839 // 3840 // We do not recommend using plain text environment variables for sensitive 3841 // information, such as credential data. 3842 Environment []*KeyValuePair `locationName:"environment" type:"list"` 3843 3844 // If the essential parameter of a container is marked as true, and that container 3845 // fails or stops for any reason, all other containers that are part of the 3846 // task are stopped. If the essential parameter of a container is marked as 3847 // false, then its failure does not affect the rest of the containers in a task. 3848 // If this parameter is omitted, a container is assumed to be essential. 3849 // 3850 // All tasks must have at least one essential container. If you have an application 3851 // that is composed of multiple containers, you should group containers that 3852 // are used for a common purpose into components, and separate the different 3853 // components into multiple task definitions. For more information, see Application 3854 // Architecture (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 3855 // in the Amazon EC2 Container Service Developer Guide. 3856 Essential *bool `locationName:"essential" type:"boolean"` 3857 3858 // A list of hostnames and IP address mappings to append to the /etc/hosts file 3859 // on the container. This parameter maps to ExtraHosts in the Create a container 3860 // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3861 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3862 // and the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 3863 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 3864 3865 // The hostname to use for your container. This parameter maps to Hostname in 3866 // the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3867 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3868 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 3869 Hostname *string `locationName:"hostname" type:"string"` 3870 3871 // The image used to start a container. This string is passed directly to the 3872 // Docker daemon. Images in the Docker Hub registry are available by default. 3873 // Other repositories are specified with either repository-url/image:tag or 3874 // repository-url/image@digest. Up to 255 letters (uppercase and lowercase), 3875 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 3876 // signs are allowed. This parameter maps to Image in the Create a container 3877 // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3878 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3879 // and the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 3880 // 3881 // * Images in Amazon ECR repositories can be specified by either using the 3882 // full registry/repository:tag or registry/repository@digest. For example, 3883 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 3884 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 3885 // 3886 // 3887 // * Images in official repositories on Docker Hub use a single name (for 3888 // example, ubuntu or mongo). 3889 // 3890 // * Images in other repositories on Docker Hub are qualified with an organization 3891 // name (for example, amazon/amazon-ecs-agent). 3892 // 3893 // * Images in other online repositories are qualified further by a domain 3894 // name (for example, quay.io/assemblyline/ubuntu). 3895 Image *string `locationName:"image" type:"string"` 3896 3897 // The link parameter allows containers to communicate with each other without 3898 // the need for port mappings, using the name parameter and optionally, an alias 3899 // for the link. This construct is analogous to name:alias in Docker links. 3900 // Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores 3901 // are allowed for each name and alias. For more information on linking Docker 3902 // containers, see https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/ 3903 // (https://docs.docker.com/engine/userguide/networking/default_network/dockerlinks/). 3904 // This parameter maps to Links in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3905 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3906 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 3907 // 3908 // Containers that are collocated on a single container instance may be able 3909 // to communicate with each other without requiring links or host port mappings. 3910 // Network isolation is achieved on the container instance using security groups 3911 // and VPC settings. 3912 Links []*string `locationName:"links" type:"list"` 3913 3914 // Linux-specific modifications that are applied to the container, such as Linux 3915 // KernelCapabilities. 3916 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 3917 3918 // The log configuration specification for the container. This parameter maps 3919 // to LogConfig in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3920 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3921 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 3922 // By default, containers use the same logging driver that the Docker daemon 3923 // uses; however the container may use a different logging driver than the Docker 3924 // daemon by specifying a log driver with this parameter in the container definition. 3925 // To use a different logging driver for a container, the log system must be 3926 // configured properly on the container instance (or on a different log server 3927 // for remote logging options). For more information on the options for different 3928 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 3929 // in the Docker documentation. 3930 // 3931 // Amazon ECS currently supports a subset of the logging drivers available to 3932 // the Docker daemon (shown in the LogConfiguration data type). Additional log 3933 // drivers may be available in future releases of the Amazon ECS container agent. 3934 // 3935 // This parameter requires version 1.18 of the Docker Remote API or greater 3936 // on your container instance. To check the Docker Remote API version on your 3937 // container instance, log into your container instance and run the following 3938 // command: sudo docker version | grep "Server API version" 3939 // 3940 // The Amazon ECS container agent running on a container instance must register 3941 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 3942 // environment variable before containers placed on that instance can use these 3943 // log configuration options. For more information, see Amazon ECS Container 3944 // Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 3945 // in the Amazon EC2 Container Service Developer Guide. 3946 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 3947 3948 // The hard limit (in MiB) of memory to present to the container. If your container 3949 // attempts to exceed the memory specified here, the container is killed. This 3950 // parameter maps to Memory in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3951 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3952 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 3953 // 3954 // You must specify a non-zero integer for one or both of memory or memoryReservation 3955 // in container definitions. If you specify both, memory must be greater than 3956 // memoryReservation. If you specify memoryReservation, then that value is subtracted 3957 // from the available memory resources for the container instance on which the 3958 // container is placed; otherwise, the value of memory is used. 3959 // 3960 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 3961 // so you should not specify fewer than 4 MiB of memory for your containers. 3962 Memory *int64 `locationName:"memory" type:"integer"` 3963 3964 // The soft limit (in MiB) of memory to reserve for the container. When system 3965 // memory is under heavy contention, Docker attempts to keep the container memory 3966 // to this soft limit; however, your container can consume more memory when 3967 // it needs to, up to either the hard limit specified with the memory parameter 3968 // (if applicable), or all of the available memory on the container instance, 3969 // whichever comes first. This parameter maps to MemoryReservation in the Create 3970 // a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3971 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3972 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 3973 // 3974 // You must specify a non-zero integer for one or both of memory or memoryReservation 3975 // in container definitions. If you specify both, memory must be greater than 3976 // memoryReservation. If you specify memoryReservation, then that value is subtracted 3977 // from the available memory resources for the container instance on which the 3978 // container is placed; otherwise, the value of memory is used. 3979 // 3980 // For example, if your container normally uses 128 MiB of memory, but occasionally 3981 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 3982 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 3983 // allow the container to only reserve 128 MiB of memory from the remaining 3984 // resources on the container instance, but also allow the container to consume 3985 // more memory resources when needed. 3986 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 3987 3988 // The mount points for data volumes in your container. This parameter maps 3989 // to Volumes in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3990 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 3991 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 3992 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 3993 3994 // The name of a container. If you are linking multiple containers together 3995 // in a task definition, the name of one container can be entered in the links 3996 // of another container to connect the containers. Up to 255 letters (uppercase 3997 // and lowercase), numbers, hyphens, and underscores are allowed. This parameter 3998 // maps to name in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 3999 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4000 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/). 4001 Name *string `locationName:"name" type:"string"` 4002 4003 // The list of port mappings for the container. Port mappings allow containers 4004 // to access ports on the host container instance to send or receive traffic. 4005 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 4006 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4007 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 4008 // If the network mode of a task definition is set to none, then you cannot 4009 // specify port mappings. If the network mode of a task definition is set to 4010 // host, then host ports must either be undefined or they must match the container 4011 // port in the port mapping. 4012 // 4013 // After a task reaches the RUNNING status, manual and automatic host and container 4014 // port assignments are visible in the Network Bindings section of a container 4015 // description of a selected task in the Amazon ECS console, or the networkBindings 4016 // section DescribeTasks responses. 4017 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 4018 4019 // When this parameter is true, the container is given elevated privileges on 4020 // the host container instance (similar to the root user). This parameter maps 4021 // to Privileged in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 4022 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4023 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 4024 Privileged *bool `locationName:"privileged" type:"boolean"` 4025 4026 // When this parameter is true, the container is given read-only access to its 4027 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 4028 // (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 4029 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4030 // and the --read-only option to docker run. 4031 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 4032 4033 // A list of ulimits to set in the container. This parameter maps to Ulimits 4034 // in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 4035 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4036 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 4037 // Valid naming values are displayed in the Ulimit data type. This parameter 4038 // requires version 1.18 of the Docker Remote API or greater on your container 4039 // instance. To check the Docker Remote API version on your container instance, 4040 // log into your container instance and run the following command: sudo docker 4041 // version | grep "Server API version" 4042 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 4043 4044 // The user name to use inside the container. This parameter maps to User in 4045 // the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 4046 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4047 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 4048 User *string `locationName:"user" type:"string"` 4049 4050 // Data volumes to mount from another container. This parameter maps to VolumesFrom 4051 // in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 4052 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4053 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 4054 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 4055 4056 // The working directory in which to run commands inside the container. This 4057 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 4058 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 4059 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 4060 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 4061} 4062 4063// String returns the string representation 4064func (s ContainerDefinition) String() string { 4065 return awsutil.Prettify(s) 4066} 4067 4068// GoString returns the string representation 4069func (s ContainerDefinition) GoString() string { 4070 return s.String() 4071} 4072 4073// Validate inspects the fields of the type to determine if they are valid. 4074func (s *ContainerDefinition) Validate() error { 4075 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 4076 if s.ExtraHosts != nil { 4077 for i, v := range s.ExtraHosts { 4078 if v == nil { 4079 continue 4080 } 4081 if err := v.Validate(); err != nil { 4082 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 4083 } 4084 } 4085 } 4086 if s.LogConfiguration != nil { 4087 if err := s.LogConfiguration.Validate(); err != nil { 4088 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 4089 } 4090 } 4091 if s.Ulimits != nil { 4092 for i, v := range s.Ulimits { 4093 if v == nil { 4094 continue 4095 } 4096 if err := v.Validate(); err != nil { 4097 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 4098 } 4099 } 4100 } 4101 4102 if invalidParams.Len() > 0 { 4103 return invalidParams 4104 } 4105 return nil 4106} 4107 4108// SetCommand sets the Command field's value. 4109func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 4110 s.Command = v 4111 return s 4112} 4113 4114// SetCpu sets the Cpu field's value. 4115func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 4116 s.Cpu = &v 4117 return s 4118} 4119 4120// SetDisableNetworking sets the DisableNetworking field's value. 4121func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 4122 s.DisableNetworking = &v 4123 return s 4124} 4125 4126// SetDnsSearchDomains sets the DnsSearchDomains field's value. 4127func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 4128 s.DnsSearchDomains = v 4129 return s 4130} 4131 4132// SetDnsServers sets the DnsServers field's value. 4133func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 4134 s.DnsServers = v 4135 return s 4136} 4137 4138// SetDockerLabels sets the DockerLabels field's value. 4139func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 4140 s.DockerLabels = v 4141 return s 4142} 4143 4144// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 4145func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 4146 s.DockerSecurityOptions = v 4147 return s 4148} 4149 4150// SetEntryPoint sets the EntryPoint field's value. 4151func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 4152 s.EntryPoint = v 4153 return s 4154} 4155 4156// SetEnvironment sets the Environment field's value. 4157func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 4158 s.Environment = v 4159 return s 4160} 4161 4162// SetEssential sets the Essential field's value. 4163func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 4164 s.Essential = &v 4165 return s 4166} 4167 4168// SetExtraHosts sets the ExtraHosts field's value. 4169func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 4170 s.ExtraHosts = v 4171 return s 4172} 4173 4174// SetHostname sets the Hostname field's value. 4175func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 4176 s.Hostname = &v 4177 return s 4178} 4179 4180// SetImage sets the Image field's value. 4181func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 4182 s.Image = &v 4183 return s 4184} 4185 4186// SetLinks sets the Links field's value. 4187func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 4188 s.Links = v 4189 return s 4190} 4191 4192// SetLinuxParameters sets the LinuxParameters field's value. 4193func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 4194 s.LinuxParameters = v 4195 return s 4196} 4197 4198// SetLogConfiguration sets the LogConfiguration field's value. 4199func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 4200 s.LogConfiguration = v 4201 return s 4202} 4203 4204// SetMemory sets the Memory field's value. 4205func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 4206 s.Memory = &v 4207 return s 4208} 4209 4210// SetMemoryReservation sets the MemoryReservation field's value. 4211func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 4212 s.MemoryReservation = &v 4213 return s 4214} 4215 4216// SetMountPoints sets the MountPoints field's value. 4217func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 4218 s.MountPoints = v 4219 return s 4220} 4221 4222// SetName sets the Name field's value. 4223func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 4224 s.Name = &v 4225 return s 4226} 4227 4228// SetPortMappings sets the PortMappings field's value. 4229func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 4230 s.PortMappings = v 4231 return s 4232} 4233 4234// SetPrivileged sets the Privileged field's value. 4235func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 4236 s.Privileged = &v 4237 return s 4238} 4239 4240// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 4241func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 4242 s.ReadonlyRootFilesystem = &v 4243 return s 4244} 4245 4246// SetUlimits sets the Ulimits field's value. 4247func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 4248 s.Ulimits = v 4249 return s 4250} 4251 4252// SetUser sets the User field's value. 4253func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 4254 s.User = &v 4255 return s 4256} 4257 4258// SetVolumesFrom sets the VolumesFrom field's value. 4259func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 4260 s.VolumesFrom = v 4261 return s 4262} 4263 4264// SetWorkingDirectory sets the WorkingDirectory field's value. 4265func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 4266 s.WorkingDirectory = &v 4267 return s 4268} 4269 4270// An EC2 instance that is running the Amazon ECS agent and has been registered 4271// with a cluster. 4272// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ContainerInstance 4273type ContainerInstance struct { 4274 _ struct{} `type:"structure"` 4275 4276 // This parameter returns true if the agent is actually connected to Amazon 4277 // ECS. Registered instances with an agent that may be unhealthy or stopped 4278 // return false, and instances without a connected agent cannot accept placement 4279 // requests. 4280 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 4281 4282 // The status of the most recent agent update. If an update has never been requested, 4283 // this value is NULL. 4284 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 4285 4286 // The attributes set for the container instance, either by the Amazon ECS container 4287 // agent at instance registration or manually with the PutAttributes operation. 4288 Attributes []*Attribute `locationName:"attributes" type:"list"` 4289 4290 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 4291 // the arn:aws:ecs namespace, followed by the region of the container instance, 4292 // the AWS account ID of the container instance owner, the container-instance 4293 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 4294 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 4295 4296 // The EC2 instance ID of the container instance. 4297 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 4298 4299 // The number of tasks on the container instance that are in the PENDING status. 4300 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 4301 4302 // The Unix timestamp for when the container instance was registered. 4303 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp" timestampFormat:"unix"` 4304 4305 // For most resource types, this parameter describes the registered resources 4306 // on the container instance that are in use by current tasks. For port resource 4307 // types, this parameter describes the ports that were reserved by the Amazon 4308 // ECS container agent when it registered the container instance with Amazon 4309 // ECS. 4310 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 4311 4312 // For most resource types, this parameter describes the remaining resources 4313 // of the container instance that are available for new tasks. For port resource 4314 // types, this parameter describes the ports that are reserved by the Amazon 4315 // ECS container agent and any containers that have reserved port mappings; 4316 // any port that is not specified here is available for new tasks. 4317 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 4318 4319 // The number of tasks on the container instance that are in the RUNNING status. 4320 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 4321 4322 // The status of the container instance. The valid values are ACTIVE, INACTIVE, 4323 // or DRAINING. ACTIVE indicates that the container instance can accept tasks. 4324 // DRAINING indicates that new tasks are not placed on the container instance 4325 // and any service tasks running on the container instance are removed if possible. 4326 // For more information, see Container Instance Draining (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 4327 // in the Amazon EC2 Container Service Developer Guide. 4328 Status *string `locationName:"status" type:"string"` 4329 4330 // The version counter for the container instance. Every time a container instance 4331 // experiences a change that triggers a CloudWatch event, the version counter 4332 // is incremented. If you are replicating your Amazon ECS container instance 4333 // state with CloudWatch events, you can compare the version of a container 4334 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 4335 // events for the container instance (inside the detail object) to verify that 4336 // the version in your event stream is current. 4337 Version *int64 `locationName:"version" type:"long"` 4338 4339 // The version information for the Amazon ECS container agent and Docker daemon 4340 // running on the container instance. 4341 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 4342} 4343 4344// String returns the string representation 4345func (s ContainerInstance) String() string { 4346 return awsutil.Prettify(s) 4347} 4348 4349// GoString returns the string representation 4350func (s ContainerInstance) GoString() string { 4351 return s.String() 4352} 4353 4354// SetAgentConnected sets the AgentConnected field's value. 4355func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 4356 s.AgentConnected = &v 4357 return s 4358} 4359 4360// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 4361func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 4362 s.AgentUpdateStatus = &v 4363 return s 4364} 4365 4366// SetAttributes sets the Attributes field's value. 4367func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 4368 s.Attributes = v 4369 return s 4370} 4371 4372// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 4373func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 4374 s.ContainerInstanceArn = &v 4375 return s 4376} 4377 4378// SetEc2InstanceId sets the Ec2InstanceId field's value. 4379func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 4380 s.Ec2InstanceId = &v 4381 return s 4382} 4383 4384// SetPendingTasksCount sets the PendingTasksCount field's value. 4385func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 4386 s.PendingTasksCount = &v 4387 return s 4388} 4389 4390// SetRegisteredAt sets the RegisteredAt field's value. 4391func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 4392 s.RegisteredAt = &v 4393 return s 4394} 4395 4396// SetRegisteredResources sets the RegisteredResources field's value. 4397func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 4398 s.RegisteredResources = v 4399 return s 4400} 4401 4402// SetRemainingResources sets the RemainingResources field's value. 4403func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 4404 s.RemainingResources = v 4405 return s 4406} 4407 4408// SetRunningTasksCount sets the RunningTasksCount field's value. 4409func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 4410 s.RunningTasksCount = &v 4411 return s 4412} 4413 4414// SetStatus sets the Status field's value. 4415func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 4416 s.Status = &v 4417 return s 4418} 4419 4420// SetVersion sets the Version field's value. 4421func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 4422 s.Version = &v 4423 return s 4424} 4425 4426// SetVersionInfo sets the VersionInfo field's value. 4427func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 4428 s.VersionInfo = v 4429 return s 4430} 4431 4432// The overrides that should be sent to a container. 4433// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ContainerOverride 4434type ContainerOverride struct { 4435 _ struct{} `type:"structure"` 4436 4437 // The command to send to the container that overrides the default command from 4438 // the Docker image or the task definition. You must also specify a container 4439 // name. 4440 Command []*string `locationName:"command" type:"list"` 4441 4442 // The number of cpu units reserved for the container, instead of the default 4443 // value from the task definition. You must also specify a container name. 4444 Cpu *int64 `locationName:"cpu" type:"integer"` 4445 4446 // The environment variables to send to the container. You can add new environment 4447 // variables, which are added to the container at launch, or you can override 4448 // the existing environment variables from the Docker image or the task definition. 4449 // You must also specify a container name. 4450 Environment []*KeyValuePair `locationName:"environment" type:"list"` 4451 4452 // The hard limit (in MiB) of memory to present to the container, instead of 4453 // the default value from the task definition. If your container attempts to 4454 // exceed the memory specified here, the container is killed. You must also 4455 // specify a container name. 4456 Memory *int64 `locationName:"memory" type:"integer"` 4457 4458 // The soft limit (in MiB) of memory to reserve for the container, instead of 4459 // the default value from the task definition. You must also specify a container 4460 // name. 4461 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 4462 4463 // The name of the container that receives the override. This parameter is required 4464 // if any override is specified. 4465 Name *string `locationName:"name" type:"string"` 4466} 4467 4468// String returns the string representation 4469func (s ContainerOverride) String() string { 4470 return awsutil.Prettify(s) 4471} 4472 4473// GoString returns the string representation 4474func (s ContainerOverride) GoString() string { 4475 return s.String() 4476} 4477 4478// SetCommand sets the Command field's value. 4479func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 4480 s.Command = v 4481 return s 4482} 4483 4484// SetCpu sets the Cpu field's value. 4485func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 4486 s.Cpu = &v 4487 return s 4488} 4489 4490// SetEnvironment sets the Environment field's value. 4491func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 4492 s.Environment = v 4493 return s 4494} 4495 4496// SetMemory sets the Memory field's value. 4497func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 4498 s.Memory = &v 4499 return s 4500} 4501 4502// SetMemoryReservation sets the MemoryReservation field's value. 4503func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 4504 s.MemoryReservation = &v 4505 return s 4506} 4507 4508// SetName sets the Name field's value. 4509func (s *ContainerOverride) SetName(v string) *ContainerOverride { 4510 s.Name = &v 4511 return s 4512} 4513 4514// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateClusterRequest 4515type CreateClusterInput struct { 4516 _ struct{} `type:"structure"` 4517 4518 // The name of your cluster. If you do not specify a name for your cluster, 4519 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 4520 // numbers, hyphens, and underscores are allowed. 4521 ClusterName *string `locationName:"clusterName" type:"string"` 4522} 4523 4524// String returns the string representation 4525func (s CreateClusterInput) String() string { 4526 return awsutil.Prettify(s) 4527} 4528 4529// GoString returns the string representation 4530func (s CreateClusterInput) GoString() string { 4531 return s.String() 4532} 4533 4534// SetClusterName sets the ClusterName field's value. 4535func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 4536 s.ClusterName = &v 4537 return s 4538} 4539 4540// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateClusterResponse 4541type CreateClusterOutput struct { 4542 _ struct{} `type:"structure"` 4543 4544 // The full description of your new cluster. 4545 Cluster *Cluster `locationName:"cluster" type:"structure"` 4546} 4547 4548// String returns the string representation 4549func (s CreateClusterOutput) String() string { 4550 return awsutil.Prettify(s) 4551} 4552 4553// GoString returns the string representation 4554func (s CreateClusterOutput) GoString() string { 4555 return s.String() 4556} 4557 4558// SetCluster sets the Cluster field's value. 4559func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 4560 s.Cluster = v 4561 return s 4562} 4563 4564// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest 4565type CreateServiceInput struct { 4566 _ struct{} `type:"structure"` 4567 4568 // Unique, case-sensitive identifier you provide to ensure the idempotency of 4569 // the request. Up to 32 ASCII characters are allowed. 4570 ClientToken *string `locationName:"clientToken" type:"string"` 4571 4572 // The short name or full Amazon Resource Name (ARN) of the cluster on which 4573 // to run your service. If you do not specify a cluster, the default cluster 4574 // is assumed. 4575 Cluster *string `locationName:"cluster" type:"string"` 4576 4577 // Optional deployment parameters that control how many tasks run during the 4578 // deployment and the ordering of stopping and starting tasks. 4579 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 4580 4581 // The number of instantiations of the specified task definition to place and 4582 // keep running on your cluster. 4583 // 4584 // DesiredCount is a required field 4585 DesiredCount *int64 `locationName:"desiredCount" type:"integer" required:"true"` 4586 4587 // A load balancer object representing the load balancer to use with your service. 4588 // Currently, you are limited to one load balancer or target group per service. 4589 // After you create a service, the load balancer name or target group ARN, container 4590 // name, and container port specified in the service definition are immutable. 4591 // 4592 // For Classic Load Balancers, this object must contain the load balancer name, 4593 // the container name (as it appears in a container definition), and the container 4594 // port to access from the load balancer. When a task from this service is placed 4595 // on a container instance, the container instance is registered with the load 4596 // balancer specified here. 4597 // 4598 // For Application Load Balancers and Network Load Balancers, this object must 4599 // contain the load balancer target group ARN, the container name (as it appears 4600 // in a container definition), and the container port to access from the load 4601 // balancer. When a task from this service is placed on a container instance, 4602 // the container instance and port combination is registered as a target in 4603 // the target group specified here. 4604 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 4605 4606 // An array of placement constraint objects to use for tasks in your service. 4607 // You can specify a maximum of 10 constraints per task (this limit includes 4608 // constraints in the task definition and those specified at run time). 4609 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 4610 4611 // The placement strategy objects to use for tasks in your service. You can 4612 // specify a maximum of 5 strategy rules per service. 4613 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 4614 4615 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 4616 // ECS to make calls to your load balancer on your behalf. This parameter is 4617 // required if you are using a load balancer with your service. If you specify 4618 // the role parameter, you must also specify a load balancer object with the 4619 // loadBalancers parameter. 4620 // 4621 // If your specified role has a path other than /, then you must either specify 4622 // the full role ARN (this is recommended) or prefix the role name with the 4623 // path. For example, if a role with the name bar has a path of /foo/ then you 4624 // would specify /foo/bar as the role name. For more information, see Friendly 4625 // Names and Paths (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 4626 // in the IAM User Guide. 4627 Role *string `locationName:"role" type:"string"` 4628 4629 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 4630 // hyphens, and underscores are allowed. Service names must be unique within 4631 // a cluster, but you can have similarly named services in multiple clusters 4632 // within a region or across multiple regions. 4633 // 4634 // ServiceName is a required field 4635 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 4636 4637 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 4638 // of the task definition to run in your service. If a revision is not specified, 4639 // the latest ACTIVE revision is used. 4640 // 4641 // TaskDefinition is a required field 4642 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 4643} 4644 4645// String returns the string representation 4646func (s CreateServiceInput) String() string { 4647 return awsutil.Prettify(s) 4648} 4649 4650// GoString returns the string representation 4651func (s CreateServiceInput) GoString() string { 4652 return s.String() 4653} 4654 4655// Validate inspects the fields of the type to determine if they are valid. 4656func (s *CreateServiceInput) Validate() error { 4657 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 4658 if s.DesiredCount == nil { 4659 invalidParams.Add(request.NewErrParamRequired("DesiredCount")) 4660 } 4661 if s.ServiceName == nil { 4662 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 4663 } 4664 if s.TaskDefinition == nil { 4665 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 4666 } 4667 4668 if invalidParams.Len() > 0 { 4669 return invalidParams 4670 } 4671 return nil 4672} 4673 4674// SetClientToken sets the ClientToken field's value. 4675func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 4676 s.ClientToken = &v 4677 return s 4678} 4679 4680// SetCluster sets the Cluster field's value. 4681func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 4682 s.Cluster = &v 4683 return s 4684} 4685 4686// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 4687func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 4688 s.DeploymentConfiguration = v 4689 return s 4690} 4691 4692// SetDesiredCount sets the DesiredCount field's value. 4693func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 4694 s.DesiredCount = &v 4695 return s 4696} 4697 4698// SetLoadBalancers sets the LoadBalancers field's value. 4699func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 4700 s.LoadBalancers = v 4701 return s 4702} 4703 4704// SetPlacementConstraints sets the PlacementConstraints field's value. 4705func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 4706 s.PlacementConstraints = v 4707 return s 4708} 4709 4710// SetPlacementStrategy sets the PlacementStrategy field's value. 4711func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 4712 s.PlacementStrategy = v 4713 return s 4714} 4715 4716// SetRole sets the Role field's value. 4717func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 4718 s.Role = &v 4719 return s 4720} 4721 4722// SetServiceName sets the ServiceName field's value. 4723func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 4724 s.ServiceName = &v 4725 return s 4726} 4727 4728// SetTaskDefinition sets the TaskDefinition field's value. 4729func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 4730 s.TaskDefinition = &v 4731 return s 4732} 4733 4734// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceResponse 4735type CreateServiceOutput struct { 4736 _ struct{} `type:"structure"` 4737 4738 // The full description of your service following the create call. 4739 Service *Service `locationName:"service" type:"structure"` 4740} 4741 4742// String returns the string representation 4743func (s CreateServiceOutput) String() string { 4744 return awsutil.Prettify(s) 4745} 4746 4747// GoString returns the string representation 4748func (s CreateServiceOutput) GoString() string { 4749 return s.String() 4750} 4751 4752// SetService sets the Service field's value. 4753func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 4754 s.Service = v 4755 return s 4756} 4757 4758// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributesRequest 4759type DeleteAttributesInput struct { 4760 _ struct{} `type:"structure"` 4761 4762 // The attributes to delete from your resource. You can specify up to 10 attributes 4763 // per request. For custom attributes, specify the attribute name and target 4764 // ID, but do not specify the value. If you specify the target ID using the 4765 // short form, you must also specify the target type. 4766 // 4767 // Attributes is a required field 4768 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 4769 4770 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 4771 // the resource to delete attributes. If you do not specify a cluster, the default 4772 // cluster is assumed. 4773 Cluster *string `locationName:"cluster" type:"string"` 4774} 4775 4776// String returns the string representation 4777func (s DeleteAttributesInput) String() string { 4778 return awsutil.Prettify(s) 4779} 4780 4781// GoString returns the string representation 4782func (s DeleteAttributesInput) GoString() string { 4783 return s.String() 4784} 4785 4786// Validate inspects the fields of the type to determine if they are valid. 4787func (s *DeleteAttributesInput) Validate() error { 4788 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 4789 if s.Attributes == nil { 4790 invalidParams.Add(request.NewErrParamRequired("Attributes")) 4791 } 4792 if s.Attributes != nil { 4793 for i, v := range s.Attributes { 4794 if v == nil { 4795 continue 4796 } 4797 if err := v.Validate(); err != nil { 4798 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 4799 } 4800 } 4801 } 4802 4803 if invalidParams.Len() > 0 { 4804 return invalidParams 4805 } 4806 return nil 4807} 4808 4809// SetAttributes sets the Attributes field's value. 4810func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 4811 s.Attributes = v 4812 return s 4813} 4814 4815// SetCluster sets the Cluster field's value. 4816func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 4817 s.Cluster = &v 4818 return s 4819} 4820 4821// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributesResponse 4822type DeleteAttributesOutput struct { 4823 _ struct{} `type:"structure"` 4824 4825 // A list of attribute objects that were successfully deleted from your resource. 4826 Attributes []*Attribute `locationName:"attributes" type:"list"` 4827} 4828 4829// String returns the string representation 4830func (s DeleteAttributesOutput) String() string { 4831 return awsutil.Prettify(s) 4832} 4833 4834// GoString returns the string representation 4835func (s DeleteAttributesOutput) GoString() string { 4836 return s.String() 4837} 4838 4839// SetAttributes sets the Attributes field's value. 4840func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 4841 s.Attributes = v 4842 return s 4843} 4844 4845// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteClusterRequest 4846type DeleteClusterInput struct { 4847 _ struct{} `type:"structure"` 4848 4849 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 4850 // 4851 // Cluster is a required field 4852 Cluster *string `locationName:"cluster" type:"string" required:"true"` 4853} 4854 4855// String returns the string representation 4856func (s DeleteClusterInput) String() string { 4857 return awsutil.Prettify(s) 4858} 4859 4860// GoString returns the string representation 4861func (s DeleteClusterInput) GoString() string { 4862 return s.String() 4863} 4864 4865// Validate inspects the fields of the type to determine if they are valid. 4866func (s *DeleteClusterInput) Validate() error { 4867 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 4868 if s.Cluster == nil { 4869 invalidParams.Add(request.NewErrParamRequired("Cluster")) 4870 } 4871 4872 if invalidParams.Len() > 0 { 4873 return invalidParams 4874 } 4875 return nil 4876} 4877 4878// SetCluster sets the Cluster field's value. 4879func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 4880 s.Cluster = &v 4881 return s 4882} 4883 4884// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteClusterResponse 4885type DeleteClusterOutput struct { 4886 _ struct{} `type:"structure"` 4887 4888 // The full description of the deleted cluster. 4889 Cluster *Cluster `locationName:"cluster" type:"structure"` 4890} 4891 4892// String returns the string representation 4893func (s DeleteClusterOutput) String() string { 4894 return awsutil.Prettify(s) 4895} 4896 4897// GoString returns the string representation 4898func (s DeleteClusterOutput) GoString() string { 4899 return s.String() 4900} 4901 4902// SetCluster sets the Cluster field's value. 4903func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 4904 s.Cluster = v 4905 return s 4906} 4907 4908// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteServiceRequest 4909type DeleteServiceInput struct { 4910 _ struct{} `type:"structure"` 4911 4912 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 4913 // the service to delete. If you do not specify a cluster, the default cluster 4914 // is assumed. 4915 Cluster *string `locationName:"cluster" type:"string"` 4916 4917 // The name of the service to delete. 4918 // 4919 // Service is a required field 4920 Service *string `locationName:"service" type:"string" required:"true"` 4921} 4922 4923// String returns the string representation 4924func (s DeleteServiceInput) String() string { 4925 return awsutil.Prettify(s) 4926} 4927 4928// GoString returns the string representation 4929func (s DeleteServiceInput) GoString() string { 4930 return s.String() 4931} 4932 4933// Validate inspects the fields of the type to determine if they are valid. 4934func (s *DeleteServiceInput) Validate() error { 4935 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 4936 if s.Service == nil { 4937 invalidParams.Add(request.NewErrParamRequired("Service")) 4938 } 4939 4940 if invalidParams.Len() > 0 { 4941 return invalidParams 4942 } 4943 return nil 4944} 4945 4946// SetCluster sets the Cluster field's value. 4947func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 4948 s.Cluster = &v 4949 return s 4950} 4951 4952// SetService sets the Service field's value. 4953func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 4954 s.Service = &v 4955 return s 4956} 4957 4958// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteServiceResponse 4959type DeleteServiceOutput struct { 4960 _ struct{} `type:"structure"` 4961 4962 // The full description of the deleted service. 4963 Service *Service `locationName:"service" type:"structure"` 4964} 4965 4966// String returns the string representation 4967func (s DeleteServiceOutput) String() string { 4968 return awsutil.Prettify(s) 4969} 4970 4971// GoString returns the string representation 4972func (s DeleteServiceOutput) GoString() string { 4973 return s.String() 4974} 4975 4976// SetService sets the Service field's value. 4977func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 4978 s.Service = v 4979 return s 4980} 4981 4982// The details of an Amazon ECS service deployment. 4983// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Deployment 4984type Deployment struct { 4985 _ struct{} `type:"structure"` 4986 4987 // The Unix timestamp for when the service was created. 4988 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` 4989 4990 // The most recent desired count of tasks that was specified for the service 4991 // to deploy or maintain. 4992 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 4993 4994 // The ID of the deployment. 4995 Id *string `locationName:"id" type:"string"` 4996 4997 // The number of tasks in the deployment that are in the PENDING status. 4998 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 4999 5000 // The number of tasks in the deployment that are in the RUNNING status. 5001 RunningCount *int64 `locationName:"runningCount" type:"integer"` 5002 5003 // The status of the deployment. Valid values are PRIMARY (for the most recent 5004 // deployment), ACTIVE (for previous deployments that still have tasks running, 5005 // but are being replaced with the PRIMARY deployment), and INACTIVE (for deployments 5006 // that have been completely replaced). 5007 Status *string `locationName:"status" type:"string"` 5008 5009 // The most recent task definition that was specified for the service to use. 5010 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 5011 5012 // The Unix timestamp for when the service was last updated. 5013 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"unix"` 5014} 5015 5016// String returns the string representation 5017func (s Deployment) String() string { 5018 return awsutil.Prettify(s) 5019} 5020 5021// GoString returns the string representation 5022func (s Deployment) GoString() string { 5023 return s.String() 5024} 5025 5026// SetCreatedAt sets the CreatedAt field's value. 5027func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 5028 s.CreatedAt = &v 5029 return s 5030} 5031 5032// SetDesiredCount sets the DesiredCount field's value. 5033func (s *Deployment) SetDesiredCount(v int64) *Deployment { 5034 s.DesiredCount = &v 5035 return s 5036} 5037 5038// SetId sets the Id field's value. 5039func (s *Deployment) SetId(v string) *Deployment { 5040 s.Id = &v 5041 return s 5042} 5043 5044// SetPendingCount sets the PendingCount field's value. 5045func (s *Deployment) SetPendingCount(v int64) *Deployment { 5046 s.PendingCount = &v 5047 return s 5048} 5049 5050// SetRunningCount sets the RunningCount field's value. 5051func (s *Deployment) SetRunningCount(v int64) *Deployment { 5052 s.RunningCount = &v 5053 return s 5054} 5055 5056// SetStatus sets the Status field's value. 5057func (s *Deployment) SetStatus(v string) *Deployment { 5058 s.Status = &v 5059 return s 5060} 5061 5062// SetTaskDefinition sets the TaskDefinition field's value. 5063func (s *Deployment) SetTaskDefinition(v string) *Deployment { 5064 s.TaskDefinition = &v 5065 return s 5066} 5067 5068// SetUpdatedAt sets the UpdatedAt field's value. 5069func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 5070 s.UpdatedAt = &v 5071 return s 5072} 5073 5074// Optional deployment parameters that control how many tasks run during the 5075// deployment and the ordering of stopping and starting tasks. 5076// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration 5077type DeploymentConfiguration struct { 5078 _ struct{} `type:"structure"` 5079 5080 // The upper limit (as a percentage of the service's desiredCount) of the number 5081 // of tasks that are allowed in the RUNNING or PENDING state in a service during 5082 // a deployment. The maximum number of tasks during a deployment is the desiredCount 5083 // multiplied by maximumPercent/100, rounded down to the nearest integer value. 5084 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 5085 5086 // The lower limit (as a percentage of the service's desiredCount) of the number 5087 // of running tasks that must remain in the RUNNING state in a service during 5088 // a deployment. The minimum healthy tasks during a deployment is the desiredCount 5089 // multiplied by minimumHealthyPercent/100, rounded up to the nearest integer 5090 // value. 5091 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 5092} 5093 5094// String returns the string representation 5095func (s DeploymentConfiguration) String() string { 5096 return awsutil.Prettify(s) 5097} 5098 5099// GoString returns the string representation 5100func (s DeploymentConfiguration) GoString() string { 5101 return s.String() 5102} 5103 5104// SetMaximumPercent sets the MaximumPercent field's value. 5105func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 5106 s.MaximumPercent = &v 5107 return s 5108} 5109 5110// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 5111func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 5112 s.MinimumHealthyPercent = &v 5113 return s 5114} 5115 5116// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstanceRequest 5117type DeregisterContainerInstanceInput struct { 5118 _ struct{} `type:"structure"` 5119 5120 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 5121 // the container instance to deregister. If you do not specify a cluster, the 5122 // default cluster is assumed. 5123 Cluster *string `locationName:"cluster" type:"string"` 5124 5125 // The container instance ID or full Amazon Resource Name (ARN) of the container 5126 // instance to deregister. The ARN contains the arn:aws:ecs namespace, followed 5127 // by the region of the container instance, the AWS account ID of the container 5128 // instance owner, the container-instance namespace, and then the container 5129 // instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 5130 // 5131 // ContainerInstance is a required field 5132 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 5133 5134 // Forces the deregistration of the container instance. If you have tasks running 5135 // on the container instance when you deregister it with the force option, these 5136 // tasks remain running until you terminate the instance or the tasks stop through 5137 // some other means, but they are orphaned (no longer monitored or accounted 5138 // for by Amazon ECS). If an orphaned task on your container instance is part 5139 // of an Amazon ECS service, then the service scheduler starts another copy 5140 // of that task, on a different container instance if possible. 5141 // 5142 // Any containers in orphaned service tasks that are registered with a Classic 5143 // Load Balancer or an Application Load Balancer target group are deregistered, 5144 // and they will begin connection draining according to the settings on the 5145 // load balancer or target group. 5146 Force *bool `locationName:"force" type:"boolean"` 5147} 5148 5149// String returns the string representation 5150func (s DeregisterContainerInstanceInput) String() string { 5151 return awsutil.Prettify(s) 5152} 5153 5154// GoString returns the string representation 5155func (s DeregisterContainerInstanceInput) GoString() string { 5156 return s.String() 5157} 5158 5159// Validate inspects the fields of the type to determine if they are valid. 5160func (s *DeregisterContainerInstanceInput) Validate() error { 5161 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 5162 if s.ContainerInstance == nil { 5163 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 5164 } 5165 5166 if invalidParams.Len() > 0 { 5167 return invalidParams 5168 } 5169 return nil 5170} 5171 5172// SetCluster sets the Cluster field's value. 5173func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 5174 s.Cluster = &v 5175 return s 5176} 5177 5178// SetContainerInstance sets the ContainerInstance field's value. 5179func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 5180 s.ContainerInstance = &v 5181 return s 5182} 5183 5184// SetForce sets the Force field's value. 5185func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 5186 s.Force = &v 5187 return s 5188} 5189 5190// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstanceResponse 5191type DeregisterContainerInstanceOutput struct { 5192 _ struct{} `type:"structure"` 5193 5194 // The container instance that was deregistered. 5195 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 5196} 5197 5198// String returns the string representation 5199func (s DeregisterContainerInstanceOutput) String() string { 5200 return awsutil.Prettify(s) 5201} 5202 5203// GoString returns the string representation 5204func (s DeregisterContainerInstanceOutput) GoString() string { 5205 return s.String() 5206} 5207 5208// SetContainerInstance sets the ContainerInstance field's value. 5209func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 5210 s.ContainerInstance = v 5211 return s 5212} 5213 5214// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinitionRequest 5215type DeregisterTaskDefinitionInput struct { 5216 _ struct{} `type:"structure"` 5217 5218 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 5219 // of the task definition to deregister. You must specify a revision. 5220 // 5221 // TaskDefinition is a required field 5222 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 5223} 5224 5225// String returns the string representation 5226func (s DeregisterTaskDefinitionInput) String() string { 5227 return awsutil.Prettify(s) 5228} 5229 5230// GoString returns the string representation 5231func (s DeregisterTaskDefinitionInput) GoString() string { 5232 return s.String() 5233} 5234 5235// Validate inspects the fields of the type to determine if they are valid. 5236func (s *DeregisterTaskDefinitionInput) Validate() error { 5237 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 5238 if s.TaskDefinition == nil { 5239 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 5240 } 5241 5242 if invalidParams.Len() > 0 { 5243 return invalidParams 5244 } 5245 return nil 5246} 5247 5248// SetTaskDefinition sets the TaskDefinition field's value. 5249func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 5250 s.TaskDefinition = &v 5251 return s 5252} 5253 5254// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinitionResponse 5255type DeregisterTaskDefinitionOutput struct { 5256 _ struct{} `type:"structure"` 5257 5258 // The full description of the deregistered task. 5259 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 5260} 5261 5262// String returns the string representation 5263func (s DeregisterTaskDefinitionOutput) String() string { 5264 return awsutil.Prettify(s) 5265} 5266 5267// GoString returns the string representation 5268func (s DeregisterTaskDefinitionOutput) GoString() string { 5269 return s.String() 5270} 5271 5272// SetTaskDefinition sets the TaskDefinition field's value. 5273func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 5274 s.TaskDefinition = v 5275 return s 5276} 5277 5278// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClustersRequest 5279type DescribeClustersInput struct { 5280 _ struct{} `type:"structure"` 5281 5282 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 5283 // entries. If you do not specify a cluster, the default cluster is assumed. 5284 Clusters []*string `locationName:"clusters" type:"list"` 5285} 5286 5287// String returns the string representation 5288func (s DescribeClustersInput) String() string { 5289 return awsutil.Prettify(s) 5290} 5291 5292// GoString returns the string representation 5293func (s DescribeClustersInput) GoString() string { 5294 return s.String() 5295} 5296 5297// SetClusters sets the Clusters field's value. 5298func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 5299 s.Clusters = v 5300 return s 5301} 5302 5303// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClustersResponse 5304type DescribeClustersOutput struct { 5305 _ struct{} `type:"structure"` 5306 5307 // The list of clusters. 5308 Clusters []*Cluster `locationName:"clusters" type:"list"` 5309 5310 // Any failures associated with the call. 5311 Failures []*Failure `locationName:"failures" type:"list"` 5312} 5313 5314// String returns the string representation 5315func (s DescribeClustersOutput) String() string { 5316 return awsutil.Prettify(s) 5317} 5318 5319// GoString returns the string representation 5320func (s DescribeClustersOutput) GoString() string { 5321 return s.String() 5322} 5323 5324// SetClusters sets the Clusters field's value. 5325func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 5326 s.Clusters = v 5327 return s 5328} 5329 5330// SetFailures sets the Failures field's value. 5331func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 5332 s.Failures = v 5333 return s 5334} 5335 5336// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstancesRequest 5337type DescribeContainerInstancesInput struct { 5338 _ struct{} `type:"structure"` 5339 5340 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 5341 // the container instances to describe. If you do not specify a cluster, the 5342 // default cluster is assumed. 5343 Cluster *string `locationName:"cluster" type:"string"` 5344 5345 // A list of container instance IDs or full Amazon Resource Name (ARN) entries. 5346 // 5347 // ContainerInstances is a required field 5348 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 5349} 5350 5351// String returns the string representation 5352func (s DescribeContainerInstancesInput) String() string { 5353 return awsutil.Prettify(s) 5354} 5355 5356// GoString returns the string representation 5357func (s DescribeContainerInstancesInput) GoString() string { 5358 return s.String() 5359} 5360 5361// Validate inspects the fields of the type to determine if they are valid. 5362func (s *DescribeContainerInstancesInput) Validate() error { 5363 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 5364 if s.ContainerInstances == nil { 5365 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 5366 } 5367 5368 if invalidParams.Len() > 0 { 5369 return invalidParams 5370 } 5371 return nil 5372} 5373 5374// SetCluster sets the Cluster field's value. 5375func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 5376 s.Cluster = &v 5377 return s 5378} 5379 5380// SetContainerInstances sets the ContainerInstances field's value. 5381func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 5382 s.ContainerInstances = v 5383 return s 5384} 5385 5386// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstancesResponse 5387type DescribeContainerInstancesOutput struct { 5388 _ struct{} `type:"structure"` 5389 5390 // The list of container instances. 5391 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 5392 5393 // Any failures associated with the call. 5394 Failures []*Failure `locationName:"failures" type:"list"` 5395} 5396 5397// String returns the string representation 5398func (s DescribeContainerInstancesOutput) String() string { 5399 return awsutil.Prettify(s) 5400} 5401 5402// GoString returns the string representation 5403func (s DescribeContainerInstancesOutput) GoString() string { 5404 return s.String() 5405} 5406 5407// SetContainerInstances sets the ContainerInstances field's value. 5408func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 5409 s.ContainerInstances = v 5410 return s 5411} 5412 5413// SetFailures sets the Failures field's value. 5414func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 5415 s.Failures = v 5416 return s 5417} 5418 5419// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServicesRequest 5420type DescribeServicesInput struct { 5421 _ struct{} `type:"structure"` 5422 5423 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 5424 // service to describe. If you do not specify a cluster, the default cluster 5425 // is assumed. 5426 Cluster *string `locationName:"cluster" type:"string"` 5427 5428 // A list of services to describe. You may specify up to 10 services to describe 5429 // in a single operation. 5430 // 5431 // Services is a required field 5432 Services []*string `locationName:"services" type:"list" required:"true"` 5433} 5434 5435// String returns the string representation 5436func (s DescribeServicesInput) String() string { 5437 return awsutil.Prettify(s) 5438} 5439 5440// GoString returns the string representation 5441func (s DescribeServicesInput) GoString() string { 5442 return s.String() 5443} 5444 5445// Validate inspects the fields of the type to determine if they are valid. 5446func (s *DescribeServicesInput) Validate() error { 5447 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 5448 if s.Services == nil { 5449 invalidParams.Add(request.NewErrParamRequired("Services")) 5450 } 5451 5452 if invalidParams.Len() > 0 { 5453 return invalidParams 5454 } 5455 return nil 5456} 5457 5458// SetCluster sets the Cluster field's value. 5459func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 5460 s.Cluster = &v 5461 return s 5462} 5463 5464// SetServices sets the Services field's value. 5465func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 5466 s.Services = v 5467 return s 5468} 5469 5470// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServicesResponse 5471type DescribeServicesOutput struct { 5472 _ struct{} `type:"structure"` 5473 5474 // Any failures associated with the call. 5475 Failures []*Failure `locationName:"failures" type:"list"` 5476 5477 // The list of services described. 5478 Services []*Service `locationName:"services" type:"list"` 5479} 5480 5481// String returns the string representation 5482func (s DescribeServicesOutput) String() string { 5483 return awsutil.Prettify(s) 5484} 5485 5486// GoString returns the string representation 5487func (s DescribeServicesOutput) GoString() string { 5488 return s.String() 5489} 5490 5491// SetFailures sets the Failures field's value. 5492func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 5493 s.Failures = v 5494 return s 5495} 5496 5497// SetServices sets the Services field's value. 5498func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 5499 s.Services = v 5500 return s 5501} 5502 5503// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinitionRequest 5504type DescribeTaskDefinitionInput struct { 5505 _ struct{} `type:"structure"` 5506 5507 // The family for the latest ACTIVE revision, family and revision (family:revision) 5508 // for a specific revision in the family, or full Amazon Resource Name (ARN) 5509 // of the task definition to describe. 5510 // 5511 // TaskDefinition is a required field 5512 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 5513} 5514 5515// String returns the string representation 5516func (s DescribeTaskDefinitionInput) String() string { 5517 return awsutil.Prettify(s) 5518} 5519 5520// GoString returns the string representation 5521func (s DescribeTaskDefinitionInput) GoString() string { 5522 return s.String() 5523} 5524 5525// Validate inspects the fields of the type to determine if they are valid. 5526func (s *DescribeTaskDefinitionInput) Validate() error { 5527 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 5528 if s.TaskDefinition == nil { 5529 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 5530 } 5531 5532 if invalidParams.Len() > 0 { 5533 return invalidParams 5534 } 5535 return nil 5536} 5537 5538// SetTaskDefinition sets the TaskDefinition field's value. 5539func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 5540 s.TaskDefinition = &v 5541 return s 5542} 5543 5544// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinitionResponse 5545type DescribeTaskDefinitionOutput struct { 5546 _ struct{} `type:"structure"` 5547 5548 // The full task definition description. 5549 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 5550} 5551 5552// String returns the string representation 5553func (s DescribeTaskDefinitionOutput) String() string { 5554 return awsutil.Prettify(s) 5555} 5556 5557// GoString returns the string representation 5558func (s DescribeTaskDefinitionOutput) GoString() string { 5559 return s.String() 5560} 5561 5562// SetTaskDefinition sets the TaskDefinition field's value. 5563func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 5564 s.TaskDefinition = v 5565 return s 5566} 5567 5568// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasksRequest 5569type DescribeTasksInput struct { 5570 _ struct{} `type:"structure"` 5571 5572 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 5573 // the task to describe. If you do not specify a cluster, the default cluster 5574 // is assumed. 5575 Cluster *string `locationName:"cluster" type:"string"` 5576 5577 // A list of up to 100 task IDs or full Amazon Resource Name (ARN) entries. 5578 // 5579 // Tasks is a required field 5580 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 5581} 5582 5583// String returns the string representation 5584func (s DescribeTasksInput) String() string { 5585 return awsutil.Prettify(s) 5586} 5587 5588// GoString returns the string representation 5589func (s DescribeTasksInput) GoString() string { 5590 return s.String() 5591} 5592 5593// Validate inspects the fields of the type to determine if they are valid. 5594func (s *DescribeTasksInput) Validate() error { 5595 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 5596 if s.Tasks == nil { 5597 invalidParams.Add(request.NewErrParamRequired("Tasks")) 5598 } 5599 5600 if invalidParams.Len() > 0 { 5601 return invalidParams 5602 } 5603 return nil 5604} 5605 5606// SetCluster sets the Cluster field's value. 5607func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 5608 s.Cluster = &v 5609 return s 5610} 5611 5612// SetTasks sets the Tasks field's value. 5613func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 5614 s.Tasks = v 5615 return s 5616} 5617 5618// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasksResponse 5619type DescribeTasksOutput struct { 5620 _ struct{} `type:"structure"` 5621 5622 // Any failures associated with the call. 5623 Failures []*Failure `locationName:"failures" type:"list"` 5624 5625 // The list of tasks. 5626 Tasks []*Task `locationName:"tasks" type:"list"` 5627} 5628 5629// String returns the string representation 5630func (s DescribeTasksOutput) String() string { 5631 return awsutil.Prettify(s) 5632} 5633 5634// GoString returns the string representation 5635func (s DescribeTasksOutput) GoString() string { 5636 return s.String() 5637} 5638 5639// SetFailures sets the Failures field's value. 5640func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 5641 s.Failures = v 5642 return s 5643} 5644 5645// SetTasks sets the Tasks field's value. 5646func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 5647 s.Tasks = v 5648 return s 5649} 5650 5651// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpointRequest 5652type DiscoverPollEndpointInput struct { 5653 _ struct{} `type:"structure"` 5654 5655 // The short name or full Amazon Resource Name (ARN) of the cluster that the 5656 // container instance belongs to. 5657 Cluster *string `locationName:"cluster" type:"string"` 5658 5659 // The container instance ID or full Amazon Resource Name (ARN) of the container 5660 // instance. The ARN contains the arn:aws:ecs namespace, followed by the region 5661 // of the container instance, the AWS account ID of the container instance owner, 5662 // the container-instance namespace, and then the container instance ID. For 5663 // example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 5664 ContainerInstance *string `locationName:"containerInstance" type:"string"` 5665} 5666 5667// String returns the string representation 5668func (s DiscoverPollEndpointInput) String() string { 5669 return awsutil.Prettify(s) 5670} 5671 5672// GoString returns the string representation 5673func (s DiscoverPollEndpointInput) GoString() string { 5674 return s.String() 5675} 5676 5677// SetCluster sets the Cluster field's value. 5678func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 5679 s.Cluster = &v 5680 return s 5681} 5682 5683// SetContainerInstance sets the ContainerInstance field's value. 5684func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 5685 s.ContainerInstance = &v 5686 return s 5687} 5688 5689// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpointResponse 5690type DiscoverPollEndpointOutput struct { 5691 _ struct{} `type:"structure"` 5692 5693 // The endpoint for the Amazon ECS agent to poll. 5694 Endpoint *string `locationName:"endpoint" type:"string"` 5695 5696 // The telemetry endpoint for the Amazon ECS agent. 5697 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 5698} 5699 5700// String returns the string representation 5701func (s DiscoverPollEndpointOutput) String() string { 5702 return awsutil.Prettify(s) 5703} 5704 5705// GoString returns the string representation 5706func (s DiscoverPollEndpointOutput) GoString() string { 5707 return s.String() 5708} 5709 5710// SetEndpoint sets the Endpoint field's value. 5711func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 5712 s.Endpoint = &v 5713 return s 5714} 5715 5716// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 5717func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 5718 s.TelemetryEndpoint = &v 5719 return s 5720} 5721 5722// A failed resource. 5723// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Failure 5724type Failure struct { 5725 _ struct{} `type:"structure"` 5726 5727 // The Amazon Resource Name (ARN) of the failed resource. 5728 Arn *string `locationName:"arn" type:"string"` 5729 5730 // The reason for the failure. 5731 Reason *string `locationName:"reason" type:"string"` 5732} 5733 5734// String returns the string representation 5735func (s Failure) String() string { 5736 return awsutil.Prettify(s) 5737} 5738 5739// GoString returns the string representation 5740func (s Failure) GoString() string { 5741 return s.String() 5742} 5743 5744// SetArn sets the Arn field's value. 5745func (s *Failure) SetArn(v string) *Failure { 5746 s.Arn = &v 5747 return s 5748} 5749 5750// SetReason sets the Reason field's value. 5751func (s *Failure) SetReason(v string) *Failure { 5752 s.Reason = &v 5753 return s 5754} 5755 5756// Hostnames and IP address entries that are added to the /etc/hosts file of 5757// a container via the extraHosts parameter of its ContainerDefinition. 5758// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/HostEntry 5759type HostEntry struct { 5760 _ struct{} `type:"structure"` 5761 5762 // The hostname to use in the /etc/hosts entry. 5763 // 5764 // Hostname is a required field 5765 Hostname *string `locationName:"hostname" type:"string" required:"true"` 5766 5767 // The IP address to use in the /etc/hosts entry. 5768 // 5769 // IpAddress is a required field 5770 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 5771} 5772 5773// String returns the string representation 5774func (s HostEntry) String() string { 5775 return awsutil.Prettify(s) 5776} 5777 5778// GoString returns the string representation 5779func (s HostEntry) GoString() string { 5780 return s.String() 5781} 5782 5783// Validate inspects the fields of the type to determine if they are valid. 5784func (s *HostEntry) Validate() error { 5785 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 5786 if s.Hostname == nil { 5787 invalidParams.Add(request.NewErrParamRequired("Hostname")) 5788 } 5789 if s.IpAddress == nil { 5790 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 5791 } 5792 5793 if invalidParams.Len() > 0 { 5794 return invalidParams 5795 } 5796 return nil 5797} 5798 5799// SetHostname sets the Hostname field's value. 5800func (s *HostEntry) SetHostname(v string) *HostEntry { 5801 s.Hostname = &v 5802 return s 5803} 5804 5805// SetIpAddress sets the IpAddress field's value. 5806func (s *HostEntry) SetIpAddress(v string) *HostEntry { 5807 s.IpAddress = &v 5808 return s 5809} 5810 5811// Details on a container instance host volume. 5812// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/HostVolumeProperties 5813type HostVolumeProperties struct { 5814 _ struct{} `type:"structure"` 5815 5816 // The path on the host container instance that is presented to the container. 5817 // If this parameter is empty, then the Docker daemon has assigned a host path 5818 // for you. If the host parameter contains a sourcePath file location, then 5819 // the data volume persists at the specified location on the host container 5820 // instance until you delete it manually. If the sourcePath value does not exist 5821 // on the host container instance, the Docker daemon creates it. If the location 5822 // does exist, the contents of the source path folder are exported. 5823 SourcePath *string `locationName:"sourcePath" type:"string"` 5824} 5825 5826// String returns the string representation 5827func (s HostVolumeProperties) String() string { 5828 return awsutil.Prettify(s) 5829} 5830 5831// GoString returns the string representation 5832func (s HostVolumeProperties) GoString() string { 5833 return s.String() 5834} 5835 5836// SetSourcePath sets the SourcePath field's value. 5837func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 5838 s.SourcePath = &v 5839 return s 5840} 5841 5842// The Linux capabilities for the container that are added to or dropped from 5843// the default configuration provided by Docker. For more information on the 5844// default capabilities and the non-default available capabilities, see Runtime 5845// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 5846// in the Docker run reference. For more detailed information on these Linux 5847// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 5848// Linux manual page. 5849// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/KernelCapabilities 5850type KernelCapabilities struct { 5851 _ struct{} `type:"structure"` 5852 5853 // The Linux capabilities for the container that have been added to the default 5854 // configuration provided by Docker. This parameter maps to CapAdd in the Create 5855 // a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 5856 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 5857 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 5858 Add []*string `locationName:"add" type:"list"` 5859 5860 // The Linux capabilities for the container that have been removed from the 5861 // default configuration provided by Docker. This parameter maps to CapDrop 5862 // in the Create a container (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container) 5863 // section of the Docker Remote API (https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/) 5864 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 5865 Drop []*string `locationName:"drop" type:"list"` 5866} 5867 5868// String returns the string representation 5869func (s KernelCapabilities) String() string { 5870 return awsutil.Prettify(s) 5871} 5872 5873// GoString returns the string representation 5874func (s KernelCapabilities) GoString() string { 5875 return s.String() 5876} 5877 5878// SetAdd sets the Add field's value. 5879func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 5880 s.Add = v 5881 return s 5882} 5883 5884// SetDrop sets the Drop field's value. 5885func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 5886 s.Drop = v 5887 return s 5888} 5889 5890// A key and value pair object. 5891// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/KeyValuePair 5892type KeyValuePair struct { 5893 _ struct{} `type:"structure"` 5894 5895 // The name of the key value pair. For environment variables, this is the name 5896 // of the environment variable. 5897 Name *string `locationName:"name" type:"string"` 5898 5899 // The value of the key value pair. For environment variables, this is the value 5900 // of the environment variable. 5901 Value *string `locationName:"value" type:"string"` 5902} 5903 5904// String returns the string representation 5905func (s KeyValuePair) String() string { 5906 return awsutil.Prettify(s) 5907} 5908 5909// GoString returns the string representation 5910func (s KeyValuePair) GoString() string { 5911 return s.String() 5912} 5913 5914// SetName sets the Name field's value. 5915func (s *KeyValuePair) SetName(v string) *KeyValuePair { 5916 s.Name = &v 5917 return s 5918} 5919 5920// SetValue sets the Value field's value. 5921func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 5922 s.Value = &v 5923 return s 5924} 5925 5926// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 5927// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/LinuxParameters 5928type LinuxParameters struct { 5929 _ struct{} `type:"structure"` 5930 5931 // The Linux capabilities for the container that are added to or dropped from 5932 // the default configuration provided by Docker. 5933 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 5934} 5935 5936// String returns the string representation 5937func (s LinuxParameters) String() string { 5938 return awsutil.Prettify(s) 5939} 5940 5941// GoString returns the string representation 5942func (s LinuxParameters) GoString() string { 5943 return s.String() 5944} 5945 5946// SetCapabilities sets the Capabilities field's value. 5947func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 5948 s.Capabilities = v 5949 return s 5950} 5951 5952// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributesRequest 5953type ListAttributesInput struct { 5954 _ struct{} `type:"structure"` 5955 5956 // The name of the attribute with which to filter the results. 5957 AttributeName *string `locationName:"attributeName" type:"string"` 5958 5959 // The value of the attribute with which to filter results. You must also specify 5960 // an attribute name to use this parameter. 5961 AttributeValue *string `locationName:"attributeValue" type:"string"` 5962 5963 // The short name or full Amazon Resource Name (ARN) of the cluster to list 5964 // attributes. If you do not specify a cluster, the default cluster is assumed. 5965 Cluster *string `locationName:"cluster" type:"string"` 5966 5967 // The maximum number of cluster results returned by ListAttributes in paginated 5968 // output. When this parameter is used, ListAttributes only returns maxResults 5969 // results in a single page along with a nextToken response element. The remaining 5970 // results of the initial request can be seen by sending another ListAttributes 5971 // request with the returned nextToken value. This value can be between 1 and 5972 // 100. If this parameter is not used, then ListAttributes returns up to 100 5973 // results and a nextToken value if applicable. 5974 MaxResults *int64 `locationName:"maxResults" type:"integer"` 5975 5976 // The nextToken value returned from a previous paginated ListAttributes request 5977 // where maxResults was used and the results exceeded the value of that parameter. 5978 // Pagination continues from the end of the previous results that returned the 5979 // nextToken value. This value is null when there are no more results to return. 5980 // 5981 // This token should be treated as an opaque identifier that is only used to 5982 // retrieve the next items in a list and not for other programmatic purposes. 5983 NextToken *string `locationName:"nextToken" type:"string"` 5984 5985 // The type of the target with which to list attributes. 5986 // 5987 // TargetType is a required field 5988 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 5989} 5990 5991// String returns the string representation 5992func (s ListAttributesInput) String() string { 5993 return awsutil.Prettify(s) 5994} 5995 5996// GoString returns the string representation 5997func (s ListAttributesInput) GoString() string { 5998 return s.String() 5999} 6000 6001// Validate inspects the fields of the type to determine if they are valid. 6002func (s *ListAttributesInput) Validate() error { 6003 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 6004 if s.TargetType == nil { 6005 invalidParams.Add(request.NewErrParamRequired("TargetType")) 6006 } 6007 6008 if invalidParams.Len() > 0 { 6009 return invalidParams 6010 } 6011 return nil 6012} 6013 6014// SetAttributeName sets the AttributeName field's value. 6015func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 6016 s.AttributeName = &v 6017 return s 6018} 6019 6020// SetAttributeValue sets the AttributeValue field's value. 6021func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 6022 s.AttributeValue = &v 6023 return s 6024} 6025 6026// SetCluster sets the Cluster field's value. 6027func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 6028 s.Cluster = &v 6029 return s 6030} 6031 6032// SetMaxResults sets the MaxResults field's value. 6033func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 6034 s.MaxResults = &v 6035 return s 6036} 6037 6038// SetNextToken sets the NextToken field's value. 6039func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 6040 s.NextToken = &v 6041 return s 6042} 6043 6044// SetTargetType sets the TargetType field's value. 6045func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 6046 s.TargetType = &v 6047 return s 6048} 6049 6050// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributesResponse 6051type ListAttributesOutput struct { 6052 _ struct{} `type:"structure"` 6053 6054 // A list of attribute objects that meet the criteria of the request. 6055 Attributes []*Attribute `locationName:"attributes" type:"list"` 6056 6057 // The nextToken value to include in a future ListAttributes request. When the 6058 // results of a ListAttributes request exceed maxResults, this value can be 6059 // used to retrieve the next page of results. This value is null when there 6060 // are no more results to return. 6061 NextToken *string `locationName:"nextToken" type:"string"` 6062} 6063 6064// String returns the string representation 6065func (s ListAttributesOutput) String() string { 6066 return awsutil.Prettify(s) 6067} 6068 6069// GoString returns the string representation 6070func (s ListAttributesOutput) GoString() string { 6071 return s.String() 6072} 6073 6074// SetAttributes sets the Attributes field's value. 6075func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 6076 s.Attributes = v 6077 return s 6078} 6079 6080// SetNextToken sets the NextToken field's value. 6081func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 6082 s.NextToken = &v 6083 return s 6084} 6085 6086// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClustersRequest 6087type ListClustersInput struct { 6088 _ struct{} `type:"structure"` 6089 6090 // The maximum number of cluster results returned by ListClusters in paginated 6091 // output. When this parameter is used, ListClusters only returns maxResults 6092 // results in a single page along with a nextToken response element. The remaining 6093 // results of the initial request can be seen by sending another ListClusters 6094 // request with the returned nextToken value. This value can be between 1 and 6095 // 100. If this parameter is not used, then ListClusters returns up to 100 results 6096 // and a nextToken value if applicable. 6097 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6098 6099 // The nextToken value returned from a previous paginated ListClusters request 6100 // where maxResults was used and the results exceeded the value of that parameter. 6101 // Pagination continues from the end of the previous results that returned the 6102 // nextToken value. This value is null when there are no more results to return. 6103 // 6104 // This token should be treated as an opaque identifier that is only used to 6105 // retrieve the next items in a list and not for other programmatic purposes. 6106 NextToken *string `locationName:"nextToken" type:"string"` 6107} 6108 6109// String returns the string representation 6110func (s ListClustersInput) String() string { 6111 return awsutil.Prettify(s) 6112} 6113 6114// GoString returns the string representation 6115func (s ListClustersInput) GoString() string { 6116 return s.String() 6117} 6118 6119// SetMaxResults sets the MaxResults field's value. 6120func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 6121 s.MaxResults = &v 6122 return s 6123} 6124 6125// SetNextToken sets the NextToken field's value. 6126func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 6127 s.NextToken = &v 6128 return s 6129} 6130 6131// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClustersResponse 6132type ListClustersOutput struct { 6133 _ struct{} `type:"structure"` 6134 6135 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 6136 // with your account. 6137 ClusterArns []*string `locationName:"clusterArns" type:"list"` 6138 6139 // The nextToken value to include in a future ListClusters request. When the 6140 // results of a ListClusters request exceed maxResults, this value can be used 6141 // to retrieve the next page of results. This value is null when there are no 6142 // more results to return. 6143 NextToken *string `locationName:"nextToken" type:"string"` 6144} 6145 6146// String returns the string representation 6147func (s ListClustersOutput) String() string { 6148 return awsutil.Prettify(s) 6149} 6150 6151// GoString returns the string representation 6152func (s ListClustersOutput) GoString() string { 6153 return s.String() 6154} 6155 6156// SetClusterArns sets the ClusterArns field's value. 6157func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 6158 s.ClusterArns = v 6159 return s 6160} 6161 6162// SetNextToken sets the NextToken field's value. 6163func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 6164 s.NextToken = &v 6165 return s 6166} 6167 6168// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstancesRequest 6169type ListContainerInstancesInput struct { 6170 _ struct{} `type:"structure"` 6171 6172 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 6173 // the container instances to list. If you do not specify a cluster, the default 6174 // cluster is assumed. 6175 Cluster *string `locationName:"cluster" type:"string"` 6176 6177 // You can filter the results of a ListContainerInstances operation with cluster 6178 // query language statements. For more information, see Cluster Query Language 6179 // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 6180 // in the Amazon EC2 Container Service Developer Guide. 6181 Filter *string `locationName:"filter" type:"string"` 6182 6183 // The maximum number of container instance results returned by ListContainerInstances 6184 // in paginated output. When this parameter is used, ListContainerInstances 6185 // only returns maxResults results in a single page along with a nextToken response 6186 // element. The remaining results of the initial request can be seen by sending 6187 // another ListContainerInstances request with the returned nextToken value. 6188 // This value can be between 1 and 100. If this parameter is not used, then 6189 // ListContainerInstances returns up to 100 results and a nextToken value if 6190 // applicable. 6191 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6192 6193 // The nextToken value returned from a previous paginated ListContainerInstances 6194 // request where maxResults was used and the results exceeded the value of that 6195 // parameter. Pagination continues from the end of the previous results that 6196 // returned the nextToken value. This value is null when there are no more results 6197 // to return. 6198 // 6199 // This token should be treated as an opaque identifier that is only used to 6200 // retrieve the next items in a list and not for other programmatic purposes. 6201 NextToken *string `locationName:"nextToken" type:"string"` 6202 6203 // Filters the container instances by status. For example, if you specify the 6204 // DRAINING status, the results include only container instances that have been 6205 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 6206 // this parameter, the default is to include container instances set to ACTIVE 6207 // and DRAINING. 6208 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 6209} 6210 6211// String returns the string representation 6212func (s ListContainerInstancesInput) String() string { 6213 return awsutil.Prettify(s) 6214} 6215 6216// GoString returns the string representation 6217func (s ListContainerInstancesInput) GoString() string { 6218 return s.String() 6219} 6220 6221// SetCluster sets the Cluster field's value. 6222func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 6223 s.Cluster = &v 6224 return s 6225} 6226 6227// SetFilter sets the Filter field's value. 6228func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 6229 s.Filter = &v 6230 return s 6231} 6232 6233// SetMaxResults sets the MaxResults field's value. 6234func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 6235 s.MaxResults = &v 6236 return s 6237} 6238 6239// SetNextToken sets the NextToken field's value. 6240func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 6241 s.NextToken = &v 6242 return s 6243} 6244 6245// SetStatus sets the Status field's value. 6246func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 6247 s.Status = &v 6248 return s 6249} 6250 6251// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstancesResponse 6252type ListContainerInstancesOutput struct { 6253 _ struct{} `type:"structure"` 6254 6255 // The list of container instances with full Amazon Resource Name (ARN) entries 6256 // for each container instance associated with the specified cluster. 6257 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 6258 6259 // The nextToken value to include in a future ListContainerInstances request. 6260 // When the results of a ListContainerInstances request exceed maxResults, this 6261 // value can be used to retrieve the next page of results. This value is null 6262 // when there are no more results to return. 6263 NextToken *string `locationName:"nextToken" type:"string"` 6264} 6265 6266// String returns the string representation 6267func (s ListContainerInstancesOutput) String() string { 6268 return awsutil.Prettify(s) 6269} 6270 6271// GoString returns the string representation 6272func (s ListContainerInstancesOutput) GoString() string { 6273 return s.String() 6274} 6275 6276// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 6277func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 6278 s.ContainerInstanceArns = v 6279 return s 6280} 6281 6282// SetNextToken sets the NextToken field's value. 6283func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 6284 s.NextToken = &v 6285 return s 6286} 6287 6288// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesRequest 6289type ListServicesInput struct { 6290 _ struct{} `type:"structure"` 6291 6292 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 6293 // the services to list. If you do not specify a cluster, the default cluster 6294 // is assumed. 6295 Cluster *string `locationName:"cluster" type:"string"` 6296 6297 // The maximum number of container instance results returned by ListServices 6298 // in paginated output. When this parameter is used, ListServices only returns 6299 // maxResults results in a single page along with a nextToken response element. 6300 // The remaining results of the initial request can be seen by sending another 6301 // ListServices request with the returned nextToken value. This value can be 6302 // between 1 and 10. If this parameter is not used, then ListServices returns 6303 // up to 10 results and a nextToken value if applicable. 6304 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6305 6306 // The nextToken value returned from a previous paginated ListServices request 6307 // where maxResults was used and the results exceeded the value of that parameter. 6308 // Pagination continues from the end of the previous results that returned the 6309 // nextToken value. This value is null when there are no more results to return. 6310 // 6311 // This token should be treated as an opaque identifier that is only used to 6312 // retrieve the next items in a list and not for other programmatic purposes. 6313 NextToken *string `locationName:"nextToken" type:"string"` 6314} 6315 6316// String returns the string representation 6317func (s ListServicesInput) String() string { 6318 return awsutil.Prettify(s) 6319} 6320 6321// GoString returns the string representation 6322func (s ListServicesInput) GoString() string { 6323 return s.String() 6324} 6325 6326// SetCluster sets the Cluster field's value. 6327func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 6328 s.Cluster = &v 6329 return s 6330} 6331 6332// SetMaxResults sets the MaxResults field's value. 6333func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 6334 s.MaxResults = &v 6335 return s 6336} 6337 6338// SetNextToken sets the NextToken field's value. 6339func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 6340 s.NextToken = &v 6341 return s 6342} 6343 6344// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesResponse 6345type ListServicesOutput struct { 6346 _ struct{} `type:"structure"` 6347 6348 // The nextToken value to include in a future ListServices request. When the 6349 // results of a ListServices request exceed maxResults, this value can be used 6350 // to retrieve the next page of results. This value is null when there are no 6351 // more results to return. 6352 NextToken *string `locationName:"nextToken" type:"string"` 6353 6354 // The list of full Amazon Resource Name (ARN) entries for each service associated 6355 // with the specified cluster. 6356 ServiceArns []*string `locationName:"serviceArns" type:"list"` 6357} 6358 6359// String returns the string representation 6360func (s ListServicesOutput) String() string { 6361 return awsutil.Prettify(s) 6362} 6363 6364// GoString returns the string representation 6365func (s ListServicesOutput) GoString() string { 6366 return s.String() 6367} 6368 6369// SetNextToken sets the NextToken field's value. 6370func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 6371 s.NextToken = &v 6372 return s 6373} 6374 6375// SetServiceArns sets the ServiceArns field's value. 6376func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 6377 s.ServiceArns = v 6378 return s 6379} 6380 6381// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamiliesRequest 6382type ListTaskDefinitionFamiliesInput struct { 6383 _ struct{} `type:"structure"` 6384 6385 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 6386 // If you specify a familyPrefix, only task definition family names that begin 6387 // with the familyPrefix string are returned. 6388 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 6389 6390 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 6391 // in paginated output. When this parameter is used, ListTaskDefinitions only 6392 // returns maxResults results in a single page along with a nextToken response 6393 // element. The remaining results of the initial request can be seen by sending 6394 // another ListTaskDefinitionFamilies request with the returned nextToken value. 6395 // This value can be between 1 and 100. If this parameter is not used, then 6396 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 6397 // if applicable. 6398 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6399 6400 // The nextToken value returned from a previous paginated ListTaskDefinitionFamilies 6401 // request where maxResults was used and the results exceeded the value of that 6402 // parameter. Pagination continues from the end of the previous results that 6403 // returned the nextToken value. This value is null when there are no more results 6404 // to return. 6405 // 6406 // This token should be treated as an opaque identifier that is only used to 6407 // retrieve the next items in a list and not for other programmatic purposes. 6408 NextToken *string `locationName:"nextToken" type:"string"` 6409 6410 // The task definition family status with which to filter the ListTaskDefinitionFamilies 6411 // results. By default, both ACTIVE and INACTIVE task definition families are 6412 // listed. If this parameter is set to ACTIVE, only task definition families 6413 // that have an ACTIVE task definition revision are returned. If this parameter 6414 // is set to INACTIVE, only task definition families that do not have any ACTIVE 6415 // task definition revisions are returned. If you paginate the resulting output, 6416 // be sure to keep the status value constant in each subsequent request. 6417 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 6418} 6419 6420// String returns the string representation 6421func (s ListTaskDefinitionFamiliesInput) String() string { 6422 return awsutil.Prettify(s) 6423} 6424 6425// GoString returns the string representation 6426func (s ListTaskDefinitionFamiliesInput) GoString() string { 6427 return s.String() 6428} 6429 6430// SetFamilyPrefix sets the FamilyPrefix field's value. 6431func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 6432 s.FamilyPrefix = &v 6433 return s 6434} 6435 6436// SetMaxResults sets the MaxResults field's value. 6437func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 6438 s.MaxResults = &v 6439 return s 6440} 6441 6442// SetNextToken sets the NextToken field's value. 6443func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 6444 s.NextToken = &v 6445 return s 6446} 6447 6448// SetStatus sets the Status field's value. 6449func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 6450 s.Status = &v 6451 return s 6452} 6453 6454// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamiliesResponse 6455type ListTaskDefinitionFamiliesOutput struct { 6456 _ struct{} `type:"structure"` 6457 6458 // The list of task definition family names that match the ListTaskDefinitionFamilies 6459 // request. 6460 Families []*string `locationName:"families" type:"list"` 6461 6462 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 6463 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 6464 // this value can be used to retrieve the next page of results. This value is 6465 // null when there are no more results to return. 6466 NextToken *string `locationName:"nextToken" type:"string"` 6467} 6468 6469// String returns the string representation 6470func (s ListTaskDefinitionFamiliesOutput) String() string { 6471 return awsutil.Prettify(s) 6472} 6473 6474// GoString returns the string representation 6475func (s ListTaskDefinitionFamiliesOutput) GoString() string { 6476 return s.String() 6477} 6478 6479// SetFamilies sets the Families field's value. 6480func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 6481 s.Families = v 6482 return s 6483} 6484 6485// SetNextToken sets the NextToken field's value. 6486func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 6487 s.NextToken = &v 6488 return s 6489} 6490 6491// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionsRequest 6492type ListTaskDefinitionsInput struct { 6493 _ struct{} `type:"structure"` 6494 6495 // The full family name with which to filter the ListTaskDefinitions results. 6496 // Specifying a familyPrefix limits the listed task definitions to task definition 6497 // revisions that belong to that family. 6498 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 6499 6500 // The maximum number of task definition results returned by ListTaskDefinitions 6501 // in paginated output. When this parameter is used, ListTaskDefinitions only 6502 // returns maxResults results in a single page along with a nextToken response 6503 // element. The remaining results of the initial request can be seen by sending 6504 // another ListTaskDefinitions request with the returned nextToken value. This 6505 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 6506 // returns up to 100 results and a nextToken value if applicable. 6507 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6508 6509 // The nextToken value returned from a previous paginated ListTaskDefinitions 6510 // request where maxResults was used and the results exceeded the value of that 6511 // parameter. Pagination continues from the end of the previous results that 6512 // returned the nextToken value. This value is null when there are no more results 6513 // to return. 6514 // 6515 // This token should be treated as an opaque identifier that is only used to 6516 // retrieve the next items in a list and not for other programmatic purposes. 6517 NextToken *string `locationName:"nextToken" type:"string"` 6518 6519 // The order in which to sort the results. Valid values are ASC and DESC. By 6520 // default (ASC), task definitions are listed lexicographically by family name 6521 // and in ascending numerical order by revision so that the newest task definitions 6522 // in a family are listed last. Setting this parameter to DESC reverses the 6523 // sort order on family name and revision so that the newest task definitions 6524 // in a family are listed first. 6525 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 6526 6527 // The task definition status with which to filter the ListTaskDefinitions results. 6528 // By default, only ACTIVE task definitions are listed. By setting this parameter 6529 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 6530 // active task or service still references them. If you paginate the resulting 6531 // output, be sure to keep the status value constant in each subsequent request. 6532 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 6533} 6534 6535// String returns the string representation 6536func (s ListTaskDefinitionsInput) String() string { 6537 return awsutil.Prettify(s) 6538} 6539 6540// GoString returns the string representation 6541func (s ListTaskDefinitionsInput) GoString() string { 6542 return s.String() 6543} 6544 6545// SetFamilyPrefix sets the FamilyPrefix field's value. 6546func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 6547 s.FamilyPrefix = &v 6548 return s 6549} 6550 6551// SetMaxResults sets the MaxResults field's value. 6552func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 6553 s.MaxResults = &v 6554 return s 6555} 6556 6557// SetNextToken sets the NextToken field's value. 6558func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 6559 s.NextToken = &v 6560 return s 6561} 6562 6563// SetSort sets the Sort field's value. 6564func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 6565 s.Sort = &v 6566 return s 6567} 6568 6569// SetStatus sets the Status field's value. 6570func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 6571 s.Status = &v 6572 return s 6573} 6574 6575// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionsResponse 6576type ListTaskDefinitionsOutput struct { 6577 _ struct{} `type:"structure"` 6578 6579 // The nextToken value to include in a future ListTaskDefinitions request. When 6580 // the results of a ListTaskDefinitions request exceed maxResults, this value 6581 // can be used to retrieve the next page of results. This value is null when 6582 // there are no more results to return. 6583 NextToken *string `locationName:"nextToken" type:"string"` 6584 6585 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 6586 // request. 6587 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 6588} 6589 6590// String returns the string representation 6591func (s ListTaskDefinitionsOutput) String() string { 6592 return awsutil.Prettify(s) 6593} 6594 6595// GoString returns the string representation 6596func (s ListTaskDefinitionsOutput) GoString() string { 6597 return s.String() 6598} 6599 6600// SetNextToken sets the NextToken field's value. 6601func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 6602 s.NextToken = &v 6603 return s 6604} 6605 6606// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 6607func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 6608 s.TaskDefinitionArns = v 6609 return s 6610} 6611 6612// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasksRequest 6613type ListTasksInput struct { 6614 _ struct{} `type:"structure"` 6615 6616 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 6617 // the tasks to list. If you do not specify a cluster, the default cluster is 6618 // assumed. 6619 Cluster *string `locationName:"cluster" type:"string"` 6620 6621 // The container instance ID or full Amazon Resource Name (ARN) of the container 6622 // instance with which to filter the ListTasks results. Specifying a containerInstance 6623 // limits the results to tasks that belong to that container instance. 6624 ContainerInstance *string `locationName:"containerInstance" type:"string"` 6625 6626 // The task desired status with which to filter the ListTasks results. Specifying 6627 // a desiredStatus of STOPPED limits the results to tasks that ECS has set the 6628 // desired status to STOPPED, which can be useful for debugging tasks that are 6629 // not starting properly or have died or finished. The default status filter 6630 // is RUNNING, which shows tasks that ECS has set the desired status to RUNNING. 6631 // 6632 // Although you can filter results based on a desired status of PENDING, this 6633 // will not return any results because ECS never sets the desired status of 6634 // a task to that value (only a task's lastStatus may have a value of PENDING). 6635 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 6636 6637 // The name of the family with which to filter the ListTasks results. Specifying 6638 // a family limits the results to tasks that belong to that family. 6639 Family *string `locationName:"family" type:"string"` 6640 6641 // The maximum number of task results returned by ListTasks in paginated output. 6642 // When this parameter is used, ListTasks only returns maxResults results in 6643 // a single page along with a nextToken response element. The remaining results 6644 // of the initial request can be seen by sending another ListTasks request with 6645 // the returned nextToken value. This value can be between 1 and 100. If this 6646 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 6647 // value if applicable. 6648 MaxResults *int64 `locationName:"maxResults" type:"integer"` 6649 6650 // The nextToken value returned from a previous paginated ListTasks request 6651 // where maxResults was used and the results exceeded the value of that parameter. 6652 // Pagination continues from the end of the previous results that returned the 6653 // nextToken value. This value is null when there are no more results to return. 6654 // 6655 // This token should be treated as an opaque identifier that is only used to 6656 // retrieve the next items in a list and not for other programmatic purposes. 6657 NextToken *string `locationName:"nextToken" type:"string"` 6658 6659 // The name of the service with which to filter the ListTasks results. Specifying 6660 // a serviceName limits the results to tasks that belong to that service. 6661 ServiceName *string `locationName:"serviceName" type:"string"` 6662 6663 // The startedBy value with which to filter the task results. Specifying a startedBy 6664 // value limits the results to tasks that were started with that value. 6665 StartedBy *string `locationName:"startedBy" type:"string"` 6666} 6667 6668// String returns the string representation 6669func (s ListTasksInput) String() string { 6670 return awsutil.Prettify(s) 6671} 6672 6673// GoString returns the string representation 6674func (s ListTasksInput) GoString() string { 6675 return s.String() 6676} 6677 6678// SetCluster sets the Cluster field's value. 6679func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 6680 s.Cluster = &v 6681 return s 6682} 6683 6684// SetContainerInstance sets the ContainerInstance field's value. 6685func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 6686 s.ContainerInstance = &v 6687 return s 6688} 6689 6690// SetDesiredStatus sets the DesiredStatus field's value. 6691func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 6692 s.DesiredStatus = &v 6693 return s 6694} 6695 6696// SetFamily sets the Family field's value. 6697func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 6698 s.Family = &v 6699 return s 6700} 6701 6702// SetMaxResults sets the MaxResults field's value. 6703func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 6704 s.MaxResults = &v 6705 return s 6706} 6707 6708// SetNextToken sets the NextToken field's value. 6709func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 6710 s.NextToken = &v 6711 return s 6712} 6713 6714// SetServiceName sets the ServiceName field's value. 6715func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 6716 s.ServiceName = &v 6717 return s 6718} 6719 6720// SetStartedBy sets the StartedBy field's value. 6721func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 6722 s.StartedBy = &v 6723 return s 6724} 6725 6726// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasksResponse 6727type ListTasksOutput struct { 6728 _ struct{} `type:"structure"` 6729 6730 // The nextToken value to include in a future ListTasks request. When the results 6731 // of a ListTasks request exceed maxResults, this value can be used to retrieve 6732 // the next page of results. This value is null when there are no more results 6733 // to return. 6734 NextToken *string `locationName:"nextToken" type:"string"` 6735 6736 // The list of task Amazon Resource Name (ARN) entries for the ListTasks request. 6737 TaskArns []*string `locationName:"taskArns" type:"list"` 6738} 6739 6740// String returns the string representation 6741func (s ListTasksOutput) String() string { 6742 return awsutil.Prettify(s) 6743} 6744 6745// GoString returns the string representation 6746func (s ListTasksOutput) GoString() string { 6747 return s.String() 6748} 6749 6750// SetNextToken sets the NextToken field's value. 6751func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 6752 s.NextToken = &v 6753 return s 6754} 6755 6756// SetTaskArns sets the TaskArns field's value. 6757func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 6758 s.TaskArns = v 6759 return s 6760} 6761 6762// Details on a load balancer that is used with a service. 6763// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/LoadBalancer 6764type LoadBalancer struct { 6765 _ struct{} `type:"structure"` 6766 6767 // The name of the container (as it appears in a container definition) to associate 6768 // with the load balancer. 6769 ContainerName *string `locationName:"containerName" type:"string"` 6770 6771 // The port on the container to associate with the load balancer. This port 6772 // must correspond to a containerPort in the service's task definition. Your 6773 // container instances must allow ingress traffic on the hostPort of the port 6774 // mapping. 6775 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 6776 6777 // The name of a load balancer. 6778 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 6779 6780 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 6781 // group associated with a service. 6782 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 6783} 6784 6785// String returns the string representation 6786func (s LoadBalancer) String() string { 6787 return awsutil.Prettify(s) 6788} 6789 6790// GoString returns the string representation 6791func (s LoadBalancer) GoString() string { 6792 return s.String() 6793} 6794 6795// SetContainerName sets the ContainerName field's value. 6796func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 6797 s.ContainerName = &v 6798 return s 6799} 6800 6801// SetContainerPort sets the ContainerPort field's value. 6802func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 6803 s.ContainerPort = &v 6804 return s 6805} 6806 6807// SetLoadBalancerName sets the LoadBalancerName field's value. 6808func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 6809 s.LoadBalancerName = &v 6810 return s 6811} 6812 6813// SetTargetGroupArn sets the TargetGroupArn field's value. 6814func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 6815 s.TargetGroupArn = &v 6816 return s 6817} 6818 6819// Log configuration options to send to a custom log driver for the container. 6820// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/LogConfiguration 6821type LogConfiguration struct { 6822 _ struct{} `type:"structure"` 6823 6824 // The log driver to use for the container. The valid values listed for this 6825 // parameter are log drivers that the Amazon ECS container agent can communicate 6826 // with by default. 6827 // 6828 // If you have a custom driver that is not listed above that you would like 6829 // to work with the Amazon ECS container agent, you can fork the Amazon ECS 6830 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 6831 // and customize it to work with that driver. We encourage you to submit pull 6832 // requests for changes that you would like to have included. However, Amazon 6833 // Web Services does not currently provide support for running modified copies 6834 // of this software. 6835 // 6836 // This parameter requires version 1.18 of the Docker Remote API or greater 6837 // on your container instance. To check the Docker Remote API version on your 6838 // container instance, log into your container instance and run the following 6839 // command: sudo docker version | grep "Server API version" 6840 // 6841 // LogDriver is a required field 6842 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 6843 6844 // The configuration options to send to the log driver. This parameter requires 6845 // version 1.19 of the Docker Remote API or greater on your container instance. 6846 // To check the Docker Remote API version on your container instance, log into 6847 // your container instance and run the following command: sudo docker version 6848 // | grep "Server API version" 6849 Options map[string]*string `locationName:"options" type:"map"` 6850} 6851 6852// String returns the string representation 6853func (s LogConfiguration) String() string { 6854 return awsutil.Prettify(s) 6855} 6856 6857// GoString returns the string representation 6858func (s LogConfiguration) GoString() string { 6859 return s.String() 6860} 6861 6862// Validate inspects the fields of the type to determine if they are valid. 6863func (s *LogConfiguration) Validate() error { 6864 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 6865 if s.LogDriver == nil { 6866 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 6867 } 6868 6869 if invalidParams.Len() > 0 { 6870 return invalidParams 6871 } 6872 return nil 6873} 6874 6875// SetLogDriver sets the LogDriver field's value. 6876func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 6877 s.LogDriver = &v 6878 return s 6879} 6880 6881// SetOptions sets the Options field's value. 6882func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 6883 s.Options = v 6884 return s 6885} 6886 6887// Details on a volume mount point that is used in a container definition. 6888// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/MountPoint 6889type MountPoint struct { 6890 _ struct{} `type:"structure"` 6891 6892 // The path on the container to mount the host volume at. 6893 ContainerPath *string `locationName:"containerPath" type:"string"` 6894 6895 // If this value is true, the container has read-only access to the volume. 6896 // If this value is false, then the container can write to the volume. The default 6897 // value is false. 6898 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 6899 6900 // The name of the volume to mount. 6901 SourceVolume *string `locationName:"sourceVolume" type:"string"` 6902} 6903 6904// String returns the string representation 6905func (s MountPoint) String() string { 6906 return awsutil.Prettify(s) 6907} 6908 6909// GoString returns the string representation 6910func (s MountPoint) GoString() string { 6911 return s.String() 6912} 6913 6914// SetContainerPath sets the ContainerPath field's value. 6915func (s *MountPoint) SetContainerPath(v string) *MountPoint { 6916 s.ContainerPath = &v 6917 return s 6918} 6919 6920// SetReadOnly sets the ReadOnly field's value. 6921func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 6922 s.ReadOnly = &v 6923 return s 6924} 6925 6926// SetSourceVolume sets the SourceVolume field's value. 6927func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 6928 s.SourceVolume = &v 6929 return s 6930} 6931 6932// Details on the network bindings between a container and its host container 6933// instance. After a task reaches the RUNNING status, manual and automatic host 6934// and container port assignments are visible in the networkBindings section 6935// of DescribeTasks API responses. 6936// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/NetworkBinding 6937type NetworkBinding struct { 6938 _ struct{} `type:"structure"` 6939 6940 // The IP address that the container is bound to on the container instance. 6941 BindIP *string `locationName:"bindIP" type:"string"` 6942 6943 // The port number on the container that is be used with the network binding. 6944 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 6945 6946 // The port number on the host that is used with the network binding. 6947 HostPort *int64 `locationName:"hostPort" type:"integer"` 6948 6949 // The protocol used for the network binding. 6950 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 6951} 6952 6953// String returns the string representation 6954func (s NetworkBinding) String() string { 6955 return awsutil.Prettify(s) 6956} 6957 6958// GoString returns the string representation 6959func (s NetworkBinding) GoString() string { 6960 return s.String() 6961} 6962 6963// SetBindIP sets the BindIP field's value. 6964func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 6965 s.BindIP = &v 6966 return s 6967} 6968 6969// SetContainerPort sets the ContainerPort field's value. 6970func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 6971 s.ContainerPort = &v 6972 return s 6973} 6974 6975// SetHostPort sets the HostPort field's value. 6976func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 6977 s.HostPort = &v 6978 return s 6979} 6980 6981// SetProtocol sets the Protocol field's value. 6982func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 6983 s.Protocol = &v 6984 return s 6985} 6986 6987// An object representing a constraint on task placement. For more information, 6988// see Task Placement Constraints (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 6989// in the Amazon EC2 Container Service Developer Guide. 6990// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PlacementConstraint 6991type PlacementConstraint struct { 6992 _ struct{} `type:"structure"` 6993 6994 // A cluster query language expression to apply to the constraint. Note you 6995 // cannot specify an expression if the constraint type is distinctInstance. 6996 // For more information, see Cluster Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 6997 // in the Amazon EC2 Container Service Developer Guide. 6998 Expression *string `locationName:"expression" type:"string"` 6999 7000 // The type of constraint. Use distinctInstance to ensure that each task in 7001 // a particular group is running on a different container instance. Use memberOf 7002 // to restrict selection to a group of valid candidates. Note that distinctInstance 7003 // is not supported in task definitions. 7004 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 7005} 7006 7007// String returns the string representation 7008func (s PlacementConstraint) String() string { 7009 return awsutil.Prettify(s) 7010} 7011 7012// GoString returns the string representation 7013func (s PlacementConstraint) GoString() string { 7014 return s.String() 7015} 7016 7017// SetExpression sets the Expression field's value. 7018func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 7019 s.Expression = &v 7020 return s 7021} 7022 7023// SetType sets the Type field's value. 7024func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 7025 s.Type = &v 7026 return s 7027} 7028 7029// The task placement strategy for a task or service. For more information, 7030// see Task Placement Strategies (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 7031// in the Amazon EC2 Container Service Developer Guide. 7032// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PlacementStrategy 7033type PlacementStrategy struct { 7034 _ struct{} `type:"structure"` 7035 7036 // The field to apply the placement strategy against. For the spread placement 7037 // strategy, valid values are instanceId (or host, which has the same effect), 7038 // or any platform or custom attribute that is applied to a container instance, 7039 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 7040 // valid values are cpu and memory. For the random placement strategy, this 7041 // field is not used. 7042 Field *string `locationName:"field" type:"string"` 7043 7044 // The type of placement strategy. The random placement strategy randomly places 7045 // tasks on available candidates. The spread placement strategy spreads placement 7046 // across available candidates evenly based on the field parameter. The binpack 7047 // strategy places tasks on available candidates that have the least available 7048 // amount of the resource that is specified with the field parameter. For example, 7049 // if you binpack on memory, a task is placed on the instance with the least 7050 // amount of remaining memory (but still enough to run the task). 7051 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 7052} 7053 7054// String returns the string representation 7055func (s PlacementStrategy) String() string { 7056 return awsutil.Prettify(s) 7057} 7058 7059// GoString returns the string representation 7060func (s PlacementStrategy) GoString() string { 7061 return s.String() 7062} 7063 7064// SetField sets the Field field's value. 7065func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 7066 s.Field = &v 7067 return s 7068} 7069 7070// SetType sets the Type field's value. 7071func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 7072 s.Type = &v 7073 return s 7074} 7075 7076// Port mappings allow containers to access ports on the host container instance 7077// to send or receive traffic. Port mappings are specified as part of the container 7078// definition. After a task reaches the RUNNING status, manual and automatic 7079// host and container port assignments are visible in the networkBindings section 7080// of DescribeTasks API responses. 7081// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PortMapping 7082type PortMapping struct { 7083 _ struct{} `type:"structure"` 7084 7085 // The port number on the container that is bound to the user-specified or automatically 7086 // assigned host port. If you specify a container port and not a host port, 7087 // your container automatically receives a host port in the ephemeral port range 7088 // (for more information, see hostPort). Port mappings that are automatically 7089 // assigned in this way do not count toward the 100 reserved ports limit of 7090 // a container instance. 7091 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 7092 7093 // The port number on the container instance to reserve for your container. 7094 // You can specify a non-reserved host port for your container port mapping, 7095 // or you can omit the hostPort (or set it to 0) while specifying a containerPort 7096 // and your container automatically receives a port in the ephemeral port range 7097 // for your container instance operating system and Docker version. 7098 // 7099 // The default ephemeral port range for Docker version 1.6.0 and later is listed 7100 // on the instance under /proc/sys/net/ipv4/ip_local_port_range; if this kernel 7101 // parameter is unavailable, the default ephemeral port range of 49153 to 65535 7102 // is used. You should not attempt to specify a host port in the ephemeral port 7103 // range as these are reserved for automatic assignment. In general, ports below 7104 // 32768 are outside of the ephemeral port range. 7105 // 7106 // The default ephemeral port range of 49153 to 65535 will always be used for 7107 // Docker versions prior to 1.6.0. 7108 // 7109 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 7110 // and the Amazon ECS container agent ports 51678 and 51679. Any host port that 7111 // was previously specified in a running task is also reserved while the task 7112 // is running (after a task stops, the host port is released).The current reserved 7113 // ports are displayed in the remainingResources of DescribeContainerInstances 7114 // output, and a container instance may have up to 100 reserved ports at a time, 7115 // including the default reserved ports (automatically assigned ports do not 7116 // count toward the 100 reserved ports limit). 7117 HostPort *int64 `locationName:"hostPort" type:"integer"` 7118 7119 // The protocol used for the port mapping. Valid values are tcp and udp. The 7120 // default is tcp. 7121 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 7122} 7123 7124// String returns the string representation 7125func (s PortMapping) String() string { 7126 return awsutil.Prettify(s) 7127} 7128 7129// GoString returns the string representation 7130func (s PortMapping) GoString() string { 7131 return s.String() 7132} 7133 7134// SetContainerPort sets the ContainerPort field's value. 7135func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 7136 s.ContainerPort = &v 7137 return s 7138} 7139 7140// SetHostPort sets the HostPort field's value. 7141func (s *PortMapping) SetHostPort(v int64) *PortMapping { 7142 s.HostPort = &v 7143 return s 7144} 7145 7146// SetProtocol sets the Protocol field's value. 7147func (s *PortMapping) SetProtocol(v string) *PortMapping { 7148 s.Protocol = &v 7149 return s 7150} 7151 7152// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributesRequest 7153type PutAttributesInput struct { 7154 _ struct{} `type:"structure"` 7155 7156 // The attributes to apply to your resource. You can specify up to 10 custom 7157 // attributes per resource. You can specify up to 10 attributes in a single 7158 // call. 7159 // 7160 // Attributes is a required field 7161 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 7162 7163 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 7164 // the resource to apply attributes. If you do not specify a cluster, the default 7165 // cluster is assumed. 7166 Cluster *string `locationName:"cluster" type:"string"` 7167} 7168 7169// String returns the string representation 7170func (s PutAttributesInput) String() string { 7171 return awsutil.Prettify(s) 7172} 7173 7174// GoString returns the string representation 7175func (s PutAttributesInput) GoString() string { 7176 return s.String() 7177} 7178 7179// Validate inspects the fields of the type to determine if they are valid. 7180func (s *PutAttributesInput) Validate() error { 7181 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 7182 if s.Attributes == nil { 7183 invalidParams.Add(request.NewErrParamRequired("Attributes")) 7184 } 7185 if s.Attributes != nil { 7186 for i, v := range s.Attributes { 7187 if v == nil { 7188 continue 7189 } 7190 if err := v.Validate(); err != nil { 7191 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 7192 } 7193 } 7194 } 7195 7196 if invalidParams.Len() > 0 { 7197 return invalidParams 7198 } 7199 return nil 7200} 7201 7202// SetAttributes sets the Attributes field's value. 7203func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 7204 s.Attributes = v 7205 return s 7206} 7207 7208// SetCluster sets the Cluster field's value. 7209func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 7210 s.Cluster = &v 7211 return s 7212} 7213 7214// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributesResponse 7215type PutAttributesOutput struct { 7216 _ struct{} `type:"structure"` 7217 7218 // The attributes applied to your resource. 7219 Attributes []*Attribute `locationName:"attributes" type:"list"` 7220} 7221 7222// String returns the string representation 7223func (s PutAttributesOutput) String() string { 7224 return awsutil.Prettify(s) 7225} 7226 7227// GoString returns the string representation 7228func (s PutAttributesOutput) GoString() string { 7229 return s.String() 7230} 7231 7232// SetAttributes sets the Attributes field's value. 7233func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 7234 s.Attributes = v 7235 return s 7236} 7237 7238// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstanceRequest 7239type RegisterContainerInstanceInput struct { 7240 _ struct{} `type:"structure"` 7241 7242 // The container instance attributes that this container instance supports. 7243 Attributes []*Attribute `locationName:"attributes" type:"list"` 7244 7245 // The short name or full Amazon Resource Name (ARN) of the cluster with which 7246 // to register your container instance. If you do not specify a cluster, the 7247 // default cluster is assumed. 7248 Cluster *string `locationName:"cluster" type:"string"` 7249 7250 // The Amazon Resource Name (ARN) of the container instance (if it was previously 7251 // registered). 7252 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 7253 7254 // The instance identity document for the EC2 instance to register. This document 7255 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 7256 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 7257 7258 // The instance identity document signature for the EC2 instance to register. 7259 // This signature can be found by running the following command from the instance: 7260 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 7261 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 7262 7263 // The resources available on the instance. 7264 TotalResources []*Resource `locationName:"totalResources" type:"list"` 7265 7266 // The version information for the Amazon ECS container agent and Docker daemon 7267 // running on the container instance. 7268 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 7269} 7270 7271// String returns the string representation 7272func (s RegisterContainerInstanceInput) String() string { 7273 return awsutil.Prettify(s) 7274} 7275 7276// GoString returns the string representation 7277func (s RegisterContainerInstanceInput) GoString() string { 7278 return s.String() 7279} 7280 7281// Validate inspects the fields of the type to determine if they are valid. 7282func (s *RegisterContainerInstanceInput) Validate() error { 7283 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 7284 if s.Attributes != nil { 7285 for i, v := range s.Attributes { 7286 if v == nil { 7287 continue 7288 } 7289 if err := v.Validate(); err != nil { 7290 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 7291 } 7292 } 7293 } 7294 7295 if invalidParams.Len() > 0 { 7296 return invalidParams 7297 } 7298 return nil 7299} 7300 7301// SetAttributes sets the Attributes field's value. 7302func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 7303 s.Attributes = v 7304 return s 7305} 7306 7307// SetCluster sets the Cluster field's value. 7308func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 7309 s.Cluster = &v 7310 return s 7311} 7312 7313// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 7314func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 7315 s.ContainerInstanceArn = &v 7316 return s 7317} 7318 7319// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 7320func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 7321 s.InstanceIdentityDocument = &v 7322 return s 7323} 7324 7325// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 7326func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 7327 s.InstanceIdentityDocumentSignature = &v 7328 return s 7329} 7330 7331// SetTotalResources sets the TotalResources field's value. 7332func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 7333 s.TotalResources = v 7334 return s 7335} 7336 7337// SetVersionInfo sets the VersionInfo field's value. 7338func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 7339 s.VersionInfo = v 7340 return s 7341} 7342 7343// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstanceResponse 7344type RegisterContainerInstanceOutput struct { 7345 _ struct{} `type:"structure"` 7346 7347 // The container instance that was registered. 7348 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 7349} 7350 7351// String returns the string representation 7352func (s RegisterContainerInstanceOutput) String() string { 7353 return awsutil.Prettify(s) 7354} 7355 7356// GoString returns the string representation 7357func (s RegisterContainerInstanceOutput) GoString() string { 7358 return s.String() 7359} 7360 7361// SetContainerInstance sets the ContainerInstance field's value. 7362func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 7363 s.ContainerInstance = v 7364 return s 7365} 7366 7367// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest 7368type RegisterTaskDefinitionInput struct { 7369 _ struct{} `type:"structure"` 7370 7371 // A list of container definitions in JSON format that describe the different 7372 // containers that make up your task. 7373 // 7374 // ContainerDefinitions is a required field 7375 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 7376 7377 // You must specify a family for a task definition, which allows you to track 7378 // multiple versions of the same task definition. The family is used as a name 7379 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 7380 // hyphens, and underscores are allowed. 7381 // 7382 // Family is a required field 7383 Family *string `locationName:"family" type:"string" required:"true"` 7384 7385 // The Docker networking mode to use for the containers in the task. The valid 7386 // values are none, bridge, and host. 7387 // 7388 // The default Docker network mode is bridge. If the network mode is set to 7389 // none, you cannot specify port mappings in your container definitions, and 7390 // the task's containers do not have external connectivity. The host network 7391 // mode offers the highest networking performance for containers because they 7392 // use the host network stack instead of the virtualized network stack provided 7393 // by the bridge mode; however, exposed container ports are mapped directly 7394 // to the corresponding host port, so you cannot take advantage of dynamic host 7395 // port mappings or run multiple instantiations of the same task on a single 7396 // container instance if port mappings are used. 7397 // 7398 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 7399 // in the Docker run reference. 7400 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 7401 7402 // An array of placement constraint objects to use for the task. You can specify 7403 // a maximum of 10 constraints per task (this limit includes constraints in 7404 // the task definition and those specified at run time). 7405 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 7406 7407 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 7408 // in this task can assume. All containers in this task are granted the permissions 7409 // that are specified in this role. For more information, see IAM Roles for 7410 // Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 7411 // in the Amazon EC2 Container Service Developer Guide. 7412 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 7413 7414 // A list of volume definitions in JSON format that containers in your task 7415 // may use. 7416 Volumes []*Volume `locationName:"volumes" type:"list"` 7417} 7418 7419// String returns the string representation 7420func (s RegisterTaskDefinitionInput) String() string { 7421 return awsutil.Prettify(s) 7422} 7423 7424// GoString returns the string representation 7425func (s RegisterTaskDefinitionInput) GoString() string { 7426 return s.String() 7427} 7428 7429// Validate inspects the fields of the type to determine if they are valid. 7430func (s *RegisterTaskDefinitionInput) Validate() error { 7431 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 7432 if s.ContainerDefinitions == nil { 7433 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 7434 } 7435 if s.Family == nil { 7436 invalidParams.Add(request.NewErrParamRequired("Family")) 7437 } 7438 if s.ContainerDefinitions != nil { 7439 for i, v := range s.ContainerDefinitions { 7440 if v == nil { 7441 continue 7442 } 7443 if err := v.Validate(); err != nil { 7444 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 7445 } 7446 } 7447 } 7448 7449 if invalidParams.Len() > 0 { 7450 return invalidParams 7451 } 7452 return nil 7453} 7454 7455// SetContainerDefinitions sets the ContainerDefinitions field's value. 7456func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 7457 s.ContainerDefinitions = v 7458 return s 7459} 7460 7461// SetFamily sets the Family field's value. 7462func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 7463 s.Family = &v 7464 return s 7465} 7466 7467// SetNetworkMode sets the NetworkMode field's value. 7468func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 7469 s.NetworkMode = &v 7470 return s 7471} 7472 7473// SetPlacementConstraints sets the PlacementConstraints field's value. 7474func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 7475 s.PlacementConstraints = v 7476 return s 7477} 7478 7479// SetTaskRoleArn sets the TaskRoleArn field's value. 7480func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 7481 s.TaskRoleArn = &v 7482 return s 7483} 7484 7485// SetVolumes sets the Volumes field's value. 7486func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 7487 s.Volumes = v 7488 return s 7489} 7490 7491// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionResponse 7492type RegisterTaskDefinitionOutput struct { 7493 _ struct{} `type:"structure"` 7494 7495 // The full description of the registered task definition. 7496 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 7497} 7498 7499// String returns the string representation 7500func (s RegisterTaskDefinitionOutput) String() string { 7501 return awsutil.Prettify(s) 7502} 7503 7504// GoString returns the string representation 7505func (s RegisterTaskDefinitionOutput) GoString() string { 7506 return s.String() 7507} 7508 7509// SetTaskDefinition sets the TaskDefinition field's value. 7510func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 7511 s.TaskDefinition = v 7512 return s 7513} 7514 7515// Describes the resources available for a container instance. 7516// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Resource 7517type Resource struct { 7518 _ struct{} `type:"structure"` 7519 7520 // When the doubleValue type is set, the value of the resource must be a double 7521 // precision floating-point type. 7522 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 7523 7524 // When the integerValue type is set, the value of the resource must be an integer. 7525 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 7526 7527 // When the longValue type is set, the value of the resource must be an extended 7528 // precision floating-point type. 7529 LongValue *int64 `locationName:"longValue" type:"long"` 7530 7531 // The name of the resource, such as cpu, memory, ports, or a user-defined resource. 7532 Name *string `locationName:"name" type:"string"` 7533 7534 // When the stringSetValue type is set, the value of the resource must be a 7535 // string type. 7536 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 7537 7538 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 7539 Type *string `locationName:"type" type:"string"` 7540} 7541 7542// String returns the string representation 7543func (s Resource) String() string { 7544 return awsutil.Prettify(s) 7545} 7546 7547// GoString returns the string representation 7548func (s Resource) GoString() string { 7549 return s.String() 7550} 7551 7552// SetDoubleValue sets the DoubleValue field's value. 7553func (s *Resource) SetDoubleValue(v float64) *Resource { 7554 s.DoubleValue = &v 7555 return s 7556} 7557 7558// SetIntegerValue sets the IntegerValue field's value. 7559func (s *Resource) SetIntegerValue(v int64) *Resource { 7560 s.IntegerValue = &v 7561 return s 7562} 7563 7564// SetLongValue sets the LongValue field's value. 7565func (s *Resource) SetLongValue(v int64) *Resource { 7566 s.LongValue = &v 7567 return s 7568} 7569 7570// SetName sets the Name field's value. 7571func (s *Resource) SetName(v string) *Resource { 7572 s.Name = &v 7573 return s 7574} 7575 7576// SetStringSetValue sets the StringSetValue field's value. 7577func (s *Resource) SetStringSetValue(v []*string) *Resource { 7578 s.StringSetValue = v 7579 return s 7580} 7581 7582// SetType sets the Type field's value. 7583func (s *Resource) SetType(v string) *Resource { 7584 s.Type = &v 7585 return s 7586} 7587 7588// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTaskRequest 7589type RunTaskInput struct { 7590 _ struct{} `type:"structure"` 7591 7592 // The short name or full Amazon Resource Name (ARN) of the cluster on which 7593 // to run your task. If you do not specify a cluster, the default cluster is 7594 // assumed. 7595 Cluster *string `locationName:"cluster" type:"string"` 7596 7597 // The number of instantiations of the specified task to place on your cluster. 7598 // You can specify up to 10 tasks per call. 7599 Count *int64 `locationName:"count" type:"integer"` 7600 7601 // The name of the task group to associate with the task. The default value 7602 // is the family name of the task definition (for example, family:my-family-name). 7603 Group *string `locationName:"group" type:"string"` 7604 7605 // A list of container overrides in JSON format that specify the name of a container 7606 // in the specified task definition and the overrides it should receive. You 7607 // can override the default command for a container (that is specified in the 7608 // task definition or Docker image) with a command override. You can also override 7609 // existing environment variables (that are specified in the task definition 7610 // or Docker image) on a container or add new environment variables to it with 7611 // an environment override. 7612 // 7613 // A total of 8192 characters are allowed for overrides. This limit includes 7614 // the JSON formatting characters of the override structure. 7615 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 7616 7617 // An array of placement constraint objects to use for the task. You can specify 7618 // up to 10 constraints per task (including constraints in the task definition 7619 // and those specified at run time). 7620 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 7621 7622 // The placement strategy objects to use for the task. You can specify a maximum 7623 // of 5 strategy rules per task. 7624 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 7625 7626 // An optional tag specified when a task is started. For example if you automatically 7627 // trigger a task to run a batch process job, you could apply a unique identifier 7628 // for that job to your task with the startedBy parameter. You can then identify 7629 // which tasks belong to that job by filtering the results of a ListTasks call 7630 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 7631 // hyphens, and underscores are allowed. 7632 // 7633 // If a task is started by an Amazon ECS service, then the startedBy parameter 7634 // contains the deployment ID of the service that starts it. 7635 StartedBy *string `locationName:"startedBy" type:"string"` 7636 7637 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 7638 // of the task definition to run. If a revision is not specified, the latest 7639 // ACTIVE revision is used. 7640 // 7641 // TaskDefinition is a required field 7642 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 7643} 7644 7645// String returns the string representation 7646func (s RunTaskInput) String() string { 7647 return awsutil.Prettify(s) 7648} 7649 7650// GoString returns the string representation 7651func (s RunTaskInput) GoString() string { 7652 return s.String() 7653} 7654 7655// Validate inspects the fields of the type to determine if they are valid. 7656func (s *RunTaskInput) Validate() error { 7657 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 7658 if s.TaskDefinition == nil { 7659 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 7660 } 7661 7662 if invalidParams.Len() > 0 { 7663 return invalidParams 7664 } 7665 return nil 7666} 7667 7668// SetCluster sets the Cluster field's value. 7669func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 7670 s.Cluster = &v 7671 return s 7672} 7673 7674// SetCount sets the Count field's value. 7675func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 7676 s.Count = &v 7677 return s 7678} 7679 7680// SetGroup sets the Group field's value. 7681func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 7682 s.Group = &v 7683 return s 7684} 7685 7686// SetOverrides sets the Overrides field's value. 7687func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 7688 s.Overrides = v 7689 return s 7690} 7691 7692// SetPlacementConstraints sets the PlacementConstraints field's value. 7693func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 7694 s.PlacementConstraints = v 7695 return s 7696} 7697 7698// SetPlacementStrategy sets the PlacementStrategy field's value. 7699func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 7700 s.PlacementStrategy = v 7701 return s 7702} 7703 7704// SetStartedBy sets the StartedBy field's value. 7705func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 7706 s.StartedBy = &v 7707 return s 7708} 7709 7710// SetTaskDefinition sets the TaskDefinition field's value. 7711func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 7712 s.TaskDefinition = &v 7713 return s 7714} 7715 7716// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTaskResponse 7717type RunTaskOutput struct { 7718 _ struct{} `type:"structure"` 7719 7720 // Any failures associated with the call. 7721 Failures []*Failure `locationName:"failures" type:"list"` 7722 7723 // A full description of the tasks that were run. Each task that was successfully 7724 // placed on your cluster are described here. 7725 Tasks []*Task `locationName:"tasks" type:"list"` 7726} 7727 7728// String returns the string representation 7729func (s RunTaskOutput) String() string { 7730 return awsutil.Prettify(s) 7731} 7732 7733// GoString returns the string representation 7734func (s RunTaskOutput) GoString() string { 7735 return s.String() 7736} 7737 7738// SetFailures sets the Failures field's value. 7739func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 7740 s.Failures = v 7741 return s 7742} 7743 7744// SetTasks sets the Tasks field's value. 7745func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 7746 s.Tasks = v 7747 return s 7748} 7749 7750// Details on a service within a cluster 7751// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service 7752type Service struct { 7753 _ struct{} `type:"structure"` 7754 7755 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 7756 ClusterArn *string `locationName:"clusterArn" type:"string"` 7757 7758 // The Unix timestamp for when the service was created. 7759 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` 7760 7761 // Optional deployment parameters that control how many tasks run during the 7762 // deployment and the ordering of stopping and starting tasks. 7763 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 7764 7765 // The current state of deployments for the service. 7766 Deployments []*Deployment `locationName:"deployments" type:"list"` 7767 7768 // The desired number of instantiations of the task definition to keep running 7769 // on the service. This value is specified when the service is created with 7770 // CreateService, and it can be modified with UpdateService. 7771 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 7772 7773 // The event stream for your service. A maximum of 100 of the latest events 7774 // are displayed. 7775 Events []*ServiceEvent `locationName:"events" type:"list"` 7776 7777 // A list of Elastic Load Balancing load balancer objects, containing the load 7778 // balancer name, the container name (as it appears in a container definition), 7779 // and the container port to access from the load balancer. 7780 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 7781 7782 // The number of tasks in the cluster that are in the PENDING state. 7783 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 7784 7785 // The placement constraints for the tasks in the service. 7786 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 7787 7788 // The placement strategy that determines how tasks for the service are placed. 7789 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 7790 7791 // The Amazon Resource Name (ARN) of the IAM role associated with the service 7792 // that allows the Amazon ECS container agent to register container instances 7793 // with an Elastic Load Balancing load balancer. 7794 RoleArn *string `locationName:"roleArn" type:"string"` 7795 7796 // The number of tasks in the cluster that are in the RUNNING state. 7797 RunningCount *int64 `locationName:"runningCount" type:"integer"` 7798 7799 // The Amazon Resource Name (ARN) that identifies the service. The ARN contains 7800 // the arn:aws:ecs namespace, followed by the region of the service, the AWS 7801 // account ID of the service owner, the service namespace, and then the service 7802 // name. For example, arn:aws:ecs:region:012345678910:service/my-service. 7803 ServiceArn *string `locationName:"serviceArn" type:"string"` 7804 7805 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 7806 // hyphens, and underscores are allowed. Service names must be unique within 7807 // a cluster, but you can have similarly named services in multiple clusters 7808 // within a region or across multiple regions. 7809 ServiceName *string `locationName:"serviceName" type:"string"` 7810 7811 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 7812 Status *string `locationName:"status" type:"string"` 7813 7814 // The task definition to use for tasks in the service. This value is specified 7815 // when the service is created with CreateService, and it can be modified with 7816 // UpdateService. 7817 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 7818} 7819 7820// String returns the string representation 7821func (s Service) String() string { 7822 return awsutil.Prettify(s) 7823} 7824 7825// GoString returns the string representation 7826func (s Service) GoString() string { 7827 return s.String() 7828} 7829 7830// SetClusterArn sets the ClusterArn field's value. 7831func (s *Service) SetClusterArn(v string) *Service { 7832 s.ClusterArn = &v 7833 return s 7834} 7835 7836// SetCreatedAt sets the CreatedAt field's value. 7837func (s *Service) SetCreatedAt(v time.Time) *Service { 7838 s.CreatedAt = &v 7839 return s 7840} 7841 7842// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 7843func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 7844 s.DeploymentConfiguration = v 7845 return s 7846} 7847 7848// SetDeployments sets the Deployments field's value. 7849func (s *Service) SetDeployments(v []*Deployment) *Service { 7850 s.Deployments = v 7851 return s 7852} 7853 7854// SetDesiredCount sets the DesiredCount field's value. 7855func (s *Service) SetDesiredCount(v int64) *Service { 7856 s.DesiredCount = &v 7857 return s 7858} 7859 7860// SetEvents sets the Events field's value. 7861func (s *Service) SetEvents(v []*ServiceEvent) *Service { 7862 s.Events = v 7863 return s 7864} 7865 7866// SetLoadBalancers sets the LoadBalancers field's value. 7867func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 7868 s.LoadBalancers = v 7869 return s 7870} 7871 7872// SetPendingCount sets the PendingCount field's value. 7873func (s *Service) SetPendingCount(v int64) *Service { 7874 s.PendingCount = &v 7875 return s 7876} 7877 7878// SetPlacementConstraints sets the PlacementConstraints field's value. 7879func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 7880 s.PlacementConstraints = v 7881 return s 7882} 7883 7884// SetPlacementStrategy sets the PlacementStrategy field's value. 7885func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 7886 s.PlacementStrategy = v 7887 return s 7888} 7889 7890// SetRoleArn sets the RoleArn field's value. 7891func (s *Service) SetRoleArn(v string) *Service { 7892 s.RoleArn = &v 7893 return s 7894} 7895 7896// SetRunningCount sets the RunningCount field's value. 7897func (s *Service) SetRunningCount(v int64) *Service { 7898 s.RunningCount = &v 7899 return s 7900} 7901 7902// SetServiceArn sets the ServiceArn field's value. 7903func (s *Service) SetServiceArn(v string) *Service { 7904 s.ServiceArn = &v 7905 return s 7906} 7907 7908// SetServiceName sets the ServiceName field's value. 7909func (s *Service) SetServiceName(v string) *Service { 7910 s.ServiceName = &v 7911 return s 7912} 7913 7914// SetStatus sets the Status field's value. 7915func (s *Service) SetStatus(v string) *Service { 7916 s.Status = &v 7917 return s 7918} 7919 7920// SetTaskDefinition sets the TaskDefinition field's value. 7921func (s *Service) SetTaskDefinition(v string) *Service { 7922 s.TaskDefinition = &v 7923 return s 7924} 7925 7926// Details on an event associated with a service. 7927// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ServiceEvent 7928type ServiceEvent struct { 7929 _ struct{} `type:"structure"` 7930 7931 // The Unix timestamp for when the event was triggered. 7932 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` 7933 7934 // The ID string of the event. 7935 Id *string `locationName:"id" type:"string"` 7936 7937 // The event message. 7938 Message *string `locationName:"message" type:"string"` 7939} 7940 7941// String returns the string representation 7942func (s ServiceEvent) String() string { 7943 return awsutil.Prettify(s) 7944} 7945 7946// GoString returns the string representation 7947func (s ServiceEvent) GoString() string { 7948 return s.String() 7949} 7950 7951// SetCreatedAt sets the CreatedAt field's value. 7952func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 7953 s.CreatedAt = &v 7954 return s 7955} 7956 7957// SetId sets the Id field's value. 7958func (s *ServiceEvent) SetId(v string) *ServiceEvent { 7959 s.Id = &v 7960 return s 7961} 7962 7963// SetMessage sets the Message field's value. 7964func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 7965 s.Message = &v 7966 return s 7967} 7968 7969// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTaskRequest 7970type StartTaskInput struct { 7971 _ struct{} `type:"structure"` 7972 7973 // The short name or full Amazon Resource Name (ARN) of the cluster on which 7974 // to start your task. If you do not specify a cluster, the default cluster 7975 // is assumed. 7976 Cluster *string `locationName:"cluster" type:"string"` 7977 7978 // The container instance IDs or full Amazon Resource Name (ARN) entries for 7979 // the container instances on which you would like to place your task. You can 7980 // specify up to 10 container instances. 7981 // 7982 // ContainerInstances is a required field 7983 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 7984 7985 // The name of the task group to associate with the task. The default value 7986 // is the family name of the task definition (for example, family:my-family-name). 7987 Group *string `locationName:"group" type:"string"` 7988 7989 // A list of container overrides in JSON format that specify the name of a container 7990 // in the specified task definition and the overrides it should receive. You 7991 // can override the default command for a container (that is specified in the 7992 // task definition or Docker image) with a command override. You can also override 7993 // existing environment variables (that are specified in the task definition 7994 // or Docker image) on a container or add new environment variables to it with 7995 // an environment override. 7996 // 7997 // A total of 8192 characters are allowed for overrides. This limit includes 7998 // the JSON formatting characters of the override structure. 7999 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 8000 8001 // An optional tag specified when a task is started. For example if you automatically 8002 // trigger a task to run a batch process job, you could apply a unique identifier 8003 // for that job to your task with the startedBy parameter. You can then identify 8004 // which tasks belong to that job by filtering the results of a ListTasks call 8005 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 8006 // hyphens, and underscores are allowed. 8007 // 8008 // If a task is started by an Amazon ECS service, then the startedBy parameter 8009 // contains the deployment ID of the service that starts it. 8010 StartedBy *string `locationName:"startedBy" type:"string"` 8011 8012 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 8013 // of the task definition to start. If a revision is not specified, the latest 8014 // ACTIVE revision is used. 8015 // 8016 // TaskDefinition is a required field 8017 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 8018} 8019 8020// String returns the string representation 8021func (s StartTaskInput) String() string { 8022 return awsutil.Prettify(s) 8023} 8024 8025// GoString returns the string representation 8026func (s StartTaskInput) GoString() string { 8027 return s.String() 8028} 8029 8030// Validate inspects the fields of the type to determine if they are valid. 8031func (s *StartTaskInput) Validate() error { 8032 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 8033 if s.ContainerInstances == nil { 8034 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 8035 } 8036 if s.TaskDefinition == nil { 8037 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 8038 } 8039 8040 if invalidParams.Len() > 0 { 8041 return invalidParams 8042 } 8043 return nil 8044} 8045 8046// SetCluster sets the Cluster field's value. 8047func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 8048 s.Cluster = &v 8049 return s 8050} 8051 8052// SetContainerInstances sets the ContainerInstances field's value. 8053func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 8054 s.ContainerInstances = v 8055 return s 8056} 8057 8058// SetGroup sets the Group field's value. 8059func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 8060 s.Group = &v 8061 return s 8062} 8063 8064// SetOverrides sets the Overrides field's value. 8065func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 8066 s.Overrides = v 8067 return s 8068} 8069 8070// SetStartedBy sets the StartedBy field's value. 8071func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 8072 s.StartedBy = &v 8073 return s 8074} 8075 8076// SetTaskDefinition sets the TaskDefinition field's value. 8077func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 8078 s.TaskDefinition = &v 8079 return s 8080} 8081 8082// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTaskResponse 8083type StartTaskOutput struct { 8084 _ struct{} `type:"structure"` 8085 8086 // Any failures associated with the call. 8087 Failures []*Failure `locationName:"failures" type:"list"` 8088 8089 // A full description of the tasks that were started. Each task that was successfully 8090 // placed on your container instances are described here. 8091 Tasks []*Task `locationName:"tasks" type:"list"` 8092} 8093 8094// String returns the string representation 8095func (s StartTaskOutput) String() string { 8096 return awsutil.Prettify(s) 8097} 8098 8099// GoString returns the string representation 8100func (s StartTaskOutput) GoString() string { 8101 return s.String() 8102} 8103 8104// SetFailures sets the Failures field's value. 8105func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 8106 s.Failures = v 8107 return s 8108} 8109 8110// SetTasks sets the Tasks field's value. 8111func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 8112 s.Tasks = v 8113 return s 8114} 8115 8116// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTaskRequest 8117type StopTaskInput struct { 8118 _ struct{} `type:"structure"` 8119 8120 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8121 // the task to stop. If you do not specify a cluster, the default cluster is 8122 // assumed. 8123 Cluster *string `locationName:"cluster" type:"string"` 8124 8125 // An optional message specified when a task is stopped. For example, if you 8126 // are using a custom scheduler, you can use this parameter to specify the reason 8127 // for stopping the task here, and the message will appear in subsequent DescribeTasks 8128 // API operations on this task. Up to 255 characters are allowed in this message. 8129 Reason *string `locationName:"reason" type:"string"` 8130 8131 // The task ID or full Amazon Resource Name (ARN) entry of the task to stop. 8132 // 8133 // Task is a required field 8134 Task *string `locationName:"task" type:"string" required:"true"` 8135} 8136 8137// String returns the string representation 8138func (s StopTaskInput) String() string { 8139 return awsutil.Prettify(s) 8140} 8141 8142// GoString returns the string representation 8143func (s StopTaskInput) GoString() string { 8144 return s.String() 8145} 8146 8147// Validate inspects the fields of the type to determine if they are valid. 8148func (s *StopTaskInput) Validate() error { 8149 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 8150 if s.Task == nil { 8151 invalidParams.Add(request.NewErrParamRequired("Task")) 8152 } 8153 8154 if invalidParams.Len() > 0 { 8155 return invalidParams 8156 } 8157 return nil 8158} 8159 8160// SetCluster sets the Cluster field's value. 8161func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 8162 s.Cluster = &v 8163 return s 8164} 8165 8166// SetReason sets the Reason field's value. 8167func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 8168 s.Reason = &v 8169 return s 8170} 8171 8172// SetTask sets the Task field's value. 8173func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 8174 s.Task = &v 8175 return s 8176} 8177 8178// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTaskResponse 8179type StopTaskOutput struct { 8180 _ struct{} `type:"structure"` 8181 8182 // The task that was stopped. 8183 Task *Task `locationName:"task" type:"structure"` 8184} 8185 8186// String returns the string representation 8187func (s StopTaskOutput) String() string { 8188 return awsutil.Prettify(s) 8189} 8190 8191// GoString returns the string representation 8192func (s StopTaskOutput) GoString() string { 8193 return s.String() 8194} 8195 8196// SetTask sets the Task field's value. 8197func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 8198 s.Task = v 8199 return s 8200} 8201 8202// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChangeRequest 8203type SubmitContainerStateChangeInput struct { 8204 _ struct{} `type:"structure"` 8205 8206 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8207 // the container. 8208 Cluster *string `locationName:"cluster" type:"string"` 8209 8210 // The name of the container. 8211 ContainerName *string `locationName:"containerName" type:"string"` 8212 8213 // The exit code returned for the state change request. 8214 ExitCode *int64 `locationName:"exitCode" type:"integer"` 8215 8216 // The network bindings of the container. 8217 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 8218 8219 // The reason for the state change request. 8220 Reason *string `locationName:"reason" type:"string"` 8221 8222 // The status of the state change request. 8223 Status *string `locationName:"status" type:"string"` 8224 8225 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 8226 // container. 8227 Task *string `locationName:"task" type:"string"` 8228} 8229 8230// String returns the string representation 8231func (s SubmitContainerStateChangeInput) String() string { 8232 return awsutil.Prettify(s) 8233} 8234 8235// GoString returns the string representation 8236func (s SubmitContainerStateChangeInput) GoString() string { 8237 return s.String() 8238} 8239 8240// SetCluster sets the Cluster field's value. 8241func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 8242 s.Cluster = &v 8243 return s 8244} 8245 8246// SetContainerName sets the ContainerName field's value. 8247func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 8248 s.ContainerName = &v 8249 return s 8250} 8251 8252// SetExitCode sets the ExitCode field's value. 8253func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 8254 s.ExitCode = &v 8255 return s 8256} 8257 8258// SetNetworkBindings sets the NetworkBindings field's value. 8259func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 8260 s.NetworkBindings = v 8261 return s 8262} 8263 8264// SetReason sets the Reason field's value. 8265func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 8266 s.Reason = &v 8267 return s 8268} 8269 8270// SetStatus sets the Status field's value. 8271func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 8272 s.Status = &v 8273 return s 8274} 8275 8276// SetTask sets the Task field's value. 8277func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 8278 s.Task = &v 8279 return s 8280} 8281 8282// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChangeResponse 8283type SubmitContainerStateChangeOutput struct { 8284 _ struct{} `type:"structure"` 8285 8286 // Acknowledgement of the state change. 8287 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 8288} 8289 8290// String returns the string representation 8291func (s SubmitContainerStateChangeOutput) String() string { 8292 return awsutil.Prettify(s) 8293} 8294 8295// GoString returns the string representation 8296func (s SubmitContainerStateChangeOutput) GoString() string { 8297 return s.String() 8298} 8299 8300// SetAcknowledgment sets the Acknowledgment field's value. 8301func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 8302 s.Acknowledgment = &v 8303 return s 8304} 8305 8306// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChangeRequest 8307type SubmitTaskStateChangeInput struct { 8308 _ struct{} `type:"structure"` 8309 8310 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8311 // the task. 8312 Cluster *string `locationName:"cluster" type:"string"` 8313 8314 // The reason for the state change request. 8315 Reason *string `locationName:"reason" type:"string"` 8316 8317 // The status of the state change request. 8318 Status *string `locationName:"status" type:"string"` 8319 8320 // The task ID or full Amazon Resource Name (ARN) of the task in the state change 8321 // request. 8322 Task *string `locationName:"task" type:"string"` 8323} 8324 8325// String returns the string representation 8326func (s SubmitTaskStateChangeInput) String() string { 8327 return awsutil.Prettify(s) 8328} 8329 8330// GoString returns the string representation 8331func (s SubmitTaskStateChangeInput) GoString() string { 8332 return s.String() 8333} 8334 8335// SetCluster sets the Cluster field's value. 8336func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 8337 s.Cluster = &v 8338 return s 8339} 8340 8341// SetReason sets the Reason field's value. 8342func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 8343 s.Reason = &v 8344 return s 8345} 8346 8347// SetStatus sets the Status field's value. 8348func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 8349 s.Status = &v 8350 return s 8351} 8352 8353// SetTask sets the Task field's value. 8354func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 8355 s.Task = &v 8356 return s 8357} 8358 8359// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChangeResponse 8360type SubmitTaskStateChangeOutput struct { 8361 _ struct{} `type:"structure"` 8362 8363 // Acknowledgement of the state change. 8364 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 8365} 8366 8367// String returns the string representation 8368func (s SubmitTaskStateChangeOutput) String() string { 8369 return awsutil.Prettify(s) 8370} 8371 8372// GoString returns the string representation 8373func (s SubmitTaskStateChangeOutput) GoString() string { 8374 return s.String() 8375} 8376 8377// SetAcknowledgment sets the Acknowledgment field's value. 8378func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 8379 s.Acknowledgment = &v 8380 return s 8381} 8382 8383// Details on a task in a cluster. 8384// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Task 8385type Task struct { 8386 _ struct{} `type:"structure"` 8387 8388 // The Amazon Resource Name (ARN) of the cluster that hosts the task. 8389 ClusterArn *string `locationName:"clusterArn" type:"string"` 8390 8391 // The Amazon Resource Name (ARN) of the container instances that host the task. 8392 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 8393 8394 // The containers associated with the task. 8395 Containers []*Container `locationName:"containers" type:"list"` 8396 8397 // The Unix timestamp for when the task was created (the task entered the PENDING 8398 // state). 8399 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` 8400 8401 // The desired status of the task. 8402 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 8403 8404 // The name of the task group associated with the task. 8405 Group *string `locationName:"group" type:"string"` 8406 8407 // The last known status of the task. 8408 LastStatus *string `locationName:"lastStatus" type:"string"` 8409 8410 // One or more container overrides. 8411 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 8412 8413 // The Unix timestamp for when the task was started (the task transitioned from 8414 // the PENDING state to the RUNNING state). 8415 StartedAt *time.Time `locationName:"startedAt" type:"timestamp" timestampFormat:"unix"` 8416 8417 // The tag specified when a task is started. If the task is started by an Amazon 8418 // ECS service, then the startedBy parameter contains the deployment ID of the 8419 // service that starts it. 8420 StartedBy *string `locationName:"startedBy" type:"string"` 8421 8422 // The Unix timestamp for when the task was stopped (the task transitioned from 8423 // the RUNNING state to the STOPPED state). 8424 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp" timestampFormat:"unix"` 8425 8426 // The reason the task was stopped. 8427 StoppedReason *string `locationName:"stoppedReason" type:"string"` 8428 8429 // The Amazon Resource Name (ARN) of the task. 8430 TaskArn *string `locationName:"taskArn" type:"string"` 8431 8432 // The Amazon Resource Name (ARN) of the task definition that creates the task. 8433 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 8434 8435 // The version counter for the task. Every time a task experiences a change 8436 // that triggers a CloudWatch event, the version counter is incremented. If 8437 // you are replicating your Amazon ECS task state with CloudWatch events, you 8438 // can compare the version of a task reported by the Amazon ECS APIs with the 8439 // version reported in CloudWatch events for the task (inside the detail object) 8440 // to verify that the version in your event stream is current. 8441 Version *int64 `locationName:"version" type:"long"` 8442} 8443 8444// String returns the string representation 8445func (s Task) String() string { 8446 return awsutil.Prettify(s) 8447} 8448 8449// GoString returns the string representation 8450func (s Task) GoString() string { 8451 return s.String() 8452} 8453 8454// SetClusterArn sets the ClusterArn field's value. 8455func (s *Task) SetClusterArn(v string) *Task { 8456 s.ClusterArn = &v 8457 return s 8458} 8459 8460// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8461func (s *Task) SetContainerInstanceArn(v string) *Task { 8462 s.ContainerInstanceArn = &v 8463 return s 8464} 8465 8466// SetContainers sets the Containers field's value. 8467func (s *Task) SetContainers(v []*Container) *Task { 8468 s.Containers = v 8469 return s 8470} 8471 8472// SetCreatedAt sets the CreatedAt field's value. 8473func (s *Task) SetCreatedAt(v time.Time) *Task { 8474 s.CreatedAt = &v 8475 return s 8476} 8477 8478// SetDesiredStatus sets the DesiredStatus field's value. 8479func (s *Task) SetDesiredStatus(v string) *Task { 8480 s.DesiredStatus = &v 8481 return s 8482} 8483 8484// SetGroup sets the Group field's value. 8485func (s *Task) SetGroup(v string) *Task { 8486 s.Group = &v 8487 return s 8488} 8489 8490// SetLastStatus sets the LastStatus field's value. 8491func (s *Task) SetLastStatus(v string) *Task { 8492 s.LastStatus = &v 8493 return s 8494} 8495 8496// SetOverrides sets the Overrides field's value. 8497func (s *Task) SetOverrides(v *TaskOverride) *Task { 8498 s.Overrides = v 8499 return s 8500} 8501 8502// SetStartedAt sets the StartedAt field's value. 8503func (s *Task) SetStartedAt(v time.Time) *Task { 8504 s.StartedAt = &v 8505 return s 8506} 8507 8508// SetStartedBy sets the StartedBy field's value. 8509func (s *Task) SetStartedBy(v string) *Task { 8510 s.StartedBy = &v 8511 return s 8512} 8513 8514// SetStoppedAt sets the StoppedAt field's value. 8515func (s *Task) SetStoppedAt(v time.Time) *Task { 8516 s.StoppedAt = &v 8517 return s 8518} 8519 8520// SetStoppedReason sets the StoppedReason field's value. 8521func (s *Task) SetStoppedReason(v string) *Task { 8522 s.StoppedReason = &v 8523 return s 8524} 8525 8526// SetTaskArn sets the TaskArn field's value. 8527func (s *Task) SetTaskArn(v string) *Task { 8528 s.TaskArn = &v 8529 return s 8530} 8531 8532// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 8533func (s *Task) SetTaskDefinitionArn(v string) *Task { 8534 s.TaskDefinitionArn = &v 8535 return s 8536} 8537 8538// SetVersion sets the Version field's value. 8539func (s *Task) SetVersion(v int64) *Task { 8540 s.Version = &v 8541 return s 8542} 8543 8544// Details of a task definition. 8545// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition 8546type TaskDefinition struct { 8547 _ struct{} `type:"structure"` 8548 8549 // A list of container definitions in JSON format that describe the different 8550 // containers that make up your task. For more information about container definition 8551 // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 8552 // in the Amazon EC2 Container Service Developer Guide. 8553 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 8554 8555 // The family of your task definition, used as the definition name. 8556 Family *string `locationName:"family" type:"string"` 8557 8558 // The Docker networking mode to use for the containers in the task. The valid 8559 // values are none, bridge, and host. 8560 // 8561 // If the network mode is none, the containers do not have external connectivity. 8562 // The default Docker network mode is bridge. The host network mode offers the 8563 // highest networking performance for containers because it uses the host network 8564 // stack instead of the virtualized network stack provided by the bridge mode. 8565 // 8566 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 8567 // in the Docker run reference. 8568 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 8569 8570 // An array of placement constraint objects to use for tasks. 8571 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 8572 8573 // The container instance attributes required by your task. 8574 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 8575 8576 // The revision of the task in a particular family. The revision is a version 8577 // number of a task definition in a family. When you register a task definition 8578 // for the first time, the revision is 1; each time you register a new revision 8579 // of a task definition in the same family, the revision value always increases 8580 // by one (even if you have deregistered previous revisions in this family). 8581 Revision *int64 `locationName:"revision" type:"integer"` 8582 8583 // The status of the task definition. 8584 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 8585 8586 // The full Amazon Resource Name (ARN) of the task definition. 8587 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 8588 8589 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 8590 // can assume. All containers in this task are granted the permissions that 8591 // are specified in this role. 8592 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 8593 8594 // The list of volumes in a task. For more information about volume definition 8595 // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 8596 // in the Amazon EC2 Container Service Developer Guide. 8597 Volumes []*Volume `locationName:"volumes" type:"list"` 8598} 8599 8600// String returns the string representation 8601func (s TaskDefinition) String() string { 8602 return awsutil.Prettify(s) 8603} 8604 8605// GoString returns the string representation 8606func (s TaskDefinition) GoString() string { 8607 return s.String() 8608} 8609 8610// SetContainerDefinitions sets the ContainerDefinitions field's value. 8611func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 8612 s.ContainerDefinitions = v 8613 return s 8614} 8615 8616// SetFamily sets the Family field's value. 8617func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 8618 s.Family = &v 8619 return s 8620} 8621 8622// SetNetworkMode sets the NetworkMode field's value. 8623func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 8624 s.NetworkMode = &v 8625 return s 8626} 8627 8628// SetPlacementConstraints sets the PlacementConstraints field's value. 8629func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 8630 s.PlacementConstraints = v 8631 return s 8632} 8633 8634// SetRequiresAttributes sets the RequiresAttributes field's value. 8635func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 8636 s.RequiresAttributes = v 8637 return s 8638} 8639 8640// SetRevision sets the Revision field's value. 8641func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 8642 s.Revision = &v 8643 return s 8644} 8645 8646// SetStatus sets the Status field's value. 8647func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 8648 s.Status = &v 8649 return s 8650} 8651 8652// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 8653func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 8654 s.TaskDefinitionArn = &v 8655 return s 8656} 8657 8658// SetTaskRoleArn sets the TaskRoleArn field's value. 8659func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 8660 s.TaskRoleArn = &v 8661 return s 8662} 8663 8664// SetVolumes sets the Volumes field's value. 8665func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 8666 s.Volumes = v 8667 return s 8668} 8669 8670// An object representing a constraint on task placement in the task definition. 8671// For more information, see Task Placement Constraints (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 8672// in the Amazon EC2 Container Service Developer Guide. 8673// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinitionPlacementConstraint 8674type TaskDefinitionPlacementConstraint struct { 8675 _ struct{} `type:"structure"` 8676 8677 // A cluster query language expression to apply to the constraint. For more 8678 // information, see Cluster Query Language (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 8679 // in the Amazon EC2 Container Service Developer Guide. 8680 Expression *string `locationName:"expression" type:"string"` 8681 8682 // The type of constraint. The DistinctInstance constraint ensures that each 8683 // task in a particular group is running on a different container instance. 8684 // The MemberOf constraint restricts selection to be from a group of valid candidates. 8685 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 8686} 8687 8688// String returns the string representation 8689func (s TaskDefinitionPlacementConstraint) String() string { 8690 return awsutil.Prettify(s) 8691} 8692 8693// GoString returns the string representation 8694func (s TaskDefinitionPlacementConstraint) GoString() string { 8695 return s.String() 8696} 8697 8698// SetExpression sets the Expression field's value. 8699func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 8700 s.Expression = &v 8701 return s 8702} 8703 8704// SetType sets the Type field's value. 8705func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 8706 s.Type = &v 8707 return s 8708} 8709 8710// The overrides associated with a task. 8711// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskOverride 8712type TaskOverride struct { 8713 _ struct{} `type:"structure"` 8714 8715 // One or more container overrides sent to a task. 8716 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 8717 8718 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 8719 // can assume. All containers in this task are granted the permissions that 8720 // are specified in this role. 8721 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 8722} 8723 8724// String returns the string representation 8725func (s TaskOverride) String() string { 8726 return awsutil.Prettify(s) 8727} 8728 8729// GoString returns the string representation 8730func (s TaskOverride) GoString() string { 8731 return s.String() 8732} 8733 8734// SetContainerOverrides sets the ContainerOverrides field's value. 8735func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 8736 s.ContainerOverrides = v 8737 return s 8738} 8739 8740// SetTaskRoleArn sets the TaskRoleArn field's value. 8741func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 8742 s.TaskRoleArn = &v 8743 return s 8744} 8745 8746// The ulimit settings to pass to the container. 8747// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Ulimit 8748type Ulimit struct { 8749 _ struct{} `type:"structure"` 8750 8751 // The hard limit for the ulimit type. 8752 // 8753 // HardLimit is a required field 8754 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 8755 8756 // The type of the ulimit. 8757 // 8758 // Name is a required field 8759 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 8760 8761 // The soft limit for the ulimit type. 8762 // 8763 // SoftLimit is a required field 8764 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 8765} 8766 8767// String returns the string representation 8768func (s Ulimit) String() string { 8769 return awsutil.Prettify(s) 8770} 8771 8772// GoString returns the string representation 8773func (s Ulimit) GoString() string { 8774 return s.String() 8775} 8776 8777// Validate inspects the fields of the type to determine if they are valid. 8778func (s *Ulimit) Validate() error { 8779 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 8780 if s.HardLimit == nil { 8781 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 8782 } 8783 if s.Name == nil { 8784 invalidParams.Add(request.NewErrParamRequired("Name")) 8785 } 8786 if s.SoftLimit == nil { 8787 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 8788 } 8789 8790 if invalidParams.Len() > 0 { 8791 return invalidParams 8792 } 8793 return nil 8794} 8795 8796// SetHardLimit sets the HardLimit field's value. 8797func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 8798 s.HardLimit = &v 8799 return s 8800} 8801 8802// SetName sets the Name field's value. 8803func (s *Ulimit) SetName(v string) *Ulimit { 8804 s.Name = &v 8805 return s 8806} 8807 8808// SetSoftLimit sets the SoftLimit field's value. 8809func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 8810 s.SoftLimit = &v 8811 return s 8812} 8813 8814// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgentRequest 8815type UpdateContainerAgentInput struct { 8816 _ struct{} `type:"structure"` 8817 8818 // The short name or full Amazon Resource Name (ARN) of the cluster that your 8819 // container instance is running on. If you do not specify a cluster, the default 8820 // cluster is assumed. 8821 Cluster *string `locationName:"cluster" type:"string"` 8822 8823 // The container instance ID or full Amazon Resource Name (ARN) entries for 8824 // the container instance on which you would like to update the Amazon ECS container 8825 // agent. 8826 // 8827 // ContainerInstance is a required field 8828 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 8829} 8830 8831// String returns the string representation 8832func (s UpdateContainerAgentInput) String() string { 8833 return awsutil.Prettify(s) 8834} 8835 8836// GoString returns the string representation 8837func (s UpdateContainerAgentInput) GoString() string { 8838 return s.String() 8839} 8840 8841// Validate inspects the fields of the type to determine if they are valid. 8842func (s *UpdateContainerAgentInput) Validate() error { 8843 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 8844 if s.ContainerInstance == nil { 8845 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 8846 } 8847 8848 if invalidParams.Len() > 0 { 8849 return invalidParams 8850 } 8851 return nil 8852} 8853 8854// SetCluster sets the Cluster field's value. 8855func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 8856 s.Cluster = &v 8857 return s 8858} 8859 8860// SetContainerInstance sets the ContainerInstance field's value. 8861func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 8862 s.ContainerInstance = &v 8863 return s 8864} 8865 8866// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgentResponse 8867type UpdateContainerAgentOutput struct { 8868 _ struct{} `type:"structure"` 8869 8870 // The container instance for which the container agent was updated. 8871 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 8872} 8873 8874// String returns the string representation 8875func (s UpdateContainerAgentOutput) String() string { 8876 return awsutil.Prettify(s) 8877} 8878 8879// GoString returns the string representation 8880func (s UpdateContainerAgentOutput) GoString() string { 8881 return s.String() 8882} 8883 8884// SetContainerInstance sets the ContainerInstance field's value. 8885func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 8886 s.ContainerInstance = v 8887 return s 8888} 8889 8890// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesStateRequest 8891type UpdateContainerInstancesStateInput struct { 8892 _ struct{} `type:"structure"` 8893 8894 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8895 // the container instance to update. If you do not specify a cluster, the default 8896 // cluster is assumed. 8897 Cluster *string `locationName:"cluster" type:"string"` 8898 8899 // A list of container instance IDs or full Amazon Resource Name (ARN) entries. 8900 // 8901 // ContainerInstances is a required field 8902 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 8903 8904 // The container instance state with which to update the container instance. 8905 // 8906 // Status is a required field 8907 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 8908} 8909 8910// String returns the string representation 8911func (s UpdateContainerInstancesStateInput) String() string { 8912 return awsutil.Prettify(s) 8913} 8914 8915// GoString returns the string representation 8916func (s UpdateContainerInstancesStateInput) GoString() string { 8917 return s.String() 8918} 8919 8920// Validate inspects the fields of the type to determine if they are valid. 8921func (s *UpdateContainerInstancesStateInput) Validate() error { 8922 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 8923 if s.ContainerInstances == nil { 8924 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 8925 } 8926 if s.Status == nil { 8927 invalidParams.Add(request.NewErrParamRequired("Status")) 8928 } 8929 8930 if invalidParams.Len() > 0 { 8931 return invalidParams 8932 } 8933 return nil 8934} 8935 8936// SetCluster sets the Cluster field's value. 8937func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 8938 s.Cluster = &v 8939 return s 8940} 8941 8942// SetContainerInstances sets the ContainerInstances field's value. 8943func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 8944 s.ContainerInstances = v 8945 return s 8946} 8947 8948// SetStatus sets the Status field's value. 8949func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 8950 s.Status = &v 8951 return s 8952} 8953 8954// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesStateResponse 8955type UpdateContainerInstancesStateOutput struct { 8956 _ struct{} `type:"structure"` 8957 8958 // The list of container instances. 8959 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 8960 8961 // Any failures associated with the call. 8962 Failures []*Failure `locationName:"failures" type:"list"` 8963} 8964 8965// String returns the string representation 8966func (s UpdateContainerInstancesStateOutput) String() string { 8967 return awsutil.Prettify(s) 8968} 8969 8970// GoString returns the string representation 8971func (s UpdateContainerInstancesStateOutput) GoString() string { 8972 return s.String() 8973} 8974 8975// SetContainerInstances sets the ContainerInstances field's value. 8976func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 8977 s.ContainerInstances = v 8978 return s 8979} 8980 8981// SetFailures sets the Failures field's value. 8982func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 8983 s.Failures = v 8984 return s 8985} 8986 8987// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest 8988type UpdateServiceInput struct { 8989 _ struct{} `type:"structure"` 8990 8991 // The short name or full Amazon Resource Name (ARN) of the cluster that your 8992 // service is running on. If you do not specify a cluster, the default cluster 8993 // is assumed. 8994 Cluster *string `locationName:"cluster" type:"string"` 8995 8996 // Optional deployment parameters that control how many tasks run during the 8997 // deployment and the ordering of stopping and starting tasks. 8998 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 8999 9000 // The number of instantiations of the task to place and keep running in your 9001 // service. 9002 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 9003 9004 // The name of the service to update. 9005 // 9006 // Service is a required field 9007 Service *string `locationName:"service" type:"string" required:"true"` 9008 9009 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 9010 // of the task definition to run in your service. If a revision is not specified, 9011 // the latest ACTIVE revision is used. If you modify the task definition with 9012 // UpdateService, Amazon ECS spawns a task with the new version of the task 9013 // definition and then stops an old task after the new version is running. 9014 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9015} 9016 9017// String returns the string representation 9018func (s UpdateServiceInput) String() string { 9019 return awsutil.Prettify(s) 9020} 9021 9022// GoString returns the string representation 9023func (s UpdateServiceInput) GoString() string { 9024 return s.String() 9025} 9026 9027// Validate inspects the fields of the type to determine if they are valid. 9028func (s *UpdateServiceInput) Validate() error { 9029 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 9030 if s.Service == nil { 9031 invalidParams.Add(request.NewErrParamRequired("Service")) 9032 } 9033 9034 if invalidParams.Len() > 0 { 9035 return invalidParams 9036 } 9037 return nil 9038} 9039 9040// SetCluster sets the Cluster field's value. 9041func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 9042 s.Cluster = &v 9043 return s 9044} 9045 9046// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 9047func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 9048 s.DeploymentConfiguration = v 9049 return s 9050} 9051 9052// SetDesiredCount sets the DesiredCount field's value. 9053func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 9054 s.DesiredCount = &v 9055 return s 9056} 9057 9058// SetService sets the Service field's value. 9059func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 9060 s.Service = &v 9061 return s 9062} 9063 9064// SetTaskDefinition sets the TaskDefinition field's value. 9065func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 9066 s.TaskDefinition = &v 9067 return s 9068} 9069 9070// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceResponse 9071type UpdateServiceOutput struct { 9072 _ struct{} `type:"structure"` 9073 9074 // The full description of your service following the update call. 9075 Service *Service `locationName:"service" type:"structure"` 9076} 9077 9078// String returns the string representation 9079func (s UpdateServiceOutput) String() string { 9080 return awsutil.Prettify(s) 9081} 9082 9083// GoString returns the string representation 9084func (s UpdateServiceOutput) GoString() string { 9085 return s.String() 9086} 9087 9088// SetService sets the Service field's value. 9089func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 9090 s.Service = v 9091 return s 9092} 9093 9094// The Docker and Amazon ECS container agent version information about a container 9095// instance. 9096// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/VersionInfo 9097type VersionInfo struct { 9098 _ struct{} `type:"structure"` 9099 9100 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 9101 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 9102 AgentHash *string `locationName:"agentHash" type:"string"` 9103 9104 // The version number of the Amazon ECS container agent. 9105 AgentVersion *string `locationName:"agentVersion" type:"string"` 9106 9107 // The Docker version running on the container instance. 9108 DockerVersion *string `locationName:"dockerVersion" type:"string"` 9109} 9110 9111// String returns the string representation 9112func (s VersionInfo) String() string { 9113 return awsutil.Prettify(s) 9114} 9115 9116// GoString returns the string representation 9117func (s VersionInfo) GoString() string { 9118 return s.String() 9119} 9120 9121// SetAgentHash sets the AgentHash field's value. 9122func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 9123 s.AgentHash = &v 9124 return s 9125} 9126 9127// SetAgentVersion sets the AgentVersion field's value. 9128func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 9129 s.AgentVersion = &v 9130 return s 9131} 9132 9133// SetDockerVersion sets the DockerVersion field's value. 9134func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 9135 s.DockerVersion = &v 9136 return s 9137} 9138 9139// A data volume used in a task definition. 9140// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Volume 9141type Volume struct { 9142 _ struct{} `type:"structure"` 9143 9144 // The contents of the host parameter determine whether your data volume persists 9145 // on the host container instance and where it is stored. If the host parameter 9146 // is empty, then the Docker daemon assigns a host path for your data volume, 9147 // but the data is not guaranteed to persist after the containers associated 9148 // with it stop running. 9149 Host *HostVolumeProperties `locationName:"host" type:"structure"` 9150 9151 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 9152 // hyphens, and underscores are allowed. This name is referenced in the sourceVolume 9153 // parameter of container definition mountPoints. 9154 Name *string `locationName:"name" type:"string"` 9155} 9156 9157// String returns the string representation 9158func (s Volume) String() string { 9159 return awsutil.Prettify(s) 9160} 9161 9162// GoString returns the string representation 9163func (s Volume) GoString() string { 9164 return s.String() 9165} 9166 9167// SetHost sets the Host field's value. 9168func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 9169 s.Host = v 9170 return s 9171} 9172 9173// SetName sets the Name field's value. 9174func (s *Volume) SetName(v string) *Volume { 9175 s.Name = &v 9176 return s 9177} 9178 9179// Details on a data volume from another container in the same task definition. 9180// Please also see https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/VolumeFrom 9181type VolumeFrom struct { 9182 _ struct{} `type:"structure"` 9183 9184 // If this value is true, the container has read-only access to the volume. 9185 // If this value is false, then the container can write to the volume. The default 9186 // value is false. 9187 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 9188 9189 // The name of another container within the same task definition to mount volumes 9190 // from. 9191 SourceContainer *string `locationName:"sourceContainer" type:"string"` 9192} 9193 9194// String returns the string representation 9195func (s VolumeFrom) String() string { 9196 return awsutil.Prettify(s) 9197} 9198 9199// GoString returns the string representation 9200func (s VolumeFrom) GoString() string { 9201 return s.String() 9202} 9203 9204// SetReadOnly sets the ReadOnly field's value. 9205func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 9206 s.ReadOnly = &v 9207 return s 9208} 9209 9210// SetSourceContainer sets the SourceContainer field's value. 9211func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 9212 s.SourceContainer = &v 9213 return s 9214} 9215 9216const ( 9217 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 9218 AgentUpdateStatusPending = "PENDING" 9219 9220 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 9221 AgentUpdateStatusStaging = "STAGING" 9222 9223 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 9224 AgentUpdateStatusStaged = "STAGED" 9225 9226 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 9227 AgentUpdateStatusUpdating = "UPDATING" 9228 9229 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 9230 AgentUpdateStatusUpdated = "UPDATED" 9231 9232 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 9233 AgentUpdateStatusFailed = "FAILED" 9234) 9235 9236const ( 9237 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 9238 ContainerInstanceStatusActive = "ACTIVE" 9239 9240 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 9241 ContainerInstanceStatusDraining = "DRAINING" 9242) 9243 9244const ( 9245 // DesiredStatusRunning is a DesiredStatus enum value 9246 DesiredStatusRunning = "RUNNING" 9247 9248 // DesiredStatusPending is a DesiredStatus enum value 9249 DesiredStatusPending = "PENDING" 9250 9251 // DesiredStatusStopped is a DesiredStatus enum value 9252 DesiredStatusStopped = "STOPPED" 9253) 9254 9255const ( 9256 // LogDriverJsonFile is a LogDriver enum value 9257 LogDriverJsonFile = "json-file" 9258 9259 // LogDriverSyslog is a LogDriver enum value 9260 LogDriverSyslog = "syslog" 9261 9262 // LogDriverJournald is a LogDriver enum value 9263 LogDriverJournald = "journald" 9264 9265 // LogDriverGelf is a LogDriver enum value 9266 LogDriverGelf = "gelf" 9267 9268 // LogDriverFluentd is a LogDriver enum value 9269 LogDriverFluentd = "fluentd" 9270 9271 // LogDriverAwslogs is a LogDriver enum value 9272 LogDriverAwslogs = "awslogs" 9273 9274 // LogDriverSplunk is a LogDriver enum value 9275 LogDriverSplunk = "splunk" 9276) 9277 9278const ( 9279 // NetworkModeBridge is a NetworkMode enum value 9280 NetworkModeBridge = "bridge" 9281 9282 // NetworkModeHost is a NetworkMode enum value 9283 NetworkModeHost = "host" 9284 9285 // NetworkModeNone is a NetworkMode enum value 9286 NetworkModeNone = "none" 9287) 9288 9289const ( 9290 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 9291 PlacementConstraintTypeDistinctInstance = "distinctInstance" 9292 9293 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 9294 PlacementConstraintTypeMemberOf = "memberOf" 9295) 9296 9297const ( 9298 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 9299 PlacementStrategyTypeRandom = "random" 9300 9301 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 9302 PlacementStrategyTypeSpread = "spread" 9303 9304 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 9305 PlacementStrategyTypeBinpack = "binpack" 9306) 9307 9308const ( 9309 // SortOrderAsc is a SortOrder enum value 9310 SortOrderAsc = "ASC" 9311 9312 // SortOrderDesc is a SortOrder enum value 9313 SortOrderDesc = "DESC" 9314) 9315 9316const ( 9317 // TargetTypeContainerInstance is a TargetType enum value 9318 TargetTypeContainerInstance = "container-instance" 9319) 9320 9321const ( 9322 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 9323 TaskDefinitionFamilyStatusActive = "ACTIVE" 9324 9325 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 9326 TaskDefinitionFamilyStatusInactive = "INACTIVE" 9327 9328 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 9329 TaskDefinitionFamilyStatusAll = "ALL" 9330) 9331 9332const ( 9333 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 9334 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 9335) 9336 9337const ( 9338 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 9339 TaskDefinitionStatusActive = "ACTIVE" 9340 9341 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 9342 TaskDefinitionStatusInactive = "INACTIVE" 9343) 9344 9345const ( 9346 // TransportProtocolTcp is a TransportProtocol enum value 9347 TransportProtocolTcp = "tcp" 9348 9349 // TransportProtocolUdp is a TransportProtocol enum value 9350 TransportProtocolUdp = "udp" 9351) 9352 9353const ( 9354 // UlimitNameCore is a UlimitName enum value 9355 UlimitNameCore = "core" 9356 9357 // UlimitNameCpu is a UlimitName enum value 9358 UlimitNameCpu = "cpu" 9359 9360 // UlimitNameData is a UlimitName enum value 9361 UlimitNameData = "data" 9362 9363 // UlimitNameFsize is a UlimitName enum value 9364 UlimitNameFsize = "fsize" 9365 9366 // UlimitNameLocks is a UlimitName enum value 9367 UlimitNameLocks = "locks" 9368 9369 // UlimitNameMemlock is a UlimitName enum value 9370 UlimitNameMemlock = "memlock" 9371 9372 // UlimitNameMsgqueue is a UlimitName enum value 9373 UlimitNameMsgqueue = "msgqueue" 9374 9375 // UlimitNameNice is a UlimitName enum value 9376 UlimitNameNice = "nice" 9377 9378 // UlimitNameNofile is a UlimitName enum value 9379 UlimitNameNofile = "nofile" 9380 9381 // UlimitNameNproc is a UlimitName enum value 9382 UlimitNameNproc = "nproc" 9383 9384 // UlimitNameRss is a UlimitName enum value 9385 UlimitNameRss = "rss" 9386 9387 // UlimitNameRtprio is a UlimitName enum value 9388 UlimitNameRtprio = "rtprio" 9389 9390 // UlimitNameRttime is a UlimitName enum value 9391 UlimitNameRttime = "rttime" 9392 9393 // UlimitNameSigpending is a UlimitName enum value 9394 UlimitNameSigpending = "sigpending" 9395 9396 // UlimitNameStack is a UlimitName enum value 9397 UlimitNameStack = "stack" 9398) 9399