// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. // Package ecs provides a client for Amazon EC2 Container Service. package ecs import ( "fmt" "time" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" ) const opCreateCluster = "CreateCluster" // CreateClusterRequest generates a "aws/request.Request" representing the // client's request for the CreateCluster operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the CreateCluster method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the CreateClusterRequest method. // req, resp := client.CreateClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { op := &request.Operation{ Name: opCreateCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateClusterInput{} } req = c.newRequest(op, input, output) output = &CreateClusterOutput{} req.Data = output return } // Creates a new Amazon ECS cluster. By default, your account receives a default // cluster when you launch your first container instance. However, you can create // your own cluster with a unique name with the CreateCluster action. func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { req, out := c.CreateClusterRequest(input) err := req.Send() return out, err } const opCreateService = "CreateService" // CreateServiceRequest generates a "aws/request.Request" representing the // client's request for the CreateService operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the CreateService method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the CreateServiceRequest method. // req, resp := client.CreateServiceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { op := &request.Operation{ Name: opCreateService, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateServiceInput{} } req = c.newRequest(op, input, output) output = &CreateServiceOutput{} req.Data = output return } // Runs and maintains a desired number of tasks from a specified task definition. // If the number of tasks running in a service drops below desiredCount, Amazon // ECS spawns another instantiation of the task in the specified cluster. To // update an existing service, see UpdateService. // // In addition to maintaining the desired count of tasks in your service, you // can optionally run your service behind a load balancer. The load balancer // distributes traffic across the tasks that are associated with the service. // For more information, see Service Load Balancing (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) // in the Amazon EC2 Container Service Developer Guide. // // You can optionally specify a deployment configuration for your service. // During a deployment (which is triggered by changing the task definition of // a service with an UpdateService operation), the service scheduler uses the // minimumHealthyPercent and maximumPercent parameters to determine the deployment // strategy. // // If the minimumHealthyPercent is below 100%, the scheduler can ignore the // desiredCount temporarily during a deployment. For example, if your service // has a desiredCount of four tasks, a minimumHealthyPercent of 50% allows the // scheduler to stop two existing tasks before starting two new tasks. Tasks // for services that do not use a load balancer are considered healthy if they // are in the RUNNING state; tasks for services that do use a load balancer // are considered healthy if they are in the RUNNING state and the container // instance it is hosted on is reported as healthy by the load balancer. The // default value for minimumHealthyPercent is 50% in the console and 100% for // the AWS CLI, the AWS SDKs, and the APIs. // // The maximumPercent parameter represents an upper limit on the number of // running tasks during a deployment, which enables you to define the deployment // batch size. For example, if your service has a desiredCount of four tasks, // a maximumPercent value of 200% starts four new tasks before stopping the // four older tasks (provided that the cluster resources required to do this // are available). The default value for maximumPercent is 200%. // // When the service scheduler launches new tasks, it attempts to balance them // across the Availability Zones in your cluster with the following logic: // // Determine which of the container instances in your cluster can support // your service's task definition (for example, they have the required CPU, // memory, ports, and container instance attributes). // // Sort the valid container instances by the fewest number of running tasks // for this service in the same Availability Zone as the instance. For example, // if zone A has one running service task and zones B and C each have zero, // valid container instances in either zone B or C are considered optimal for // placement. // // Place the new service task on a valid container instance in an optimal // Availability Zone (based on the previous steps), favoring container instances // with the fewest number of running tasks for this service. func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { req, out := c.CreateServiceRequest(input) err := req.Send() return out, err } const opDeleteCluster = "DeleteCluster" // DeleteClusterRequest generates a "aws/request.Request" representing the // client's request for the DeleteCluster operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteCluster method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteClusterRequest method. // req, resp := client.DeleteClusterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { op := &request.Operation{ Name: opDeleteCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteClusterInput{} } req = c.newRequest(op, input, output) output = &DeleteClusterOutput{} req.Data = output return } // Deletes the specified cluster. You must deregister all container instances // from this cluster before you may delete it. You can list the container instances // in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance. func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { req, out := c.DeleteClusterRequest(input) err := req.Send() return out, err } const opDeleteService = "DeleteService" // DeleteServiceRequest generates a "aws/request.Request" representing the // client's request for the DeleteService operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeleteService method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeleteServiceRequest method. // req, resp := client.DeleteServiceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { op := &request.Operation{ Name: opDeleteService, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteServiceInput{} } req = c.newRequest(op, input, output) output = &DeleteServiceOutput{} req.Data = output return } // Deletes a specified service within a cluster. You can delete a service if // you have no running tasks in it and the desired task count is zero. If the // service is actively maintaining tasks, you cannot delete it, and you must // update the service to a desired task count of zero. For more information, // see UpdateService. // // When you delete a service, if there are still running tasks that require // cleanup, the service status moves from ACTIVE to DRAINING, and the service // is no longer visible in the console or in ListServices API operations. After // the tasks have stopped, then the service status moves from DRAINING to INACTIVE. // Services in the DRAINING or INACTIVE status can still be viewed with DescribeServices // API operations; however, in the future, INACTIVE services may be cleaned // up and purged from Amazon ECS record keeping, and DescribeServices API operations // on those services will return a ServiceNotFoundException error. func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { req, out := c.DeleteServiceRequest(input) err := req.Send() return out, err } const opDeregisterContainerInstance = "DeregisterContainerInstance" // DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the // client's request for the DeregisterContainerInstance operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeregisterContainerInstance method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeregisterContainerInstanceRequest method. // req, resp := client.DeregisterContainerInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { op := &request.Operation{ Name: opDeregisterContainerInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeregisterContainerInstanceInput{} } req = c.newRequest(op, input, output) output = &DeregisterContainerInstanceOutput{} req.Data = output return } // Deregisters an Amazon ECS container instance from the specified cluster. // This instance is no longer available to run tasks. // // If you intend to use the container instance for some other purpose after // deregistration, you should stop all of the tasks running on the container // instance before deregistration to avoid any orphaned tasks from consuming // resources. // // Deregistering a container instance removes the instance from a cluster, // but it does not terminate the EC2 instance; if you are finished using the // instance, be sure to terminate it in the Amazon EC2 console to stop billing. // // If you terminate a running container instance with a connected Amazon ECS // container agent, the agent automatically deregisters the instance from your // cluster (stopped container instances or instances with disconnected agents // are not automatically deregistered when terminated). func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { req, out := c.DeregisterContainerInstanceRequest(input) err := req.Send() return out, err } const opDeregisterTaskDefinition = "DeregisterTaskDefinition" // DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DeregisterTaskDefinition operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DeregisterTaskDefinition method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DeregisterTaskDefinitionRequest method. // req, resp := client.DeregisterTaskDefinitionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { op := &request.Operation{ Name: opDeregisterTaskDefinition, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeregisterTaskDefinitionInput{} } req = c.newRequest(op, input, output) output = &DeregisterTaskDefinitionOutput{} req.Data = output return } // Deregisters the specified task definition by family and revision. Upon deregistration, // the task definition is marked as INACTIVE. Existing tasks and services that // reference an INACTIVE task definition continue to run without disruption. // Existing services that reference an INACTIVE task definition can still scale // up or down by modifying the service's desired count. // // You cannot use an INACTIVE task definition to run new tasks or create new // services, and you cannot update an existing service to reference an INACTIVE // task definition (although there may be up to a 10 minute window following // deregistration where these restrictions have not yet taken effect). func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { req, out := c.DeregisterTaskDefinitionRequest(input) err := req.Send() return out, err } const opDescribeClusters = "DescribeClusters" // DescribeClustersRequest generates a "aws/request.Request" representing the // client's request for the DescribeClusters operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DescribeClusters method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DescribeClustersRequest method. // req, resp := client.DescribeClustersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { op := &request.Operation{ Name: opDescribeClusters, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeClustersInput{} } req = c.newRequest(op, input, output) output = &DescribeClustersOutput{} req.Data = output return } // Describes one or more of your clusters. func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { req, out := c.DescribeClustersRequest(input) err := req.Send() return out, err } const opDescribeContainerInstances = "DescribeContainerInstances" // DescribeContainerInstancesRequest generates a "aws/request.Request" representing the // client's request for the DescribeContainerInstances operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DescribeContainerInstances method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DescribeContainerInstancesRequest method. // req, resp := client.DescribeContainerInstancesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { op := &request.Operation{ Name: opDescribeContainerInstances, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeContainerInstancesInput{} } req = c.newRequest(op, input, output) output = &DescribeContainerInstancesOutput{} req.Data = output return } // Describes Amazon EC2 Container Service container instances. Returns metadata // about registered and remaining resources on each container instance requested. func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { req, out := c.DescribeContainerInstancesRequest(input) err := req.Send() return out, err } const opDescribeServices = "DescribeServices" // DescribeServicesRequest generates a "aws/request.Request" representing the // client's request for the DescribeServices operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DescribeServices method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DescribeServicesRequest method. // req, resp := client.DescribeServicesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { op := &request.Operation{ Name: opDescribeServices, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeServicesInput{} } req = c.newRequest(op, input, output) output = &DescribeServicesOutput{} req.Data = output return } // Describes the specified services running in your cluster. func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { req, out := c.DescribeServicesRequest(input) err := req.Send() return out, err } const opDescribeTaskDefinition = "DescribeTaskDefinition" // DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the // client's request for the DescribeTaskDefinition operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DescribeTaskDefinition method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DescribeTaskDefinitionRequest method. // req, resp := client.DescribeTaskDefinitionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { op := &request.Operation{ Name: opDescribeTaskDefinition, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeTaskDefinitionInput{} } req = c.newRequest(op, input, output) output = &DescribeTaskDefinitionOutput{} req.Data = output return } // Describes a task definition. You can specify a family and revision to find // information about a specific task definition, or you can simply specify the // family to find the latest ACTIVE revision in that family. // // You can only describe INACTIVE task definitions while an active task or // service references them. func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { req, out := c.DescribeTaskDefinitionRequest(input) err := req.Send() return out, err } const opDescribeTasks = "DescribeTasks" // DescribeTasksRequest generates a "aws/request.Request" representing the // client's request for the DescribeTasks operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DescribeTasks method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DescribeTasksRequest method. // req, resp := client.DescribeTasksRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { op := &request.Operation{ Name: opDescribeTasks, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DescribeTasksInput{} } req = c.newRequest(op, input, output) output = &DescribeTasksOutput{} req.Data = output return } // Describes a specified task or tasks. func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { req, out := c.DescribeTasksRequest(input) err := req.Send() return out, err } const opDiscoverPollEndpoint = "DiscoverPollEndpoint" // DiscoverPollEndpointRequest generates a "aws/request.Request" representing the // client's request for the DiscoverPollEndpoint operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the DiscoverPollEndpoint method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the DiscoverPollEndpointRequest method. // req, resp := client.DiscoverPollEndpointRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { op := &request.Operation{ Name: opDiscoverPollEndpoint, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DiscoverPollEndpointInput{} } req = c.newRequest(op, input, output) output = &DiscoverPollEndpointOutput{} req.Data = output return } // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // // Returns an endpoint for the Amazon EC2 Container Service agent to poll // for updates. func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { req, out := c.DiscoverPollEndpointRequest(input) err := req.Send() return out, err } const opListClusters = "ListClusters" // ListClustersRequest generates a "aws/request.Request" representing the // client's request for the ListClusters operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListClusters method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListClustersRequest method. // req, resp := client.ListClustersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { op := &request.Operation{ Name: opListClusters, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListClustersInput{} } req = c.newRequest(op, input, output) output = &ListClustersOutput{} req.Data = output return } // Returns a list of existing clusters. func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { req, out := c.ListClustersRequest(input) err := req.Send() return out, err } // ListClustersPages iterates over the pages of a ListClusters operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListClusters method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListClusters operation. // pageNum := 0 // err := client.ListClustersPages(params, // func(page *ListClustersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(p *ListClustersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListClustersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListClustersOutput), lastPage) }) } const opListContainerInstances = "ListContainerInstances" // ListContainerInstancesRequest generates a "aws/request.Request" representing the // client's request for the ListContainerInstances operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListContainerInstances method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListContainerInstancesRequest method. // req, resp := client.ListContainerInstancesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { op := &request.Operation{ Name: opListContainerInstances, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListContainerInstancesInput{} } req = c.newRequest(op, input, output) output = &ListContainerInstancesOutput{} req.Data = output return } // Returns a list of container instances in a specified cluster. func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { req, out := c.ListContainerInstancesRequest(input) err := req.Send() return out, err } // ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListContainerInstances method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListContainerInstances operation. // pageNum := 0 // err := client.ListContainerInstancesPages(params, // func(page *ListContainerInstancesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(p *ListContainerInstancesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListContainerInstancesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListContainerInstancesOutput), lastPage) }) } const opListServices = "ListServices" // ListServicesRequest generates a "aws/request.Request" representing the // client's request for the ListServices operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListServices method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListServicesRequest method. // req, resp := client.ListServicesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { op := &request.Operation{ Name: opListServices, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListServicesInput{} } req = c.newRequest(op, input, output) output = &ListServicesOutput{} req.Data = output return } // Lists the services that are running in a specified cluster. func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { req, out := c.ListServicesRequest(input) err := req.Send() return out, err } // ListServicesPages iterates over the pages of a ListServices operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListServices method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListServices operation. // pageNum := 0 // err := client.ListServicesPages(params, // func(page *ListServicesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(p *ListServicesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListServicesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListServicesOutput), lastPage) }) } const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" // ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the // client's request for the ListTaskDefinitionFamilies operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListTaskDefinitionFamilies method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListTaskDefinitionFamiliesRequest method. // req, resp := client.ListTaskDefinitionFamiliesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { op := &request.Operation{ Name: opListTaskDefinitionFamilies, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListTaskDefinitionFamiliesInput{} } req = c.newRequest(op, input, output) output = &ListTaskDefinitionFamiliesOutput{} req.Data = output return } // Returns a list of task definition families that are registered to your account // (which may include task definition families that no longer have any ACTIVE // task definition revisions). // // You can filter out task definition families that do not contain any ACTIVE // task definition revisions by setting the status parameter to ACTIVE. You // can also filter the results with the familyPrefix parameter. func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { req, out := c.ListTaskDefinitionFamiliesRequest(input) err := req.Send() return out, err } // ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListTaskDefinitionFamilies method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. // pageNum := 0 // err := client.ListTaskDefinitionFamiliesPages(params, // func(page *ListTaskDefinitionFamiliesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(p *ListTaskDefinitionFamiliesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTaskDefinitionFamiliesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListTaskDefinitionFamiliesOutput), lastPage) }) } const opListTaskDefinitions = "ListTaskDefinitions" // ListTaskDefinitionsRequest generates a "aws/request.Request" representing the // client's request for the ListTaskDefinitions operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListTaskDefinitions method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListTaskDefinitionsRequest method. // req, resp := client.ListTaskDefinitionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { op := &request.Operation{ Name: opListTaskDefinitions, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListTaskDefinitionsInput{} } req = c.newRequest(op, input, output) output = &ListTaskDefinitionsOutput{} req.Data = output return } // Returns a list of task definitions that are registered to your account. You // can filter the results by family name with the familyPrefix parameter or // by status with the status parameter. func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { req, out := c.ListTaskDefinitionsRequest(input) err := req.Send() return out, err } // ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListTaskDefinitions method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListTaskDefinitions operation. // pageNum := 0 // err := client.ListTaskDefinitionsPages(params, // func(page *ListTaskDefinitionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(p *ListTaskDefinitionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTaskDefinitionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListTaskDefinitionsOutput), lastPage) }) } const opListTasks = "ListTasks" // ListTasksRequest generates a "aws/request.Request" representing the // client's request for the ListTasks operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the ListTasks method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the ListTasksRequest method. // req, resp := client.ListTasksRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { op := &request.Operation{ Name: opListTasks, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, LimitToken: "maxResults", TruncationToken: "", }, } if input == nil { input = &ListTasksInput{} } req = c.newRequest(op, input, output) output = &ListTasksOutput{} req.Data = output return } // Returns a list of tasks for a specified cluster. You can filter the results // by family name, by a particular container instance, or by the desired status // of the task with the family, containerInstance, and desiredStatus parameters. // // Recently-stopped tasks might appear in the returned results. Currently, // stopped tasks appear in the returned results for at least one hour. func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { req, out := c.ListTasksRequest(input) err := req.Send() return out, err } // ListTasksPages iterates over the pages of a ListTasks operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // // See ListTasks method for more information on how to use this operation. // // Note: This operation can generate multiple requests to a service. // // // Example iterating over at most 3 pages of a ListTasks operation. // pageNum := 0 // err := client.ListTasksPages(params, // func(page *ListTasksOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(p *ListTasksOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.ListTasksRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*ListTasksOutput), lastPage) }) } const opRegisterContainerInstance = "RegisterContainerInstance" // RegisterContainerInstanceRequest generates a "aws/request.Request" representing the // client's request for the RegisterContainerInstance operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the RegisterContainerInstance method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the RegisterContainerInstanceRequest method. // req, resp := client.RegisterContainerInstanceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { op := &request.Operation{ Name: opRegisterContainerInstance, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RegisterContainerInstanceInput{} } req = c.newRequest(op, input, output) output = &RegisterContainerInstanceOutput{} req.Data = output return } // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // // Registers an EC2 instance into the specified cluster. This instance becomes // available to place containers on. func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { req, out := c.RegisterContainerInstanceRequest(input) err := req.Send() return out, err } const opRegisterTaskDefinition = "RegisterTaskDefinition" // RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the // client's request for the RegisterTaskDefinition operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the RegisterTaskDefinition method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the RegisterTaskDefinitionRequest method. // req, resp := client.RegisterTaskDefinitionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { op := &request.Operation{ Name: opRegisterTaskDefinition, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RegisterTaskDefinitionInput{} } req = c.newRequest(op, input, output) output = &RegisterTaskDefinitionOutput{} req.Data = output return } // Registers a new task definition from the supplied family and containerDefinitions. // Optionally, you can add data volumes to your containers with the volumes // parameter. For more information about task definition parameters and defaults, // see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) // in the Amazon EC2 Container Service Developer Guide. // // You can specify an IAM role for your task with the taskRoleArn parameter. // When you specify an IAM role for a task, its containers can then use the // latest versions of the AWS CLI or SDKs to make API requests to the AWS services // that are specified in the IAM policy associated with the role. For more information, // see IAM Roles for Tasks (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) // in the Amazon EC2 Container Service Developer Guide. // // You can specify a Docker networking mode for the containers in your task // definition with the networkMode parameter. The available network modes correspond // to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) // in the Docker run reference. func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { req, out := c.RegisterTaskDefinitionRequest(input) err := req.Send() return out, err } const opRunTask = "RunTask" // RunTaskRequest generates a "aws/request.Request" representing the // client's request for the RunTask operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the RunTask method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the RunTaskRequest method. // req, resp := client.RunTaskRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { op := &request.Operation{ Name: opRunTask, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RunTaskInput{} } req = c.newRequest(op, input, output) output = &RunTaskOutput{} req.Data = output return } // Start a task using random placement and the default Amazon ECS scheduler. // To use your own scheduler or place a task on a specific container instance, // use StartTask instead. // // The count parameter is limited to 10 tasks per call. func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { req, out := c.RunTaskRequest(input) err := req.Send() return out, err } const opStartTask = "StartTask" // StartTaskRequest generates a "aws/request.Request" representing the // client's request for the StartTask operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the StartTask method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the StartTaskRequest method. // req, resp := client.StartTaskRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { op := &request.Operation{ Name: opStartTask, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &StartTaskInput{} } req = c.newRequest(op, input, output) output = &StartTaskOutput{} req.Data = output return } // Starts a new task from the specified task definition on the specified container // instance or instances. To use the default Amazon ECS scheduler to place your // task, use RunTask instead. // // The list of container instances to start tasks on is limited to 10. func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { req, out := c.StartTaskRequest(input) err := req.Send() return out, err } const opStopTask = "StopTask" // StopTaskRequest generates a "aws/request.Request" representing the // client's request for the StopTask operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the StopTask method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the StopTaskRequest method. // req, resp := client.StopTaskRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { op := &request.Operation{ Name: opStopTask, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &StopTaskInput{} } req = c.newRequest(op, input, output) output = &StopTaskOutput{} req.Data = output return } // Stops a running task. // // When StopTask is called on a task, the equivalent of docker stop is issued // to the containers running in the task. This results in a SIGTERM and a 30-second // timeout, after which SIGKILL is sent and the containers are forcibly stopped. // If the container handles the SIGTERM gracefully and exits within 30 seconds // from receiving it, no SIGKILL is sent. func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { req, out := c.StopTaskRequest(input) err := req.Send() return out, err } const opSubmitContainerStateChange = "SubmitContainerStateChange" // SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the // client's request for the SubmitContainerStateChange operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the SubmitContainerStateChange method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the SubmitContainerStateChangeRequest method. // req, resp := client.SubmitContainerStateChangeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { op := &request.Operation{ Name: opSubmitContainerStateChange, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &SubmitContainerStateChangeInput{} } req = c.newRequest(op, input, output) output = &SubmitContainerStateChangeOutput{} req.Data = output return } // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // // Sent to acknowledge that a container changed states. func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { req, out := c.SubmitContainerStateChangeRequest(input) err := req.Send() return out, err } const opSubmitTaskStateChange = "SubmitTaskStateChange" // SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the // client's request for the SubmitTaskStateChange operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the SubmitTaskStateChange method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the SubmitTaskStateChangeRequest method. // req, resp := client.SubmitTaskStateChangeRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { op := &request.Operation{ Name: opSubmitTaskStateChange, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &SubmitTaskStateChangeInput{} } req = c.newRequest(op, input, output) output = &SubmitTaskStateChangeOutput{} req.Data = output return } // This action is only used by the Amazon EC2 Container Service agent, and it // is not intended for use outside of the agent. // // Sent to acknowledge that a task changed states. func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { req, out := c.SubmitTaskStateChangeRequest(input) err := req.Send() return out, err } const opUpdateContainerAgent = "UpdateContainerAgent" // UpdateContainerAgentRequest generates a "aws/request.Request" representing the // client's request for the UpdateContainerAgent operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the UpdateContainerAgent method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the UpdateContainerAgentRequest method. // req, resp := client.UpdateContainerAgentRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { op := &request.Operation{ Name: opUpdateContainerAgent, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UpdateContainerAgentInput{} } req = c.newRequest(op, input, output) output = &UpdateContainerAgentOutput{} req.Data = output return } // Updates the Amazon ECS container agent on a specified container instance. // Updating the Amazon ECS container agent does not interrupt running tasks // or services on the container instance. The process for updating the agent // differs depending on whether your container instance was launched with the // Amazon ECS-optimized AMI or another operating system. // // UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux // with the ecs-init service installed and running. For help updating the Amazon // ECS container agent on other operating systems, see Manually Updating the // Amazon ECS Container Agent (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) // in the Amazon EC2 Container Service Developer Guide. func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { req, out := c.UpdateContainerAgentRequest(input) err := req.Send() return out, err } const opUpdateService = "UpdateService" // UpdateServiceRequest generates a "aws/request.Request" representing the // client's request for the UpdateService operation. The "output" return // value can be used to capture response data after the request's "Send" method // is called. // // Creating a request object using this method should be used when you want to inject // custom logic into the request's lifecycle using a custom handler, or if you want to // access properties on the request object before or after sending the request. If // you just want the service response, call the UpdateService method directly // instead. // // Note: You must call the "Send" method on the returned request object in order // to execute the request. // // // Example sending a request using the UpdateServiceRequest method. // req, resp := client.UpdateServiceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { op := &request.Operation{ Name: opUpdateService, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &UpdateServiceInput{} } req = c.newRequest(op, input, output) output = &UpdateServiceOutput{} req.Data = output return } // Modifies the desired count, deployment configuration, or task definition // used in a service. // // You can add to or subtract from the number of instantiations of a task definition // in a service by specifying the cluster that the service is running in and // a new desiredCount parameter. // // You can use UpdateService to modify your task definition and deploy a new // version of your service. // // You can also update the deployment configuration of a service. When a deployment // is triggered by updating the task definition of a service, the service scheduler // uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, // to determine the deployment strategy. // // If the minimumHealthyPercent is below 100%, the scheduler can ignore the // desiredCount temporarily during a deployment. For example, if your service // has a desiredCount of four tasks, a minimumHealthyPercent of 50% allows the // scheduler to stop two existing tasks before starting two new tasks. Tasks // for services that do not use a load balancer are considered healthy if they // are in the RUNNING state; tasks for services that do use a load balancer // are considered healthy if they are in the RUNNING state and the container // instance it is hosted on is reported as healthy by the load balancer. // // The maximumPercent parameter represents an upper limit on the number of // running tasks during a deployment, which enables you to define the deployment // batch size. For example, if your service has a desiredCount of four tasks, // a maximumPercent value of 200% starts four new tasks before stopping the // four older tasks (provided that the cluster resources required to do this // are available). // // When UpdateService stops a task during a deployment, the equivalent of docker // stop is issued to the containers running in the task. This results in a SIGTERM // and a 30-second timeout, after which SIGKILL is sent and the containers are // forcibly stopped. If the container handles the SIGTERM gracefully and exits // within 30 seconds from receiving it, no SIGKILL is sent. // // When the service scheduler launches new tasks, it attempts to balance them // across the Availability Zones in your cluster with the following logic: // // Determine which of the container instances in your cluster can support // your service's task definition (for example, they have the required CPU, // memory, ports, and container instance attributes). // // Sort the valid container instances by the fewest number of running tasks // for this service in the same Availability Zone as the instance. For example, // if zone A has one running service task and zones B and C each have zero, // valid container instances in either zone B or C are considered optimal for // placement. // // Place the new service task on a valid container instance in an optimal // Availability Zone (based on the previous steps), favoring container instances // with the fewest number of running tasks for this service. func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { req, out := c.UpdateServiceRequest(input) err := req.Send() return out, err } // The attributes applicable to a container instance when it is registered. type Attribute struct { _ struct{} `type:"structure"` // The name of the container instance attribute. Name *string `locationName:"name" type:"string" required:"true"` // The value of the container instance attribute (at this time, the value here // is Null, but this could change in future revisions for expandability). Value *string `locationName:"value" type:"string"` } // String returns the string representation func (s Attribute) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Attribute) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Attribute) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Attribute"} if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // A regional grouping of one or more container instances on which you can run // task requests. Each account receives a default cluster the first time you // use the Amazon ECS service, but you may also create other clusters. Clusters // may contain more than one instance type simultaneously. type Cluster struct { _ struct{} `type:"structure"` // The number of services that are running on the cluster in an ACTIVE state. // You can view these services with ListServices. ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains // the arn:aws:ecs namespace, followed by the region of the cluster, the AWS // account ID of the cluster owner, the cluster namespace, and then the cluster // name. For example, arn:aws:ecs:region:012345678910:cluster/test .. ClusterArn *string `locationName:"clusterArn" type:"string"` // A user-generated string that you use to identify your cluster. ClusterName *string `locationName:"clusterName" type:"string"` // The number of tasks in the cluster that are in the PENDING state. PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` // The number of container instances registered into the cluster. RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` // The number of tasks in the cluster that are in the RUNNING state. RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` // The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE // indicates that you can register container instances with the cluster and // the associated instances can accept tasks. Status *string `locationName:"status" type:"string"` } // String returns the string representation func (s Cluster) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Cluster) GoString() string { return s.String() } // A Docker container that is part of a task. type Container struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the container. ContainerArn *string `locationName:"containerArn" type:"string"` // The exit code returned from the container. ExitCode *int64 `locationName:"exitCode" type:"integer"` // The last known status of the container. LastStatus *string `locationName:"lastStatus" type:"string"` // The name of the container. Name *string `locationName:"name" type:"string"` // The network bindings associated with the container. NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` // A short (255 max characters) human-readable string to provide additional // detail about a running or stopped container. Reason *string `locationName:"reason" type:"string"` // The Amazon Resource Name (ARN) of the task. TaskArn *string `locationName:"taskArn" type:"string"` } // String returns the string representation func (s Container) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Container) GoString() string { return s.String() } // Container definitions are used in task definitions to describe the different // containers that are launched as part of a task. type ContainerDefinition struct { _ struct{} `type:"structure"` // The command that is passed to the container. This parameter maps to Cmd in // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the COMMAND parameter to docker run (https://docs.docker.com/reference/commandline/run/). // For more information, see https://docs.docker.com/reference/builder/#cmd // (https://docs.docker.com/reference/builder/#cmd). Command []*string `locationName:"command" type:"list"` // The number of cpu units reserved for the container. A container instance // has 1,024 cpu units for every CPU core. This parameter specifies the minimum // amount of CPU to reserve for a container, and containers share unallocated // CPU units with other containers on the instance with the same ratio as their // allocated amount. This parameter maps to CpuShares in the Create a container // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --cpu-shares option to docker run (https://docs.docker.com/reference/commandline/run/). // // You can determine the number of CPU units that are available per EC2 instance // type by multiplying the vCPUs listed for that instance type on the Amazon // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by // 1,024. // // For example, if you run a single-container task on a single-core instance // type with 512 CPU units specified for that container, and that is the only // task running on the container instance, that container could use the full // 1,024 CPU unit share at any given time. However, if you launched another // copy of the same task on that container instance, each task would be guaranteed // a minimum of 512 CPU units when needed, and each container could float to // higher CPU usage if the other container was not using it, but if both tasks // were 100% active all of the time, they would be limited to 512 CPU units. // // The Docker daemon on the container instance uses the CPU value to calculate // the relative CPU share ratios for running containers. For more information, // see CPU share constraint (https://docs.docker.com/reference/run/#cpu-share-constraint) // in the Docker documentation. The minimum valid CPU share value that the Linux // kernel allows is 2; however, the CPU parameter is not required, and you can // use CPU values below 2 in your container definitions. For CPU values below // 2 (including null), the behavior varies based on your Amazon ECS container // agent version: // // Agent versions less than or equal to 1.1.0: Null and zero CPU values // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts // to 2 CPU shares. // // Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values // of 1 are passed to Docker as 2. Cpu *int64 `locationName:"cpu" type:"integer"` // When this parameter is true, networking is disabled within the container. // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/). DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` // A list of DNS search domains that are presented to the container. This parameter // maps to DnsSearch in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --dns-search option to docker run (https://docs.docker.com/reference/commandline/run/). DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` // A list of DNS servers that are presented to the container. This parameter // maps to Dns in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --dns option to docker run (https://docs.docker.com/reference/commandline/run/). DnsServers []*string `locationName:"dnsServers" type:"list"` // A key/value map of labels to add to the container. This parameter maps to // Labels in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --label option to docker run (https://docs.docker.com/reference/commandline/run/). // This parameter requires version 1.18 of the Docker Remote API or greater // on your container instance. To check the Docker Remote API version on your // container instance, log into your container instance and run the following // command: sudo docker version | grep "Server API version" DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` // A list of strings to provide custom labels for SELinux and AppArmor multi-level // security systems. This parameter maps to SecurityOpt in the Create a container // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --security-opt option to docker run (https://docs.docker.com/reference/commandline/run/). // // The Amazon ECS container agent running on a container instance must register // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment // variables before containers placed on that instance can use these security // options. For more information, see Amazon ECS Container Agent Configuration // (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon EC2 Container Service Developer Guide. DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` // Early versions of the Amazon ECS container agent do not properly handle entryPoint // parameters. If you have problems using entryPoint, update your container // agent or enter your commands and arguments as command array items instead. // // The entry point that is passed to the container. This parameter maps to // Entrypoint in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --entrypoint option to docker run (https://docs.docker.com/reference/commandline/run/). // For more information, see https://docs.docker.com/reference/builder/#entrypoint // (https://docs.docker.com/reference/builder/#entrypoint). EntryPoint []*string `locationName:"entryPoint" type:"list"` // The environment variables to pass to a container. This parameter maps to // Env in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --env option to docker run (https://docs.docker.com/reference/commandline/run/). // // We do not recommend using plain text environment variables for sensitive // information, such as credential data. Environment []*KeyValuePair `locationName:"environment" type:"list"` // If the essential parameter of a container is marked as true, and that container // fails or stops for any reason, all other containers that are part of the // task are stopped. If the essential parameter of a container is marked as // false, then its failure does not affect the rest of the containers in a task. // If this parameter is omitted, a container is assumed to be essential. // // All tasks must have at least one essential container. If you have an application // that is composed of multiple containers, you should group containers that // are used for a common purpose into components, and separate the different // components into multiple task definitions. For more information, see Application // Architecture (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) // in the Amazon EC2 Container Service Developer Guide. Essential *bool `locationName:"essential" type:"boolean"` // A list of hostnames and IP address mappings to append to the /etc/hosts file // on the container. This parameter maps to ExtraHosts in the Create a container // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --add-host option to docker run (https://docs.docker.com/reference/commandline/run/). ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` // The hostname to use for your container. This parameter maps to Hostname in // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --hostname option to docker run (https://docs.docker.com/reference/commandline/run/). Hostname *string `locationName:"hostname" type:"string"` // The image used to start a container. This string is passed directly to the // Docker daemon. Images in the Docker Hub registry are available by default. // Other repositories are specified with repository-url/image:tag . Up to 255 // letters (uppercase and lowercase), numbers, hyphens, underscores, colons, // periods, forward slashes, and number signs are allowed. This parameter maps // to Image in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the IMAGE parameter of docker run (https://docs.docker.com/reference/commandline/run/). // // Images in official repositories on Docker Hub use a single name (for example, // ubuntu or mongo). // // Images in other repositories on Docker Hub are qualified with an organization // name (for example, amazon/amazon-ecs-agent). // // Images in other online repositories are qualified further by a domain // name (for example, quay.io/assemblyline/ubuntu). Image *string `locationName:"image" type:"string"` // The link parameter allows containers to communicate with each other without // the need for port mappings, using the name parameter and optionally, an alias // for the link. This construct is analogous to name:alias in Docker links. // Up to 255 letters (uppercase and lowercase), numbers, hyphens, and underscores // are allowed for each name and alias. For more information on linking Docker // containers, see https://docs.docker.com/userguide/dockerlinks/ (https://docs.docker.com/userguide/dockerlinks/). // This parameter maps to Links in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --link option to docker run (https://docs.docker.com/reference/commandline/run/). // // Containers that are collocated on a single container instance may be able // to communicate with each other without requiring links or host port mappings. // Network isolation is achieved on the container instance using security groups // and VPC settings. Links []*string `locationName:"links" type:"list"` // The log configuration specification for the container. This parameter maps // to LogConfig in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --log-driver option to docker run (https://docs.docker.com/reference/commandline/run/). // By default, containers use the same logging driver that the Docker daemon // uses; however the container may use a different logging driver than the Docker // daemon by specifying a log driver with this parameter in the container definition. // To use a different logging driver for a container, the log system must be // configured properly on the container instance (or on a different log server // for remote logging options). For more information on the options for different // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) // in the Docker documentation. // // Amazon ECS currently supports a subset of the logging drivers available // to the Docker daemon (shown in the LogConfiguration data type). Currently // unsupported log drivers may be available in future releases of the Amazon // ECS container agent. // // This parameter requires version 1.18 of the Docker Remote API or greater // on your container instance. To check the Docker Remote API version on your // container instance, log into your container instance and run the following // command: sudo docker version | grep "Server API version" // // The Amazon ECS container agent running on a container instance must register // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS // environment variable before containers placed on that instance can use these // log configuration options. For more information, see Amazon ECS Container // Agent Configuration (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) // in the Amazon EC2 Container Service Developer Guide. LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` // The hard limit (in MiB) of memory to present to the container. If your container // attempts to exceed the memory specified here, the container is killed. This // parameter maps to Memory in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --memory option to docker run (https://docs.docker.com/reference/commandline/run/). // // You must specify a non-zero integer for one or both of memory or memoryReservation // in container definitions. If you specify both, memory must be greater than // memoryReservation. If you specify memoryReservation, then that value is subtracted // from the available memory resources for the container instance on which the // container is placed; otherwise, the value of memory is used. // // The Docker daemon reserves a minimum of 4 MiB of memory for a container, // so you should not specify fewer than 4 MiB of memory for your containers. Memory *int64 `locationName:"memory" type:"integer"` // The soft limit (in MiB) of memory to reserve for the container. When system // memory is under heavy contention, Docker attempts to keep the container memory // to this soft limit; however, your container can consume more memory when // it needs to, up to either the hard limit specified with the memory parameter // (if applicable), or all of the available memory on the container instance, // whichever comes first. This parameter maps to MemoryReservation in the Create // a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --memory-reservation option to docker run (https://docs.docker.com/reference/commandline/run/). // // You must specify a non-zero integer for one or both of memory or memoryReservation // in container definitions. If you specify both, memory must be greater than // memoryReservation. If you specify memoryReservation, then that value is subtracted // from the available memory resources for the container instance on which the // container is placed; otherwise, the value of memory is used. // // For example, if your container normally uses 128 MiB of memory, but occasionally // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would // allow the container to only reserve 128 MiB of memory from the remaining // resources on the container instance, but also allow the container to consume // more memory resources when needed. MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` // The mount points for data volumes in your container. This parameter maps // to Volumes in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --volume option to docker run (https://docs.docker.com/reference/commandline/run/). MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` // The name of a container. If you are linking multiple containers together // in a task definition, the name of one container can be entered in the links // of another container to connect the containers. Up to 255 letters (uppercase // and lowercase), numbers, hyphens, and underscores are allowed. This parameter // maps to name in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --name option to docker run (https://docs.docker.com/reference/commandline/run/). Name *string `locationName:"name" type:"string"` // The list of port mappings for the container. Port mappings allow containers // to access ports on the host container instance to send or receive traffic. // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --publish option to docker run (https://docs.docker.com/reference/commandline/run/). // If the network mode of a task definition is set to none, then you cannot // specify port mappings. If the network mode of a task definition is set to // host, then host ports must either be undefined or they must match the container // port in the port mapping. // // After a task reaches the RUNNING status, manual and automatic host and // container port assignments are visible in the Network Bindings section of // a container description of a selected task in the Amazon ECS console, or // the networkBindings section DescribeTasks responses. PortMappings []*PortMapping `locationName:"portMappings" type:"list"` // When this parameter is true, the container is given elevated privileges on // the host container instance (similar to the root user). This parameter maps // to Privileged in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --privileged option to docker run (https://docs.docker.com/reference/commandline/run/). Privileged *bool `locationName:"privileged" type:"boolean"` // When this parameter is true, the container is given read-only access to its // root file system. This parameter maps to ReadonlyRootfs in the Create a container // (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --read-only option to docker run. ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` // A list of ulimits to set in the container. This parameter maps to Ulimits // in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --ulimit option to docker run (https://docs.docker.com/reference/commandline/run/). // Valid naming values are displayed in the Ulimit data type. This parameter // requires version 1.18 of the Docker Remote API or greater on your container // instance. To check the Docker Remote API version on your container instance, // log into your container instance and run the following command: sudo docker // version | grep "Server API version" Ulimits []*Ulimit `locationName:"ulimits" type:"list"` // The user name to use inside the container. This parameter maps to User in // the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --user option to docker run (https://docs.docker.com/reference/commandline/run/). User *string `locationName:"user" type:"string"` // Data volumes to mount from another container. This parameter maps to VolumesFrom // in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --volumes-from option to docker run (https://docs.docker.com/reference/commandline/run/). VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` // The working directory in which to run commands inside the container. This // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/reference/api/docker_remote_api_v1.23/#create-a-container) // section of the Docker Remote API (https://docs.docker.com/reference/api/docker_remote_api_v1.23/) // and the --workdir option to docker run (https://docs.docker.com/reference/commandline/run/). WorkingDirectory *string `locationName:"workingDirectory" type:"string"` } // String returns the string representation func (s ContainerDefinition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ContainerDefinition) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ContainerDefinition) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} if s.ExtraHosts != nil { for i, v := range s.ExtraHosts { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) } } } if s.LogConfiguration != nil { if err := s.LogConfiguration.Validate(); err != nil { invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) } } if s.Ulimits != nil { for i, v := range s.Ulimits { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } // An EC2 instance that is running the Amazon ECS agent and has been registered // with a cluster. type ContainerInstance struct { _ struct{} `type:"structure"` // This parameter returns true if the agent is actually connected to Amazon // ECS. Registered instances with an agent that may be unhealthy or stopped // return false, and instances without a connected agent cannot accept placement // requests. AgentConnected *bool `locationName:"agentConnected" type:"boolean"` // The status of the most recent agent update. If an update has never been requested, // this value is NULL. AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` // The attributes set for the container instance by the Amazon ECS container // agent at instance registration. Attributes []*Attribute `locationName:"attributes" type:"list"` // The Amazon Resource Name (ARN) of the container instance. The ARN contains // the arn:aws:ecs namespace, followed by the region of the container instance, // the AWS account ID of the container instance owner, the container-instance // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID // . ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` // The EC2 instance ID of the container instance. Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` // The number of tasks on the container instance that are in the PENDING status. PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` // The registered resources on the container instance that are in use by current // tasks. RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` // The remaining resources of the container instance that are available for // new tasks. RemainingResources []*Resource `locationName:"remainingResources" type:"list"` // The number of tasks on the container instance that are in the RUNNING status. RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` // The status of the container instance. The valid values are ACTIVE or INACTIVE. // ACTIVE indicates that the container instance can accept tasks. Status *string `locationName:"status" type:"string"` // The version information for the Amazon ECS container agent and Docker daemon // running on the container instance. VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` } // String returns the string representation func (s ContainerInstance) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ContainerInstance) GoString() string { return s.String() } // The overrides that should be sent to a container. type ContainerOverride struct { _ struct{} `type:"structure"` // The command to send to the container that overrides the default command from // the Docker image or the task definition. Command []*string `locationName:"command" type:"list"` // The environment variables to send to the container. You can add new environment // variables, which are added to the container at launch, or you can override // the existing environment variables from the Docker image or the task definition. Environment []*KeyValuePair `locationName:"environment" type:"list"` // The name of the container that receives the override. Name *string `locationName:"name" type:"string"` } // String returns the string representation func (s ContainerOverride) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ContainerOverride) GoString() string { return s.String() } type CreateClusterInput struct { _ struct{} `type:"structure"` // The name of your cluster. If you do not specify a name for your cluster, // you create a cluster named default. Up to 255 letters (uppercase and lowercase), // numbers, hyphens, and underscores are allowed. ClusterName *string `locationName:"clusterName" type:"string"` } // String returns the string representation func (s CreateClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateClusterInput) GoString() string { return s.String() } type CreateClusterOutput struct { _ struct{} `type:"structure"` // The full description of your new cluster. Cluster *Cluster `locationName:"cluster" type:"structure"` } // String returns the string representation func (s CreateClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateClusterOutput) GoString() string { return s.String() } type CreateServiceInput struct { _ struct{} `type:"structure"` // Unique, case-sensitive identifier you provide to ensure the idempotency of // the request. Up to 32 ASCII characters are allowed. ClientToken *string `locationName:"clientToken" type:"string"` // The short name or full Amazon Resource Name (ARN) of the cluster on which // to run your service. If you do not specify a cluster, the default cluster // is assumed. Cluster *string `locationName:"cluster" type:"string"` // Optional deployment parameters that control how many tasks run during the // deployment and the ordering of stopping and starting tasks. DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` // The number of instantiations of the specified task definition to place and // keep running on your cluster. DesiredCount *int64 `locationName:"desiredCount" type:"integer" required:"true"` // A load balancer object representing the load balancer to use with your service. // Currently, you are limited to one load balancer per service. After you create // a service, the load balancer name, container name, and container port specified // in the service definition are immutable. // // For Elastic Load Balancing Classic load balancers, this object must contain // the load balancer name, the container name (as it appears in a container // definition), and the container port to access from the load balancer. When // a task from this service is placed on a container instance, the container // instance is registered with the load balancer specified here. // // For Elastic Load Balancing Application load balancers, this object must // contain the load balancer target group ARN, the container name (as it appears // in a container definition), and the container port to access from the load // balancer. When a task from this service is placed on a container instance, // the container instance and port combination is registered as a target in // the target group specified here. LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon // ECS to make calls to your load balancer on your behalf. This parameter is // required if you are using a load balancer with your service. If you specify // the role parameter, you must also specify a load balancer object with the // loadBalancers parameter. // // If your specified role has a path other than /, then you must either specify // the full role ARN (this is recommended) or prefix the role name with the // path. For example, if a role with the name bar has a path of /foo/ then you // would specify /foo/bar as the role name. For more information, see Friendly // Names and Paths (http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) // in the IAM User Guide. Role *string `locationName:"role" type:"string"` // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. Service names must be unique within // a cluster, but you can have similarly named services in multiple clusters // within a region or across multiple regions. ServiceName *string `locationName:"serviceName" type:"string" required:"true"` // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to run in your service. If a revision is not specified, // the latest ACTIVE revision is used. TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } // String returns the string representation func (s CreateServiceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateServiceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} if s.DesiredCount == nil { invalidParams.Add(request.NewErrParamRequired("DesiredCount")) } if s.ServiceName == nil { invalidParams.Add(request.NewErrParamRequired("ServiceName")) } if s.TaskDefinition == nil { invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateServiceOutput struct { _ struct{} `type:"structure"` // The full description of your service following the create call. Service *Service `locationName:"service" type:"structure"` } // String returns the string representation func (s CreateServiceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateServiceOutput) GoString() string { return s.String() } type DeleteClusterInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster to delete. Cluster *string `locationName:"cluster" type:"string" required:"true"` } // String returns the string representation func (s DeleteClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} if s.Cluster == nil { invalidParams.Add(request.NewErrParamRequired("Cluster")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteClusterOutput struct { _ struct{} `type:"structure"` // The full description of the deleted cluster. Cluster *Cluster `locationName:"cluster" type:"structure"` } // String returns the string representation func (s DeleteClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteClusterOutput) GoString() string { return s.String() } type DeleteServiceInput struct { _ struct{} `type:"structure"` // The name of the cluster that hosts the service to delete. If you do not specify // a cluster, the default cluster is assumed. Cluster *string `locationName:"cluster" type:"string"` // The name of the service to delete. Service *string `locationName:"service" type:"string" required:"true"` } // String returns the string representation func (s DeleteServiceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteServiceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} if s.Service == nil { invalidParams.Add(request.NewErrParamRequired("Service")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteServiceOutput struct { _ struct{} `type:"structure"` // The full description of the deleted service. Service *Service `locationName:"service" type:"structure"` } // String returns the string representation func (s DeleteServiceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteServiceOutput) GoString() string { return s.String() } // The details of an Amazon ECS service deployment. type Deployment struct { _ struct{} `type:"structure"` // The Unix timestamp for when the service was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` // The most recent desired count of tasks that was specified for the service // to deploy or maintain. DesiredCount *int64 `locationName:"desiredCount" type:"integer"` // The ID of the deployment. Id *string `locationName:"id" type:"string"` // The number of tasks in the deployment that are in the PENDING status. PendingCount *int64 `locationName:"pendingCount" type:"integer"` // The number of tasks in the deployment that are in the RUNNING status. RunningCount *int64 `locationName:"runningCount" type:"integer"` // The status of the deployment. Valid values are PRIMARY (for the most recent // deployment), ACTIVE (for previous deployments that still have tasks running, // but are being replaced with the PRIMARY deployment), and INACTIVE (for deployments // that have been completely replaced). Status *string `locationName:"status" type:"string"` // The most recent task definition that was specified for the service to use. TaskDefinition *string `locationName:"taskDefinition" type:"string"` // The Unix timestamp for when the service was last updated. UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"unix"` } // String returns the string representation func (s Deployment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Deployment) GoString() string { return s.String() } // Optional deployment parameters that control how many tasks run during the // deployment and the ordering of stopping and starting tasks. type DeploymentConfiguration struct { _ struct{} `type:"structure"` // The upper limit (as a percentage of the service's desiredCount) of the number // of running tasks that can be running in a service during a deployment. The // maximum number of tasks during a deployment is the desiredCount multiplied // by the maximumPercent/100, rounded down to the nearest integer value. MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` // The lower limit (as a percentage of the service's desiredCount) of the number // of running tasks that must remain running and healthy in a service during // a deployment. The minimum healthy tasks during a deployment is the desiredCount // multiplied by the minimumHealthyPercent/100, rounded up to the nearest integer // value. MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` } // String returns the string representation func (s DeploymentConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeploymentConfiguration) GoString() string { return s.String() } type DeregisterContainerInstanceInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the container instance to deregister. If you do not specify a cluster, the // default cluster is assumed. Cluster *string `locationName:"cluster" type:"string"` // The container instance ID or full Amazon Resource Name (ARN) of the container // instance to deregister. The ARN contains the arn:aws:ecs namespace, followed // by the region of the container instance, the AWS account ID of the container // instance owner, the container-instance namespace, and then the container // instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID // . ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` // Forces the deregistration of the container instance. If you have tasks running // on the container instance when you deregister it with the force option, these // tasks remain running and they continue to pass Elastic Load Balancing load // balancer health checks until you terminate the instance or the tasks stop // through some other means, but they are orphaned (no longer monitored or accounted // for by Amazon ECS). If an orphaned task on your container instance is part // of an Amazon ECS service, then the service scheduler starts another copy // of that task, on a different container instance if possible. Force *bool `locationName:"force" type:"boolean"` } // String returns the string representation func (s DeregisterContainerInstanceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeregisterContainerInstanceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeregisterContainerInstanceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} if s.ContainerInstance == nil { invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeregisterContainerInstanceOutput struct { _ struct{} `type:"structure"` // An EC2 instance that is running the Amazon ECS agent and has been registered // with a cluster. ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` } // String returns the string representation func (s DeregisterContainerInstanceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeregisterContainerInstanceOutput) GoString() string { return s.String() } type DeregisterTaskDefinitionInput struct { _ struct{} `type:"structure"` // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to deregister. You must specify a revision. TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } // String returns the string representation func (s DeregisterTaskDefinitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeregisterTaskDefinitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeregisterTaskDefinitionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} if s.TaskDefinition == nil { invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeregisterTaskDefinitionOutput struct { _ struct{} `type:"structure"` // The full description of the deregistered task. TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` } // String returns the string representation func (s DeregisterTaskDefinitionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeregisterTaskDefinitionOutput) GoString() string { return s.String() } type DescribeClustersInput struct { _ struct{} `type:"structure"` // A space-separated list of up to 100 cluster names or full cluster Amazon // Resource Name (ARN) entries. If you do not specify a cluster, the default // cluster is assumed. Clusters []*string `locationName:"clusters" type:"list"` } // String returns the string representation func (s DescribeClustersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeClustersInput) GoString() string { return s.String() } type DescribeClustersOutput struct { _ struct{} `type:"structure"` // The list of clusters. Clusters []*Cluster `locationName:"clusters" type:"list"` // Any failures associated with the call. Failures []*Failure `locationName:"failures" type:"list"` } // String returns the string representation func (s DescribeClustersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeClustersOutput) GoString() string { return s.String() } type DescribeContainerInstancesInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the container instances to describe. If you do not specify a cluster, the // default cluster is assumed. Cluster *string `locationName:"cluster" type:"string"` // A space-separated list of container instance IDs or full Amazon Resource // Name (ARN) entries. ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` } // String returns the string representation func (s DescribeContainerInstancesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeContainerInstancesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeContainerInstancesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} if s.ContainerInstances == nil { invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DescribeContainerInstancesOutput struct { _ struct{} `type:"structure"` // The list of container instances. ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` // Any failures associated with the call. Failures []*Failure `locationName:"failures" type:"list"` } // String returns the string representation func (s DescribeContainerInstancesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeContainerInstancesOutput) GoString() string { return s.String() } type DescribeServicesInput struct { _ struct{} `type:"structure"` // The name of the cluster that hosts the service to describe. If you do not // specify a cluster, the default cluster is assumed. Cluster *string `locationName:"cluster" type:"string"` // A list of services to describe. Services []*string `locationName:"services" type:"list" required:"true"` } // String returns the string representation func (s DescribeServicesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeServicesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeServicesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} if s.Services == nil { invalidParams.Add(request.NewErrParamRequired("Services")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DescribeServicesOutput struct { _ struct{} `type:"structure"` // Any failures associated with the call. Failures []*Failure `locationName:"failures" type:"list"` // The list of services described. Services []*Service `locationName:"services" type:"list"` } // String returns the string representation func (s DescribeServicesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeServicesOutput) GoString() string { return s.String() } type DescribeTaskDefinitionInput struct { _ struct{} `type:"structure"` // The family for the latest ACTIVE revision, family and revision (family:revision) // for a specific revision in the family, or full Amazon Resource Name (ARN) // of the task definition to describe. TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } // String returns the string representation func (s DescribeTaskDefinitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeTaskDefinitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeTaskDefinitionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} if s.TaskDefinition == nil { invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DescribeTaskDefinitionOutput struct { _ struct{} `type:"structure"` // The full task definition description. TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` } // String returns the string representation func (s DescribeTaskDefinitionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeTaskDefinitionOutput) GoString() string { return s.String() } type DescribeTasksInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the task to describe. If you do not specify a cluster, the default cluster // is assumed. Cluster *string `locationName:"cluster" type:"string"` // A space-separated list of task IDs or full Amazon Resource Name (ARN) entries. Tasks []*string `locationName:"tasks" type:"list" required:"true"` } // String returns the string representation func (s DescribeTasksInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeTasksInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeTasksInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} if s.Tasks == nil { invalidParams.Add(request.NewErrParamRequired("Tasks")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DescribeTasksOutput struct { _ struct{} `type:"structure"` // Any failures associated with the call. Failures []*Failure `locationName:"failures" type:"list"` // The list of tasks. Tasks []*Task `locationName:"tasks" type:"list"` } // String returns the string representation func (s DescribeTasksOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeTasksOutput) GoString() string { return s.String() } type DiscoverPollEndpointInput struct { _ struct{} `type:"structure"` // The cluster that the container instance belongs to. Cluster *string `locationName:"cluster" type:"string"` // The container instance ID or full Amazon Resource Name (ARN) of the container // instance. The ARN contains the arn:aws:ecs namespace, followed by the region // of the container instance, the AWS account ID of the container instance owner, // the container-instance namespace, and then the container instance ID. For // example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID // . ContainerInstance *string `locationName:"containerInstance" type:"string"` } // String returns the string representation func (s DiscoverPollEndpointInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DiscoverPollEndpointInput) GoString() string { return s.String() } type DiscoverPollEndpointOutput struct { _ struct{} `type:"structure"` // The endpoint for the Amazon ECS agent to poll. Endpoint *string `locationName:"endpoint" type:"string"` // The telemetry endpoint for the Amazon ECS agent. TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` } // String returns the string representation func (s DiscoverPollEndpointOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DiscoverPollEndpointOutput) GoString() string { return s.String() } // A failed resource. type Failure struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the failed resource. Arn *string `locationName:"arn" type:"string"` // The reason for the failure. Reason *string `locationName:"reason" type:"string"` } // String returns the string representation func (s Failure) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Failure) GoString() string { return s.String() } // Hostnames and IP address entries that are added to the /etc/hosts file of // a container via the extraHosts parameter of its ContainerDefinition. type HostEntry struct { _ struct{} `type:"structure"` // The hostname to use in the /etc/hosts entry. Hostname *string `locationName:"hostname" type:"string" required:"true"` // The IP address to use in the /etc/hosts entry. IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` } // String returns the string representation func (s HostEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s HostEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *HostEntry) Validate() error { invalidParams := request.ErrInvalidParams{Context: "HostEntry"} if s.Hostname == nil { invalidParams.Add(request.NewErrParamRequired("Hostname")) } if s.IpAddress == nil { invalidParams.Add(request.NewErrParamRequired("IpAddress")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Details on a container instance host volume. type HostVolumeProperties struct { _ struct{} `type:"structure"` // The path on the host container instance that is presented to the container. // If this parameter is empty, then the Docker daemon has assigned a host path // for you. If the host parameter contains a sourcePath file location, then // the data volume persists at the specified location on the host container // instance until you delete it manually. If the sourcePath value does not exist // on the host container instance, the Docker daemon creates it. If the location // does exist, the contents of the source path folder are exported. SourcePath *string `locationName:"sourcePath" type:"string"` } // String returns the string representation func (s HostVolumeProperties) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s HostVolumeProperties) GoString() string { return s.String() } // A key and value pair object. type KeyValuePair struct { _ struct{} `type:"structure"` // The name of the key value pair. For environment variables, this is the name // of the environment variable. Name *string `locationName:"name" type:"string"` // The value of the key value pair. For environment variables, this is the value // of the environment variable. Value *string `locationName:"value" type:"string"` } // String returns the string representation func (s KeyValuePair) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s KeyValuePair) GoString() string { return s.String() } type ListClustersInput struct { _ struct{} `type:"structure"` // The maximum number of cluster results returned by ListClusters in paginated // output. When this parameter is used, ListClusters only returns maxResults // results in a single page along with a nextToken response element. The remaining // results of the initial request can be seen by sending another ListClusters // request with the returned nextToken value. This value can be between 1 and // 100. If this parameter is not used, then ListClusters returns up to 100 results // and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The nextToken value returned from a previous paginated ListClusters request // where maxResults was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. This value is null when there are no more results to return. // // This token should be treated as an opaque identifier that is only used // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation func (s ListClustersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListClustersInput) GoString() string { return s.String() } type ListClustersOutput struct { _ struct{} `type:"structure"` // The list of full Amazon Resource Name (ARN) entries for each cluster associated // with your account. ClusterArns []*string `locationName:"clusterArns" type:"list"` // The nextToken value to include in a future ListClusters request. When the // results of a ListClusters request exceed maxResults, this value can be used // to retrieve the next page of results. This value is null when there are no // more results to return. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation func (s ListClustersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListClustersOutput) GoString() string { return s.String() } type ListContainerInstancesInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the container instances to list. If you do not specify a cluster, the default // cluster is assumed.. Cluster *string `locationName:"cluster" type:"string"` // The maximum number of container instance results returned by ListContainerInstances // in paginated output. When this parameter is used, ListContainerInstances // only returns maxResults results in a single page along with a nextToken response // element. The remaining results of the initial request can be seen by sending // another ListContainerInstances request with the returned nextToken value. // This value can be between 1 and 100. If this parameter is not used, then // ListContainerInstances returns up to 100 results and a nextToken value if // applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The nextToken value returned from a previous paginated ListContainerInstances // request where maxResults was used and the results exceeded the value of that // parameter. Pagination continues from the end of the previous results that // returned the nextToken value. This value is null when there are no more results // to return. // // This token should be treated as an opaque identifier that is only used // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation func (s ListContainerInstancesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListContainerInstancesInput) GoString() string { return s.String() } type ListContainerInstancesOutput struct { _ struct{} `type:"structure"` // The list of container instances with full Amazon Resource Name (ARN) entries // for each container instance associated with the specified cluster. ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` // The nextToken value to include in a future ListContainerInstances request. // When the results of a ListContainerInstances request exceed maxResults, this // value can be used to retrieve the next page of results. This value is null // when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation func (s ListContainerInstancesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListContainerInstancesOutput) GoString() string { return s.String() } type ListServicesInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the services to list. If you do not specify a cluster, the default cluster // is assumed.. Cluster *string `locationName:"cluster" type:"string"` // The maximum number of container instance results returned by ListServices // in paginated output. When this parameter is used, ListServices only returns // maxResults results in a single page along with a nextToken response element. // The remaining results of the initial request can be seen by sending another // ListServices request with the returned nextToken value. This value can be // between 1 and 10. If this parameter is not used, then ListServices returns // up to 10 results and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The nextToken value returned from a previous paginated ListServices request // where maxResults was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. This value is null when there are no more results to return. // // This token should be treated as an opaque identifier that is only used // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation func (s ListServicesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListServicesInput) GoString() string { return s.String() } type ListServicesOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListServices request. When the // results of a ListServices request exceed maxResults, this value can be used // to retrieve the next page of results. This value is null when there are no // more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of full Amazon Resource Name (ARN) entries for each service associated // with the specified cluster. ServiceArns []*string `locationName:"serviceArns" type:"list"` } // String returns the string representation func (s ListServicesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListServicesOutput) GoString() string { return s.String() } type ListTaskDefinitionFamiliesInput struct { _ struct{} `type:"structure"` // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. // If you specify a familyPrefix, only task definition family names that begin // with the familyPrefix string are returned. FamilyPrefix *string `locationName:"familyPrefix" type:"string"` // The maximum number of task definition family results returned by ListTaskDefinitionFamilies // in paginated output. When this parameter is used, ListTaskDefinitions only // returns maxResults results in a single page along with a nextToken response // element. The remaining results of the initial request can be seen by sending // another ListTaskDefinitionFamilies request with the returned nextToken value. // This value can be between 1 and 100. If this parameter is not used, then // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value // if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The nextToken value returned from a previous paginated ListTaskDefinitionFamilies // request where maxResults was used and the results exceeded the value of that // parameter. Pagination continues from the end of the previous results that // returned the nextToken value. This value is null when there are no more results // to return. // // This token should be treated as an opaque identifier that is only used // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` // The task definition family status with which to filter the ListTaskDefinitionFamilies // results. By default, both ACTIVE and INACTIVE task definition families are // listed. If this parameter is set to ACTIVE, only task definition families // that have an ACTIVE task definition revision are returned. If this parameter // is set to INACTIVE, only task definition families that do not have any ACTIVE // task definition revisions are returned. If you paginate the resulting output, // be sure to keep the status value constant in each subsequent request. Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` } // String returns the string representation func (s ListTaskDefinitionFamiliesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTaskDefinitionFamiliesInput) GoString() string { return s.String() } type ListTaskDefinitionFamiliesOutput struct { _ struct{} `type:"structure"` // The list of task definition family names that match the ListTaskDefinitionFamilies // request. Families []*string `locationName:"families" type:"list"` // The nextToken value to include in a future ListTaskDefinitionFamilies request. // When the results of a ListTaskDefinitionFamilies request exceed maxResults, // this value can be used to retrieve the next page of results. This value is // null when there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation func (s ListTaskDefinitionFamiliesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTaskDefinitionFamiliesOutput) GoString() string { return s.String() } type ListTaskDefinitionsInput struct { _ struct{} `type:"structure"` // The full family name with which to filter the ListTaskDefinitions results. // Specifying a familyPrefix limits the listed task definitions to task definition // revisions that belong to that family. FamilyPrefix *string `locationName:"familyPrefix" type:"string"` // The maximum number of task definition results returned by ListTaskDefinitions // in paginated output. When this parameter is used, ListTaskDefinitions only // returns maxResults results in a single page along with a nextToken response // element. The remaining results of the initial request can be seen by sending // another ListTaskDefinitions request with the returned nextToken value. This // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions // returns up to 100 results and a nextToken value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The nextToken value returned from a previous paginated ListTaskDefinitions // request where maxResults was used and the results exceeded the value of that // parameter. Pagination continues from the end of the previous results that // returned the nextToken value. This value is null when there are no more results // to return. // // This token should be treated as an opaque identifier that is only used // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` // The order in which to sort the results. Valid values are ASC and DESC. By // default (ASC), task definitions are listed lexicographically by family name // and in ascending numerical order by revision so that the newest task definitions // in a family are listed last. Setting this parameter to DESC reverses the // sort order on family name and revision so that the newest task definitions // in a family are listed first. Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` // The task definition status with which to filter the ListTaskDefinitions results. // By default, only ACTIVE task definitions are listed. By setting this parameter // to INACTIVE, you can view task definitions that are INACTIVE as long as an // active task or service still references them. If you paginate the resulting // output, be sure to keep the status value constant in each subsequent request. Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` } // String returns the string representation func (s ListTaskDefinitionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTaskDefinitionsInput) GoString() string { return s.String() } type ListTaskDefinitionsOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListTaskDefinitions request. When // the results of a ListTaskDefinitions request exceed maxResults, this value // can be used to retrieve the next page of results. This value is null when // there are no more results to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions // request. TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` } // String returns the string representation func (s ListTaskDefinitionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTaskDefinitionsOutput) GoString() string { return s.String() } type ListTasksInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the tasks to list. If you do not specify a cluster, the default cluster is // assumed.. Cluster *string `locationName:"cluster" type:"string"` // The container instance ID or full Amazon Resource Name (ARN) of the container // instance with which to filter the ListTasks results. Specifying a containerInstance // limits the results to tasks that belong to that container instance. ContainerInstance *string `locationName:"containerInstance" type:"string"` // The task desired status with which to filter the ListTasks results. Specifying // a desiredStatus of STOPPED limits the results to tasks that ECS has set the // desired status to STOPPED, which can be useful for debugging tasks that are // not starting properly or have died or finished. The default status filter // is RUNNING, which shows tasks that ECS has set the desired status to RUNNING. // // Although you can filter results based on a desired status of PENDING, this // will not return any results because ECS never sets the desired status of // a task to that value (only a task's lastStatus may have a value of PENDING). DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` // The name of the family with which to filter the ListTasks results. Specifying // a family limits the results to tasks that belong to that family. Family *string `locationName:"family" type:"string"` // The maximum number of task results returned by ListTasks in paginated output. // When this parameter is used, ListTasks only returns maxResults results in // a single page along with a nextToken response element. The remaining results // of the initial request can be seen by sending another ListTasks request with // the returned nextToken value. This value can be between 1 and 100. If this // parameter is not used, then ListTasks returns up to 100 results and a nextToken // value if applicable. MaxResults *int64 `locationName:"maxResults" type:"integer"` // The nextToken value returned from a previous paginated ListTasks request // where maxResults was used and the results exceeded the value of that parameter. // Pagination continues from the end of the previous results that returned the // nextToken value. This value is null when there are no more results to return. // // This token should be treated as an opaque identifier that is only used // to retrieve the next items in a list and not for other programmatic purposes. NextToken *string `locationName:"nextToken" type:"string"` // The name of the service with which to filter the ListTasks results. Specifying // a serviceName limits the results to tasks that belong to that service. ServiceName *string `locationName:"serviceName" type:"string"` // The startedBy value with which to filter the task results. Specifying a startedBy // value limits the results to tasks that were started with that value. StartedBy *string `locationName:"startedBy" type:"string"` } // String returns the string representation func (s ListTasksInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTasksInput) GoString() string { return s.String() } type ListTasksOutput struct { _ struct{} `type:"structure"` // The nextToken value to include in a future ListTasks request. When the results // of a ListTasks request exceed maxResults, this value can be used to retrieve // the next page of results. This value is null when there are no more results // to return. NextToken *string `locationName:"nextToken" type:"string"` // The list of task Amazon Resource Name (ARN) entries for the ListTasks request. TaskArns []*string `locationName:"taskArns" type:"list"` } // String returns the string representation func (s ListTasksOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTasksOutput) GoString() string { return s.String() } // Details on a load balancer that is used with a service. type LoadBalancer struct { _ struct{} `type:"structure"` // The name of the container (as it appears in a container definition) to associate // with the load balancer. ContainerName *string `locationName:"containerName" type:"string"` // The port on the container to associate with the load balancer. This port // must correspond to a containerPort in the service's task definition. Your // container instances must allow ingress traffic on the hostPort of the port // mapping. ContainerPort *int64 `locationName:"containerPort" type:"integer"` // The name of the load balancer. LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target // group associated with a service. TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` } // String returns the string representation func (s LoadBalancer) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s LoadBalancer) GoString() string { return s.String() } // Log configuration options to send to a custom log driver for the container. type LogConfiguration struct { _ struct{} `type:"structure"` // The log driver to use for the container. The valid values listed for this // parameter are log drivers that the Amazon ECS container agent can communicate // with by default. // // If you have a custom driver that is not listed above that you would like // to work with the Amazon ECS container agent, you can fork the Amazon ECS // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) // and customize it to work with that driver. We encourage you to submit pull // requests for changes that you would like to have included. However, Amazon // Web Services does not currently provide support for running modified copies // of this software. // // This parameter requires version 1.18 of the Docker Remote API or greater // on your container instance. To check the Docker Remote API version on your // container instance, log into your container instance and run the following // command: sudo docker version | grep "Server API version" LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` // The configuration options to send to the log driver. This parameter requires // version 1.19 of the Docker Remote API or greater on your container instance. // To check the Docker Remote API version on your container instance, log into // your container instance and run the following command: sudo docker version // | grep "Server API version" Options map[string]*string `locationName:"options" type:"map"` } // String returns the string representation func (s LogConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s LogConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *LogConfiguration) Validate() error { invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} if s.LogDriver == nil { invalidParams.Add(request.NewErrParamRequired("LogDriver")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Details on a volume mount point that is used in a container definition. type MountPoint struct { _ struct{} `type:"structure"` // The path on the container to mount the host volume at. ContainerPath *string `locationName:"containerPath" type:"string"` // If this value is true, the container has read-only access to the volume. // If this value is false, then the container can write to the volume. The default // value is false. ReadOnly *bool `locationName:"readOnly" type:"boolean"` // The name of the volume to mount. SourceVolume *string `locationName:"sourceVolume" type:"string"` } // String returns the string representation func (s MountPoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s MountPoint) GoString() string { return s.String() } // Details on the network bindings between a container and its host container // instance. After a task reaches the RUNNING status, manual and automatic host // and container port assignments are visible in the networkBindings section // of DescribeTasks API responses. type NetworkBinding struct { _ struct{} `type:"structure"` // The IP address that the container is bound to on the container instance. BindIP *string `locationName:"bindIP" type:"string"` // The port number on the container that is be used with the network binding. ContainerPort *int64 `locationName:"containerPort" type:"integer"` // The port number on the host that is used with the network binding. HostPort *int64 `locationName:"hostPort" type:"integer"` // The protocol used for the network binding. Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` } // String returns the string representation func (s NetworkBinding) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NetworkBinding) GoString() string { return s.String() } // Port mappings allow containers to access ports on the host container instance // to send or receive traffic. Port mappings are specified as part of the container // definition. After a task reaches the RUNNING status, manual and automatic // host and container port assignments are visible in the networkBindings section // of DescribeTasks API responses. type PortMapping struct { _ struct{} `type:"structure"` // The port number on the container that is bound to the user-specified or automatically // assigned host port. If you specify a container port and not a host port, // your container automatically receives a host port in the ephemeral port range // (for more information, see hostPort). Port mappings that are automatically // assigned in this way do not count toward the 100 reserved ports limit of // a container instance. ContainerPort *int64 `locationName:"containerPort" type:"integer"` // The port number on the container instance to reserve for your container. // You can specify a non-reserved host port for your container port mapping, // or you can omit the hostPort (or set it to 0) while specifying a containerPort // and your container automatically receives a port in the ephemeral port range // for your container instance operating system and Docker version. // // The default ephemeral port range is 49153 to 65535, and this range is used // for Docker versions prior to 1.6.0. For Docker version 1.6.0 and later, the // Docker daemon tries to read the ephemeral port range from /proc/sys/net/ipv4/ip_local_port_range; // if this kernel parameter is unavailable, the default ephemeral port range // is used. You should not attempt to specify a host port in the ephemeral port // range, because these are reserved for automatic assignment. In general, ports // below 32768 are outside of the ephemeral port range. // // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, // and the Amazon ECS container agent port 51678. Any host port that was previously // specified in a running task is also reserved while the task is running (after // a task stops, the host port is released).The current reserved ports are displayed // in the remainingResources of DescribeContainerInstances output, and a container // instance may have up to 100 reserved ports at a time, including the default // reserved ports (automatically assigned ports do not count toward the 100 // reserved ports limit). HostPort *int64 `locationName:"hostPort" type:"integer"` // The protocol used for the port mapping. Valid values are tcp and udp. The // default is tcp. Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` } // String returns the string representation func (s PortMapping) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PortMapping) GoString() string { return s.String() } type RegisterContainerInstanceInput struct { _ struct{} `type:"structure"` // The container instance attributes that this container instance supports. Attributes []*Attribute `locationName:"attributes" type:"list"` // The short name or full Amazon Resource Name (ARN) of the cluster with which // to register your container instance. If you do not specify a cluster, the // default cluster is assumed.. Cluster *string `locationName:"cluster" type:"string"` // The Amazon Resource Name (ARN) of the container instance (if it was previously // registered). ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` // The instance identity document for the EC2 instance to register. This document // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` // The instance identity document signature for the EC2 instance to register. // This signature can be found by running the following command from the instance: // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` // The resources available on the instance. TotalResources []*Resource `locationName:"totalResources" type:"list"` // The version information for the Amazon ECS container agent and Docker daemon // running on the container instance. VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` } // String returns the string representation func (s RegisterContainerInstanceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RegisterContainerInstanceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RegisterContainerInstanceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} if s.Attributes != nil { for i, v := range s.Attributes { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type RegisterContainerInstanceOutput struct { _ struct{} `type:"structure"` // An EC2 instance that is running the Amazon ECS agent and has been registered // with a cluster. ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` } // String returns the string representation func (s RegisterContainerInstanceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RegisterContainerInstanceOutput) GoString() string { return s.String() } type RegisterTaskDefinitionInput struct { _ struct{} `type:"structure"` // A list of container definitions in JSON format that describe the different // containers that make up your task. ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` // You must specify a family for a task definition, which allows you to track // multiple versions of the same task definition. The family is used as a name // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. Family *string `locationName:"family" type:"string" required:"true"` // The Docker networking mode to use for the containers in the task. The valid // values are none, bridge, and host. // // The default Docker network mode is bridge. If the network mode is set to // none, you cannot specify port mappings in your container definitions, and // the task's containers do not have external connectivity. The host network // mode offers the highest networking performance for containers because they // use the host network stack instead of the virtualized network stack provided // by the bridge mode; however, exposed container ports are mapped directly // to the corresponding host port, so you cannot take advantage of dynamic host // port mappings or run multiple instantiations of the same task on a single // container instance if port mappings are used. // // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) // in the Docker run reference. NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` // The Amazon Resource Name (ARN) of the IAM role that containers in this task // can assume. All containers in this task are granted the permissions that // are specified in this role. TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` // A list of volume definitions in JSON format that containers in your task // may use. Volumes []*Volume `locationName:"volumes" type:"list"` } // String returns the string representation func (s RegisterTaskDefinitionInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RegisterTaskDefinitionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RegisterTaskDefinitionInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} if s.ContainerDefinitions == nil { invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) } if s.Family == nil { invalidParams.Add(request.NewErrParamRequired("Family")) } if s.ContainerDefinitions != nil { for i, v := range s.ContainerDefinitions { if v == nil { continue } if err := v.Validate(); err != nil { invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) } } } if invalidParams.Len() > 0 { return invalidParams } return nil } type RegisterTaskDefinitionOutput struct { _ struct{} `type:"structure"` // The full description of the registered task definition. TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` } // String returns the string representation func (s RegisterTaskDefinitionOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RegisterTaskDefinitionOutput) GoString() string { return s.String() } // Describes the resources available for a container instance. type Resource struct { _ struct{} `type:"structure"` // When the doubleValue type is set, the value of the resource must be a double // precision floating-point type. DoubleValue *float64 `locationName:"doubleValue" type:"double"` // When the integerValue type is set, the value of the resource must be an integer. IntegerValue *int64 `locationName:"integerValue" type:"integer"` // When the longValue type is set, the value of the resource must be an extended // precision floating-point type. LongValue *int64 `locationName:"longValue" type:"long"` // The name of the resource, such as CPU, MEMORY, PORTS, or a user-defined resource. Name *string `locationName:"name" type:"string"` // When the stringSetValue type is set, the value of the resource must be a // string type. StringSetValue []*string `locationName:"stringSetValue" type:"list"` // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. Type *string `locationName:"type" type:"string"` } // String returns the string representation func (s Resource) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Resource) GoString() string { return s.String() } type RunTaskInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster on which // to run your task. If you do not specify a cluster, the default cluster is // assumed.. Cluster *string `locationName:"cluster" type:"string"` // The number of instantiations of the specified task to place on your cluster. // // The count parameter is limited to 10 tasks per call. Count *int64 `locationName:"count" type:"integer"` // A list of container overrides in JSON format that specify the name of a container // in the specified task definition and the overrides it should receive. You // can override the default command for a container (that is specified in the // task definition or Docker image) with a command override. You can also override // existing environment variables (that are specified in the task definition // or Docker image) on a container or add new environment variables to it with // an environment override. // // A total of 8192 characters are allowed for overrides. This limit includes // the JSON formatting characters of the override structure. Overrides *TaskOverride `locationName:"overrides" type:"structure"` // An optional tag specified when a task is started. For example if you automatically // trigger a task to run a batch process job, you could apply a unique identifier // for that job to your task with the startedBy parameter. You can then identify // which tasks belong to that job by filtering the results of a ListTasks call // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. // // If a task is started by an Amazon ECS service, then the startedBy parameter // contains the deployment ID of the service that starts it. StartedBy *string `locationName:"startedBy" type:"string"` // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to run. If a revision is not specified, the latest // ACTIVE revision is used. TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } // String returns the string representation func (s RunTaskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RunTaskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RunTaskInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} if s.TaskDefinition == nil { invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type RunTaskOutput struct { _ struct{} `type:"structure"` // Any failures associated with the call. Failures []*Failure `locationName:"failures" type:"list"` // A full description of the tasks that were run. Each task that was successfully // placed on your cluster are described here. Tasks []*Task `locationName:"tasks" type:"list"` } // String returns the string representation func (s RunTaskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RunTaskOutput) GoString() string { return s.String() } // Details on a service within a cluster type Service struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the cluster that hosts the service. ClusterArn *string `locationName:"clusterArn" type:"string"` // The Unix timestamp for when the service was created. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` // Optional deployment parameters that control how many tasks run during the // deployment and the ordering of stopping and starting tasks. DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` // The current state of deployments for the service. Deployments []*Deployment `locationName:"deployments" type:"list"` // The desired number of instantiations of the task definition to keep running // on the service. This value is specified when the service is created with // CreateService, and it can be modified with UpdateService. DesiredCount *int64 `locationName:"desiredCount" type:"integer"` // The event stream for your service. A maximum of 100 of the latest events // are displayed. Events []*ServiceEvent `locationName:"events" type:"list"` // A list of Elastic Load Balancing load balancer objects, containing the load // balancer name, the container name (as it appears in a container definition), // and the container port to access from the load balancer. LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` // The number of tasks in the cluster that are in the PENDING state. PendingCount *int64 `locationName:"pendingCount" type:"integer"` // The Amazon Resource Name (ARN) of the IAM role associated with the service // that allows the Amazon ECS container agent to register container instances // with an Elastic Load Balancing load balancer. RoleArn *string `locationName:"roleArn" type:"string"` // The number of tasks in the cluster that are in the RUNNING state. RunningCount *int64 `locationName:"runningCount" type:"integer"` // The Amazon Resource Name (ARN) that identifies the service. The ARN contains // the arn:aws:ecs namespace, followed by the region of the service, the AWS // account ID of the service owner, the service namespace, and then the service // name. For example, arn:aws:ecs:region:012345678910:service/my-service . ServiceArn *string `locationName:"serviceArn" type:"string"` // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. Service names must be unique within // a cluster, but you can have similarly named services in multiple clusters // within a region or across multiple regions. ServiceName *string `locationName:"serviceName" type:"string"` // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. Status *string `locationName:"status" type:"string"` // The task definition to use for tasks in the service. This value is specified // when the service is created with CreateService, and it can be modified with // UpdateService. TaskDefinition *string `locationName:"taskDefinition" type:"string"` } // String returns the string representation func (s Service) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Service) GoString() string { return s.String() } // Details on an event associated with a service. type ServiceEvent struct { _ struct{} `type:"structure"` // The Unix timestamp for when the event was triggered. CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` // The ID string of the event. Id *string `locationName:"id" type:"string"` // The event message. Message *string `locationName:"message" type:"string"` } // String returns the string representation func (s ServiceEvent) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ServiceEvent) GoString() string { return s.String() } type StartTaskInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster on which // to start your task. If you do not specify a cluster, the default cluster // is assumed.. Cluster *string `locationName:"cluster" type:"string"` // The container instance IDs or full Amazon Resource Name (ARN) entries for // the container instances on which you would like to place your task. // // The list of container instances to start tasks on is limited to 10. ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` // A list of container overrides in JSON format that specify the name of a container // in the specified task definition and the overrides it should receive. You // can override the default command for a container (that is specified in the // task definition or Docker image) with a command override. You can also override // existing environment variables (that are specified in the task definition // or Docker image) on a container or add new environment variables to it with // an environment override. // // A total of 8192 characters are allowed for overrides. This limit includes // the JSON formatting characters of the override structure. Overrides *TaskOverride `locationName:"overrides" type:"structure"` // An optional tag specified when a task is started. For example if you automatically // trigger a task to run a batch process job, you could apply a unique identifier // for that job to your task with the startedBy parameter. You can then identify // which tasks belong to that job by filtering the results of a ListTasks call // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. // // If a task is started by an Amazon ECS service, then the startedBy parameter // contains the deployment ID of the service that starts it. StartedBy *string `locationName:"startedBy" type:"string"` // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to start. If a revision is not specified, the latest // ACTIVE revision is used. TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` } // String returns the string representation func (s StartTaskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StartTaskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StartTaskInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} if s.ContainerInstances == nil { invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) } if s.TaskDefinition == nil { invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type StartTaskOutput struct { _ struct{} `type:"structure"` // Any failures associated with the call. Failures []*Failure `locationName:"failures" type:"list"` // A full description of the tasks that were started. Each task that was successfully // placed on your container instances are described here. Tasks []*Task `locationName:"tasks" type:"list"` } // String returns the string representation func (s StartTaskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StartTaskOutput) GoString() string { return s.String() } type StopTaskInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the task to stop. If you do not specify a cluster, the default cluster is // assumed.. Cluster *string `locationName:"cluster" type:"string"` // An optional message specified when a task is stopped. For example, if you // are using a custom scheduler, you can use this parameter to specify the reason // for stopping the task here, and the message will appear in subsequent DescribeTasks // API operations on this task. Up to 255 characters are allowed in this message. Reason *string `locationName:"reason" type:"string"` // The task ID or full Amazon Resource Name (ARN) entry of the task to stop. Task *string `locationName:"task" type:"string" required:"true"` } // String returns the string representation func (s StopTaskInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StopTaskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *StopTaskInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} if s.Task == nil { invalidParams.Add(request.NewErrParamRequired("Task")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type StopTaskOutput struct { _ struct{} `type:"structure"` // Details on a task in a cluster. Task *Task `locationName:"task" type:"structure"` } // String returns the string representation func (s StopTaskOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s StopTaskOutput) GoString() string { return s.String() } type SubmitContainerStateChangeInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the container. Cluster *string `locationName:"cluster" type:"string"` // The name of the container. ContainerName *string `locationName:"containerName" type:"string"` // The exit code returned for the state change request. ExitCode *int64 `locationName:"exitCode" type:"integer"` // The network bindings of the container. NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` // The reason for the state change request. Reason *string `locationName:"reason" type:"string"` // The status of the state change request. Status *string `locationName:"status" type:"string"` // The task ID or full Amazon Resource Name (ARN) of the task that hosts the // container. Task *string `locationName:"task" type:"string"` } // String returns the string representation func (s SubmitContainerStateChangeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SubmitContainerStateChangeInput) GoString() string { return s.String() } type SubmitContainerStateChangeOutput struct { _ struct{} `type:"structure"` // Acknowledgement of the state change. Acknowledgment *string `locationName:"acknowledgment" type:"string"` } // String returns the string representation func (s SubmitContainerStateChangeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SubmitContainerStateChangeOutput) GoString() string { return s.String() } type SubmitTaskStateChangeInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that hosts // the task. Cluster *string `locationName:"cluster" type:"string"` // The reason for the state change request. Reason *string `locationName:"reason" type:"string"` // The status of the state change request. Status *string `locationName:"status" type:"string"` // The task ID or full Amazon Resource Name (ARN) of the task in the state change // request. Task *string `locationName:"task" type:"string"` } // String returns the string representation func (s SubmitTaskStateChangeInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SubmitTaskStateChangeInput) GoString() string { return s.String() } type SubmitTaskStateChangeOutput struct { _ struct{} `type:"structure"` // Acknowledgement of the state change. Acknowledgment *string `locationName:"acknowledgment" type:"string"` } // String returns the string representation func (s SubmitTaskStateChangeOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SubmitTaskStateChangeOutput) GoString() string { return s.String() } // Details on a task in a cluster. type Task struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) of the cluster that hosts the task. ClusterArn *string `locationName:"clusterArn" type:"string"` // The Amazon Resource Name (ARN) of the container instances that host the task. ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` // The containers associated with the task. Containers []*Container `locationName:"containers" type:"list"` // The Unix timestamp for when the task was created (the task entered the PENDING // state). CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"unix"` // The desired status of the task. DesiredStatus *string `locationName:"desiredStatus" type:"string"` // The last known status of the task. LastStatus *string `locationName:"lastStatus" type:"string"` // One or more container overrides. Overrides *TaskOverride `locationName:"overrides" type:"structure"` // The Unix timestamp for when the task was started (the task transitioned from // the PENDING state to the RUNNING state). StartedAt *time.Time `locationName:"startedAt" type:"timestamp" timestampFormat:"unix"` // The tag specified when a task is started. If the task is started by an Amazon // ECS service, then the startedBy parameter contains the deployment ID of the // service that starts it. StartedBy *string `locationName:"startedBy" type:"string"` // The Unix timestamp for when the task was stopped (the task transitioned from // the RUNNING state to the STOPPED state). StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp" timestampFormat:"unix"` // The reason the task was stopped. StoppedReason *string `locationName:"stoppedReason" type:"string"` // The Amazon Resource Name (ARN) of the task. TaskArn *string `locationName:"taskArn" type:"string"` // The Amazon Resource Name (ARN) of the task definition that creates the task. TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` } // String returns the string representation func (s Task) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Task) GoString() string { return s.String() } // Details of a task definition. type TaskDefinition struct { _ struct{} `type:"structure"` // A list of container definitions in JSON format that describe the different // containers that make up your task. For more information about container definition // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) // in the Amazon EC2 Container Service Developer Guide. ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` // The family of your task definition, used as the definition name. Family *string `locationName:"family" type:"string"` // The Docker networking mode to use for the containers in the task. The valid // values are none, bridge, and host. // // If the network mode is none, the containers do not have external connectivity. // The default Docker network mode is bridge. The host network mode offers the // highest networking performance for containers because it uses the host network // stack instead of the virtualized network stack provided by the bridge mode. // // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) // in the Docker run reference. NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` // The container instance attributes required by your task. RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` // The revision of the task in a particular family. The revision is a version // number of a task definition in a family. When you register a task definition // for the first time, the revision is 1; each time you register a new revision // of a task definition in the same family, the revision value always increases // by one (even if you have deregistered previous revisions in this family). Revision *int64 `locationName:"revision" type:"integer"` // The status of the task definition. Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` // The full Amazon Resource Name (ARN) of the task definition. TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` // The Amazon Resource Name (ARN) of the IAM role that containers in this task // can assume. All containers in this task are granted the permissions that // are specified in this role. TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` // The list of volumes in a task. For more information about volume definition // parameters and defaults, see Amazon ECS Task Definitions (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) // in the Amazon EC2 Container Service Developer Guide. Volumes []*Volume `locationName:"volumes" type:"list"` } // String returns the string representation func (s TaskDefinition) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TaskDefinition) GoString() string { return s.String() } // The overrides associated with a task. type TaskOverride struct { _ struct{} `type:"structure"` // One or more container overrides sent to a task. ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` // The Amazon Resource Name (ARN) of the IAM role that containers in this task // can assume. All containers in this task are granted the permissions that // are specified in this role. TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` } // String returns the string representation func (s TaskOverride) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TaskOverride) GoString() string { return s.String() } // The ulimit settings to pass to the container. type Ulimit struct { _ struct{} `type:"structure"` // The hard limit for the ulimit type. HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` // The type of the ulimit. Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` // The soft limit for the ulimit type. SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` } // String returns the string representation func (s Ulimit) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Ulimit) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *Ulimit) Validate() error { invalidParams := request.ErrInvalidParams{Context: "Ulimit"} if s.HardLimit == nil { invalidParams.Add(request.NewErrParamRequired("HardLimit")) } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } if s.SoftLimit == nil { invalidParams.Add(request.NewErrParamRequired("SoftLimit")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type UpdateContainerAgentInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that your // container instance is running on. If you do not specify a cluster, the default // cluster is assumed. Cluster *string `locationName:"cluster" type:"string"` // The container instance ID or full Amazon Resource Name (ARN) entries for // the container instance on which you would like to update the Amazon ECS container // agent. ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` } // String returns the string representation func (s UpdateContainerAgentInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateContainerAgentInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateContainerAgentInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} if s.ContainerInstance == nil { invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type UpdateContainerAgentOutput struct { _ struct{} `type:"structure"` // An EC2 instance that is running the Amazon ECS agent and has been registered // with a cluster. ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` } // String returns the string representation func (s UpdateContainerAgentOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateContainerAgentOutput) GoString() string { return s.String() } type UpdateServiceInput struct { _ struct{} `type:"structure"` // The short name or full Amazon Resource Name (ARN) of the cluster that your // service is running on. If you do not specify a cluster, the default cluster // is assumed. Cluster *string `locationName:"cluster" type:"string"` // Optional deployment parameters that control how many tasks run during the // deployment and the ordering of stopping and starting tasks. DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` // The number of instantiations of the task to place and keep running in your // service. DesiredCount *int64 `locationName:"desiredCount" type:"integer"` // The name of the service to update. Service *string `locationName:"service" type:"string" required:"true"` // The family and revision (family:revision) or full Amazon Resource Name (ARN) // of the task definition to run in your service. If a revision is not specified, // the latest ACTIVE revision is used. If you modify the task definition with // UpdateService, Amazon ECS spawns a task with the new version of the task // definition and then stops an old task after the new version is running. TaskDefinition *string `locationName:"taskDefinition" type:"string"` } // String returns the string representation func (s UpdateServiceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateServiceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateServiceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} if s.Service == nil { invalidParams.Add(request.NewErrParamRequired("Service")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type UpdateServiceOutput struct { _ struct{} `type:"structure"` // The full description of your service following the update call. Service *Service `locationName:"service" type:"structure"` } // String returns the string representation func (s UpdateServiceOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s UpdateServiceOutput) GoString() string { return s.String() } // The Docker and Amazon ECS container agent version information about a container // instance. type VersionInfo struct { _ struct{} `type:"structure"` // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. AgentHash *string `locationName:"agentHash" type:"string"` // The version number of the Amazon ECS container agent. AgentVersion *string `locationName:"agentVersion" type:"string"` // The Docker version running on the container instance. DockerVersion *string `locationName:"dockerVersion" type:"string"` } // String returns the string representation func (s VersionInfo) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s VersionInfo) GoString() string { return s.String() } // A data volume used in a task definition. type Volume struct { _ struct{} `type:"structure"` // The contents of the host parameter determine whether your data volume persists // on the host container instance and where it is stored. If the host parameter // is empty, then the Docker daemon assigns a host path for your data volume, // but the data is not guaranteed to persist after the containers associated // with it stop running. Host *HostVolumeProperties `locationName:"host" type:"structure"` // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, // hyphens, and underscores are allowed. This name is referenced in the sourceVolume // parameter of container definition mountPoints. Name *string `locationName:"name" type:"string"` } // String returns the string representation func (s Volume) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Volume) GoString() string { return s.String() } // Details on a data volume from another container. type VolumeFrom struct { _ struct{} `type:"structure"` // If this value is true, the container has read-only access to the volume. // If this value is false, then the container can write to the volume. The default // value is false. ReadOnly *bool `locationName:"readOnly" type:"boolean"` // The name of the container to mount volumes from. SourceContainer *string `locationName:"sourceContainer" type:"string"` } // String returns the string representation func (s VolumeFrom) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s VolumeFrom) GoString() string { return s.String() } const ( // @enum AgentUpdateStatus AgentUpdateStatusPending = "PENDING" // @enum AgentUpdateStatus AgentUpdateStatusStaging = "STAGING" // @enum AgentUpdateStatus AgentUpdateStatusStaged = "STAGED" // @enum AgentUpdateStatus AgentUpdateStatusUpdating = "UPDATING" // @enum AgentUpdateStatus AgentUpdateStatusUpdated = "UPDATED" // @enum AgentUpdateStatus AgentUpdateStatusFailed = "FAILED" ) const ( // @enum DesiredStatus DesiredStatusRunning = "RUNNING" // @enum DesiredStatus DesiredStatusPending = "PENDING" // @enum DesiredStatus DesiredStatusStopped = "STOPPED" ) const ( // @enum LogDriver LogDriverJsonFile = "json-file" // @enum LogDriver LogDriverSyslog = "syslog" // @enum LogDriver LogDriverJournald = "journald" // @enum LogDriver LogDriverGelf = "gelf" // @enum LogDriver LogDriverFluentd = "fluentd" // @enum LogDriver LogDriverAwslogs = "awslogs" // @enum LogDriver LogDriverSplunk = "splunk" ) const ( // @enum NetworkMode NetworkModeBridge = "bridge" // @enum NetworkMode NetworkModeHost = "host" // @enum NetworkMode NetworkModeNone = "none" ) const ( // @enum SortOrder SortOrderAsc = "ASC" // @enum SortOrder SortOrderDesc = "DESC" ) const ( // @enum TaskDefinitionFamilyStatus TaskDefinitionFamilyStatusActive = "ACTIVE" // @enum TaskDefinitionFamilyStatus TaskDefinitionFamilyStatusInactive = "INACTIVE" // @enum TaskDefinitionFamilyStatus TaskDefinitionFamilyStatusAll = "ALL" ) const ( // @enum TaskDefinitionStatus TaskDefinitionStatusActive = "ACTIVE" // @enum TaskDefinitionStatus TaskDefinitionStatusInactive = "INACTIVE" ) const ( // @enum TransportProtocol TransportProtocolTcp = "tcp" // @enum TransportProtocol TransportProtocolUdp = "udp" ) const ( // @enum UlimitName UlimitNameCore = "core" // @enum UlimitName UlimitNameCpu = "cpu" // @enum UlimitName UlimitNameData = "data" // @enum UlimitName UlimitNameFsize = "fsize" // @enum UlimitName UlimitNameLocks = "locks" // @enum UlimitName UlimitNameMemlock = "memlock" // @enum UlimitName UlimitNameMsgqueue = "msgqueue" // @enum UlimitName UlimitNameNice = "nice" // @enum UlimitName UlimitNameNofile = "nofile" // @enum UlimitName UlimitNameNproc = "nproc" // @enum UlimitName UlimitNameRss = "rss" // @enum UlimitName UlimitNameRtprio = "rtprio" // @enum UlimitName UlimitNameRttime = "rttime" // @enum UlimitName UlimitNameSigpending = "sigpending" // @enum UlimitName UlimitNameStack = "stack" )