1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package ecs 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opCreateCapacityProvider = "CreateCapacityProvider" 17 18// CreateCapacityProviderRequest generates a "aws/request.Request" representing the 19// client's request for the CreateCapacityProvider operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See CreateCapacityProvider for more information on using the CreateCapacityProvider 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the CreateCapacityProviderRequest method. 34// req, resp := client.CreateCapacityProviderRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider 42func (c *ECS) CreateCapacityProviderRequest(input *CreateCapacityProviderInput) (req *request.Request, output *CreateCapacityProviderOutput) { 43 op := &request.Operation{ 44 Name: opCreateCapacityProvider, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateCapacityProviderInput{} 51 } 52 53 output = &CreateCapacityProviderOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateCapacityProvider API operation for Amazon EC2 Container Service. 59// 60// Creates a new capacity provider. Capacity providers are associated with an 61// Amazon ECS cluster and are used in capacity provider strategies to facilitate 62// cluster auto scaling. 63// 64// Only capacity providers using an Auto Scaling group can be created. Amazon 65// ECS tasks on AWS Fargate use the FARGATE and FARGATE_SPOT capacity providers 66// which are already created and available to all accounts in Regions supported 67// by AWS Fargate. 68// 69// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 70// with awserr.Error's Code and Message methods to get detailed information about 71// the error. 72// 73// See the AWS API reference guide for Amazon EC2 Container Service's 74// API operation CreateCapacityProvider for usage and error information. 75// 76// Returned Error Codes: 77// * ErrCodeServerException "ServerException" 78// These errors are usually caused by a server issue. 79// 80// * ErrCodeClientException "ClientException" 81// These errors are usually caused by a client action, such as using an action 82// or resource on behalf of a user that doesn't have permissions to use the 83// action or resource, or specifying an identifier that is not valid. 84// 85// * ErrCodeInvalidParameterException "InvalidParameterException" 86// The specified parameter is invalid. Review the available parameters for the 87// API request. 88// 89// * ErrCodeLimitExceededException "LimitExceededException" 90// The limit for the resource has been exceeded. 91// 92// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider 93func (c *ECS) CreateCapacityProvider(input *CreateCapacityProviderInput) (*CreateCapacityProviderOutput, error) { 94 req, out := c.CreateCapacityProviderRequest(input) 95 return out, req.Send() 96} 97 98// CreateCapacityProviderWithContext is the same as CreateCapacityProvider with the addition of 99// the ability to pass a context and additional request options. 100// 101// See CreateCapacityProvider for details on how to use this API operation. 102// 103// The context must be non-nil and will be used for request cancellation. If 104// the context is nil a panic will occur. In the future the SDK may create 105// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 106// for more information on using Contexts. 107func (c *ECS) CreateCapacityProviderWithContext(ctx aws.Context, input *CreateCapacityProviderInput, opts ...request.Option) (*CreateCapacityProviderOutput, error) { 108 req, out := c.CreateCapacityProviderRequest(input) 109 req.SetContext(ctx) 110 req.ApplyOptions(opts...) 111 return out, req.Send() 112} 113 114const opCreateCluster = "CreateCluster" 115 116// CreateClusterRequest generates a "aws/request.Request" representing the 117// client's request for the CreateCluster operation. The "output" return 118// value will be populated with the request's response once the request completes 119// successfully. 120// 121// Use "Send" method on the returned Request to send the API call to the service. 122// the "output" return value is not valid until after Send returns without error. 123// 124// See CreateCluster for more information on using the CreateCluster 125// API call, and error handling. 126// 127// This method is useful when you want to inject custom logic or configuration 128// into the SDK's request lifecycle. Such as custom headers, or retry logic. 129// 130// 131// // Example sending a request using the CreateClusterRequest method. 132// req, resp := client.CreateClusterRequest(params) 133// 134// err := req.Send() 135// if err == nil { // resp is now filled 136// fmt.Println(resp) 137// } 138// 139// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 140func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 141 op := &request.Operation{ 142 Name: opCreateCluster, 143 HTTPMethod: "POST", 144 HTTPPath: "/", 145 } 146 147 if input == nil { 148 input = &CreateClusterInput{} 149 } 150 151 output = &CreateClusterOutput{} 152 req = c.newRequest(op, input, output) 153 return 154} 155 156// CreateCluster API operation for Amazon EC2 Container Service. 157// 158// Creates a new Amazon ECS cluster. By default, your account receives a default 159// cluster when you launch your first container instance. However, you can create 160// your own cluster with a unique name with the CreateCluster action. 161// 162// When you call the CreateCluster API operation, Amazon ECS attempts to create 163// the Amazon ECS service-linked role for your account so that required resources 164// in other AWS services can be managed on your behalf. However, if the IAM 165// user that makes the call does not have permissions to create the service-linked 166// role, it is not created. For more information, see Using Service-Linked Roles 167// for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 168// in the Amazon Elastic Container Service Developer Guide. 169// 170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 171// with awserr.Error's Code and Message methods to get detailed information about 172// the error. 173// 174// See the AWS API reference guide for Amazon EC2 Container Service's 175// API operation CreateCluster for usage and error information. 176// 177// Returned Error Codes: 178// * ErrCodeServerException "ServerException" 179// These errors are usually caused by a server issue. 180// 181// * ErrCodeClientException "ClientException" 182// These errors are usually caused by a client action, such as using an action 183// or resource on behalf of a user that doesn't have permissions to use the 184// action or resource, or specifying an identifier that is not valid. 185// 186// * ErrCodeInvalidParameterException "InvalidParameterException" 187// The specified parameter is invalid. Review the available parameters for the 188// API request. 189// 190// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 191func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 192 req, out := c.CreateClusterRequest(input) 193 return out, req.Send() 194} 195 196// CreateClusterWithContext is the same as CreateCluster with the addition of 197// the ability to pass a context and additional request options. 198// 199// See CreateCluster for details on how to use this API operation. 200// 201// The context must be non-nil and will be used for request cancellation. If 202// the context is nil a panic will occur. In the future the SDK may create 203// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 204// for more information on using Contexts. 205func (c *ECS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 206 req, out := c.CreateClusterRequest(input) 207 req.SetContext(ctx) 208 req.ApplyOptions(opts...) 209 return out, req.Send() 210} 211 212const opCreateService = "CreateService" 213 214// CreateServiceRequest generates a "aws/request.Request" representing the 215// client's request for the CreateService operation. The "output" return 216// value will be populated with the request's response once the request completes 217// successfully. 218// 219// Use "Send" method on the returned Request to send the API call to the service. 220// the "output" return value is not valid until after Send returns without error. 221// 222// See CreateService for more information on using the CreateService 223// API call, and error handling. 224// 225// This method is useful when you want to inject custom logic or configuration 226// into the SDK's request lifecycle. Such as custom headers, or retry logic. 227// 228// 229// // Example sending a request using the CreateServiceRequest method. 230// req, resp := client.CreateServiceRequest(params) 231// 232// err := req.Send() 233// if err == nil { // resp is now filled 234// fmt.Println(resp) 235// } 236// 237// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 238func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { 239 op := &request.Operation{ 240 Name: opCreateService, 241 HTTPMethod: "POST", 242 HTTPPath: "/", 243 } 244 245 if input == nil { 246 input = &CreateServiceInput{} 247 } 248 249 output = &CreateServiceOutput{} 250 req = c.newRequest(op, input, output) 251 return 252} 253 254// CreateService API operation for Amazon EC2 Container Service. 255// 256// Runs and maintains a desired number of tasks from a specified task definition. 257// If the number of tasks running in a service drops below the desiredCount, 258// Amazon ECS runs another copy of the task in the specified cluster. To update 259// an existing service, see UpdateService. 260// 261// In addition to maintaining the desired count of tasks in your service, you 262// can optionally run your service behind one or more load balancers. The load 263// balancers distribute traffic across the tasks that are associated with the 264// service. For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 265// in the Amazon Elastic Container Service Developer Guide. 266// 267// Tasks for services that do not use a load balancer are considered healthy 268// if they're in the RUNNING state. Tasks for services that do use a load balancer 269// are considered healthy if they're in the RUNNING state and the container 270// instance that they're hosted on is reported as healthy by the load balancer. 271// 272// There are two service scheduler strategies available: 273// 274// * REPLICA - The replica scheduling strategy places and maintains the desired 275// number of tasks across your cluster. By default, the service scheduler 276// spreads tasks across Availability Zones. You can use task placement strategies 277// and constraints to customize task placement decisions. For more information, 278// see Service Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 279// in the Amazon Elastic Container Service Developer Guide. 280// 281// * DAEMON - The daemon scheduling strategy deploys exactly one task on 282// each active container instance that meets all of the task placement constraints 283// that you specify in your cluster. When using this strategy, you don't 284// need to specify a desired number of tasks, a task placement strategy, 285// or use Service Auto Scaling policies. For more information, see Service 286// Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 287// in the Amazon Elastic Container Service Developer Guide. 288// 289// You can optionally specify a deployment configuration for your service. The 290// deployment is triggered by changing properties, such as the task definition 291// or the desired count of a service, with an UpdateService operation. The default 292// value for a replica service for minimumHealthyPercent is 100%. The default 293// value for a daemon service for minimumHealthyPercent is 0%. 294// 295// If a service is using the ECS deployment controller, the minimum healthy 296// percent represents a lower limit on the number of tasks in a service that 297// must remain in the RUNNING state during a deployment, as a percentage of 298// the desired number of tasks (rounded up to the nearest integer), and while 299// any container instances are in the DRAINING state if the service contains 300// tasks using the EC2 launch type. This parameter enables you to deploy without 301// using additional cluster capacity. For example, if your service has a desired 302// number of four tasks and a minimum healthy percent of 50%, the scheduler 303// might stop two existing tasks to free up cluster capacity before starting 304// two new tasks. Tasks for services that do not use a load balancer are considered 305// healthy if they're in the RUNNING state. Tasks for services that do use a 306// load balancer are considered healthy if they're in the RUNNING state and 307// they're reported as healthy by the load balancer. The default value for minimum 308// healthy percent is 100%. 309// 310// If a service is using the ECS deployment controller, the maximum percent 311// parameter represents an upper limit on the number of tasks in a service that 312// are allowed in the RUNNING or PENDING state during a deployment, as a percentage 313// of the desired number of tasks (rounded down to the nearest integer), and 314// while any container instances are in the DRAINING state if the service contains 315// tasks using the EC2 launch type. This parameter enables you to define the 316// deployment batch size. For example, if your service has a desired number 317// of four tasks and a maximum percent value of 200%, the scheduler may start 318// four new tasks before stopping the four older tasks (provided that the cluster 319// resources required to do this are available). The default value for maximum 320// percent is 200%. 321// 322// If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller 323// types and tasks that use the EC2 launch type, the minimum healthy percent 324// and maximum percent values are used only to define the lower and upper limit 325// on the number of the tasks in the service that remain in the RUNNING state 326// while the container instances are in the DRAINING state. If the tasks in 327// the service use the Fargate launch type, the minimum healthy percent and 328// maximum percent values aren't used, although they're currently visible when 329// describing your service. 330// 331// When creating a service that uses the EXTERNAL deployment controller, you 332// can specify only parameters that aren't controlled at the task set level. 333// The only required parameter is the service name. You control your services 334// using the CreateTaskSet operation. For more information, see Amazon ECS Deployment 335// Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 336// in the Amazon Elastic Container Service Developer Guide. 337// 338// When the service scheduler launches new tasks, it determines task placement 339// in your cluster using the following logic: 340// 341// * Determine which of the container instances in your cluster can support 342// your service's task definition (for example, they have the required CPU, 343// memory, ports, and container instance attributes). 344// 345// * By default, the service scheduler attempts to balance tasks across Availability 346// Zones in this manner (although you can choose a different placement strategy) 347// with the placementStrategy parameter): Sort the valid container instances, 348// giving priority to instances that have the fewest number of running tasks 349// for this service in their respective Availability Zone. For example, if 350// zone A has one running service task and zones B and C each have zero, 351// valid container instances in either zone B or C are considered optimal 352// for placement. Place the new service task on a valid container instance 353// in an optimal Availability Zone (based on the previous steps), favoring 354// container instances with the fewest number of running tasks for this service. 355// 356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 357// with awserr.Error's Code and Message methods to get detailed information about 358// the error. 359// 360// See the AWS API reference guide for Amazon EC2 Container Service's 361// API operation CreateService for usage and error information. 362// 363// Returned Error Codes: 364// * ErrCodeServerException "ServerException" 365// These errors are usually caused by a server issue. 366// 367// * ErrCodeClientException "ClientException" 368// These errors are usually caused by a client action, such as using an action 369// or resource on behalf of a user that doesn't have permissions to use the 370// action or resource, or specifying an identifier that is not valid. 371// 372// * ErrCodeInvalidParameterException "InvalidParameterException" 373// The specified parameter is invalid. Review the available parameters for the 374// API request. 375// 376// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 377// The specified cluster could not be found. You can view your available clusters 378// with ListClusters. Amazon ECS clusters are Region-specific. 379// 380// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 381// The specified task is not supported in this Region. 382// 383// * ErrCodePlatformUnknownException "PlatformUnknownException" 384// The specified platform version does not exist. 385// 386// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 387// The specified platform version does not satisfy the task definition's required 388// capabilities. 389// 390// * ErrCodeAccessDeniedException "AccessDeniedException" 391// You do not have authorization to perform the requested action. 392// 393// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 394func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 395 req, out := c.CreateServiceRequest(input) 396 return out, req.Send() 397} 398 399// CreateServiceWithContext is the same as CreateService with the addition of 400// the ability to pass a context and additional request options. 401// 402// See CreateService for details on how to use this API operation. 403// 404// The context must be non-nil and will be used for request cancellation. If 405// the context is nil a panic will occur. In the future the SDK may create 406// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 407// for more information on using Contexts. 408func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 409 req, out := c.CreateServiceRequest(input) 410 req.SetContext(ctx) 411 req.ApplyOptions(opts...) 412 return out, req.Send() 413} 414 415const opCreateTaskSet = "CreateTaskSet" 416 417// CreateTaskSetRequest generates a "aws/request.Request" representing the 418// client's request for the CreateTaskSet operation. The "output" return 419// value will be populated with the request's response once the request completes 420// successfully. 421// 422// Use "Send" method on the returned Request to send the API call to the service. 423// the "output" return value is not valid until after Send returns without error. 424// 425// See CreateTaskSet for more information on using the CreateTaskSet 426// API call, and error handling. 427// 428// This method is useful when you want to inject custom logic or configuration 429// into the SDK's request lifecycle. Such as custom headers, or retry logic. 430// 431// 432// // Example sending a request using the CreateTaskSetRequest method. 433// req, resp := client.CreateTaskSetRequest(params) 434// 435// err := req.Send() 436// if err == nil { // resp is now filled 437// fmt.Println(resp) 438// } 439// 440// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 441func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Request, output *CreateTaskSetOutput) { 442 op := &request.Operation{ 443 Name: opCreateTaskSet, 444 HTTPMethod: "POST", 445 HTTPPath: "/", 446 } 447 448 if input == nil { 449 input = &CreateTaskSetInput{} 450 } 451 452 output = &CreateTaskSetOutput{} 453 req = c.newRequest(op, input, output) 454 return 455} 456 457// CreateTaskSet API operation for Amazon EC2 Container Service. 458// 459// Create a task set in the specified cluster and service. This is used when 460// a service uses the EXTERNAL deployment controller type. For more information, 461// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 462// in the Amazon Elastic Container Service Developer Guide. 463// 464// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 465// with awserr.Error's Code and Message methods to get detailed information about 466// the error. 467// 468// See the AWS API reference guide for Amazon EC2 Container Service's 469// API operation CreateTaskSet for usage and error information. 470// 471// Returned Error Codes: 472// * ErrCodeServerException "ServerException" 473// These errors are usually caused by a server issue. 474// 475// * ErrCodeClientException "ClientException" 476// These errors are usually caused by a client action, such as using an action 477// or resource on behalf of a user that doesn't have permissions to use the 478// action or resource, or specifying an identifier that is not valid. 479// 480// * ErrCodeInvalidParameterException "InvalidParameterException" 481// The specified parameter is invalid. Review the available parameters for the 482// API request. 483// 484// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 485// The specified cluster could not be found. You can view your available clusters 486// with ListClusters. Amazon ECS clusters are Region-specific. 487// 488// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 489// The specified task is not supported in this Region. 490// 491// * ErrCodePlatformUnknownException "PlatformUnknownException" 492// The specified platform version does not exist. 493// 494// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 495// The specified platform version does not satisfy the task definition's required 496// capabilities. 497// 498// * ErrCodeAccessDeniedException "AccessDeniedException" 499// You do not have authorization to perform the requested action. 500// 501// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 502// The specified service could not be found. You can view your available services 503// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 504// 505// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 506// The specified service is not active. You can't update a service that is inactive. 507// If you have previously deleted a service, you can re-create it with CreateService. 508// 509// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 510func (c *ECS) CreateTaskSet(input *CreateTaskSetInput) (*CreateTaskSetOutput, error) { 511 req, out := c.CreateTaskSetRequest(input) 512 return out, req.Send() 513} 514 515// CreateTaskSetWithContext is the same as CreateTaskSet with the addition of 516// the ability to pass a context and additional request options. 517// 518// See CreateTaskSet for details on how to use this API operation. 519// 520// The context must be non-nil and will be used for request cancellation. If 521// the context is nil a panic will occur. In the future the SDK may create 522// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 523// for more information on using Contexts. 524func (c *ECS) CreateTaskSetWithContext(ctx aws.Context, input *CreateTaskSetInput, opts ...request.Option) (*CreateTaskSetOutput, error) { 525 req, out := c.CreateTaskSetRequest(input) 526 req.SetContext(ctx) 527 req.ApplyOptions(opts...) 528 return out, req.Send() 529} 530 531const opDeleteAccountSetting = "DeleteAccountSetting" 532 533// DeleteAccountSettingRequest generates a "aws/request.Request" representing the 534// client's request for the DeleteAccountSetting operation. The "output" return 535// value will be populated with the request's response once the request completes 536// successfully. 537// 538// Use "Send" method on the returned Request to send the API call to the service. 539// the "output" return value is not valid until after Send returns without error. 540// 541// See DeleteAccountSetting for more information on using the DeleteAccountSetting 542// API call, and error handling. 543// 544// This method is useful when you want to inject custom logic or configuration 545// into the SDK's request lifecycle. Such as custom headers, or retry logic. 546// 547// 548// // Example sending a request using the DeleteAccountSettingRequest method. 549// req, resp := client.DeleteAccountSettingRequest(params) 550// 551// err := req.Send() 552// if err == nil { // resp is now filled 553// fmt.Println(resp) 554// } 555// 556// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 557func (c *ECS) DeleteAccountSettingRequest(input *DeleteAccountSettingInput) (req *request.Request, output *DeleteAccountSettingOutput) { 558 op := &request.Operation{ 559 Name: opDeleteAccountSetting, 560 HTTPMethod: "POST", 561 HTTPPath: "/", 562 } 563 564 if input == nil { 565 input = &DeleteAccountSettingInput{} 566 } 567 568 output = &DeleteAccountSettingOutput{} 569 req = c.newRequest(op, input, output) 570 return 571} 572 573// DeleteAccountSetting API operation for Amazon EC2 Container Service. 574// 575// Disables an account setting for a specified IAM user, IAM role, or the root 576// user for an account. 577// 578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 579// with awserr.Error's Code and Message methods to get detailed information about 580// the error. 581// 582// See the AWS API reference guide for Amazon EC2 Container Service's 583// API operation DeleteAccountSetting for usage and error information. 584// 585// Returned Error Codes: 586// * ErrCodeServerException "ServerException" 587// These errors are usually caused by a server issue. 588// 589// * ErrCodeClientException "ClientException" 590// These errors are usually caused by a client action, such as using an action 591// or resource on behalf of a user that doesn't have permissions to use the 592// action or resource, or specifying an identifier that is not valid. 593// 594// * ErrCodeInvalidParameterException "InvalidParameterException" 595// The specified parameter is invalid. Review the available parameters for the 596// API request. 597// 598// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 599func (c *ECS) DeleteAccountSetting(input *DeleteAccountSettingInput) (*DeleteAccountSettingOutput, error) { 600 req, out := c.DeleteAccountSettingRequest(input) 601 return out, req.Send() 602} 603 604// DeleteAccountSettingWithContext is the same as DeleteAccountSetting with the addition of 605// the ability to pass a context and additional request options. 606// 607// See DeleteAccountSetting for details on how to use this API operation. 608// 609// The context must be non-nil and will be used for request cancellation. If 610// the context is nil a panic will occur. In the future the SDK may create 611// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 612// for more information on using Contexts. 613func (c *ECS) DeleteAccountSettingWithContext(ctx aws.Context, input *DeleteAccountSettingInput, opts ...request.Option) (*DeleteAccountSettingOutput, error) { 614 req, out := c.DeleteAccountSettingRequest(input) 615 req.SetContext(ctx) 616 req.ApplyOptions(opts...) 617 return out, req.Send() 618} 619 620const opDeleteAttributes = "DeleteAttributes" 621 622// DeleteAttributesRequest generates a "aws/request.Request" representing the 623// client's request for the DeleteAttributes operation. The "output" return 624// value will be populated with the request's response once the request completes 625// successfully. 626// 627// Use "Send" method on the returned Request to send the API call to the service. 628// the "output" return value is not valid until after Send returns without error. 629// 630// See DeleteAttributes for more information on using the DeleteAttributes 631// API call, and error handling. 632// 633// This method is useful when you want to inject custom logic or configuration 634// into the SDK's request lifecycle. Such as custom headers, or retry logic. 635// 636// 637// // Example sending a request using the DeleteAttributesRequest method. 638// req, resp := client.DeleteAttributesRequest(params) 639// 640// err := req.Send() 641// if err == nil { // resp is now filled 642// fmt.Println(resp) 643// } 644// 645// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 646func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { 647 op := &request.Operation{ 648 Name: opDeleteAttributes, 649 HTTPMethod: "POST", 650 HTTPPath: "/", 651 } 652 653 if input == nil { 654 input = &DeleteAttributesInput{} 655 } 656 657 output = &DeleteAttributesOutput{} 658 req = c.newRequest(op, input, output) 659 return 660} 661 662// DeleteAttributes API operation for Amazon EC2 Container Service. 663// 664// Deletes one or more custom attributes from an Amazon ECS resource. 665// 666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 667// with awserr.Error's Code and Message methods to get detailed information about 668// the error. 669// 670// See the AWS API reference guide for Amazon EC2 Container Service's 671// API operation DeleteAttributes for usage and error information. 672// 673// Returned Error Codes: 674// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 675// The specified cluster could not be found. You can view your available clusters 676// with ListClusters. Amazon ECS clusters are Region-specific. 677// 678// * ErrCodeTargetNotFoundException "TargetNotFoundException" 679// The specified target could not be found. You can view your available container 680// instances with ListContainerInstances. Amazon ECS container instances are 681// cluster-specific and Region-specific. 682// 683// * ErrCodeInvalidParameterException "InvalidParameterException" 684// The specified parameter is invalid. Review the available parameters for the 685// API request. 686// 687// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 688func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { 689 req, out := c.DeleteAttributesRequest(input) 690 return out, req.Send() 691} 692 693// DeleteAttributesWithContext is the same as DeleteAttributes with the addition of 694// the ability to pass a context and additional request options. 695// 696// See DeleteAttributes for details on how to use this API operation. 697// 698// The context must be non-nil and will be used for request cancellation. If 699// the context is nil a panic will occur. In the future the SDK may create 700// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 701// for more information on using Contexts. 702func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) { 703 req, out := c.DeleteAttributesRequest(input) 704 req.SetContext(ctx) 705 req.ApplyOptions(opts...) 706 return out, req.Send() 707} 708 709const opDeleteCluster = "DeleteCluster" 710 711// DeleteClusterRequest generates a "aws/request.Request" representing the 712// client's request for the DeleteCluster operation. The "output" return 713// value will be populated with the request's response once the request completes 714// successfully. 715// 716// Use "Send" method on the returned Request to send the API call to the service. 717// the "output" return value is not valid until after Send returns without error. 718// 719// See DeleteCluster for more information on using the DeleteCluster 720// API call, and error handling. 721// 722// This method is useful when you want to inject custom logic or configuration 723// into the SDK's request lifecycle. Such as custom headers, or retry logic. 724// 725// 726// // Example sending a request using the DeleteClusterRequest method. 727// req, resp := client.DeleteClusterRequest(params) 728// 729// err := req.Send() 730// if err == nil { // resp is now filled 731// fmt.Println(resp) 732// } 733// 734// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 735func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 736 op := &request.Operation{ 737 Name: opDeleteCluster, 738 HTTPMethod: "POST", 739 HTTPPath: "/", 740 } 741 742 if input == nil { 743 input = &DeleteClusterInput{} 744 } 745 746 output = &DeleteClusterOutput{} 747 req = c.newRequest(op, input, output) 748 return 749} 750 751// DeleteCluster API operation for Amazon EC2 Container Service. 752// 753// Deletes the specified cluster. You must deregister all container instances 754// from this cluster before you may delete it. You can list the container instances 755// in a cluster with ListContainerInstances and deregister them with DeregisterContainerInstance. 756// 757// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 758// with awserr.Error's Code and Message methods to get detailed information about 759// the error. 760// 761// See the AWS API reference guide for Amazon EC2 Container Service's 762// API operation DeleteCluster for usage and error information. 763// 764// Returned Error Codes: 765// * ErrCodeServerException "ServerException" 766// These errors are usually caused by a server issue. 767// 768// * ErrCodeClientException "ClientException" 769// These errors are usually caused by a client action, such as using an action 770// or resource on behalf of a user that doesn't have permissions to use the 771// action or resource, or specifying an identifier that is not valid. 772// 773// * ErrCodeInvalidParameterException "InvalidParameterException" 774// The specified parameter is invalid. Review the available parameters for the 775// API request. 776// 777// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 778// The specified cluster could not be found. You can view your available clusters 779// with ListClusters. Amazon ECS clusters are Region-specific. 780// 781// * ErrCodeClusterContainsContainerInstancesException "ClusterContainsContainerInstancesException" 782// You cannot delete a cluster that has registered container instances. First, 783// deregister the container instances before you can delete the cluster. For 784// more information, see DeregisterContainerInstance. 785// 786// * ErrCodeClusterContainsServicesException "ClusterContainsServicesException" 787// You cannot delete a cluster that contains services. First, update the service 788// to reduce its desired task count to 0 and then delete the service. For more 789// information, see UpdateService and DeleteService. 790// 791// * ErrCodeClusterContainsTasksException "ClusterContainsTasksException" 792// You cannot delete a cluster that has active tasks. 793// 794// * ErrCodeUpdateInProgressException "UpdateInProgressException" 795// There is already a current Amazon ECS container agent update in progress 796// on the specified container instance. If the container agent becomes disconnected 797// while it is in a transitional stage, such as PENDING or STAGING, the update 798// process can get stuck in that state. However, when the agent reconnects, 799// it resumes where it stopped previously. 800// 801// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 802func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 803 req, out := c.DeleteClusterRequest(input) 804 return out, req.Send() 805} 806 807// DeleteClusterWithContext is the same as DeleteCluster with the addition of 808// the ability to pass a context and additional request options. 809// 810// See DeleteCluster for details on how to use this API operation. 811// 812// The context must be non-nil and will be used for request cancellation. If 813// the context is nil a panic will occur. In the future the SDK may create 814// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 815// for more information on using Contexts. 816func (c *ECS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 817 req, out := c.DeleteClusterRequest(input) 818 req.SetContext(ctx) 819 req.ApplyOptions(opts...) 820 return out, req.Send() 821} 822 823const opDeleteService = "DeleteService" 824 825// DeleteServiceRequest generates a "aws/request.Request" representing the 826// client's request for the DeleteService operation. The "output" return 827// value will be populated with the request's response once the request completes 828// successfully. 829// 830// Use "Send" method on the returned Request to send the API call to the service. 831// the "output" return value is not valid until after Send returns without error. 832// 833// See DeleteService for more information on using the DeleteService 834// API call, and error handling. 835// 836// This method is useful when you want to inject custom logic or configuration 837// into the SDK's request lifecycle. Such as custom headers, or retry logic. 838// 839// 840// // Example sending a request using the DeleteServiceRequest method. 841// req, resp := client.DeleteServiceRequest(params) 842// 843// err := req.Send() 844// if err == nil { // resp is now filled 845// fmt.Println(resp) 846// } 847// 848// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 849func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 850 op := &request.Operation{ 851 Name: opDeleteService, 852 HTTPMethod: "POST", 853 HTTPPath: "/", 854 } 855 856 if input == nil { 857 input = &DeleteServiceInput{} 858 } 859 860 output = &DeleteServiceOutput{} 861 req = c.newRequest(op, input, output) 862 return 863} 864 865// DeleteService API operation for Amazon EC2 Container Service. 866// 867// Deletes a specified service within a cluster. You can delete a service if 868// you have no running tasks in it and the desired task count is zero. If the 869// service is actively maintaining tasks, you cannot delete it, and you must 870// update the service to a desired task count of zero. For more information, 871// see UpdateService. 872// 873// When you delete a service, if there are still running tasks that require 874// cleanup, the service status moves from ACTIVE to DRAINING, and the service 875// is no longer visible in the console or in the ListServices API operation. 876// After all tasks have transitioned to either STOPPING or STOPPED status, the 877// service status moves from DRAINING to INACTIVE. Services in the DRAINING 878// or INACTIVE status can still be viewed with the DescribeServices API operation. 879// However, in the future, INACTIVE services may be cleaned up and purged from 880// Amazon ECS record keeping, and DescribeServices calls on those services return 881// a ServiceNotFoundException error. 882// 883// If you attempt to create a new service with the same name as an existing 884// service in either ACTIVE or DRAINING status, you receive an error. 885// 886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 887// with awserr.Error's Code and Message methods to get detailed information about 888// the error. 889// 890// See the AWS API reference guide for Amazon EC2 Container Service's 891// API operation DeleteService for usage and error information. 892// 893// Returned Error Codes: 894// * ErrCodeServerException "ServerException" 895// These errors are usually caused by a server issue. 896// 897// * ErrCodeClientException "ClientException" 898// These errors are usually caused by a client action, such as using an action 899// or resource on behalf of a user that doesn't have permissions to use the 900// action or resource, or specifying an identifier that is not valid. 901// 902// * ErrCodeInvalidParameterException "InvalidParameterException" 903// The specified parameter is invalid. Review the available parameters for the 904// API request. 905// 906// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 907// The specified cluster could not be found. You can view your available clusters 908// with ListClusters. Amazon ECS clusters are Region-specific. 909// 910// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 911// The specified service could not be found. You can view your available services 912// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 913// 914// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 915func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 916 req, out := c.DeleteServiceRequest(input) 917 return out, req.Send() 918} 919 920// DeleteServiceWithContext is the same as DeleteService with the addition of 921// the ability to pass a context and additional request options. 922// 923// See DeleteService for details on how to use this API operation. 924// 925// The context must be non-nil and will be used for request cancellation. If 926// the context is nil a panic will occur. In the future the SDK may create 927// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 928// for more information on using Contexts. 929func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 930 req, out := c.DeleteServiceRequest(input) 931 req.SetContext(ctx) 932 req.ApplyOptions(opts...) 933 return out, req.Send() 934} 935 936const opDeleteTaskSet = "DeleteTaskSet" 937 938// DeleteTaskSetRequest generates a "aws/request.Request" representing the 939// client's request for the DeleteTaskSet operation. The "output" return 940// value will be populated with the request's response once the request completes 941// successfully. 942// 943// Use "Send" method on the returned Request to send the API call to the service. 944// the "output" return value is not valid until after Send returns without error. 945// 946// See DeleteTaskSet for more information on using the DeleteTaskSet 947// API call, and error handling. 948// 949// This method is useful when you want to inject custom logic or configuration 950// into the SDK's request lifecycle. Such as custom headers, or retry logic. 951// 952// 953// // Example sending a request using the DeleteTaskSetRequest method. 954// req, resp := client.DeleteTaskSetRequest(params) 955// 956// err := req.Send() 957// if err == nil { // resp is now filled 958// fmt.Println(resp) 959// } 960// 961// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 962func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { 963 op := &request.Operation{ 964 Name: opDeleteTaskSet, 965 HTTPMethod: "POST", 966 HTTPPath: "/", 967 } 968 969 if input == nil { 970 input = &DeleteTaskSetInput{} 971 } 972 973 output = &DeleteTaskSetOutput{} 974 req = c.newRequest(op, input, output) 975 return 976} 977 978// DeleteTaskSet API operation for Amazon EC2 Container Service. 979// 980// Deletes a specified task set within a service. This is used when a service 981// uses the EXTERNAL deployment controller type. For more information, see Amazon 982// ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 983// in the Amazon Elastic Container Service Developer Guide. 984// 985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 986// with awserr.Error's Code and Message methods to get detailed information about 987// the error. 988// 989// See the AWS API reference guide for Amazon EC2 Container Service's 990// API operation DeleteTaskSet for usage and error information. 991// 992// Returned Error Codes: 993// * ErrCodeServerException "ServerException" 994// These errors are usually caused by a server issue. 995// 996// * ErrCodeClientException "ClientException" 997// These errors are usually caused by a client action, such as using an action 998// or resource on behalf of a user that doesn't have permissions to use the 999// action or resource, or specifying an identifier that is not valid. 1000// 1001// * ErrCodeInvalidParameterException "InvalidParameterException" 1002// The specified parameter is invalid. Review the available parameters for the 1003// API request. 1004// 1005// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1006// The specified cluster could not be found. You can view your available clusters 1007// with ListClusters. Amazon ECS clusters are Region-specific. 1008// 1009// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 1010// The specified task is not supported in this Region. 1011// 1012// * ErrCodeAccessDeniedException "AccessDeniedException" 1013// You do not have authorization to perform the requested action. 1014// 1015// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 1016// The specified service could not be found. You can view your available services 1017// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1018// 1019// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 1020// The specified service is not active. You can't update a service that is inactive. 1021// If you have previously deleted a service, you can re-create it with CreateService. 1022// 1023// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 1024// The specified task set could not be found. You can view your available task 1025// sets with DescribeTaskSets. Task sets are specific to each cluster, service 1026// and Region. 1027// 1028// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 1029func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { 1030 req, out := c.DeleteTaskSetRequest(input) 1031 return out, req.Send() 1032} 1033 1034// DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of 1035// the ability to pass a context and additional request options. 1036// 1037// See DeleteTaskSet for details on how to use this API operation. 1038// 1039// The context must be non-nil and will be used for request cancellation. If 1040// the context is nil a panic will occur. In the future the SDK may create 1041// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1042// for more information on using Contexts. 1043func (c *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { 1044 req, out := c.DeleteTaskSetRequest(input) 1045 req.SetContext(ctx) 1046 req.ApplyOptions(opts...) 1047 return out, req.Send() 1048} 1049 1050const opDeregisterContainerInstance = "DeregisterContainerInstance" 1051 1052// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 1053// client's request for the DeregisterContainerInstance operation. The "output" return 1054// value will be populated with the request's response once the request completes 1055// successfully. 1056// 1057// Use "Send" method on the returned Request to send the API call to the service. 1058// the "output" return value is not valid until after Send returns without error. 1059// 1060// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 1061// API call, and error handling. 1062// 1063// This method is useful when you want to inject custom logic or configuration 1064// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1065// 1066// 1067// // Example sending a request using the DeregisterContainerInstanceRequest method. 1068// req, resp := client.DeregisterContainerInstanceRequest(params) 1069// 1070// err := req.Send() 1071// if err == nil { // resp is now filled 1072// fmt.Println(resp) 1073// } 1074// 1075// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1076func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 1077 op := &request.Operation{ 1078 Name: opDeregisterContainerInstance, 1079 HTTPMethod: "POST", 1080 HTTPPath: "/", 1081 } 1082 1083 if input == nil { 1084 input = &DeregisterContainerInstanceInput{} 1085 } 1086 1087 output = &DeregisterContainerInstanceOutput{} 1088 req = c.newRequest(op, input, output) 1089 return 1090} 1091 1092// DeregisterContainerInstance API operation for Amazon EC2 Container Service. 1093// 1094// Deregisters an Amazon ECS container instance from the specified cluster. 1095// This instance is no longer available to run tasks. 1096// 1097// If you intend to use the container instance for some other purpose after 1098// deregistration, you should stop all of the tasks running on the container 1099// instance before deregistration. That prevents any orphaned tasks from consuming 1100// resources. 1101// 1102// Deregistering a container instance removes the instance from a cluster, but 1103// it does not terminate the EC2 instance. If you are finished using the instance, 1104// be sure to terminate it in the Amazon EC2 console to stop billing. 1105// 1106// If you terminate a running container instance, Amazon ECS automatically deregisters 1107// the instance from your cluster (stopped container instances or instances 1108// with disconnected agents are not automatically deregistered when terminated). 1109// 1110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1111// with awserr.Error's Code and Message methods to get detailed information about 1112// the error. 1113// 1114// See the AWS API reference guide for Amazon EC2 Container Service's 1115// API operation DeregisterContainerInstance for usage and error information. 1116// 1117// Returned Error Codes: 1118// * ErrCodeServerException "ServerException" 1119// These errors are usually caused by a server issue. 1120// 1121// * ErrCodeClientException "ClientException" 1122// These errors are usually caused by a client action, such as using an action 1123// or resource on behalf of a user that doesn't have permissions to use the 1124// action or resource, or specifying an identifier that is not valid. 1125// 1126// * ErrCodeInvalidParameterException "InvalidParameterException" 1127// The specified parameter is invalid. Review the available parameters for the 1128// API request. 1129// 1130// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1131// The specified cluster could not be found. You can view your available clusters 1132// with ListClusters. Amazon ECS clusters are Region-specific. 1133// 1134// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1135func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 1136 req, out := c.DeregisterContainerInstanceRequest(input) 1137 return out, req.Send() 1138} 1139 1140// DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 1141// the ability to pass a context and additional request options. 1142// 1143// See DeregisterContainerInstance for details on how to use this API operation. 1144// 1145// The context must be non-nil and will be used for request cancellation. If 1146// the context is nil a panic will occur. In the future the SDK may create 1147// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1148// for more information on using Contexts. 1149func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 1150 req, out := c.DeregisterContainerInstanceRequest(input) 1151 req.SetContext(ctx) 1152 req.ApplyOptions(opts...) 1153 return out, req.Send() 1154} 1155 1156const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 1157 1158// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 1159// client's request for the DeregisterTaskDefinition operation. The "output" return 1160// value will be populated with the request's response once the request completes 1161// successfully. 1162// 1163// Use "Send" method on the returned Request to send the API call to the service. 1164// the "output" return value is not valid until after Send returns without error. 1165// 1166// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 1167// API call, and error handling. 1168// 1169// This method is useful when you want to inject custom logic or configuration 1170// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1171// 1172// 1173// // Example sending a request using the DeregisterTaskDefinitionRequest method. 1174// req, resp := client.DeregisterTaskDefinitionRequest(params) 1175// 1176// err := req.Send() 1177// if err == nil { // resp is now filled 1178// fmt.Println(resp) 1179// } 1180// 1181// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1182func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 1183 op := &request.Operation{ 1184 Name: opDeregisterTaskDefinition, 1185 HTTPMethod: "POST", 1186 HTTPPath: "/", 1187 } 1188 1189 if input == nil { 1190 input = &DeregisterTaskDefinitionInput{} 1191 } 1192 1193 output = &DeregisterTaskDefinitionOutput{} 1194 req = c.newRequest(op, input, output) 1195 return 1196} 1197 1198// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 1199// 1200// Deregisters the specified task definition by family and revision. Upon deregistration, 1201// the task definition is marked as INACTIVE. Existing tasks and services that 1202// reference an INACTIVE task definition continue to run without disruption. 1203// Existing services that reference an INACTIVE task definition can still scale 1204// up or down by modifying the service's desired count. 1205// 1206// You cannot use an INACTIVE task definition to run new tasks or create new 1207// services, and you cannot update an existing service to reference an INACTIVE 1208// task definition. However, there may be up to a 10-minute window following 1209// deregistration where these restrictions have not yet taken effect. 1210// 1211// At this time, INACTIVE task definitions remain discoverable in your account 1212// indefinitely. However, this behavior is subject to change in the future, 1213// so you should not rely on INACTIVE task definitions persisting beyond the 1214// lifecycle of any associated tasks and services. 1215// 1216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1217// with awserr.Error's Code and Message methods to get detailed information about 1218// the error. 1219// 1220// See the AWS API reference guide for Amazon EC2 Container Service's 1221// API operation DeregisterTaskDefinition for usage and error information. 1222// 1223// Returned Error Codes: 1224// * ErrCodeServerException "ServerException" 1225// These errors are usually caused by a server issue. 1226// 1227// * ErrCodeClientException "ClientException" 1228// These errors are usually caused by a client action, such as using an action 1229// or resource on behalf of a user that doesn't have permissions to use the 1230// action or resource, or specifying an identifier that is not valid. 1231// 1232// * ErrCodeInvalidParameterException "InvalidParameterException" 1233// The specified parameter is invalid. Review the available parameters for the 1234// API request. 1235// 1236// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1237func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 1238 req, out := c.DeregisterTaskDefinitionRequest(input) 1239 return out, req.Send() 1240} 1241 1242// DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 1243// the ability to pass a context and additional request options. 1244// 1245// See DeregisterTaskDefinition for details on how to use this API operation. 1246// 1247// The context must be non-nil and will be used for request cancellation. If 1248// the context is nil a panic will occur. In the future the SDK may create 1249// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1250// for more information on using Contexts. 1251func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 1252 req, out := c.DeregisterTaskDefinitionRequest(input) 1253 req.SetContext(ctx) 1254 req.ApplyOptions(opts...) 1255 return out, req.Send() 1256} 1257 1258const opDescribeCapacityProviders = "DescribeCapacityProviders" 1259 1260// DescribeCapacityProvidersRequest generates a "aws/request.Request" representing the 1261// client's request for the DescribeCapacityProviders operation. The "output" return 1262// value will be populated with the request's response once the request completes 1263// successfully. 1264// 1265// Use "Send" method on the returned Request to send the API call to the service. 1266// the "output" return value is not valid until after Send returns without error. 1267// 1268// See DescribeCapacityProviders for more information on using the DescribeCapacityProviders 1269// API call, and error handling. 1270// 1271// This method is useful when you want to inject custom logic or configuration 1272// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1273// 1274// 1275// // Example sending a request using the DescribeCapacityProvidersRequest method. 1276// req, resp := client.DescribeCapacityProvidersRequest(params) 1277// 1278// err := req.Send() 1279// if err == nil { // resp is now filled 1280// fmt.Println(resp) 1281// } 1282// 1283// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1284func (c *ECS) DescribeCapacityProvidersRequest(input *DescribeCapacityProvidersInput) (req *request.Request, output *DescribeCapacityProvidersOutput) { 1285 op := &request.Operation{ 1286 Name: opDescribeCapacityProviders, 1287 HTTPMethod: "POST", 1288 HTTPPath: "/", 1289 } 1290 1291 if input == nil { 1292 input = &DescribeCapacityProvidersInput{} 1293 } 1294 1295 output = &DescribeCapacityProvidersOutput{} 1296 req = c.newRequest(op, input, output) 1297 return 1298} 1299 1300// DescribeCapacityProviders API operation for Amazon EC2 Container Service. 1301// 1302// Describes one or more of your capacity providers. 1303// 1304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1305// with awserr.Error's Code and Message methods to get detailed information about 1306// the error. 1307// 1308// See the AWS API reference guide for Amazon EC2 Container Service's 1309// API operation DescribeCapacityProviders for usage and error information. 1310// 1311// Returned Error Codes: 1312// * ErrCodeServerException "ServerException" 1313// These errors are usually caused by a server issue. 1314// 1315// * ErrCodeClientException "ClientException" 1316// These errors are usually caused by a client action, such as using an action 1317// or resource on behalf of a user that doesn't have permissions to use the 1318// action or resource, or specifying an identifier that is not valid. 1319// 1320// * ErrCodeInvalidParameterException "InvalidParameterException" 1321// The specified parameter is invalid. Review the available parameters for the 1322// API request. 1323// 1324// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1325func (c *ECS) DescribeCapacityProviders(input *DescribeCapacityProvidersInput) (*DescribeCapacityProvidersOutput, error) { 1326 req, out := c.DescribeCapacityProvidersRequest(input) 1327 return out, req.Send() 1328} 1329 1330// DescribeCapacityProvidersWithContext is the same as DescribeCapacityProviders with the addition of 1331// the ability to pass a context and additional request options. 1332// 1333// See DescribeCapacityProviders for details on how to use this API operation. 1334// 1335// The context must be non-nil and will be used for request cancellation. If 1336// the context is nil a panic will occur. In the future the SDK may create 1337// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1338// for more information on using Contexts. 1339func (c *ECS) DescribeCapacityProvidersWithContext(ctx aws.Context, input *DescribeCapacityProvidersInput, opts ...request.Option) (*DescribeCapacityProvidersOutput, error) { 1340 req, out := c.DescribeCapacityProvidersRequest(input) 1341 req.SetContext(ctx) 1342 req.ApplyOptions(opts...) 1343 return out, req.Send() 1344} 1345 1346const opDescribeClusters = "DescribeClusters" 1347 1348// DescribeClustersRequest generates a "aws/request.Request" representing the 1349// client's request for the DescribeClusters operation. The "output" return 1350// value will be populated with the request's response once the request completes 1351// successfully. 1352// 1353// Use "Send" method on the returned Request to send the API call to the service. 1354// the "output" return value is not valid until after Send returns without error. 1355// 1356// See DescribeClusters for more information on using the DescribeClusters 1357// API call, and error handling. 1358// 1359// This method is useful when you want to inject custom logic or configuration 1360// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1361// 1362// 1363// // Example sending a request using the DescribeClustersRequest method. 1364// req, resp := client.DescribeClustersRequest(params) 1365// 1366// err := req.Send() 1367// if err == nil { // resp is now filled 1368// fmt.Println(resp) 1369// } 1370// 1371// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1372func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 1373 op := &request.Operation{ 1374 Name: opDescribeClusters, 1375 HTTPMethod: "POST", 1376 HTTPPath: "/", 1377 } 1378 1379 if input == nil { 1380 input = &DescribeClustersInput{} 1381 } 1382 1383 output = &DescribeClustersOutput{} 1384 req = c.newRequest(op, input, output) 1385 return 1386} 1387 1388// DescribeClusters API operation for Amazon EC2 Container Service. 1389// 1390// Describes one or more of your clusters. 1391// 1392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1393// with awserr.Error's Code and Message methods to get detailed information about 1394// the error. 1395// 1396// See the AWS API reference guide for Amazon EC2 Container Service's 1397// API operation DescribeClusters for usage and error information. 1398// 1399// Returned Error Codes: 1400// * ErrCodeServerException "ServerException" 1401// These errors are usually caused by a server issue. 1402// 1403// * ErrCodeClientException "ClientException" 1404// These errors are usually caused by a client action, such as using an action 1405// or resource on behalf of a user that doesn't have permissions to use the 1406// action or resource, or specifying an identifier that is not valid. 1407// 1408// * ErrCodeInvalidParameterException "InvalidParameterException" 1409// The specified parameter is invalid. Review the available parameters for the 1410// API request. 1411// 1412// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1413func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 1414 req, out := c.DescribeClustersRequest(input) 1415 return out, req.Send() 1416} 1417 1418// DescribeClustersWithContext is the same as DescribeClusters with the addition of 1419// the ability to pass a context and additional request options. 1420// 1421// See DescribeClusters for details on how to use this API operation. 1422// 1423// The context must be non-nil and will be used for request cancellation. If 1424// the context is nil a panic will occur. In the future the SDK may create 1425// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1426// for more information on using Contexts. 1427func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 1428 req, out := c.DescribeClustersRequest(input) 1429 req.SetContext(ctx) 1430 req.ApplyOptions(opts...) 1431 return out, req.Send() 1432} 1433 1434const opDescribeContainerInstances = "DescribeContainerInstances" 1435 1436// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 1437// client's request for the DescribeContainerInstances operation. The "output" return 1438// value will be populated with the request's response once the request completes 1439// successfully. 1440// 1441// Use "Send" method on the returned Request to send the API call to the service. 1442// the "output" return value is not valid until after Send returns without error. 1443// 1444// See DescribeContainerInstances for more information on using the DescribeContainerInstances 1445// API call, and error handling. 1446// 1447// This method is useful when you want to inject custom logic or configuration 1448// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1449// 1450// 1451// // Example sending a request using the DescribeContainerInstancesRequest method. 1452// req, resp := client.DescribeContainerInstancesRequest(params) 1453// 1454// err := req.Send() 1455// if err == nil { // resp is now filled 1456// fmt.Println(resp) 1457// } 1458// 1459// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1460func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 1461 op := &request.Operation{ 1462 Name: opDescribeContainerInstances, 1463 HTTPMethod: "POST", 1464 HTTPPath: "/", 1465 } 1466 1467 if input == nil { 1468 input = &DescribeContainerInstancesInput{} 1469 } 1470 1471 output = &DescribeContainerInstancesOutput{} 1472 req = c.newRequest(op, input, output) 1473 return 1474} 1475 1476// DescribeContainerInstances API operation for Amazon EC2 Container Service. 1477// 1478// Describes Amazon Elastic Container Service container instances. Returns metadata 1479// about registered and remaining resources on each container instance requested. 1480// 1481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1482// with awserr.Error's Code and Message methods to get detailed information about 1483// the error. 1484// 1485// See the AWS API reference guide for Amazon EC2 Container Service's 1486// API operation DescribeContainerInstances for usage and error information. 1487// 1488// Returned Error Codes: 1489// * ErrCodeServerException "ServerException" 1490// These errors are usually caused by a server issue. 1491// 1492// * ErrCodeClientException "ClientException" 1493// These errors are usually caused by a client action, such as using an action 1494// or resource on behalf of a user that doesn't have permissions to use the 1495// action or resource, or specifying an identifier that is not valid. 1496// 1497// * ErrCodeInvalidParameterException "InvalidParameterException" 1498// The specified parameter is invalid. Review the available parameters for the 1499// API request. 1500// 1501// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1502// The specified cluster could not be found. You can view your available clusters 1503// with ListClusters. Amazon ECS clusters are Region-specific. 1504// 1505// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1506func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 1507 req, out := c.DescribeContainerInstancesRequest(input) 1508 return out, req.Send() 1509} 1510 1511// DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 1512// the ability to pass a context and additional request options. 1513// 1514// See DescribeContainerInstances for details on how to use this API operation. 1515// 1516// The context must be non-nil and will be used for request cancellation. If 1517// the context is nil a panic will occur. In the future the SDK may create 1518// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1519// for more information on using Contexts. 1520func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 1521 req, out := c.DescribeContainerInstancesRequest(input) 1522 req.SetContext(ctx) 1523 req.ApplyOptions(opts...) 1524 return out, req.Send() 1525} 1526 1527const opDescribeServices = "DescribeServices" 1528 1529// DescribeServicesRequest generates a "aws/request.Request" representing the 1530// client's request for the DescribeServices operation. The "output" return 1531// value will be populated with the request's response once the request completes 1532// successfully. 1533// 1534// Use "Send" method on the returned Request to send the API call to the service. 1535// the "output" return value is not valid until after Send returns without error. 1536// 1537// See DescribeServices for more information on using the DescribeServices 1538// API call, and error handling. 1539// 1540// This method is useful when you want to inject custom logic or configuration 1541// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1542// 1543// 1544// // Example sending a request using the DescribeServicesRequest method. 1545// req, resp := client.DescribeServicesRequest(params) 1546// 1547// err := req.Send() 1548// if err == nil { // resp is now filled 1549// fmt.Println(resp) 1550// } 1551// 1552// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1553func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 1554 op := &request.Operation{ 1555 Name: opDescribeServices, 1556 HTTPMethod: "POST", 1557 HTTPPath: "/", 1558 } 1559 1560 if input == nil { 1561 input = &DescribeServicesInput{} 1562 } 1563 1564 output = &DescribeServicesOutput{} 1565 req = c.newRequest(op, input, output) 1566 return 1567} 1568 1569// DescribeServices API operation for Amazon EC2 Container Service. 1570// 1571// Describes the specified services running in your cluster. 1572// 1573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1574// with awserr.Error's Code and Message methods to get detailed information about 1575// the error. 1576// 1577// See the AWS API reference guide for Amazon EC2 Container Service's 1578// API operation DescribeServices for usage and error information. 1579// 1580// Returned Error Codes: 1581// * ErrCodeServerException "ServerException" 1582// These errors are usually caused by a server issue. 1583// 1584// * ErrCodeClientException "ClientException" 1585// These errors are usually caused by a client action, such as using an action 1586// or resource on behalf of a user that doesn't have permissions to use the 1587// action or resource, or specifying an identifier that is not valid. 1588// 1589// * ErrCodeInvalidParameterException "InvalidParameterException" 1590// The specified parameter is invalid. Review the available parameters for the 1591// API request. 1592// 1593// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1594// The specified cluster could not be found. You can view your available clusters 1595// with ListClusters. Amazon ECS clusters are Region-specific. 1596// 1597// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1598func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1599 req, out := c.DescribeServicesRequest(input) 1600 return out, req.Send() 1601} 1602 1603// DescribeServicesWithContext is the same as DescribeServices with the addition of 1604// the ability to pass a context and additional request options. 1605// 1606// See DescribeServices for details on how to use this API operation. 1607// 1608// The context must be non-nil and will be used for request cancellation. If 1609// the context is nil a panic will occur. In the future the SDK may create 1610// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1611// for more information on using Contexts. 1612func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1613 req, out := c.DescribeServicesRequest(input) 1614 req.SetContext(ctx) 1615 req.ApplyOptions(opts...) 1616 return out, req.Send() 1617} 1618 1619const opDescribeTaskDefinition = "DescribeTaskDefinition" 1620 1621// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1622// client's request for the DescribeTaskDefinition operation. The "output" return 1623// value will be populated with the request's response once the request completes 1624// successfully. 1625// 1626// Use "Send" method on the returned Request to send the API call to the service. 1627// the "output" return value is not valid until after Send returns without error. 1628// 1629// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1630// API call, and error handling. 1631// 1632// This method is useful when you want to inject custom logic or configuration 1633// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1634// 1635// 1636// // Example sending a request using the DescribeTaskDefinitionRequest method. 1637// req, resp := client.DescribeTaskDefinitionRequest(params) 1638// 1639// err := req.Send() 1640// if err == nil { // resp is now filled 1641// fmt.Println(resp) 1642// } 1643// 1644// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1645func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1646 op := &request.Operation{ 1647 Name: opDescribeTaskDefinition, 1648 HTTPMethod: "POST", 1649 HTTPPath: "/", 1650 } 1651 1652 if input == nil { 1653 input = &DescribeTaskDefinitionInput{} 1654 } 1655 1656 output = &DescribeTaskDefinitionOutput{} 1657 req = c.newRequest(op, input, output) 1658 return 1659} 1660 1661// DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1662// 1663// Describes a task definition. You can specify a family and revision to find 1664// information about a specific task definition, or you can simply specify the 1665// family to find the latest ACTIVE revision in that family. 1666// 1667// You can only describe INACTIVE task definitions while an active task or service 1668// references them. 1669// 1670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1671// with awserr.Error's Code and Message methods to get detailed information about 1672// the error. 1673// 1674// See the AWS API reference guide for Amazon EC2 Container Service's 1675// API operation DescribeTaskDefinition for usage and error information. 1676// 1677// Returned Error Codes: 1678// * ErrCodeServerException "ServerException" 1679// These errors are usually caused by a server issue. 1680// 1681// * ErrCodeClientException "ClientException" 1682// These errors are usually caused by a client action, such as using an action 1683// or resource on behalf of a user that doesn't have permissions to use the 1684// action or resource, or specifying an identifier that is not valid. 1685// 1686// * ErrCodeInvalidParameterException "InvalidParameterException" 1687// The specified parameter is invalid. Review the available parameters for the 1688// API request. 1689// 1690// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1691func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1692 req, out := c.DescribeTaskDefinitionRequest(input) 1693 return out, req.Send() 1694} 1695 1696// DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1697// the ability to pass a context and additional request options. 1698// 1699// See DescribeTaskDefinition for details on how to use this API operation. 1700// 1701// The context must be non-nil and will be used for request cancellation. If 1702// the context is nil a panic will occur. In the future the SDK may create 1703// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1704// for more information on using Contexts. 1705func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1706 req, out := c.DescribeTaskDefinitionRequest(input) 1707 req.SetContext(ctx) 1708 req.ApplyOptions(opts...) 1709 return out, req.Send() 1710} 1711 1712const opDescribeTaskSets = "DescribeTaskSets" 1713 1714// DescribeTaskSetsRequest generates a "aws/request.Request" representing the 1715// client's request for the DescribeTaskSets operation. The "output" return 1716// value will be populated with the request's response once the request completes 1717// successfully. 1718// 1719// Use "Send" method on the returned Request to send the API call to the service. 1720// the "output" return value is not valid until after Send returns without error. 1721// 1722// See DescribeTaskSets for more information on using the DescribeTaskSets 1723// API call, and error handling. 1724// 1725// This method is useful when you want to inject custom logic or configuration 1726// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1727// 1728// 1729// // Example sending a request using the DescribeTaskSetsRequest method. 1730// req, resp := client.DescribeTaskSetsRequest(params) 1731// 1732// err := req.Send() 1733// if err == nil { // resp is now filled 1734// fmt.Println(resp) 1735// } 1736// 1737// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1738func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { 1739 op := &request.Operation{ 1740 Name: opDescribeTaskSets, 1741 HTTPMethod: "POST", 1742 HTTPPath: "/", 1743 } 1744 1745 if input == nil { 1746 input = &DescribeTaskSetsInput{} 1747 } 1748 1749 output = &DescribeTaskSetsOutput{} 1750 req = c.newRequest(op, input, output) 1751 return 1752} 1753 1754// DescribeTaskSets API operation for Amazon EC2 Container Service. 1755// 1756// Describes the task sets in the specified cluster and service. This is used 1757// when a service uses the EXTERNAL deployment controller type. For more information, 1758// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1759// in the Amazon Elastic Container Service Developer Guide. 1760// 1761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1762// with awserr.Error's Code and Message methods to get detailed information about 1763// the error. 1764// 1765// See the AWS API reference guide for Amazon EC2 Container Service's 1766// API operation DescribeTaskSets for usage and error information. 1767// 1768// Returned Error Codes: 1769// * ErrCodeServerException "ServerException" 1770// These errors are usually caused by a server issue. 1771// 1772// * ErrCodeClientException "ClientException" 1773// These errors are usually caused by a client action, such as using an action 1774// or resource on behalf of a user that doesn't have permissions to use the 1775// action or resource, or specifying an identifier that is not valid. 1776// 1777// * ErrCodeInvalidParameterException "InvalidParameterException" 1778// The specified parameter is invalid. Review the available parameters for the 1779// API request. 1780// 1781// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1782// The specified cluster could not be found. You can view your available clusters 1783// with ListClusters. Amazon ECS clusters are Region-specific. 1784// 1785// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 1786// The specified task is not supported in this Region. 1787// 1788// * ErrCodeAccessDeniedException "AccessDeniedException" 1789// You do not have authorization to perform the requested action. 1790// 1791// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 1792// The specified service could not be found. You can view your available services 1793// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1794// 1795// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 1796// The specified service is not active. You can't update a service that is inactive. 1797// If you have previously deleted a service, you can re-create it with CreateService. 1798// 1799// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1800func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { 1801 req, out := c.DescribeTaskSetsRequest(input) 1802 return out, req.Send() 1803} 1804 1805// DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of 1806// the ability to pass a context and additional request options. 1807// 1808// See DescribeTaskSets for details on how to use this API operation. 1809// 1810// The context must be non-nil and will be used for request cancellation. If 1811// the context is nil a panic will occur. In the future the SDK may create 1812// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1813// for more information on using Contexts. 1814func (c *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { 1815 req, out := c.DescribeTaskSetsRequest(input) 1816 req.SetContext(ctx) 1817 req.ApplyOptions(opts...) 1818 return out, req.Send() 1819} 1820 1821const opDescribeTasks = "DescribeTasks" 1822 1823// DescribeTasksRequest generates a "aws/request.Request" representing the 1824// client's request for the DescribeTasks operation. The "output" return 1825// value will be populated with the request's response once the request completes 1826// successfully. 1827// 1828// Use "Send" method on the returned Request to send the API call to the service. 1829// the "output" return value is not valid until after Send returns without error. 1830// 1831// See DescribeTasks for more information on using the DescribeTasks 1832// API call, and error handling. 1833// 1834// This method is useful when you want to inject custom logic or configuration 1835// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1836// 1837// 1838// // Example sending a request using the DescribeTasksRequest method. 1839// req, resp := client.DescribeTasksRequest(params) 1840// 1841// err := req.Send() 1842// if err == nil { // resp is now filled 1843// fmt.Println(resp) 1844// } 1845// 1846// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1847func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1848 op := &request.Operation{ 1849 Name: opDescribeTasks, 1850 HTTPMethod: "POST", 1851 HTTPPath: "/", 1852 } 1853 1854 if input == nil { 1855 input = &DescribeTasksInput{} 1856 } 1857 1858 output = &DescribeTasksOutput{} 1859 req = c.newRequest(op, input, output) 1860 return 1861} 1862 1863// DescribeTasks API operation for Amazon EC2 Container Service. 1864// 1865// Describes a specified task or tasks. 1866// 1867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1868// with awserr.Error's Code and Message methods to get detailed information about 1869// the error. 1870// 1871// See the AWS API reference guide for Amazon EC2 Container Service's 1872// API operation DescribeTasks for usage and error information. 1873// 1874// Returned Error Codes: 1875// * ErrCodeServerException "ServerException" 1876// These errors are usually caused by a server issue. 1877// 1878// * ErrCodeClientException "ClientException" 1879// These errors are usually caused by a client action, such as using an action 1880// or resource on behalf of a user that doesn't have permissions to use the 1881// action or resource, or specifying an identifier that is not valid. 1882// 1883// * ErrCodeInvalidParameterException "InvalidParameterException" 1884// The specified parameter is invalid. Review the available parameters for the 1885// API request. 1886// 1887// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 1888// The specified cluster could not be found. You can view your available clusters 1889// with ListClusters. Amazon ECS clusters are Region-specific. 1890// 1891// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1892func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 1893 req, out := c.DescribeTasksRequest(input) 1894 return out, req.Send() 1895} 1896 1897// DescribeTasksWithContext is the same as DescribeTasks with the addition of 1898// the ability to pass a context and additional request options. 1899// 1900// See DescribeTasks for details on how to use this API operation. 1901// 1902// The context must be non-nil and will be used for request cancellation. If 1903// the context is nil a panic will occur. In the future the SDK may create 1904// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1905// for more information on using Contexts. 1906func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 1907 req, out := c.DescribeTasksRequest(input) 1908 req.SetContext(ctx) 1909 req.ApplyOptions(opts...) 1910 return out, req.Send() 1911} 1912 1913const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 1914 1915// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 1916// client's request for the DiscoverPollEndpoint operation. The "output" return 1917// value will be populated with the request's response once the request completes 1918// successfully. 1919// 1920// Use "Send" method on the returned Request to send the API call to the service. 1921// the "output" return value is not valid until after Send returns without error. 1922// 1923// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 1924// API call, and error handling. 1925// 1926// This method is useful when you want to inject custom logic or configuration 1927// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1928// 1929// 1930// // Example sending a request using the DiscoverPollEndpointRequest method. 1931// req, resp := client.DiscoverPollEndpointRequest(params) 1932// 1933// err := req.Send() 1934// if err == nil { // resp is now filled 1935// fmt.Println(resp) 1936// } 1937// 1938// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1939func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 1940 op := &request.Operation{ 1941 Name: opDiscoverPollEndpoint, 1942 HTTPMethod: "POST", 1943 HTTPPath: "/", 1944 } 1945 1946 if input == nil { 1947 input = &DiscoverPollEndpointInput{} 1948 } 1949 1950 output = &DiscoverPollEndpointOutput{} 1951 req = c.newRequest(op, input, output) 1952 return 1953} 1954 1955// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 1956// 1957// 1958// This action is only used by the Amazon ECS agent, and it is not intended 1959// for use outside of the agent. 1960// 1961// Returns an endpoint for the Amazon ECS agent to poll for updates. 1962// 1963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1964// with awserr.Error's Code and Message methods to get detailed information about 1965// the error. 1966// 1967// See the AWS API reference guide for Amazon EC2 Container Service's 1968// API operation DiscoverPollEndpoint for usage and error information. 1969// 1970// Returned Error Codes: 1971// * ErrCodeServerException "ServerException" 1972// These errors are usually caused by a server issue. 1973// 1974// * ErrCodeClientException "ClientException" 1975// These errors are usually caused by a client action, such as using an action 1976// or resource on behalf of a user that doesn't have permissions to use the 1977// action or resource, or specifying an identifier that is not valid. 1978// 1979// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1980func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 1981 req, out := c.DiscoverPollEndpointRequest(input) 1982 return out, req.Send() 1983} 1984 1985// DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 1986// the ability to pass a context and additional request options. 1987// 1988// See DiscoverPollEndpoint for details on how to use this API operation. 1989// 1990// The context must be non-nil and will be used for request cancellation. If 1991// the context is nil a panic will occur. In the future the SDK may create 1992// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1993// for more information on using Contexts. 1994func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 1995 req, out := c.DiscoverPollEndpointRequest(input) 1996 req.SetContext(ctx) 1997 req.ApplyOptions(opts...) 1998 return out, req.Send() 1999} 2000 2001const opListAccountSettings = "ListAccountSettings" 2002 2003// ListAccountSettingsRequest generates a "aws/request.Request" representing the 2004// client's request for the ListAccountSettings operation. The "output" return 2005// value will be populated with the request's response once the request completes 2006// successfully. 2007// 2008// Use "Send" method on the returned Request to send the API call to the service. 2009// the "output" return value is not valid until after Send returns without error. 2010// 2011// See ListAccountSettings for more information on using the ListAccountSettings 2012// API call, and error handling. 2013// 2014// This method is useful when you want to inject custom logic or configuration 2015// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2016// 2017// 2018// // Example sending a request using the ListAccountSettingsRequest method. 2019// req, resp := client.ListAccountSettingsRequest(params) 2020// 2021// err := req.Send() 2022// if err == nil { // resp is now filled 2023// fmt.Println(resp) 2024// } 2025// 2026// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2027func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 2028 op := &request.Operation{ 2029 Name: opListAccountSettings, 2030 HTTPMethod: "POST", 2031 HTTPPath: "/", 2032 } 2033 2034 if input == nil { 2035 input = &ListAccountSettingsInput{} 2036 } 2037 2038 output = &ListAccountSettingsOutput{} 2039 req = c.newRequest(op, input, output) 2040 return 2041} 2042 2043// ListAccountSettings API operation for Amazon EC2 Container Service. 2044// 2045// Lists the account settings for a specified principal. 2046// 2047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2048// with awserr.Error's Code and Message methods to get detailed information about 2049// the error. 2050// 2051// See the AWS API reference guide for Amazon EC2 Container Service's 2052// API operation ListAccountSettings for usage and error information. 2053// 2054// Returned Error Codes: 2055// * ErrCodeServerException "ServerException" 2056// These errors are usually caused by a server issue. 2057// 2058// * ErrCodeClientException "ClientException" 2059// These errors are usually caused by a client action, such as using an action 2060// or resource on behalf of a user that doesn't have permissions to use the 2061// action or resource, or specifying an identifier that is not valid. 2062// 2063// * ErrCodeInvalidParameterException "InvalidParameterException" 2064// The specified parameter is invalid. Review the available parameters for the 2065// API request. 2066// 2067// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2068func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 2069 req, out := c.ListAccountSettingsRequest(input) 2070 return out, req.Send() 2071} 2072 2073// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 2074// the ability to pass a context and additional request options. 2075// 2076// See ListAccountSettings for details on how to use this API operation. 2077// 2078// The context must be non-nil and will be used for request cancellation. If 2079// the context is nil a panic will occur. In the future the SDK may create 2080// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2081// for more information on using Contexts. 2082func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 2083 req, out := c.ListAccountSettingsRequest(input) 2084 req.SetContext(ctx) 2085 req.ApplyOptions(opts...) 2086 return out, req.Send() 2087} 2088 2089const opListAttributes = "ListAttributes" 2090 2091// ListAttributesRequest generates a "aws/request.Request" representing the 2092// client's request for the ListAttributes operation. The "output" return 2093// value will be populated with the request's response once the request completes 2094// successfully. 2095// 2096// Use "Send" method on the returned Request to send the API call to the service. 2097// the "output" return value is not valid until after Send returns without error. 2098// 2099// See ListAttributes for more information on using the ListAttributes 2100// API call, and error handling. 2101// 2102// This method is useful when you want to inject custom logic or configuration 2103// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2104// 2105// 2106// // Example sending a request using the ListAttributesRequest method. 2107// req, resp := client.ListAttributesRequest(params) 2108// 2109// err := req.Send() 2110// if err == nil { // resp is now filled 2111// fmt.Println(resp) 2112// } 2113// 2114// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2115func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 2116 op := &request.Operation{ 2117 Name: opListAttributes, 2118 HTTPMethod: "POST", 2119 HTTPPath: "/", 2120 Paginator: &request.Paginator{ 2121 InputTokens: []string{"nextToken"}, 2122 OutputTokens: []string{"nextToken"}, 2123 LimitToken: "maxResults", 2124 TruncationToken: "", 2125 }, 2126 } 2127 2128 if input == nil { 2129 input = &ListAttributesInput{} 2130 } 2131 2132 output = &ListAttributesOutput{} 2133 req = c.newRequest(op, input, output) 2134 return 2135} 2136 2137// ListAttributes API operation for Amazon EC2 Container Service. 2138// 2139// Lists the attributes for Amazon ECS resources within a specified target type 2140// and cluster. When you specify a target type and cluster, ListAttributes returns 2141// a list of attribute objects, one for each attribute on each resource. You 2142// can filter the list of results to a single attribute name to only return 2143// results that have that name. You can also filter the results by attribute 2144// name and value, for example, to see which container instances in a cluster 2145// are running a Linux AMI (ecs.os-type=linux). 2146// 2147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2148// with awserr.Error's Code and Message methods to get detailed information about 2149// the error. 2150// 2151// See the AWS API reference guide for Amazon EC2 Container Service's 2152// API operation ListAttributes for usage and error information. 2153// 2154// Returned Error Codes: 2155// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2156// The specified cluster could not be found. You can view your available clusters 2157// with ListClusters. Amazon ECS clusters are Region-specific. 2158// 2159// * ErrCodeInvalidParameterException "InvalidParameterException" 2160// The specified parameter is invalid. Review the available parameters for the 2161// API request. 2162// 2163// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2164func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 2165 req, out := c.ListAttributesRequest(input) 2166 return out, req.Send() 2167} 2168 2169// ListAttributesWithContext is the same as ListAttributes with the addition of 2170// the ability to pass a context and additional request options. 2171// 2172// See ListAttributes for details on how to use this API operation. 2173// 2174// The context must be non-nil and will be used for request cancellation. If 2175// the context is nil a panic will occur. In the future the SDK may create 2176// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2177// for more information on using Contexts. 2178func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 2179 req, out := c.ListAttributesRequest(input) 2180 req.SetContext(ctx) 2181 req.ApplyOptions(opts...) 2182 return out, req.Send() 2183} 2184 2185// ListAttributesPages iterates over the pages of a ListAttributes operation, 2186// calling the "fn" function with the response data for each page. To stop 2187// iterating, return false from the fn function. 2188// 2189// See ListAttributes method for more information on how to use this operation. 2190// 2191// Note: This operation can generate multiple requests to a service. 2192// 2193// // Example iterating over at most 3 pages of a ListAttributes operation. 2194// pageNum := 0 2195// err := client.ListAttributesPages(params, 2196// func(page *ecs.ListAttributesOutput, lastPage bool) bool { 2197// pageNum++ 2198// fmt.Println(page) 2199// return pageNum <= 3 2200// }) 2201// 2202func (c *ECS) ListAttributesPages(input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool) error { 2203 return c.ListAttributesPagesWithContext(aws.BackgroundContext(), input, fn) 2204} 2205 2206// ListAttributesPagesWithContext same as ListAttributesPages except 2207// it takes a Context and allows setting request options on the pages. 2208// 2209// The context must be non-nil and will be used for request cancellation. If 2210// the context is nil a panic will occur. In the future the SDK may create 2211// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2212// for more information on using Contexts. 2213func (c *ECS) ListAttributesPagesWithContext(ctx aws.Context, input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool, opts ...request.Option) error { 2214 p := request.Pagination{ 2215 NewRequest: func() (*request.Request, error) { 2216 var inCpy *ListAttributesInput 2217 if input != nil { 2218 tmp := *input 2219 inCpy = &tmp 2220 } 2221 req, _ := c.ListAttributesRequest(inCpy) 2222 req.SetContext(ctx) 2223 req.ApplyOptions(opts...) 2224 return req, nil 2225 }, 2226 } 2227 2228 for p.Next() { 2229 if !fn(p.Page().(*ListAttributesOutput), !p.HasNextPage()) { 2230 break 2231 } 2232 } 2233 2234 return p.Err() 2235} 2236 2237const opListClusters = "ListClusters" 2238 2239// ListClustersRequest generates a "aws/request.Request" representing the 2240// client's request for the ListClusters operation. The "output" return 2241// value will be populated with the request's response once the request completes 2242// successfully. 2243// 2244// Use "Send" method on the returned Request to send the API call to the service. 2245// the "output" return value is not valid until after Send returns without error. 2246// 2247// See ListClusters for more information on using the ListClusters 2248// API call, and error handling. 2249// 2250// This method is useful when you want to inject custom logic or configuration 2251// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2252// 2253// 2254// // Example sending a request using the ListClustersRequest method. 2255// req, resp := client.ListClustersRequest(params) 2256// 2257// err := req.Send() 2258// if err == nil { // resp is now filled 2259// fmt.Println(resp) 2260// } 2261// 2262// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2263func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2264 op := &request.Operation{ 2265 Name: opListClusters, 2266 HTTPMethod: "POST", 2267 HTTPPath: "/", 2268 Paginator: &request.Paginator{ 2269 InputTokens: []string{"nextToken"}, 2270 OutputTokens: []string{"nextToken"}, 2271 LimitToken: "maxResults", 2272 TruncationToken: "", 2273 }, 2274 } 2275 2276 if input == nil { 2277 input = &ListClustersInput{} 2278 } 2279 2280 output = &ListClustersOutput{} 2281 req = c.newRequest(op, input, output) 2282 return 2283} 2284 2285// ListClusters API operation for Amazon EC2 Container Service. 2286// 2287// Returns a list of existing clusters. 2288// 2289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2290// with awserr.Error's Code and Message methods to get detailed information about 2291// the error. 2292// 2293// See the AWS API reference guide for Amazon EC2 Container Service's 2294// API operation ListClusters for usage and error information. 2295// 2296// Returned Error Codes: 2297// * ErrCodeServerException "ServerException" 2298// These errors are usually caused by a server issue. 2299// 2300// * ErrCodeClientException "ClientException" 2301// These errors are usually caused by a client action, such as using an action 2302// or resource on behalf of a user that doesn't have permissions to use the 2303// action or resource, or specifying an identifier that is not valid. 2304// 2305// * ErrCodeInvalidParameterException "InvalidParameterException" 2306// The specified parameter is invalid. Review the available parameters for the 2307// API request. 2308// 2309// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2310func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2311 req, out := c.ListClustersRequest(input) 2312 return out, req.Send() 2313} 2314 2315// ListClustersWithContext is the same as ListClusters with the addition of 2316// the ability to pass a context and additional request options. 2317// 2318// See ListClusters for details on how to use this API operation. 2319// 2320// The context must be non-nil and will be used for request cancellation. If 2321// the context is nil a panic will occur. In the future the SDK may create 2322// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2323// for more information on using Contexts. 2324func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2325 req, out := c.ListClustersRequest(input) 2326 req.SetContext(ctx) 2327 req.ApplyOptions(opts...) 2328 return out, req.Send() 2329} 2330 2331// ListClustersPages iterates over the pages of a ListClusters operation, 2332// calling the "fn" function with the response data for each page. To stop 2333// iterating, return false from the fn function. 2334// 2335// See ListClusters method for more information on how to use this operation. 2336// 2337// Note: This operation can generate multiple requests to a service. 2338// 2339// // Example iterating over at most 3 pages of a ListClusters operation. 2340// pageNum := 0 2341// err := client.ListClustersPages(params, 2342// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2343// pageNum++ 2344// fmt.Println(page) 2345// return pageNum <= 3 2346// }) 2347// 2348func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2349 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2350} 2351 2352// ListClustersPagesWithContext same as ListClustersPages except 2353// it takes a Context and allows setting request options on the pages. 2354// 2355// The context must be non-nil and will be used for request cancellation. If 2356// the context is nil a panic will occur. In the future the SDK may create 2357// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2358// for more information on using Contexts. 2359func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2360 p := request.Pagination{ 2361 NewRequest: func() (*request.Request, error) { 2362 var inCpy *ListClustersInput 2363 if input != nil { 2364 tmp := *input 2365 inCpy = &tmp 2366 } 2367 req, _ := c.ListClustersRequest(inCpy) 2368 req.SetContext(ctx) 2369 req.ApplyOptions(opts...) 2370 return req, nil 2371 }, 2372 } 2373 2374 for p.Next() { 2375 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2376 break 2377 } 2378 } 2379 2380 return p.Err() 2381} 2382 2383const opListContainerInstances = "ListContainerInstances" 2384 2385// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2386// client's request for the ListContainerInstances operation. The "output" return 2387// value will be populated with the request's response once the request completes 2388// successfully. 2389// 2390// Use "Send" method on the returned Request to send the API call to the service. 2391// the "output" return value is not valid until after Send returns without error. 2392// 2393// See ListContainerInstances for more information on using the ListContainerInstances 2394// API call, and error handling. 2395// 2396// This method is useful when you want to inject custom logic or configuration 2397// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2398// 2399// 2400// // Example sending a request using the ListContainerInstancesRequest method. 2401// req, resp := client.ListContainerInstancesRequest(params) 2402// 2403// err := req.Send() 2404// if err == nil { // resp is now filled 2405// fmt.Println(resp) 2406// } 2407// 2408// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2409func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2410 op := &request.Operation{ 2411 Name: opListContainerInstances, 2412 HTTPMethod: "POST", 2413 HTTPPath: "/", 2414 Paginator: &request.Paginator{ 2415 InputTokens: []string{"nextToken"}, 2416 OutputTokens: []string{"nextToken"}, 2417 LimitToken: "maxResults", 2418 TruncationToken: "", 2419 }, 2420 } 2421 2422 if input == nil { 2423 input = &ListContainerInstancesInput{} 2424 } 2425 2426 output = &ListContainerInstancesOutput{} 2427 req = c.newRequest(op, input, output) 2428 return 2429} 2430 2431// ListContainerInstances API operation for Amazon EC2 Container Service. 2432// 2433// Returns a list of container instances in a specified cluster. You can filter 2434// the results of a ListContainerInstances operation with cluster query language 2435// statements inside the filter parameter. For more information, see Cluster 2436// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2437// in the Amazon Elastic Container Service Developer Guide. 2438// 2439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2440// with awserr.Error's Code and Message methods to get detailed information about 2441// the error. 2442// 2443// See the AWS API reference guide for Amazon EC2 Container Service's 2444// API operation ListContainerInstances for usage and error information. 2445// 2446// Returned Error Codes: 2447// * ErrCodeServerException "ServerException" 2448// These errors are usually caused by a server issue. 2449// 2450// * ErrCodeClientException "ClientException" 2451// These errors are usually caused by a client action, such as using an action 2452// or resource on behalf of a user that doesn't have permissions to use the 2453// action or resource, or specifying an identifier that is not valid. 2454// 2455// * ErrCodeInvalidParameterException "InvalidParameterException" 2456// The specified parameter is invalid. Review the available parameters for the 2457// API request. 2458// 2459// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2460// The specified cluster could not be found. You can view your available clusters 2461// with ListClusters. Amazon ECS clusters are Region-specific. 2462// 2463// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2464func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2465 req, out := c.ListContainerInstancesRequest(input) 2466 return out, req.Send() 2467} 2468 2469// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2470// the ability to pass a context and additional request options. 2471// 2472// See ListContainerInstances for details on how to use this API operation. 2473// 2474// The context must be non-nil and will be used for request cancellation. If 2475// the context is nil a panic will occur. In the future the SDK may create 2476// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2477// for more information on using Contexts. 2478func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2479 req, out := c.ListContainerInstancesRequest(input) 2480 req.SetContext(ctx) 2481 req.ApplyOptions(opts...) 2482 return out, req.Send() 2483} 2484 2485// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2486// calling the "fn" function with the response data for each page. To stop 2487// iterating, return false from the fn function. 2488// 2489// See ListContainerInstances method for more information on how to use this operation. 2490// 2491// Note: This operation can generate multiple requests to a service. 2492// 2493// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2494// pageNum := 0 2495// err := client.ListContainerInstancesPages(params, 2496// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2497// pageNum++ 2498// fmt.Println(page) 2499// return pageNum <= 3 2500// }) 2501// 2502func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2503 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2504} 2505 2506// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2507// it takes a Context and allows setting request options on the pages. 2508// 2509// The context must be non-nil and will be used for request cancellation. If 2510// the context is nil a panic will occur. In the future the SDK may create 2511// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2512// for more information on using Contexts. 2513func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2514 p := request.Pagination{ 2515 NewRequest: func() (*request.Request, error) { 2516 var inCpy *ListContainerInstancesInput 2517 if input != nil { 2518 tmp := *input 2519 inCpy = &tmp 2520 } 2521 req, _ := c.ListContainerInstancesRequest(inCpy) 2522 req.SetContext(ctx) 2523 req.ApplyOptions(opts...) 2524 return req, nil 2525 }, 2526 } 2527 2528 for p.Next() { 2529 if !fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) { 2530 break 2531 } 2532 } 2533 2534 return p.Err() 2535} 2536 2537const opListServices = "ListServices" 2538 2539// ListServicesRequest generates a "aws/request.Request" representing the 2540// client's request for the ListServices operation. The "output" return 2541// value will be populated with the request's response once the request completes 2542// successfully. 2543// 2544// Use "Send" method on the returned Request to send the API call to the service. 2545// the "output" return value is not valid until after Send returns without error. 2546// 2547// See ListServices for more information on using the ListServices 2548// API call, and error handling. 2549// 2550// This method is useful when you want to inject custom logic or configuration 2551// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2552// 2553// 2554// // Example sending a request using the ListServicesRequest method. 2555// req, resp := client.ListServicesRequest(params) 2556// 2557// err := req.Send() 2558// if err == nil { // resp is now filled 2559// fmt.Println(resp) 2560// } 2561// 2562// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2563func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2564 op := &request.Operation{ 2565 Name: opListServices, 2566 HTTPMethod: "POST", 2567 HTTPPath: "/", 2568 Paginator: &request.Paginator{ 2569 InputTokens: []string{"nextToken"}, 2570 OutputTokens: []string{"nextToken"}, 2571 LimitToken: "maxResults", 2572 TruncationToken: "", 2573 }, 2574 } 2575 2576 if input == nil { 2577 input = &ListServicesInput{} 2578 } 2579 2580 output = &ListServicesOutput{} 2581 req = c.newRequest(op, input, output) 2582 return 2583} 2584 2585// ListServices API operation for Amazon EC2 Container Service. 2586// 2587// Lists the services that are running in a specified cluster. 2588// 2589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2590// with awserr.Error's Code and Message methods to get detailed information about 2591// the error. 2592// 2593// See the AWS API reference guide for Amazon EC2 Container Service's 2594// API operation ListServices for usage and error information. 2595// 2596// Returned Error Codes: 2597// * ErrCodeServerException "ServerException" 2598// These errors are usually caused by a server issue. 2599// 2600// * ErrCodeClientException "ClientException" 2601// These errors are usually caused by a client action, such as using an action 2602// or resource on behalf of a user that doesn't have permissions to use the 2603// action or resource, or specifying an identifier that is not valid. 2604// 2605// * ErrCodeInvalidParameterException "InvalidParameterException" 2606// The specified parameter is invalid. Review the available parameters for the 2607// API request. 2608// 2609// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2610// The specified cluster could not be found. You can view your available clusters 2611// with ListClusters. Amazon ECS clusters are Region-specific. 2612// 2613// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2614func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2615 req, out := c.ListServicesRequest(input) 2616 return out, req.Send() 2617} 2618 2619// ListServicesWithContext is the same as ListServices with the addition of 2620// the ability to pass a context and additional request options. 2621// 2622// See ListServices for details on how to use this API operation. 2623// 2624// The context must be non-nil and will be used for request cancellation. If 2625// the context is nil a panic will occur. In the future the SDK may create 2626// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2627// for more information on using Contexts. 2628func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2629 req, out := c.ListServicesRequest(input) 2630 req.SetContext(ctx) 2631 req.ApplyOptions(opts...) 2632 return out, req.Send() 2633} 2634 2635// ListServicesPages iterates over the pages of a ListServices operation, 2636// calling the "fn" function with the response data for each page. To stop 2637// iterating, return false from the fn function. 2638// 2639// See ListServices method for more information on how to use this operation. 2640// 2641// Note: This operation can generate multiple requests to a service. 2642// 2643// // Example iterating over at most 3 pages of a ListServices operation. 2644// pageNum := 0 2645// err := client.ListServicesPages(params, 2646// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2647// pageNum++ 2648// fmt.Println(page) 2649// return pageNum <= 3 2650// }) 2651// 2652func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2653 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2654} 2655 2656// ListServicesPagesWithContext same as ListServicesPages except 2657// it takes a Context and allows setting request options on the pages. 2658// 2659// The context must be non-nil and will be used for request cancellation. If 2660// the context is nil a panic will occur. In the future the SDK may create 2661// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2662// for more information on using Contexts. 2663func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2664 p := request.Pagination{ 2665 NewRequest: func() (*request.Request, error) { 2666 var inCpy *ListServicesInput 2667 if input != nil { 2668 tmp := *input 2669 inCpy = &tmp 2670 } 2671 req, _ := c.ListServicesRequest(inCpy) 2672 req.SetContext(ctx) 2673 req.ApplyOptions(opts...) 2674 return req, nil 2675 }, 2676 } 2677 2678 for p.Next() { 2679 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 2680 break 2681 } 2682 } 2683 2684 return p.Err() 2685} 2686 2687const opListTagsForResource = "ListTagsForResource" 2688 2689// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2690// client's request for the ListTagsForResource operation. The "output" return 2691// value will be populated with the request's response once the request completes 2692// successfully. 2693// 2694// Use "Send" method on the returned Request to send the API call to the service. 2695// the "output" return value is not valid until after Send returns without error. 2696// 2697// See ListTagsForResource for more information on using the ListTagsForResource 2698// API call, and error handling. 2699// 2700// This method is useful when you want to inject custom logic or configuration 2701// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2702// 2703// 2704// // Example sending a request using the ListTagsForResourceRequest method. 2705// req, resp := client.ListTagsForResourceRequest(params) 2706// 2707// err := req.Send() 2708// if err == nil { // resp is now filled 2709// fmt.Println(resp) 2710// } 2711// 2712// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2713func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2714 op := &request.Operation{ 2715 Name: opListTagsForResource, 2716 HTTPMethod: "POST", 2717 HTTPPath: "/", 2718 } 2719 2720 if input == nil { 2721 input = &ListTagsForResourceInput{} 2722 } 2723 2724 output = &ListTagsForResourceOutput{} 2725 req = c.newRequest(op, input, output) 2726 return 2727} 2728 2729// ListTagsForResource API operation for Amazon EC2 Container Service. 2730// 2731// List the tags for an Amazon ECS resource. 2732// 2733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2734// with awserr.Error's Code and Message methods to get detailed information about 2735// the error. 2736// 2737// See the AWS API reference guide for Amazon EC2 Container Service's 2738// API operation ListTagsForResource for usage and error information. 2739// 2740// Returned Error Codes: 2741// * ErrCodeServerException "ServerException" 2742// These errors are usually caused by a server issue. 2743// 2744// * ErrCodeClientException "ClientException" 2745// These errors are usually caused by a client action, such as using an action 2746// or resource on behalf of a user that doesn't have permissions to use the 2747// action or resource, or specifying an identifier that is not valid. 2748// 2749// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 2750// The specified cluster could not be found. You can view your available clusters 2751// with ListClusters. Amazon ECS clusters are Region-specific. 2752// 2753// * ErrCodeInvalidParameterException "InvalidParameterException" 2754// The specified parameter is invalid. Review the available parameters for the 2755// API request. 2756// 2757// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2758func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2759 req, out := c.ListTagsForResourceRequest(input) 2760 return out, req.Send() 2761} 2762 2763// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2764// the ability to pass a context and additional request options. 2765// 2766// See ListTagsForResource for details on how to use this API operation. 2767// 2768// The context must be non-nil and will be used for request cancellation. If 2769// the context is nil a panic will occur. In the future the SDK may create 2770// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2771// for more information on using Contexts. 2772func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2773 req, out := c.ListTagsForResourceRequest(input) 2774 req.SetContext(ctx) 2775 req.ApplyOptions(opts...) 2776 return out, req.Send() 2777} 2778 2779const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 2780 2781// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 2782// client's request for the ListTaskDefinitionFamilies operation. The "output" return 2783// value will be populated with the request's response once the request completes 2784// successfully. 2785// 2786// Use "Send" method on the returned Request to send the API call to the service. 2787// the "output" return value is not valid until after Send returns without error. 2788// 2789// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 2790// API call, and error handling. 2791// 2792// This method is useful when you want to inject custom logic or configuration 2793// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2794// 2795// 2796// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 2797// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 2798// 2799// err := req.Send() 2800// if err == nil { // resp is now filled 2801// fmt.Println(resp) 2802// } 2803// 2804// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2805func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 2806 op := &request.Operation{ 2807 Name: opListTaskDefinitionFamilies, 2808 HTTPMethod: "POST", 2809 HTTPPath: "/", 2810 Paginator: &request.Paginator{ 2811 InputTokens: []string{"nextToken"}, 2812 OutputTokens: []string{"nextToken"}, 2813 LimitToken: "maxResults", 2814 TruncationToken: "", 2815 }, 2816 } 2817 2818 if input == nil { 2819 input = &ListTaskDefinitionFamiliesInput{} 2820 } 2821 2822 output = &ListTaskDefinitionFamiliesOutput{} 2823 req = c.newRequest(op, input, output) 2824 return 2825} 2826 2827// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 2828// 2829// Returns a list of task definition families that are registered to your account 2830// (which may include task definition families that no longer have any ACTIVE 2831// task definition revisions). 2832// 2833// You can filter out task definition families that do not contain any ACTIVE 2834// task definition revisions by setting the status parameter to ACTIVE. You 2835// can also filter the results with the familyPrefix parameter. 2836// 2837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2838// with awserr.Error's Code and Message methods to get detailed information about 2839// the error. 2840// 2841// See the AWS API reference guide for Amazon EC2 Container Service's 2842// API operation ListTaskDefinitionFamilies for usage and error information. 2843// 2844// Returned Error Codes: 2845// * ErrCodeServerException "ServerException" 2846// These errors are usually caused by a server issue. 2847// 2848// * ErrCodeClientException "ClientException" 2849// These errors are usually caused by a client action, such as using an action 2850// or resource on behalf of a user that doesn't have permissions to use the 2851// action or resource, or specifying an identifier that is not valid. 2852// 2853// * ErrCodeInvalidParameterException "InvalidParameterException" 2854// The specified parameter is invalid. Review the available parameters for the 2855// API request. 2856// 2857// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2858func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 2859 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2860 return out, req.Send() 2861} 2862 2863// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 2864// the ability to pass a context and additional request options. 2865// 2866// See ListTaskDefinitionFamilies for details on how to use this API operation. 2867// 2868// The context must be non-nil and will be used for request cancellation. If 2869// the context is nil a panic will occur. In the future the SDK may create 2870// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2871// for more information on using Contexts. 2872func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 2873 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2874 req.SetContext(ctx) 2875 req.ApplyOptions(opts...) 2876 return out, req.Send() 2877} 2878 2879// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 2880// calling the "fn" function with the response data for each page. To stop 2881// iterating, return false from the fn function. 2882// 2883// See ListTaskDefinitionFamilies method for more information on how to use this operation. 2884// 2885// Note: This operation can generate multiple requests to a service. 2886// 2887// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 2888// pageNum := 0 2889// err := client.ListTaskDefinitionFamiliesPages(params, 2890// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 2891// pageNum++ 2892// fmt.Println(page) 2893// return pageNum <= 3 2894// }) 2895// 2896func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 2897 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 2898} 2899 2900// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 2901// it takes a Context and allows setting request options on the pages. 2902// 2903// The context must be non-nil and will be used for request cancellation. If 2904// the context is nil a panic will occur. In the future the SDK may create 2905// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2906// for more information on using Contexts. 2907func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 2908 p := request.Pagination{ 2909 NewRequest: func() (*request.Request, error) { 2910 var inCpy *ListTaskDefinitionFamiliesInput 2911 if input != nil { 2912 tmp := *input 2913 inCpy = &tmp 2914 } 2915 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 2916 req.SetContext(ctx) 2917 req.ApplyOptions(opts...) 2918 return req, nil 2919 }, 2920 } 2921 2922 for p.Next() { 2923 if !fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) { 2924 break 2925 } 2926 } 2927 2928 return p.Err() 2929} 2930 2931const opListTaskDefinitions = "ListTaskDefinitions" 2932 2933// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 2934// client's request for the ListTaskDefinitions operation. The "output" return 2935// value will be populated with the request's response once the request completes 2936// successfully. 2937// 2938// Use "Send" method on the returned Request to send the API call to the service. 2939// the "output" return value is not valid until after Send returns without error. 2940// 2941// See ListTaskDefinitions for more information on using the ListTaskDefinitions 2942// API call, and error handling. 2943// 2944// This method is useful when you want to inject custom logic or configuration 2945// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2946// 2947// 2948// // Example sending a request using the ListTaskDefinitionsRequest method. 2949// req, resp := client.ListTaskDefinitionsRequest(params) 2950// 2951// err := req.Send() 2952// if err == nil { // resp is now filled 2953// fmt.Println(resp) 2954// } 2955// 2956// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 2957func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 2958 op := &request.Operation{ 2959 Name: opListTaskDefinitions, 2960 HTTPMethod: "POST", 2961 HTTPPath: "/", 2962 Paginator: &request.Paginator{ 2963 InputTokens: []string{"nextToken"}, 2964 OutputTokens: []string{"nextToken"}, 2965 LimitToken: "maxResults", 2966 TruncationToken: "", 2967 }, 2968 } 2969 2970 if input == nil { 2971 input = &ListTaskDefinitionsInput{} 2972 } 2973 2974 output = &ListTaskDefinitionsOutput{} 2975 req = c.newRequest(op, input, output) 2976 return 2977} 2978 2979// ListTaskDefinitions API operation for Amazon EC2 Container Service. 2980// 2981// Returns a list of task definitions that are registered to your account. You 2982// can filter the results by family name with the familyPrefix parameter or 2983// by status with the status parameter. 2984// 2985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2986// with awserr.Error's Code and Message methods to get detailed information about 2987// the error. 2988// 2989// See the AWS API reference guide for Amazon EC2 Container Service's 2990// API operation ListTaskDefinitions for usage and error information. 2991// 2992// Returned Error Codes: 2993// * ErrCodeServerException "ServerException" 2994// These errors are usually caused by a server issue. 2995// 2996// * ErrCodeClientException "ClientException" 2997// These errors are usually caused by a client action, such as using an action 2998// or resource on behalf of a user that doesn't have permissions to use the 2999// action or resource, or specifying an identifier that is not valid. 3000// 3001// * ErrCodeInvalidParameterException "InvalidParameterException" 3002// The specified parameter is invalid. Review the available parameters for the 3003// API request. 3004// 3005// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3006func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 3007 req, out := c.ListTaskDefinitionsRequest(input) 3008 return out, req.Send() 3009} 3010 3011// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 3012// the ability to pass a context and additional request options. 3013// 3014// See ListTaskDefinitions for details on how to use this API operation. 3015// 3016// The context must be non-nil and will be used for request cancellation. If 3017// the context is nil a panic will occur. In the future the SDK may create 3018// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3019// for more information on using Contexts. 3020func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 3021 req, out := c.ListTaskDefinitionsRequest(input) 3022 req.SetContext(ctx) 3023 req.ApplyOptions(opts...) 3024 return out, req.Send() 3025} 3026 3027// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 3028// calling the "fn" function with the response data for each page. To stop 3029// iterating, return false from the fn function. 3030// 3031// See ListTaskDefinitions method for more information on how to use this operation. 3032// 3033// Note: This operation can generate multiple requests to a service. 3034// 3035// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 3036// pageNum := 0 3037// err := client.ListTaskDefinitionsPages(params, 3038// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 3039// pageNum++ 3040// fmt.Println(page) 3041// return pageNum <= 3 3042// }) 3043// 3044func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 3045 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 3046} 3047 3048// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 3049// it takes a Context and allows setting request options on the pages. 3050// 3051// The context must be non-nil and will be used for request cancellation. If 3052// the context is nil a panic will occur. In the future the SDK may create 3053// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3054// for more information on using Contexts. 3055func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 3056 p := request.Pagination{ 3057 NewRequest: func() (*request.Request, error) { 3058 var inCpy *ListTaskDefinitionsInput 3059 if input != nil { 3060 tmp := *input 3061 inCpy = &tmp 3062 } 3063 req, _ := c.ListTaskDefinitionsRequest(inCpy) 3064 req.SetContext(ctx) 3065 req.ApplyOptions(opts...) 3066 return req, nil 3067 }, 3068 } 3069 3070 for p.Next() { 3071 if !fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) { 3072 break 3073 } 3074 } 3075 3076 return p.Err() 3077} 3078 3079const opListTasks = "ListTasks" 3080 3081// ListTasksRequest generates a "aws/request.Request" representing the 3082// client's request for the ListTasks operation. The "output" return 3083// value will be populated with the request's response once the request completes 3084// successfully. 3085// 3086// Use "Send" method on the returned Request to send the API call to the service. 3087// the "output" return value is not valid until after Send returns without error. 3088// 3089// See ListTasks for more information on using the ListTasks 3090// API call, and error handling. 3091// 3092// This method is useful when you want to inject custom logic or configuration 3093// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3094// 3095// 3096// // Example sending a request using the ListTasksRequest method. 3097// req, resp := client.ListTasksRequest(params) 3098// 3099// err := req.Send() 3100// if err == nil { // resp is now filled 3101// fmt.Println(resp) 3102// } 3103// 3104// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3105func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 3106 op := &request.Operation{ 3107 Name: opListTasks, 3108 HTTPMethod: "POST", 3109 HTTPPath: "/", 3110 Paginator: &request.Paginator{ 3111 InputTokens: []string{"nextToken"}, 3112 OutputTokens: []string{"nextToken"}, 3113 LimitToken: "maxResults", 3114 TruncationToken: "", 3115 }, 3116 } 3117 3118 if input == nil { 3119 input = &ListTasksInput{} 3120 } 3121 3122 output = &ListTasksOutput{} 3123 req = c.newRequest(op, input, output) 3124 return 3125} 3126 3127// ListTasks API operation for Amazon EC2 Container Service. 3128// 3129// Returns a list of tasks for a specified cluster. You can filter the results 3130// by family name, by a particular container instance, or by the desired status 3131// of the task with the family, containerInstance, and desiredStatus parameters. 3132// 3133// Recently stopped tasks might appear in the returned results. Currently, stopped 3134// tasks appear in the returned results for at least one hour. 3135// 3136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3137// with awserr.Error's Code and Message methods to get detailed information about 3138// the error. 3139// 3140// See the AWS API reference guide for Amazon EC2 Container Service's 3141// API operation ListTasks for usage and error information. 3142// 3143// Returned Error Codes: 3144// * ErrCodeServerException "ServerException" 3145// These errors are usually caused by a server issue. 3146// 3147// * ErrCodeClientException "ClientException" 3148// These errors are usually caused by a client action, such as using an action 3149// or resource on behalf of a user that doesn't have permissions to use the 3150// action or resource, or specifying an identifier that is not valid. 3151// 3152// * ErrCodeInvalidParameterException "InvalidParameterException" 3153// The specified parameter is invalid. Review the available parameters for the 3154// API request. 3155// 3156// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3157// The specified cluster could not be found. You can view your available clusters 3158// with ListClusters. Amazon ECS clusters are Region-specific. 3159// 3160// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 3161// The specified service could not be found. You can view your available services 3162// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 3163// 3164// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3165func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 3166 req, out := c.ListTasksRequest(input) 3167 return out, req.Send() 3168} 3169 3170// ListTasksWithContext is the same as ListTasks with the addition of 3171// the ability to pass a context and additional request options. 3172// 3173// See ListTasks for details on how to use this API operation. 3174// 3175// The context must be non-nil and will be used for request cancellation. If 3176// the context is nil a panic will occur. In the future the SDK may create 3177// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3178// for more information on using Contexts. 3179func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 3180 req, out := c.ListTasksRequest(input) 3181 req.SetContext(ctx) 3182 req.ApplyOptions(opts...) 3183 return out, req.Send() 3184} 3185 3186// ListTasksPages iterates over the pages of a ListTasks operation, 3187// calling the "fn" function with the response data for each page. To stop 3188// iterating, return false from the fn function. 3189// 3190// See ListTasks method for more information on how to use this operation. 3191// 3192// Note: This operation can generate multiple requests to a service. 3193// 3194// // Example iterating over at most 3 pages of a ListTasks operation. 3195// pageNum := 0 3196// err := client.ListTasksPages(params, 3197// func(page *ecs.ListTasksOutput, lastPage bool) bool { 3198// pageNum++ 3199// fmt.Println(page) 3200// return pageNum <= 3 3201// }) 3202// 3203func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 3204 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 3205} 3206 3207// ListTasksPagesWithContext same as ListTasksPages except 3208// it takes a Context and allows setting request options on the pages. 3209// 3210// The context must be non-nil and will be used for request cancellation. If 3211// the context is nil a panic will occur. In the future the SDK may create 3212// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3213// for more information on using Contexts. 3214func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 3215 p := request.Pagination{ 3216 NewRequest: func() (*request.Request, error) { 3217 var inCpy *ListTasksInput 3218 if input != nil { 3219 tmp := *input 3220 inCpy = &tmp 3221 } 3222 req, _ := c.ListTasksRequest(inCpy) 3223 req.SetContext(ctx) 3224 req.ApplyOptions(opts...) 3225 return req, nil 3226 }, 3227 } 3228 3229 for p.Next() { 3230 if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { 3231 break 3232 } 3233 } 3234 3235 return p.Err() 3236} 3237 3238const opPutAccountSetting = "PutAccountSetting" 3239 3240// PutAccountSettingRequest generates a "aws/request.Request" representing the 3241// client's request for the PutAccountSetting operation. The "output" return 3242// value will be populated with the request's response once the request completes 3243// successfully. 3244// 3245// Use "Send" method on the returned Request to send the API call to the service. 3246// the "output" return value is not valid until after Send returns without error. 3247// 3248// See PutAccountSetting for more information on using the PutAccountSetting 3249// API call, and error handling. 3250// 3251// This method is useful when you want to inject custom logic or configuration 3252// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3253// 3254// 3255// // Example sending a request using the PutAccountSettingRequest method. 3256// req, resp := client.PutAccountSettingRequest(params) 3257// 3258// err := req.Send() 3259// if err == nil { // resp is now filled 3260// fmt.Println(resp) 3261// } 3262// 3263// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3264func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3265 op := &request.Operation{ 3266 Name: opPutAccountSetting, 3267 HTTPMethod: "POST", 3268 HTTPPath: "/", 3269 } 3270 3271 if input == nil { 3272 input = &PutAccountSettingInput{} 3273 } 3274 3275 output = &PutAccountSettingOutput{} 3276 req = c.newRequest(op, input, output) 3277 return 3278} 3279 3280// PutAccountSetting API operation for Amazon EC2 Container Service. 3281// 3282// Modifies an account setting. Account settings are set on a per-Region basis. 3283// 3284// If you change the account setting for the root user, the default settings 3285// for all of the IAM users and roles for which no individual account setting 3286// has been specified are reset. For more information, see Account Settings 3287// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3288// in the Amazon Elastic Container Service Developer Guide. 3289// 3290// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3291// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3292// resource type for a specified IAM user, IAM role, or the root user for an 3293// account is affected. The opt-in and opt-out account setting must be set for 3294// each Amazon ECS resource separately. The ARN and resource ID format of a 3295// resource will be defined by the opt-in status of the IAM user or role that 3296// created the resource. You must enable this setting to use Amazon ECS features 3297// such as resource tagging. 3298// 3299// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3300// for any new container instances that support the feature is changed. If awsvpcTrunking 3301// is enabled, any new container instances that support the feature are launched 3302// have the increased ENI limits available to them. For more information, see 3303// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3304// in the Amazon Elastic Container Service Developer Guide. 3305// 3306// When containerInsights is specified, the default setting indicating whether 3307// CloudWatch Container Insights is enabled for your clusters is changed. If 3308// containerInsights is enabled, any new clusters that are created will have 3309// Container Insights enabled unless you disable it during cluster creation. 3310// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3311// in the Amazon Elastic Container Service Developer Guide. 3312// 3313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3314// with awserr.Error's Code and Message methods to get detailed information about 3315// the error. 3316// 3317// See the AWS API reference guide for Amazon EC2 Container Service's 3318// API operation PutAccountSetting for usage and error information. 3319// 3320// Returned Error Codes: 3321// * ErrCodeServerException "ServerException" 3322// These errors are usually caused by a server issue. 3323// 3324// * ErrCodeClientException "ClientException" 3325// These errors are usually caused by a client action, such as using an action 3326// or resource on behalf of a user that doesn't have permissions to use the 3327// action or resource, or specifying an identifier that is not valid. 3328// 3329// * ErrCodeInvalidParameterException "InvalidParameterException" 3330// The specified parameter is invalid. Review the available parameters for the 3331// API request. 3332// 3333// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3334func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3335 req, out := c.PutAccountSettingRequest(input) 3336 return out, req.Send() 3337} 3338 3339// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3340// the ability to pass a context and additional request options. 3341// 3342// See PutAccountSetting for details on how to use this API operation. 3343// 3344// The context must be non-nil and will be used for request cancellation. If 3345// the context is nil a panic will occur. In the future the SDK may create 3346// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3347// for more information on using Contexts. 3348func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3349 req, out := c.PutAccountSettingRequest(input) 3350 req.SetContext(ctx) 3351 req.ApplyOptions(opts...) 3352 return out, req.Send() 3353} 3354 3355const opPutAccountSettingDefault = "PutAccountSettingDefault" 3356 3357// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3358// client's request for the PutAccountSettingDefault operation. The "output" return 3359// value will be populated with the request's response once the request completes 3360// successfully. 3361// 3362// Use "Send" method on the returned Request to send the API call to the service. 3363// the "output" return value is not valid until after Send returns without error. 3364// 3365// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3366// API call, and error handling. 3367// 3368// This method is useful when you want to inject custom logic or configuration 3369// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3370// 3371// 3372// // Example sending a request using the PutAccountSettingDefaultRequest method. 3373// req, resp := client.PutAccountSettingDefaultRequest(params) 3374// 3375// err := req.Send() 3376// if err == nil { // resp is now filled 3377// fmt.Println(resp) 3378// } 3379// 3380// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3381func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3382 op := &request.Operation{ 3383 Name: opPutAccountSettingDefault, 3384 HTTPMethod: "POST", 3385 HTTPPath: "/", 3386 } 3387 3388 if input == nil { 3389 input = &PutAccountSettingDefaultInput{} 3390 } 3391 3392 output = &PutAccountSettingDefaultOutput{} 3393 req = c.newRequest(op, input, output) 3394 return 3395} 3396 3397// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3398// 3399// Modifies an account setting for all IAM users on an account for whom no individual 3400// account setting has been specified. Account settings are set on a per-Region 3401// basis. 3402// 3403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3404// with awserr.Error's Code and Message methods to get detailed information about 3405// the error. 3406// 3407// See the AWS API reference guide for Amazon EC2 Container Service's 3408// API operation PutAccountSettingDefault for usage and error information. 3409// 3410// Returned Error Codes: 3411// * ErrCodeServerException "ServerException" 3412// These errors are usually caused by a server issue. 3413// 3414// * ErrCodeClientException "ClientException" 3415// These errors are usually caused by a client action, such as using an action 3416// or resource on behalf of a user that doesn't have permissions to use the 3417// action or resource, or specifying an identifier that is not valid. 3418// 3419// * ErrCodeInvalidParameterException "InvalidParameterException" 3420// The specified parameter is invalid. Review the available parameters for the 3421// API request. 3422// 3423// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3424func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3425 req, out := c.PutAccountSettingDefaultRequest(input) 3426 return out, req.Send() 3427} 3428 3429// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3430// the ability to pass a context and additional request options. 3431// 3432// See PutAccountSettingDefault for details on how to use this API operation. 3433// 3434// The context must be non-nil and will be used for request cancellation. If 3435// the context is nil a panic will occur. In the future the SDK may create 3436// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3437// for more information on using Contexts. 3438func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3439 req, out := c.PutAccountSettingDefaultRequest(input) 3440 req.SetContext(ctx) 3441 req.ApplyOptions(opts...) 3442 return out, req.Send() 3443} 3444 3445const opPutAttributes = "PutAttributes" 3446 3447// PutAttributesRequest generates a "aws/request.Request" representing the 3448// client's request for the PutAttributes operation. The "output" return 3449// value will be populated with the request's response once the request completes 3450// successfully. 3451// 3452// Use "Send" method on the returned Request to send the API call to the service. 3453// the "output" return value is not valid until after Send returns without error. 3454// 3455// See PutAttributes for more information on using the PutAttributes 3456// API call, and error handling. 3457// 3458// This method is useful when you want to inject custom logic or configuration 3459// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3460// 3461// 3462// // Example sending a request using the PutAttributesRequest method. 3463// req, resp := client.PutAttributesRequest(params) 3464// 3465// err := req.Send() 3466// if err == nil { // resp is now filled 3467// fmt.Println(resp) 3468// } 3469// 3470// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3471func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3472 op := &request.Operation{ 3473 Name: opPutAttributes, 3474 HTTPMethod: "POST", 3475 HTTPPath: "/", 3476 } 3477 3478 if input == nil { 3479 input = &PutAttributesInput{} 3480 } 3481 3482 output = &PutAttributesOutput{} 3483 req = c.newRequest(op, input, output) 3484 return 3485} 3486 3487// PutAttributes API operation for Amazon EC2 Container Service. 3488// 3489// Create or update an attribute on an Amazon ECS resource. If the attribute 3490// does not exist, it is created. If the attribute exists, its value is replaced 3491// with the specified value. To delete an attribute, use DeleteAttributes. For 3492// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3493// in the Amazon Elastic Container Service Developer Guide. 3494// 3495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3496// with awserr.Error's Code and Message methods to get detailed information about 3497// the error. 3498// 3499// See the AWS API reference guide for Amazon EC2 Container Service's 3500// API operation PutAttributes for usage and error information. 3501// 3502// Returned Error Codes: 3503// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3504// The specified cluster could not be found. You can view your available clusters 3505// with ListClusters. Amazon ECS clusters are Region-specific. 3506// 3507// * ErrCodeTargetNotFoundException "TargetNotFoundException" 3508// The specified target could not be found. You can view your available container 3509// instances with ListContainerInstances. Amazon ECS container instances are 3510// cluster-specific and Region-specific. 3511// 3512// * ErrCodeAttributeLimitExceededException "AttributeLimitExceededException" 3513// You can apply up to 10 custom attributes per resource. You can view the attributes 3514// of a resource with ListAttributes. You can remove existing attributes on 3515// a resource with DeleteAttributes. 3516// 3517// * ErrCodeInvalidParameterException "InvalidParameterException" 3518// The specified parameter is invalid. Review the available parameters for the 3519// API request. 3520// 3521// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3522func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3523 req, out := c.PutAttributesRequest(input) 3524 return out, req.Send() 3525} 3526 3527// PutAttributesWithContext is the same as PutAttributes with the addition of 3528// the ability to pass a context and additional request options. 3529// 3530// See PutAttributes for details on how to use this API operation. 3531// 3532// The context must be non-nil and will be used for request cancellation. If 3533// the context is nil a panic will occur. In the future the SDK may create 3534// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3535// for more information on using Contexts. 3536func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3537 req, out := c.PutAttributesRequest(input) 3538 req.SetContext(ctx) 3539 req.ApplyOptions(opts...) 3540 return out, req.Send() 3541} 3542 3543const opPutClusterCapacityProviders = "PutClusterCapacityProviders" 3544 3545// PutClusterCapacityProvidersRequest generates a "aws/request.Request" representing the 3546// client's request for the PutClusterCapacityProviders operation. The "output" return 3547// value will be populated with the request's response once the request completes 3548// successfully. 3549// 3550// Use "Send" method on the returned Request to send the API call to the service. 3551// the "output" return value is not valid until after Send returns without error. 3552// 3553// See PutClusterCapacityProviders for more information on using the PutClusterCapacityProviders 3554// API call, and error handling. 3555// 3556// This method is useful when you want to inject custom logic or configuration 3557// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3558// 3559// 3560// // Example sending a request using the PutClusterCapacityProvidersRequest method. 3561// req, resp := client.PutClusterCapacityProvidersRequest(params) 3562// 3563// err := req.Send() 3564// if err == nil { // resp is now filled 3565// fmt.Println(resp) 3566// } 3567// 3568// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3569func (c *ECS) PutClusterCapacityProvidersRequest(input *PutClusterCapacityProvidersInput) (req *request.Request, output *PutClusterCapacityProvidersOutput) { 3570 op := &request.Operation{ 3571 Name: opPutClusterCapacityProviders, 3572 HTTPMethod: "POST", 3573 HTTPPath: "/", 3574 } 3575 3576 if input == nil { 3577 input = &PutClusterCapacityProvidersInput{} 3578 } 3579 3580 output = &PutClusterCapacityProvidersOutput{} 3581 req = c.newRequest(op, input, output) 3582 return 3583} 3584 3585// PutClusterCapacityProviders API operation for Amazon EC2 Container Service. 3586// 3587// Modifies the available capacity providers and the default capacity provider 3588// strategy for a cluster. 3589// 3590// You must specify both the available capacity providers and a default capacity 3591// provider strategy for the cluster. If the specified cluster has existing 3592// capacity providers associated with it, you must specify all existing capacity 3593// providers in addition to any new ones you want to add. Any existing capacity 3594// providers associated with a cluster that are omitted from a PutClusterCapacityProviders 3595// API call will be disassociated with the cluster. You can only disassociate 3596// an existing capacity provider from a cluster if it's not being used by any 3597// existing tasks. 3598// 3599// When creating a service or running a task on a cluster, if no capacity provider 3600// or launch type is specified, then the cluster's default capacity provider 3601// strategy is used. It is recommended to define a default capacity provider 3602// strategy for your cluster, however you may specify an empty array ([]) to 3603// bypass defining a default strategy. 3604// 3605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3606// with awserr.Error's Code and Message methods to get detailed information about 3607// the error. 3608// 3609// See the AWS API reference guide for Amazon EC2 Container Service's 3610// API operation PutClusterCapacityProviders for usage and error information. 3611// 3612// Returned Error Codes: 3613// * ErrCodeServerException "ServerException" 3614// These errors are usually caused by a server issue. 3615// 3616// * ErrCodeClientException "ClientException" 3617// These errors are usually caused by a client action, such as using an action 3618// or resource on behalf of a user that doesn't have permissions to use the 3619// action or resource, or specifying an identifier that is not valid. 3620// 3621// * ErrCodeInvalidParameterException "InvalidParameterException" 3622// The specified parameter is invalid. Review the available parameters for the 3623// API request. 3624// 3625// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3626// The specified cluster could not be found. You can view your available clusters 3627// with ListClusters. Amazon ECS clusters are Region-specific. 3628// 3629// * ErrCodeResourceInUseException "ResourceInUseException" 3630// The specified resource is in-use and cannot be removed. 3631// 3632// * ErrCodeUpdateInProgressException "UpdateInProgressException" 3633// There is already a current Amazon ECS container agent update in progress 3634// on the specified container instance. If the container agent becomes disconnected 3635// while it is in a transitional stage, such as PENDING or STAGING, the update 3636// process can get stuck in that state. However, when the agent reconnects, 3637// it resumes where it stopped previously. 3638// 3639// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3640func (c *ECS) PutClusterCapacityProviders(input *PutClusterCapacityProvidersInput) (*PutClusterCapacityProvidersOutput, error) { 3641 req, out := c.PutClusterCapacityProvidersRequest(input) 3642 return out, req.Send() 3643} 3644 3645// PutClusterCapacityProvidersWithContext is the same as PutClusterCapacityProviders with the addition of 3646// the ability to pass a context and additional request options. 3647// 3648// See PutClusterCapacityProviders for details on how to use this API operation. 3649// 3650// The context must be non-nil and will be used for request cancellation. If 3651// the context is nil a panic will occur. In the future the SDK may create 3652// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3653// for more information on using Contexts. 3654func (c *ECS) PutClusterCapacityProvidersWithContext(ctx aws.Context, input *PutClusterCapacityProvidersInput, opts ...request.Option) (*PutClusterCapacityProvidersOutput, error) { 3655 req, out := c.PutClusterCapacityProvidersRequest(input) 3656 req.SetContext(ctx) 3657 req.ApplyOptions(opts...) 3658 return out, req.Send() 3659} 3660 3661const opRegisterContainerInstance = "RegisterContainerInstance" 3662 3663// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3664// client's request for the RegisterContainerInstance operation. The "output" return 3665// value will be populated with the request's response once the request completes 3666// successfully. 3667// 3668// Use "Send" method on the returned Request to send the API call to the service. 3669// the "output" return value is not valid until after Send returns without error. 3670// 3671// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3672// API call, and error handling. 3673// 3674// This method is useful when you want to inject custom logic or configuration 3675// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3676// 3677// 3678// // Example sending a request using the RegisterContainerInstanceRequest method. 3679// req, resp := client.RegisterContainerInstanceRequest(params) 3680// 3681// err := req.Send() 3682// if err == nil { // resp is now filled 3683// fmt.Println(resp) 3684// } 3685// 3686// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3687func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3688 op := &request.Operation{ 3689 Name: opRegisterContainerInstance, 3690 HTTPMethod: "POST", 3691 HTTPPath: "/", 3692 } 3693 3694 if input == nil { 3695 input = &RegisterContainerInstanceInput{} 3696 } 3697 3698 output = &RegisterContainerInstanceOutput{} 3699 req = c.newRequest(op, input, output) 3700 return 3701} 3702 3703// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3704// 3705// 3706// This action is only used by the Amazon ECS agent, and it is not intended 3707// for use outside of the agent. 3708// 3709// Registers an EC2 instance into the specified cluster. This instance becomes 3710// available to place containers on. 3711// 3712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3713// with awserr.Error's Code and Message methods to get detailed information about 3714// the error. 3715// 3716// See the AWS API reference guide for Amazon EC2 Container Service's 3717// API operation RegisterContainerInstance for usage and error information. 3718// 3719// Returned Error Codes: 3720// * ErrCodeServerException "ServerException" 3721// These errors are usually caused by a server issue. 3722// 3723// * ErrCodeClientException "ClientException" 3724// These errors are usually caused by a client action, such as using an action 3725// or resource on behalf of a user that doesn't have permissions to use the 3726// action or resource, or specifying an identifier that is not valid. 3727// 3728// * ErrCodeInvalidParameterException "InvalidParameterException" 3729// The specified parameter is invalid. Review the available parameters for the 3730// API request. 3731// 3732// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3733func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 3734 req, out := c.RegisterContainerInstanceRequest(input) 3735 return out, req.Send() 3736} 3737 3738// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 3739// the ability to pass a context and additional request options. 3740// 3741// See RegisterContainerInstance for details on how to use this API operation. 3742// 3743// The context must be non-nil and will be used for request cancellation. If 3744// the context is nil a panic will occur. In the future the SDK may create 3745// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3746// for more information on using Contexts. 3747func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 3748 req, out := c.RegisterContainerInstanceRequest(input) 3749 req.SetContext(ctx) 3750 req.ApplyOptions(opts...) 3751 return out, req.Send() 3752} 3753 3754const opRegisterTaskDefinition = "RegisterTaskDefinition" 3755 3756// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 3757// client's request for the RegisterTaskDefinition operation. The "output" return 3758// value will be populated with the request's response once the request completes 3759// successfully. 3760// 3761// Use "Send" method on the returned Request to send the API call to the service. 3762// the "output" return value is not valid until after Send returns without error. 3763// 3764// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 3765// API call, and error handling. 3766// 3767// This method is useful when you want to inject custom logic or configuration 3768// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3769// 3770// 3771// // Example sending a request using the RegisterTaskDefinitionRequest method. 3772// req, resp := client.RegisterTaskDefinitionRequest(params) 3773// 3774// err := req.Send() 3775// if err == nil { // resp is now filled 3776// fmt.Println(resp) 3777// } 3778// 3779// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3780func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 3781 op := &request.Operation{ 3782 Name: opRegisterTaskDefinition, 3783 HTTPMethod: "POST", 3784 HTTPPath: "/", 3785 } 3786 3787 if input == nil { 3788 input = &RegisterTaskDefinitionInput{} 3789 } 3790 3791 output = &RegisterTaskDefinitionOutput{} 3792 req = c.newRequest(op, input, output) 3793 return 3794} 3795 3796// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 3797// 3798// Registers a new task definition from the supplied family and containerDefinitions. 3799// Optionally, you can add data volumes to your containers with the volumes 3800// parameter. For more information about task definition parameters and defaults, 3801// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 3802// in the Amazon Elastic Container Service Developer Guide. 3803// 3804// You can specify an IAM role for your task with the taskRoleArn parameter. 3805// When you specify an IAM role for a task, its containers can then use the 3806// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 3807// that are specified in the IAM policy associated with the role. For more information, 3808// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3809// in the Amazon Elastic Container Service Developer Guide. 3810// 3811// You can specify a Docker networking mode for the containers in your task 3812// definition with the networkMode parameter. The available network modes correspond 3813// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 3814// in the Docker run reference. If you specify the awsvpc network mode, the 3815// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 3816// when you create a service or run a task with the task definition. For more 3817// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 3818// in the Amazon Elastic Container Service Developer Guide. 3819// 3820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3821// with awserr.Error's Code and Message methods to get detailed information about 3822// the error. 3823// 3824// See the AWS API reference guide for Amazon EC2 Container Service's 3825// API operation RegisterTaskDefinition for usage and error information. 3826// 3827// Returned Error Codes: 3828// * ErrCodeServerException "ServerException" 3829// These errors are usually caused by a server issue. 3830// 3831// * ErrCodeClientException "ClientException" 3832// These errors are usually caused by a client action, such as using an action 3833// or resource on behalf of a user that doesn't have permissions to use the 3834// action or resource, or specifying an identifier that is not valid. 3835// 3836// * ErrCodeInvalidParameterException "InvalidParameterException" 3837// The specified parameter is invalid. Review the available parameters for the 3838// API request. 3839// 3840// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3841func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 3842 req, out := c.RegisterTaskDefinitionRequest(input) 3843 return out, req.Send() 3844} 3845 3846// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 3847// the ability to pass a context and additional request options. 3848// 3849// See RegisterTaskDefinition for details on how to use this API operation. 3850// 3851// The context must be non-nil and will be used for request cancellation. If 3852// the context is nil a panic will occur. In the future the SDK may create 3853// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3854// for more information on using Contexts. 3855func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 3856 req, out := c.RegisterTaskDefinitionRequest(input) 3857 req.SetContext(ctx) 3858 req.ApplyOptions(opts...) 3859 return out, req.Send() 3860} 3861 3862const opRunTask = "RunTask" 3863 3864// RunTaskRequest generates a "aws/request.Request" representing the 3865// client's request for the RunTask operation. The "output" return 3866// value will be populated with the request's response once the request completes 3867// successfully. 3868// 3869// Use "Send" method on the returned Request to send the API call to the service. 3870// the "output" return value is not valid until after Send returns without error. 3871// 3872// See RunTask for more information on using the RunTask 3873// API call, and error handling. 3874// 3875// This method is useful when you want to inject custom logic or configuration 3876// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3877// 3878// 3879// // Example sending a request using the RunTaskRequest method. 3880// req, resp := client.RunTaskRequest(params) 3881// 3882// err := req.Send() 3883// if err == nil { // resp is now filled 3884// fmt.Println(resp) 3885// } 3886// 3887// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3888func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 3889 op := &request.Operation{ 3890 Name: opRunTask, 3891 HTTPMethod: "POST", 3892 HTTPPath: "/", 3893 } 3894 3895 if input == nil { 3896 input = &RunTaskInput{} 3897 } 3898 3899 output = &RunTaskOutput{} 3900 req = c.newRequest(op, input, output) 3901 return 3902} 3903 3904// RunTask API operation for Amazon EC2 Container Service. 3905// 3906// Starts a new task using the specified task definition. 3907// 3908// You can allow Amazon ECS to place tasks for you, or you can customize how 3909// Amazon ECS places tasks using placement constraints and placement strategies. 3910// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 3911// in the Amazon Elastic Container Service Developer Guide. 3912// 3913// Alternatively, you can use StartTask to use your own scheduler or place tasks 3914// manually on specific container instances. 3915// 3916// The Amazon ECS API follows an eventual consistency model, due to the distributed 3917// nature of the system supporting the API. This means that the result of an 3918// API command you run that affects your Amazon ECS resources might not be immediately 3919// visible to all subsequent commands you run. Keep this in mind when you carry 3920// out an API command that immediately follows a previous API command. 3921// 3922// To manage eventual consistency, you can do the following: 3923// 3924// * Confirm the state of the resource before you run a command to modify 3925// it. Run the DescribeTasks command using an exponential backoff algorithm 3926// to ensure that you allow enough time for the previous command to propagate 3927// through the system. To do this, run the DescribeTasks command repeatedly, 3928// starting with a couple of seconds of wait time and increasing gradually 3929// up to five minutes of wait time. 3930// 3931// * Add wait time between subsequent commands, even if the DescribeTasks 3932// command returns an accurate response. Apply an exponential backoff algorithm 3933// starting with a couple of seconds of wait time, and increase gradually 3934// up to about five minutes of wait time. 3935// 3936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3937// with awserr.Error's Code and Message methods to get detailed information about 3938// the error. 3939// 3940// See the AWS API reference guide for Amazon EC2 Container Service's 3941// API operation RunTask for usage and error information. 3942// 3943// Returned Error Codes: 3944// * ErrCodeServerException "ServerException" 3945// These errors are usually caused by a server issue. 3946// 3947// * ErrCodeClientException "ClientException" 3948// These errors are usually caused by a client action, such as using an action 3949// or resource on behalf of a user that doesn't have permissions to use the 3950// action or resource, or specifying an identifier that is not valid. 3951// 3952// * ErrCodeInvalidParameterException "InvalidParameterException" 3953// The specified parameter is invalid. Review the available parameters for the 3954// API request. 3955// 3956// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 3957// The specified cluster could not be found. You can view your available clusters 3958// with ListClusters. Amazon ECS clusters are Region-specific. 3959// 3960// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 3961// The specified task is not supported in this Region. 3962// 3963// * ErrCodePlatformUnknownException "PlatformUnknownException" 3964// The specified platform version does not exist. 3965// 3966// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 3967// The specified platform version does not satisfy the task definition's required 3968// capabilities. 3969// 3970// * ErrCodeAccessDeniedException "AccessDeniedException" 3971// You do not have authorization to perform the requested action. 3972// 3973// * ErrCodeBlockedException "BlockedException" 3974// Your AWS account has been blocked. For more information, contact AWS Support 3975// (http://aws.amazon.com/contact-us/). 3976// 3977// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3978func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 3979 req, out := c.RunTaskRequest(input) 3980 return out, req.Send() 3981} 3982 3983// RunTaskWithContext is the same as RunTask with the addition of 3984// the ability to pass a context and additional request options. 3985// 3986// See RunTask for details on how to use this API operation. 3987// 3988// The context must be non-nil and will be used for request cancellation. If 3989// the context is nil a panic will occur. In the future the SDK may create 3990// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3991// for more information on using Contexts. 3992func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 3993 req, out := c.RunTaskRequest(input) 3994 req.SetContext(ctx) 3995 req.ApplyOptions(opts...) 3996 return out, req.Send() 3997} 3998 3999const opStartTask = "StartTask" 4000 4001// StartTaskRequest generates a "aws/request.Request" representing the 4002// client's request for the StartTask operation. The "output" return 4003// value will be populated with the request's response once the request completes 4004// successfully. 4005// 4006// Use "Send" method on the returned Request to send the API call to the service. 4007// the "output" return value is not valid until after Send returns without error. 4008// 4009// See StartTask for more information on using the StartTask 4010// API call, and error handling. 4011// 4012// This method is useful when you want to inject custom logic or configuration 4013// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4014// 4015// 4016// // Example sending a request using the StartTaskRequest method. 4017// req, resp := client.StartTaskRequest(params) 4018// 4019// err := req.Send() 4020// if err == nil { // resp is now filled 4021// fmt.Println(resp) 4022// } 4023// 4024// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4025func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 4026 op := &request.Operation{ 4027 Name: opStartTask, 4028 HTTPMethod: "POST", 4029 HTTPPath: "/", 4030 } 4031 4032 if input == nil { 4033 input = &StartTaskInput{} 4034 } 4035 4036 output = &StartTaskOutput{} 4037 req = c.newRequest(op, input, output) 4038 return 4039} 4040 4041// StartTask API operation for Amazon EC2 Container Service. 4042// 4043// Starts a new task from the specified task definition on the specified container 4044// instance or instances. 4045// 4046// Alternatively, you can use RunTask to place tasks for you. For more information, 4047// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4048// in the Amazon Elastic Container Service Developer Guide. 4049// 4050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4051// with awserr.Error's Code and Message methods to get detailed information about 4052// the error. 4053// 4054// See the AWS API reference guide for Amazon EC2 Container Service's 4055// API operation StartTask for usage and error information. 4056// 4057// Returned Error Codes: 4058// * ErrCodeServerException "ServerException" 4059// These errors are usually caused by a server issue. 4060// 4061// * ErrCodeClientException "ClientException" 4062// These errors are usually caused by a client action, such as using an action 4063// or resource on behalf of a user that doesn't have permissions to use the 4064// action or resource, or specifying an identifier that is not valid. 4065// 4066// * ErrCodeInvalidParameterException "InvalidParameterException" 4067// The specified parameter is invalid. Review the available parameters for the 4068// API request. 4069// 4070// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4071// The specified cluster could not be found. You can view your available clusters 4072// with ListClusters. Amazon ECS clusters are Region-specific. 4073// 4074// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4075func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 4076 req, out := c.StartTaskRequest(input) 4077 return out, req.Send() 4078} 4079 4080// StartTaskWithContext is the same as StartTask with the addition of 4081// the ability to pass a context and additional request options. 4082// 4083// See StartTask for details on how to use this API operation. 4084// 4085// The context must be non-nil and will be used for request cancellation. If 4086// the context is nil a panic will occur. In the future the SDK may create 4087// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4088// for more information on using Contexts. 4089func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 4090 req, out := c.StartTaskRequest(input) 4091 req.SetContext(ctx) 4092 req.ApplyOptions(opts...) 4093 return out, req.Send() 4094} 4095 4096const opStopTask = "StopTask" 4097 4098// StopTaskRequest generates a "aws/request.Request" representing the 4099// client's request for the StopTask operation. The "output" return 4100// value will be populated with the request's response once the request completes 4101// successfully. 4102// 4103// Use "Send" method on the returned Request to send the API call to the service. 4104// the "output" return value is not valid until after Send returns without error. 4105// 4106// See StopTask for more information on using the StopTask 4107// API call, and error handling. 4108// 4109// This method is useful when you want to inject custom logic or configuration 4110// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4111// 4112// 4113// // Example sending a request using the StopTaskRequest method. 4114// req, resp := client.StopTaskRequest(params) 4115// 4116// err := req.Send() 4117// if err == nil { // resp is now filled 4118// fmt.Println(resp) 4119// } 4120// 4121// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4122func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 4123 op := &request.Operation{ 4124 Name: opStopTask, 4125 HTTPMethod: "POST", 4126 HTTPPath: "/", 4127 } 4128 4129 if input == nil { 4130 input = &StopTaskInput{} 4131 } 4132 4133 output = &StopTaskOutput{} 4134 req = c.newRequest(op, input, output) 4135 return 4136} 4137 4138// StopTask API operation for Amazon EC2 Container Service. 4139// 4140// Stops a running task. Any tags associated with the task will be deleted. 4141// 4142// When StopTask is called on a task, the equivalent of docker stop is issued 4143// to the containers running in the task. This results in a SIGTERM value and 4144// a default 30-second timeout, after which the SIGKILL value is sent and the 4145// containers are forcibly stopped. If the container handles the SIGTERM value 4146// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 4147// is sent. 4148// 4149// The default 30-second timeout can be configured on the Amazon ECS container 4150// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 4151// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4152// in the Amazon Elastic Container Service Developer Guide. 4153// 4154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4155// with awserr.Error's Code and Message methods to get detailed information about 4156// the error. 4157// 4158// See the AWS API reference guide for Amazon EC2 Container Service's 4159// API operation StopTask for usage and error information. 4160// 4161// Returned Error Codes: 4162// * ErrCodeServerException "ServerException" 4163// These errors are usually caused by a server issue. 4164// 4165// * ErrCodeClientException "ClientException" 4166// These errors are usually caused by a client action, such as using an action 4167// or resource on behalf of a user that doesn't have permissions to use the 4168// action or resource, or specifying an identifier that is not valid. 4169// 4170// * ErrCodeInvalidParameterException "InvalidParameterException" 4171// The specified parameter is invalid. Review the available parameters for the 4172// API request. 4173// 4174// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4175// The specified cluster could not be found. You can view your available clusters 4176// with ListClusters. Amazon ECS clusters are Region-specific. 4177// 4178// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4179func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 4180 req, out := c.StopTaskRequest(input) 4181 return out, req.Send() 4182} 4183 4184// StopTaskWithContext is the same as StopTask with the addition of 4185// the ability to pass a context and additional request options. 4186// 4187// See StopTask for details on how to use this API operation. 4188// 4189// The context must be non-nil and will be used for request cancellation. If 4190// the context is nil a panic will occur. In the future the SDK may create 4191// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4192// for more information on using Contexts. 4193func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 4194 req, out := c.StopTaskRequest(input) 4195 req.SetContext(ctx) 4196 req.ApplyOptions(opts...) 4197 return out, req.Send() 4198} 4199 4200const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 4201 4202// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 4203// client's request for the SubmitAttachmentStateChanges operation. The "output" return 4204// value will be populated with the request's response once the request completes 4205// successfully. 4206// 4207// Use "Send" method on the returned Request to send the API call to the service. 4208// the "output" return value is not valid until after Send returns without error. 4209// 4210// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 4211// API call, and error handling. 4212// 4213// This method is useful when you want to inject custom logic or configuration 4214// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4215// 4216// 4217// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 4218// req, resp := client.SubmitAttachmentStateChangesRequest(params) 4219// 4220// err := req.Send() 4221// if err == nil { // resp is now filled 4222// fmt.Println(resp) 4223// } 4224// 4225// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4226func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 4227 op := &request.Operation{ 4228 Name: opSubmitAttachmentStateChanges, 4229 HTTPMethod: "POST", 4230 HTTPPath: "/", 4231 } 4232 4233 if input == nil { 4234 input = &SubmitAttachmentStateChangesInput{} 4235 } 4236 4237 output = &SubmitAttachmentStateChangesOutput{} 4238 req = c.newRequest(op, input, output) 4239 return 4240} 4241 4242// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 4243// 4244// 4245// This action is only used by the Amazon ECS agent, and it is not intended 4246// for use outside of the agent. 4247// 4248// Sent to acknowledge that an attachment changed states. 4249// 4250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4251// with awserr.Error's Code and Message methods to get detailed information about 4252// the error. 4253// 4254// See the AWS API reference guide for Amazon EC2 Container Service's 4255// API operation SubmitAttachmentStateChanges for usage and error information. 4256// 4257// Returned Error Codes: 4258// * ErrCodeServerException "ServerException" 4259// These errors are usually caused by a server issue. 4260// 4261// * ErrCodeClientException "ClientException" 4262// These errors are usually caused by a client action, such as using an action 4263// or resource on behalf of a user that doesn't have permissions to use the 4264// action or resource, or specifying an identifier that is not valid. 4265// 4266// * ErrCodeAccessDeniedException "AccessDeniedException" 4267// You do not have authorization to perform the requested action. 4268// 4269// * ErrCodeInvalidParameterException "InvalidParameterException" 4270// The specified parameter is invalid. Review the available parameters for the 4271// API request. 4272// 4273// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4274func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 4275 req, out := c.SubmitAttachmentStateChangesRequest(input) 4276 return out, req.Send() 4277} 4278 4279// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 4280// the ability to pass a context and additional request options. 4281// 4282// See SubmitAttachmentStateChanges for details on how to use this API operation. 4283// 4284// The context must be non-nil and will be used for request cancellation. If 4285// the context is nil a panic will occur. In the future the SDK may create 4286// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4287// for more information on using Contexts. 4288func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 4289 req, out := c.SubmitAttachmentStateChangesRequest(input) 4290 req.SetContext(ctx) 4291 req.ApplyOptions(opts...) 4292 return out, req.Send() 4293} 4294 4295const opSubmitContainerStateChange = "SubmitContainerStateChange" 4296 4297// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 4298// client's request for the SubmitContainerStateChange operation. The "output" return 4299// value will be populated with the request's response once the request completes 4300// successfully. 4301// 4302// Use "Send" method on the returned Request to send the API call to the service. 4303// the "output" return value is not valid until after Send returns without error. 4304// 4305// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 4306// API call, and error handling. 4307// 4308// This method is useful when you want to inject custom logic or configuration 4309// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4310// 4311// 4312// // Example sending a request using the SubmitContainerStateChangeRequest method. 4313// req, resp := client.SubmitContainerStateChangeRequest(params) 4314// 4315// err := req.Send() 4316// if err == nil { // resp is now filled 4317// fmt.Println(resp) 4318// } 4319// 4320// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4321func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 4322 op := &request.Operation{ 4323 Name: opSubmitContainerStateChange, 4324 HTTPMethod: "POST", 4325 HTTPPath: "/", 4326 } 4327 4328 if input == nil { 4329 input = &SubmitContainerStateChangeInput{} 4330 } 4331 4332 output = &SubmitContainerStateChangeOutput{} 4333 req = c.newRequest(op, input, output) 4334 return 4335} 4336 4337// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 4338// 4339// 4340// This action is only used by the Amazon ECS agent, and it is not intended 4341// for use outside of the agent. 4342// 4343// Sent to acknowledge that a container changed states. 4344// 4345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4346// with awserr.Error's Code and Message methods to get detailed information about 4347// the error. 4348// 4349// See the AWS API reference guide for Amazon EC2 Container Service's 4350// API operation SubmitContainerStateChange for usage and error information. 4351// 4352// Returned Error Codes: 4353// * ErrCodeServerException "ServerException" 4354// These errors are usually caused by a server issue. 4355// 4356// * ErrCodeClientException "ClientException" 4357// These errors are usually caused by a client action, such as using an action 4358// or resource on behalf of a user that doesn't have permissions to use the 4359// action or resource, or specifying an identifier that is not valid. 4360// 4361// * ErrCodeAccessDeniedException "AccessDeniedException" 4362// You do not have authorization to perform the requested action. 4363// 4364// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4365func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 4366 req, out := c.SubmitContainerStateChangeRequest(input) 4367 return out, req.Send() 4368} 4369 4370// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 4371// the ability to pass a context and additional request options. 4372// 4373// See SubmitContainerStateChange for details on how to use this API operation. 4374// 4375// The context must be non-nil and will be used for request cancellation. If 4376// the context is nil a panic will occur. In the future the SDK may create 4377// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4378// for more information on using Contexts. 4379func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 4380 req, out := c.SubmitContainerStateChangeRequest(input) 4381 req.SetContext(ctx) 4382 req.ApplyOptions(opts...) 4383 return out, req.Send() 4384} 4385 4386const opSubmitTaskStateChange = "SubmitTaskStateChange" 4387 4388// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4389// client's request for the SubmitTaskStateChange operation. The "output" return 4390// value will be populated with the request's response once the request completes 4391// successfully. 4392// 4393// Use "Send" method on the returned Request to send the API call to the service. 4394// the "output" return value is not valid until after Send returns without error. 4395// 4396// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4397// API call, and error handling. 4398// 4399// This method is useful when you want to inject custom logic or configuration 4400// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4401// 4402// 4403// // Example sending a request using the SubmitTaskStateChangeRequest method. 4404// req, resp := client.SubmitTaskStateChangeRequest(params) 4405// 4406// err := req.Send() 4407// if err == nil { // resp is now filled 4408// fmt.Println(resp) 4409// } 4410// 4411// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4412func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4413 op := &request.Operation{ 4414 Name: opSubmitTaskStateChange, 4415 HTTPMethod: "POST", 4416 HTTPPath: "/", 4417 } 4418 4419 if input == nil { 4420 input = &SubmitTaskStateChangeInput{} 4421 } 4422 4423 output = &SubmitTaskStateChangeOutput{} 4424 req = c.newRequest(op, input, output) 4425 return 4426} 4427 4428// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4429// 4430// 4431// This action is only used by the Amazon ECS agent, and it is not intended 4432// for use outside of the agent. 4433// 4434// Sent to acknowledge that a task changed states. 4435// 4436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4437// with awserr.Error's Code and Message methods to get detailed information about 4438// the error. 4439// 4440// See the AWS API reference guide for Amazon EC2 Container Service's 4441// API operation SubmitTaskStateChange for usage and error information. 4442// 4443// Returned Error Codes: 4444// * ErrCodeServerException "ServerException" 4445// These errors are usually caused by a server issue. 4446// 4447// * ErrCodeClientException "ClientException" 4448// These errors are usually caused by a client action, such as using an action 4449// or resource on behalf of a user that doesn't have permissions to use the 4450// action or resource, or specifying an identifier that is not valid. 4451// 4452// * ErrCodeAccessDeniedException "AccessDeniedException" 4453// You do not have authorization to perform the requested action. 4454// 4455// * ErrCodeInvalidParameterException "InvalidParameterException" 4456// The specified parameter is invalid. Review the available parameters for the 4457// API request. 4458// 4459// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4460func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4461 req, out := c.SubmitTaskStateChangeRequest(input) 4462 return out, req.Send() 4463} 4464 4465// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4466// the ability to pass a context and additional request options. 4467// 4468// See SubmitTaskStateChange for details on how to use this API operation. 4469// 4470// The context must be non-nil and will be used for request cancellation. If 4471// the context is nil a panic will occur. In the future the SDK may create 4472// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4473// for more information on using Contexts. 4474func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4475 req, out := c.SubmitTaskStateChangeRequest(input) 4476 req.SetContext(ctx) 4477 req.ApplyOptions(opts...) 4478 return out, req.Send() 4479} 4480 4481const opTagResource = "TagResource" 4482 4483// TagResourceRequest generates a "aws/request.Request" representing the 4484// client's request for the TagResource operation. The "output" return 4485// value will be populated with the request's response once the request completes 4486// successfully. 4487// 4488// Use "Send" method on the returned Request to send the API call to the service. 4489// the "output" return value is not valid until after Send returns without error. 4490// 4491// See TagResource for more information on using the TagResource 4492// API call, and error handling. 4493// 4494// This method is useful when you want to inject custom logic or configuration 4495// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4496// 4497// 4498// // Example sending a request using the TagResourceRequest method. 4499// req, resp := client.TagResourceRequest(params) 4500// 4501// err := req.Send() 4502// if err == nil { // resp is now filled 4503// fmt.Println(resp) 4504// } 4505// 4506// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4507func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4508 op := &request.Operation{ 4509 Name: opTagResource, 4510 HTTPMethod: "POST", 4511 HTTPPath: "/", 4512 } 4513 4514 if input == nil { 4515 input = &TagResourceInput{} 4516 } 4517 4518 output = &TagResourceOutput{} 4519 req = c.newRequest(op, input, output) 4520 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4521 return 4522} 4523 4524// TagResource API operation for Amazon EC2 Container Service. 4525// 4526// Associates the specified tags to a resource with the specified resourceArn. 4527// If existing tags on a resource are not specified in the request parameters, 4528// they are not changed. When a resource is deleted, the tags associated with 4529// that resource are deleted as well. 4530// 4531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4532// with awserr.Error's Code and Message methods to get detailed information about 4533// the error. 4534// 4535// See the AWS API reference guide for Amazon EC2 Container Service's 4536// API operation TagResource for usage and error information. 4537// 4538// Returned Error Codes: 4539// * ErrCodeServerException "ServerException" 4540// These errors are usually caused by a server issue. 4541// 4542// * ErrCodeClientException "ClientException" 4543// These errors are usually caused by a client action, such as using an action 4544// or resource on behalf of a user that doesn't have permissions to use the 4545// action or resource, or specifying an identifier that is not valid. 4546// 4547// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4548// The specified cluster could not be found. You can view your available clusters 4549// with ListClusters. Amazon ECS clusters are Region-specific. 4550// 4551// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 4552// The specified resource could not be found. 4553// 4554// * ErrCodeInvalidParameterException "InvalidParameterException" 4555// The specified parameter is invalid. Review the available parameters for the 4556// API request. 4557// 4558// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4559func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4560 req, out := c.TagResourceRequest(input) 4561 return out, req.Send() 4562} 4563 4564// TagResourceWithContext is the same as TagResource with the addition of 4565// the ability to pass a context and additional request options. 4566// 4567// See TagResource for details on how to use this API operation. 4568// 4569// The context must be non-nil and will be used for request cancellation. If 4570// the context is nil a panic will occur. In the future the SDK may create 4571// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4572// for more information on using Contexts. 4573func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4574 req, out := c.TagResourceRequest(input) 4575 req.SetContext(ctx) 4576 req.ApplyOptions(opts...) 4577 return out, req.Send() 4578} 4579 4580const opUntagResource = "UntagResource" 4581 4582// UntagResourceRequest generates a "aws/request.Request" representing the 4583// client's request for the UntagResource operation. The "output" return 4584// value will be populated with the request's response once the request completes 4585// successfully. 4586// 4587// Use "Send" method on the returned Request to send the API call to the service. 4588// the "output" return value is not valid until after Send returns without error. 4589// 4590// See UntagResource for more information on using the UntagResource 4591// API call, and error handling. 4592// 4593// This method is useful when you want to inject custom logic or configuration 4594// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4595// 4596// 4597// // Example sending a request using the UntagResourceRequest method. 4598// req, resp := client.UntagResourceRequest(params) 4599// 4600// err := req.Send() 4601// if err == nil { // resp is now filled 4602// fmt.Println(resp) 4603// } 4604// 4605// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4606func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4607 op := &request.Operation{ 4608 Name: opUntagResource, 4609 HTTPMethod: "POST", 4610 HTTPPath: "/", 4611 } 4612 4613 if input == nil { 4614 input = &UntagResourceInput{} 4615 } 4616 4617 output = &UntagResourceOutput{} 4618 req = c.newRequest(op, input, output) 4619 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4620 return 4621} 4622 4623// UntagResource API operation for Amazon EC2 Container Service. 4624// 4625// Deletes specified tags from a resource. 4626// 4627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4628// with awserr.Error's Code and Message methods to get detailed information about 4629// the error. 4630// 4631// See the AWS API reference guide for Amazon EC2 Container Service's 4632// API operation UntagResource for usage and error information. 4633// 4634// Returned Error Codes: 4635// * ErrCodeServerException "ServerException" 4636// These errors are usually caused by a server issue. 4637// 4638// * ErrCodeClientException "ClientException" 4639// These errors are usually caused by a client action, such as using an action 4640// or resource on behalf of a user that doesn't have permissions to use the 4641// action or resource, or specifying an identifier that is not valid. 4642// 4643// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4644// The specified cluster could not be found. You can view your available clusters 4645// with ListClusters. Amazon ECS clusters are Region-specific. 4646// 4647// * ErrCodeResourceNotFoundException "ResourceNotFoundException" 4648// The specified resource could not be found. 4649// 4650// * ErrCodeInvalidParameterException "InvalidParameterException" 4651// The specified parameter is invalid. Review the available parameters for the 4652// API request. 4653// 4654// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4655func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4656 req, out := c.UntagResourceRequest(input) 4657 return out, req.Send() 4658} 4659 4660// UntagResourceWithContext is the same as UntagResource with the addition of 4661// the ability to pass a context and additional request options. 4662// 4663// See UntagResource for details on how to use this API operation. 4664// 4665// The context must be non-nil and will be used for request cancellation. If 4666// the context is nil a panic will occur. In the future the SDK may create 4667// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4668// for more information on using Contexts. 4669func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4670 req, out := c.UntagResourceRequest(input) 4671 req.SetContext(ctx) 4672 req.ApplyOptions(opts...) 4673 return out, req.Send() 4674} 4675 4676const opUpdateClusterSettings = "UpdateClusterSettings" 4677 4678// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 4679// client's request for the UpdateClusterSettings operation. The "output" return 4680// value will be populated with the request's response once the request completes 4681// successfully. 4682// 4683// Use "Send" method on the returned Request to send the API call to the service. 4684// the "output" return value is not valid until after Send returns without error. 4685// 4686// See UpdateClusterSettings for more information on using the UpdateClusterSettings 4687// API call, and error handling. 4688// 4689// This method is useful when you want to inject custom logic or configuration 4690// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4691// 4692// 4693// // Example sending a request using the UpdateClusterSettingsRequest method. 4694// req, resp := client.UpdateClusterSettingsRequest(params) 4695// 4696// err := req.Send() 4697// if err == nil { // resp is now filled 4698// fmt.Println(resp) 4699// } 4700// 4701// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4702func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 4703 op := &request.Operation{ 4704 Name: opUpdateClusterSettings, 4705 HTTPMethod: "POST", 4706 HTTPPath: "/", 4707 } 4708 4709 if input == nil { 4710 input = &UpdateClusterSettingsInput{} 4711 } 4712 4713 output = &UpdateClusterSettingsOutput{} 4714 req = c.newRequest(op, input, output) 4715 return 4716} 4717 4718// UpdateClusterSettings API operation for Amazon EC2 Container Service. 4719// 4720// Modifies the settings to use for a cluster. 4721// 4722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4723// with awserr.Error's Code and Message methods to get detailed information about 4724// the error. 4725// 4726// See the AWS API reference guide for Amazon EC2 Container Service's 4727// API operation UpdateClusterSettings for usage and error information. 4728// 4729// Returned Error Codes: 4730// * ErrCodeServerException "ServerException" 4731// These errors are usually caused by a server issue. 4732// 4733// * ErrCodeClientException "ClientException" 4734// These errors are usually caused by a client action, such as using an action 4735// or resource on behalf of a user that doesn't have permissions to use the 4736// action or resource, or specifying an identifier that is not valid. 4737// 4738// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4739// The specified cluster could not be found. You can view your available clusters 4740// with ListClusters. Amazon ECS clusters are Region-specific. 4741// 4742// * ErrCodeInvalidParameterException "InvalidParameterException" 4743// The specified parameter is invalid. Review the available parameters for the 4744// API request. 4745// 4746// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4747func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 4748 req, out := c.UpdateClusterSettingsRequest(input) 4749 return out, req.Send() 4750} 4751 4752// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 4753// the ability to pass a context and additional request options. 4754// 4755// See UpdateClusterSettings for details on how to use this API operation. 4756// 4757// The context must be non-nil and will be used for request cancellation. If 4758// the context is nil a panic will occur. In the future the SDK may create 4759// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4760// for more information on using Contexts. 4761func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 4762 req, out := c.UpdateClusterSettingsRequest(input) 4763 req.SetContext(ctx) 4764 req.ApplyOptions(opts...) 4765 return out, req.Send() 4766} 4767 4768const opUpdateContainerAgent = "UpdateContainerAgent" 4769 4770// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 4771// client's request for the UpdateContainerAgent operation. The "output" return 4772// value will be populated with the request's response once the request completes 4773// successfully. 4774// 4775// Use "Send" method on the returned Request to send the API call to the service. 4776// the "output" return value is not valid until after Send returns without error. 4777// 4778// See UpdateContainerAgent for more information on using the UpdateContainerAgent 4779// API call, and error handling. 4780// 4781// This method is useful when you want to inject custom logic or configuration 4782// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4783// 4784// 4785// // Example sending a request using the UpdateContainerAgentRequest method. 4786// req, resp := client.UpdateContainerAgentRequest(params) 4787// 4788// err := req.Send() 4789// if err == nil { // resp is now filled 4790// fmt.Println(resp) 4791// } 4792// 4793// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4794func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 4795 op := &request.Operation{ 4796 Name: opUpdateContainerAgent, 4797 HTTPMethod: "POST", 4798 HTTPPath: "/", 4799 } 4800 4801 if input == nil { 4802 input = &UpdateContainerAgentInput{} 4803 } 4804 4805 output = &UpdateContainerAgentOutput{} 4806 req = c.newRequest(op, input, output) 4807 return 4808} 4809 4810// UpdateContainerAgent API operation for Amazon EC2 Container Service. 4811// 4812// Updates the Amazon ECS container agent on a specified container instance. 4813// Updating the Amazon ECS container agent does not interrupt running tasks 4814// or services on the container instance. The process for updating the agent 4815// differs depending on whether your container instance was launched with the 4816// Amazon ECS-optimized AMI or another operating system. 4817// 4818// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 4819// with the ecs-init service installed and running. For help updating the Amazon 4820// ECS container agent on other operating systems, see Manually Updating the 4821// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 4822// in the Amazon Elastic Container Service Developer Guide. 4823// 4824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4825// with awserr.Error's Code and Message methods to get detailed information about 4826// the error. 4827// 4828// See the AWS API reference guide for Amazon EC2 Container Service's 4829// API operation UpdateContainerAgent for usage and error information. 4830// 4831// Returned Error Codes: 4832// * ErrCodeServerException "ServerException" 4833// These errors are usually caused by a server issue. 4834// 4835// * ErrCodeClientException "ClientException" 4836// These errors are usually caused by a client action, such as using an action 4837// or resource on behalf of a user that doesn't have permissions to use the 4838// action or resource, or specifying an identifier that is not valid. 4839// 4840// * ErrCodeInvalidParameterException "InvalidParameterException" 4841// The specified parameter is invalid. Review the available parameters for the 4842// API request. 4843// 4844// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 4845// The specified cluster could not be found. You can view your available clusters 4846// with ListClusters. Amazon ECS clusters are Region-specific. 4847// 4848// * ErrCodeUpdateInProgressException "UpdateInProgressException" 4849// There is already a current Amazon ECS container agent update in progress 4850// on the specified container instance. If the container agent becomes disconnected 4851// while it is in a transitional stage, such as PENDING or STAGING, the update 4852// process can get stuck in that state. However, when the agent reconnects, 4853// it resumes where it stopped previously. 4854// 4855// * ErrCodeNoUpdateAvailableException "NoUpdateAvailableException" 4856// There is no update available for this Amazon ECS container agent. This could 4857// be because the agent is already running the latest version, or it is so old 4858// that there is no update path to the current version. 4859// 4860// * ErrCodeMissingVersionException "MissingVersionException" 4861// Amazon ECS is unable to determine the current version of the Amazon ECS container 4862// agent on the container instance and does not have enough information to proceed 4863// with an update. This could be because the agent running on the container 4864// instance is an older or custom version that does not use our version information. 4865// 4866// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4867func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 4868 req, out := c.UpdateContainerAgentRequest(input) 4869 return out, req.Send() 4870} 4871 4872// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 4873// the ability to pass a context and additional request options. 4874// 4875// See UpdateContainerAgent for details on how to use this API operation. 4876// 4877// The context must be non-nil and will be used for request cancellation. If 4878// the context is nil a panic will occur. In the future the SDK may create 4879// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4880// for more information on using Contexts. 4881func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 4882 req, out := c.UpdateContainerAgentRequest(input) 4883 req.SetContext(ctx) 4884 req.ApplyOptions(opts...) 4885 return out, req.Send() 4886} 4887 4888const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 4889 4890// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 4891// client's request for the UpdateContainerInstancesState operation. The "output" return 4892// value will be populated with the request's response once the request completes 4893// successfully. 4894// 4895// Use "Send" method on the returned Request to send the API call to the service. 4896// the "output" return value is not valid until after Send returns without error. 4897// 4898// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 4899// API call, and error handling. 4900// 4901// This method is useful when you want to inject custom logic or configuration 4902// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4903// 4904// 4905// // Example sending a request using the UpdateContainerInstancesStateRequest method. 4906// req, resp := client.UpdateContainerInstancesStateRequest(params) 4907// 4908// err := req.Send() 4909// if err == nil { // resp is now filled 4910// fmt.Println(resp) 4911// } 4912// 4913// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 4914func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 4915 op := &request.Operation{ 4916 Name: opUpdateContainerInstancesState, 4917 HTTPMethod: "POST", 4918 HTTPPath: "/", 4919 } 4920 4921 if input == nil { 4922 input = &UpdateContainerInstancesStateInput{} 4923 } 4924 4925 output = &UpdateContainerInstancesStateOutput{} 4926 req = c.newRequest(op, input, output) 4927 return 4928} 4929 4930// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 4931// 4932// Modifies the status of an Amazon ECS container instance. 4933// 4934// Once a container instance has reached an ACTIVE state, you can change the 4935// status of a container instance to DRAINING to manually remove an instance 4936// from a cluster, for example to perform system updates, update the Docker 4937// daemon, or scale down the cluster size. 4938// 4939// A container instance cannot be changed to DRAINING until it has reached an 4940// ACTIVE status. If the instance is in any other status, an error will be received. 4941// 4942// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 4943// from being scheduled for placement on the container instance and replacement 4944// service tasks are started on other container instances in the cluster if 4945// the resources are available. Service tasks on the container instance that 4946// are in the PENDING state are stopped immediately. 4947// 4948// Service tasks on the container instance that are in the RUNNING state are 4949// stopped and replaced according to the service's deployment configuration 4950// parameters, minimumHealthyPercent and maximumPercent. You can change the 4951// deployment configuration of your service using UpdateService. 4952// 4953// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 4954// temporarily during task replacement. For example, desiredCount is four 4955// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 4956// before starting two new tasks. If the minimum is 100%, the service scheduler 4957// can't remove existing tasks until the replacement tasks are considered 4958// healthy. Tasks for services that do not use a load balancer are considered 4959// healthy if they are in the RUNNING state. Tasks for services that use 4960// a load balancer are considered healthy if they are in the RUNNING state 4961// and the container instance they are hosted on is reported as healthy by 4962// the load balancer. 4963// 4964// * The maximumPercent parameter represents an upper limit on the number 4965// of running tasks during task replacement, which enables you to define 4966// the replacement batch size. For example, if desiredCount is four tasks, 4967// a maximum of 200% starts four new tasks before stopping the four tasks 4968// to be drained, provided that the cluster resources required to do this 4969// are available. If the maximum is 100%, then replacement tasks can't start 4970// until the draining tasks have stopped. 4971// 4972// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 4973// You must wait for them to finish or stop them manually. 4974// 4975// A container instance has completed draining when it has no more RUNNING tasks. 4976// You can verify this using ListTasks. 4977// 4978// When a container instance has been drained, you can set a container instance 4979// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 4980// can begin scheduling tasks on the instance again. 4981// 4982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4983// with awserr.Error's Code and Message methods to get detailed information about 4984// the error. 4985// 4986// See the AWS API reference guide for Amazon EC2 Container Service's 4987// API operation UpdateContainerInstancesState for usage and error information. 4988// 4989// Returned Error Codes: 4990// * ErrCodeServerException "ServerException" 4991// These errors are usually caused by a server issue. 4992// 4993// * ErrCodeClientException "ClientException" 4994// These errors are usually caused by a client action, such as using an action 4995// or resource on behalf of a user that doesn't have permissions to use the 4996// action or resource, or specifying an identifier that is not valid. 4997// 4998// * ErrCodeInvalidParameterException "InvalidParameterException" 4999// The specified parameter is invalid. Review the available parameters for the 5000// API request. 5001// 5002// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 5003// The specified cluster could not be found. You can view your available clusters 5004// with ListClusters. Amazon ECS clusters are Region-specific. 5005// 5006// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5007func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5008 req, out := c.UpdateContainerInstancesStateRequest(input) 5009 return out, req.Send() 5010} 5011 5012// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5013// the ability to pass a context and additional request options. 5014// 5015// See UpdateContainerInstancesState for details on how to use this API operation. 5016// 5017// The context must be non-nil and will be used for request cancellation. If 5018// the context is nil a panic will occur. In the future the SDK may create 5019// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5020// for more information on using Contexts. 5021func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5022 req, out := c.UpdateContainerInstancesStateRequest(input) 5023 req.SetContext(ctx) 5024 req.ApplyOptions(opts...) 5025 return out, req.Send() 5026} 5027 5028const opUpdateService = "UpdateService" 5029 5030// UpdateServiceRequest generates a "aws/request.Request" representing the 5031// client's request for the UpdateService operation. The "output" return 5032// value will be populated with the request's response once the request completes 5033// successfully. 5034// 5035// Use "Send" method on the returned Request to send the API call to the service. 5036// the "output" return value is not valid until after Send returns without error. 5037// 5038// See UpdateService for more information on using the UpdateService 5039// API call, and error handling. 5040// 5041// This method is useful when you want to inject custom logic or configuration 5042// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5043// 5044// 5045// // Example sending a request using the UpdateServiceRequest method. 5046// req, resp := client.UpdateServiceRequest(params) 5047// 5048// err := req.Send() 5049// if err == nil { // resp is now filled 5050// fmt.Println(resp) 5051// } 5052// 5053// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5054func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5055 op := &request.Operation{ 5056 Name: opUpdateService, 5057 HTTPMethod: "POST", 5058 HTTPPath: "/", 5059 } 5060 5061 if input == nil { 5062 input = &UpdateServiceInput{} 5063 } 5064 5065 output = &UpdateServiceOutput{} 5066 req = c.newRequest(op, input, output) 5067 return 5068} 5069 5070// UpdateService API operation for Amazon EC2 Container Service. 5071// 5072// Modifies the parameters of a service. 5073// 5074// For services using the rolling update (ECS) deployment controller, the desired 5075// count, deployment configuration, network configuration, or task definition 5076// used can be updated. 5077// 5078// For services using the blue/green (CODE_DEPLOY) deployment controller, only 5079// the desired count, deployment configuration, and health check grace period 5080// can be updated using this API. If the network configuration, platform version, 5081// or task definition need to be updated, a new AWS CodeDeploy deployment should 5082// be created. For more information, see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5083// in the AWS CodeDeploy API Reference. 5084// 5085// For services using an external deployment controller, you can update only 5086// the desired count and health check grace period using this API. If the launch 5087// type, load balancer, network configuration, platform version, or task definition 5088// need to be updated, you should create a new task set. For more information, 5089// see CreateTaskSet. 5090// 5091// You can add to or subtract from the number of instantiations of a task definition 5092// in a service by specifying the cluster that the service is running in and 5093// a new desiredCount parameter. 5094// 5095// If you have updated the Docker image of your application, you can create 5096// a new task definition with that image and deploy it to your service. The 5097// service scheduler uses the minimum healthy percent and maximum percent parameters 5098// (in the service's deployment configuration) to determine the deployment strategy. 5099// 5100// If your updated Docker image uses the same tag as what is in the existing 5101// task definition for your service (for example, my_image:latest), you do not 5102// need to create a new revision of your task definition. You can update the 5103// service using the forceNewDeployment option. The new tasks launched by the 5104// deployment pull the current image/tag combination from your repository when 5105// they start. 5106// 5107// You can also update the deployment configuration of a service. When a deployment 5108// is triggered by updating the task definition of a service, the service scheduler 5109// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5110// to determine the deployment strategy. 5111// 5112// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5113// temporarily during a deployment. For example, if desiredCount is four 5114// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5115// before starting two new tasks. Tasks for services that do not use a load 5116// balancer are considered healthy if they are in the RUNNING state. Tasks 5117// for services that use a load balancer are considered healthy if they are 5118// in the RUNNING state and the container instance they are hosted on is 5119// reported as healthy by the load balancer. 5120// 5121// * The maximumPercent parameter represents an upper limit on the number 5122// of running tasks during a deployment, which enables you to define the 5123// deployment batch size. For example, if desiredCount is four tasks, a maximum 5124// of 200% starts four new tasks before stopping the four older tasks (provided 5125// that the cluster resources required to do this are available). 5126// 5127// When UpdateService stops a task during a deployment, the equivalent of docker 5128// stop is issued to the containers running in the task. This results in a SIGTERM 5129// and a 30-second timeout, after which SIGKILL is sent and the containers are 5130// forcibly stopped. If the container handles the SIGTERM gracefully and exits 5131// within 30 seconds from receiving it, no SIGKILL is sent. 5132// 5133// When the service scheduler launches new tasks, it determines task placement 5134// in your cluster with the following logic: 5135// 5136// * Determine which of the container instances in your cluster can support 5137// your service's task definition (for example, they have the required CPU, 5138// memory, ports, and container instance attributes). 5139// 5140// * By default, the service scheduler attempts to balance tasks across Availability 5141// Zones in this manner (although you can choose a different placement strategy): 5142// Sort the valid container instances by the fewest number of running tasks 5143// for this service in the same Availability Zone as the instance. For example, 5144// if zone A has one running service task and zones B and C each have zero, 5145// valid container instances in either zone B or C are considered optimal 5146// for placement. Place the new service task on a valid container instance 5147// in an optimal Availability Zone (based on the previous steps), favoring 5148// container instances with the fewest number of running tasks for this service. 5149// 5150// When the service scheduler stops running tasks, it attempts to maintain balance 5151// across the Availability Zones in your cluster using the following logic: 5152// 5153// * Sort the container instances by the largest number of running tasks 5154// for this service in the same Availability Zone as the instance. For example, 5155// if zone A has one running service task and zones B and C each have two, 5156// container instances in either zone B or C are considered optimal for termination. 5157// 5158// * Stop the task on a container instance in an optimal Availability Zone 5159// (based on the previous steps), favoring container instances with the largest 5160// number of running tasks for this service. 5161// 5162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5163// with awserr.Error's Code and Message methods to get detailed information about 5164// the error. 5165// 5166// See the AWS API reference guide for Amazon EC2 Container Service's 5167// API operation UpdateService for usage and error information. 5168// 5169// Returned Error Codes: 5170// * ErrCodeServerException "ServerException" 5171// These errors are usually caused by a server issue. 5172// 5173// * ErrCodeClientException "ClientException" 5174// These errors are usually caused by a client action, such as using an action 5175// or resource on behalf of a user that doesn't have permissions to use the 5176// action or resource, or specifying an identifier that is not valid. 5177// 5178// * ErrCodeInvalidParameterException "InvalidParameterException" 5179// The specified parameter is invalid. Review the available parameters for the 5180// API request. 5181// 5182// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 5183// The specified cluster could not be found. You can view your available clusters 5184// with ListClusters. Amazon ECS clusters are Region-specific. 5185// 5186// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 5187// The specified service could not be found. You can view your available services 5188// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5189// 5190// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 5191// The specified service is not active. You can't update a service that is inactive. 5192// If you have previously deleted a service, you can re-create it with CreateService. 5193// 5194// * ErrCodePlatformUnknownException "PlatformUnknownException" 5195// The specified platform version does not exist. 5196// 5197// * ErrCodePlatformTaskDefinitionIncompatibilityException "PlatformTaskDefinitionIncompatibilityException" 5198// The specified platform version does not satisfy the task definition's required 5199// capabilities. 5200// 5201// * ErrCodeAccessDeniedException "AccessDeniedException" 5202// You do not have authorization to perform the requested action. 5203// 5204// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5205func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5206 req, out := c.UpdateServiceRequest(input) 5207 return out, req.Send() 5208} 5209 5210// UpdateServiceWithContext is the same as UpdateService with the addition of 5211// the ability to pass a context and additional request options. 5212// 5213// See UpdateService for details on how to use this API operation. 5214// 5215// The context must be non-nil and will be used for request cancellation. If 5216// the context is nil a panic will occur. In the future the SDK may create 5217// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5218// for more information on using Contexts. 5219func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5220 req, out := c.UpdateServiceRequest(input) 5221 req.SetContext(ctx) 5222 req.ApplyOptions(opts...) 5223 return out, req.Send() 5224} 5225 5226const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5227 5228// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5229// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5230// value will be populated with the request's response once the request completes 5231// successfully. 5232// 5233// Use "Send" method on the returned Request to send the API call to the service. 5234// the "output" return value is not valid until after Send returns without error. 5235// 5236// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5237// API call, and error handling. 5238// 5239// This method is useful when you want to inject custom logic or configuration 5240// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5241// 5242// 5243// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5244// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5245// 5246// err := req.Send() 5247// if err == nil { // resp is now filled 5248// fmt.Println(resp) 5249// } 5250// 5251// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5252func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5253 op := &request.Operation{ 5254 Name: opUpdateServicePrimaryTaskSet, 5255 HTTPMethod: "POST", 5256 HTTPPath: "/", 5257 } 5258 5259 if input == nil { 5260 input = &UpdateServicePrimaryTaskSetInput{} 5261 } 5262 5263 output = &UpdateServicePrimaryTaskSetOutput{} 5264 req = c.newRequest(op, input, output) 5265 return 5266} 5267 5268// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5269// 5270// Modifies which task set in a service is the primary task set. Any parameters 5271// that are updated on the primary task set in a service will transition to 5272// the service. This is used when a service uses the EXTERNAL deployment controller 5273// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5274// in the Amazon Elastic Container Service Developer Guide. 5275// 5276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5277// with awserr.Error's Code and Message methods to get detailed information about 5278// the error. 5279// 5280// See the AWS API reference guide for Amazon EC2 Container Service's 5281// API operation UpdateServicePrimaryTaskSet for usage and error information. 5282// 5283// Returned Error Codes: 5284// * ErrCodeServerException "ServerException" 5285// These errors are usually caused by a server issue. 5286// 5287// * ErrCodeClientException "ClientException" 5288// These errors are usually caused by a client action, such as using an action 5289// or resource on behalf of a user that doesn't have permissions to use the 5290// action or resource, or specifying an identifier that is not valid. 5291// 5292// * ErrCodeInvalidParameterException "InvalidParameterException" 5293// The specified parameter is invalid. Review the available parameters for the 5294// API request. 5295// 5296// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 5297// The specified cluster could not be found. You can view your available clusters 5298// with ListClusters. Amazon ECS clusters are Region-specific. 5299// 5300// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 5301// The specified task is not supported in this Region. 5302// 5303// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 5304// The specified service could not be found. You can view your available services 5305// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5306// 5307// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 5308// The specified service is not active. You can't update a service that is inactive. 5309// If you have previously deleted a service, you can re-create it with CreateService. 5310// 5311// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 5312// The specified task set could not be found. You can view your available task 5313// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5314// and Region. 5315// 5316// * ErrCodeAccessDeniedException "AccessDeniedException" 5317// You do not have authorization to perform the requested action. 5318// 5319// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5320func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5321 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5322 return out, req.Send() 5323} 5324 5325// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5326// the ability to pass a context and additional request options. 5327// 5328// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5329// 5330// The context must be non-nil and will be used for request cancellation. If 5331// the context is nil a panic will occur. In the future the SDK may create 5332// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5333// for more information on using Contexts. 5334func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5335 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5336 req.SetContext(ctx) 5337 req.ApplyOptions(opts...) 5338 return out, req.Send() 5339} 5340 5341const opUpdateTaskSet = "UpdateTaskSet" 5342 5343// UpdateTaskSetRequest generates a "aws/request.Request" representing the 5344// client's request for the UpdateTaskSet operation. The "output" return 5345// value will be populated with the request's response once the request completes 5346// successfully. 5347// 5348// Use "Send" method on the returned Request to send the API call to the service. 5349// the "output" return value is not valid until after Send returns without error. 5350// 5351// See UpdateTaskSet for more information on using the UpdateTaskSet 5352// API call, and error handling. 5353// 5354// This method is useful when you want to inject custom logic or configuration 5355// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5356// 5357// 5358// // Example sending a request using the UpdateTaskSetRequest method. 5359// req, resp := client.UpdateTaskSetRequest(params) 5360// 5361// err := req.Send() 5362// if err == nil { // resp is now filled 5363// fmt.Println(resp) 5364// } 5365// 5366// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5367func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5368 op := &request.Operation{ 5369 Name: opUpdateTaskSet, 5370 HTTPMethod: "POST", 5371 HTTPPath: "/", 5372 } 5373 5374 if input == nil { 5375 input = &UpdateTaskSetInput{} 5376 } 5377 5378 output = &UpdateTaskSetOutput{} 5379 req = c.newRequest(op, input, output) 5380 return 5381} 5382 5383// UpdateTaskSet API operation for Amazon EC2 Container Service. 5384// 5385// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5386// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5387// in the Amazon Elastic Container Service Developer Guide. 5388// 5389// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5390// with awserr.Error's Code and Message methods to get detailed information about 5391// the error. 5392// 5393// See the AWS API reference guide for Amazon EC2 Container Service's 5394// API operation UpdateTaskSet for usage and error information. 5395// 5396// Returned Error Codes: 5397// * ErrCodeServerException "ServerException" 5398// These errors are usually caused by a server issue. 5399// 5400// * ErrCodeClientException "ClientException" 5401// These errors are usually caused by a client action, such as using an action 5402// or resource on behalf of a user that doesn't have permissions to use the 5403// action or resource, or specifying an identifier that is not valid. 5404// 5405// * ErrCodeInvalidParameterException "InvalidParameterException" 5406// The specified parameter is invalid. Review the available parameters for the 5407// API request. 5408// 5409// * ErrCodeClusterNotFoundException "ClusterNotFoundException" 5410// The specified cluster could not be found. You can view your available clusters 5411// with ListClusters. Amazon ECS clusters are Region-specific. 5412// 5413// * ErrCodeUnsupportedFeatureException "UnsupportedFeatureException" 5414// The specified task is not supported in this Region. 5415// 5416// * ErrCodeAccessDeniedException "AccessDeniedException" 5417// You do not have authorization to perform the requested action. 5418// 5419// * ErrCodeServiceNotFoundException "ServiceNotFoundException" 5420// The specified service could not be found. You can view your available services 5421// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5422// 5423// * ErrCodeServiceNotActiveException "ServiceNotActiveException" 5424// The specified service is not active. You can't update a service that is inactive. 5425// If you have previously deleted a service, you can re-create it with CreateService. 5426// 5427// * ErrCodeTaskSetNotFoundException "TaskSetNotFoundException" 5428// The specified task set could not be found. You can view your available task 5429// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5430// and Region. 5431// 5432// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5433func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5434 req, out := c.UpdateTaskSetRequest(input) 5435 return out, req.Send() 5436} 5437 5438// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5439// the ability to pass a context and additional request options. 5440// 5441// See UpdateTaskSet for details on how to use this API operation. 5442// 5443// The context must be non-nil and will be used for request cancellation. If 5444// the context is nil a panic will occur. In the future the SDK may create 5445// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5446// for more information on using Contexts. 5447func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5448 req, out := c.UpdateTaskSetRequest(input) 5449 req.SetContext(ctx) 5450 req.ApplyOptions(opts...) 5451 return out, req.Send() 5452} 5453 5454// An object representing a container instance or task attachment. 5455type Attachment struct { 5456 _ struct{} `type:"structure"` 5457 5458 // Details of the attachment. For elastic network interfaces, this includes 5459 // the network interface ID, the MAC address, the subnet ID, and the private 5460 // IPv4 address. 5461 Details []*KeyValuePair `locationName:"details" type:"list"` 5462 5463 // The unique identifier for the attachment. 5464 Id *string `locationName:"id" type:"string"` 5465 5466 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5467 // ATTACHED, DETACHING, DETACHED, and DELETED. 5468 Status *string `locationName:"status" type:"string"` 5469 5470 // The type of the attachment, such as ElasticNetworkInterface. 5471 Type *string `locationName:"type" type:"string"` 5472} 5473 5474// String returns the string representation 5475func (s Attachment) String() string { 5476 return awsutil.Prettify(s) 5477} 5478 5479// GoString returns the string representation 5480func (s Attachment) GoString() string { 5481 return s.String() 5482} 5483 5484// SetDetails sets the Details field's value. 5485func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5486 s.Details = v 5487 return s 5488} 5489 5490// SetId sets the Id field's value. 5491func (s *Attachment) SetId(v string) *Attachment { 5492 s.Id = &v 5493 return s 5494} 5495 5496// SetStatus sets the Status field's value. 5497func (s *Attachment) SetStatus(v string) *Attachment { 5498 s.Status = &v 5499 return s 5500} 5501 5502// SetType sets the Type field's value. 5503func (s *Attachment) SetType(v string) *Attachment { 5504 s.Type = &v 5505 return s 5506} 5507 5508// An object representing a change in state for a task attachment. 5509type AttachmentStateChange struct { 5510 _ struct{} `type:"structure"` 5511 5512 // The Amazon Resource Name (ARN) of the attachment. 5513 // 5514 // AttachmentArn is a required field 5515 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5516 5517 // The status of the attachment. 5518 // 5519 // Status is a required field 5520 Status *string `locationName:"status" type:"string" required:"true"` 5521} 5522 5523// String returns the string representation 5524func (s AttachmentStateChange) String() string { 5525 return awsutil.Prettify(s) 5526} 5527 5528// GoString returns the string representation 5529func (s AttachmentStateChange) GoString() string { 5530 return s.String() 5531} 5532 5533// Validate inspects the fields of the type to determine if they are valid. 5534func (s *AttachmentStateChange) Validate() error { 5535 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5536 if s.AttachmentArn == nil { 5537 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5538 } 5539 if s.Status == nil { 5540 invalidParams.Add(request.NewErrParamRequired("Status")) 5541 } 5542 5543 if invalidParams.Len() > 0 { 5544 return invalidParams 5545 } 5546 return nil 5547} 5548 5549// SetAttachmentArn sets the AttachmentArn field's value. 5550func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5551 s.AttachmentArn = &v 5552 return s 5553} 5554 5555// SetStatus sets the Status field's value. 5556func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5557 s.Status = &v 5558 return s 5559} 5560 5561// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5562// enable you to extend the Amazon ECS data model by adding custom metadata 5563// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5564// in the Amazon Elastic Container Service Developer Guide. 5565type Attribute struct { 5566 _ struct{} `type:"structure"` 5567 5568 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 5569 // hyphens, underscores, and periods are allowed. 5570 // 5571 // Name is a required field 5572 Name *string `locationName:"name" type:"string" required:"true"` 5573 5574 // The ID of the target. You can specify the short form ID for a resource or 5575 // the full Amazon Resource Name (ARN). 5576 TargetId *string `locationName:"targetId" type:"string"` 5577 5578 // The type of the target with which to attach the attribute. This parameter 5579 // is required if you use the short form ID for a resource instead of the full 5580 // ARN. 5581 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5582 5583 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 5584 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 5585 // and spaces are allowed. 5586 Value *string `locationName:"value" type:"string"` 5587} 5588 5589// String returns the string representation 5590func (s Attribute) String() string { 5591 return awsutil.Prettify(s) 5592} 5593 5594// GoString returns the string representation 5595func (s Attribute) GoString() string { 5596 return s.String() 5597} 5598 5599// Validate inspects the fields of the type to determine if they are valid. 5600func (s *Attribute) Validate() error { 5601 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5602 if s.Name == nil { 5603 invalidParams.Add(request.NewErrParamRequired("Name")) 5604 } 5605 5606 if invalidParams.Len() > 0 { 5607 return invalidParams 5608 } 5609 return nil 5610} 5611 5612// SetName sets the Name field's value. 5613func (s *Attribute) SetName(v string) *Attribute { 5614 s.Name = &v 5615 return s 5616} 5617 5618// SetTargetId sets the TargetId field's value. 5619func (s *Attribute) SetTargetId(v string) *Attribute { 5620 s.TargetId = &v 5621 return s 5622} 5623 5624// SetTargetType sets the TargetType field's value. 5625func (s *Attribute) SetTargetType(v string) *Attribute { 5626 s.TargetType = &v 5627 return s 5628} 5629 5630// SetValue sets the Value field's value. 5631func (s *Attribute) SetValue(v string) *Attribute { 5632 s.Value = &v 5633 return s 5634} 5635 5636// The details of the Auto Scaling group for the capacity provider. 5637type AutoScalingGroupProvider struct { 5638 _ struct{} `type:"structure"` 5639 5640 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 5641 // 5642 // AutoScalingGroupArn is a required field 5643 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 5644 5645 // The managed scaling settings for the Auto Scaling group capacity provider. 5646 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 5647 5648 // The managed termination protection setting to use for the Auto Scaling group 5649 // capacity provider. This determines whether the Auto Scaling group has managed 5650 // termination protection. 5651 // 5652 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 5653 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 5654 // during a scale-in action. The Auto Scaling group and each instance in the 5655 // Auto Scaling group must have instance protection from scale-in actions enabled 5656 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 5657 // in the AWS Auto Scaling User Guide. 5658 // 5659 // When managed termination protection is disabled, your Amazon EC2 instances 5660 // are not protected from termination when the Auto Scaling group scales in. 5661 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 5662} 5663 5664// String returns the string representation 5665func (s AutoScalingGroupProvider) String() string { 5666 return awsutil.Prettify(s) 5667} 5668 5669// GoString returns the string representation 5670func (s AutoScalingGroupProvider) GoString() string { 5671 return s.String() 5672} 5673 5674// Validate inspects the fields of the type to determine if they are valid. 5675func (s *AutoScalingGroupProvider) Validate() error { 5676 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 5677 if s.AutoScalingGroupArn == nil { 5678 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 5679 } 5680 if s.ManagedScaling != nil { 5681 if err := s.ManagedScaling.Validate(); err != nil { 5682 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 5683 } 5684 } 5685 5686 if invalidParams.Len() > 0 { 5687 return invalidParams 5688 } 5689 return nil 5690} 5691 5692// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 5693func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 5694 s.AutoScalingGroupArn = &v 5695 return s 5696} 5697 5698// SetManagedScaling sets the ManagedScaling field's value. 5699func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 5700 s.ManagedScaling = v 5701 return s 5702} 5703 5704// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 5705func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 5706 s.ManagedTerminationProtection = &v 5707 return s 5708} 5709 5710// An object representing the networking details for a task or service. 5711type AwsVpcConfiguration struct { 5712 _ struct{} `type:"structure"` 5713 5714 // Whether the task's elastic network interface receives a public IP address. 5715 // The default value is DISABLED. 5716 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 5717 5718 // The security groups associated with the task or service. If you do not specify 5719 // a security group, the default security group for the VPC is used. There is 5720 // a limit of 5 security groups that can be specified per AwsVpcConfiguration. 5721 // 5722 // All specified security groups must be from the same VPC. 5723 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 5724 5725 // The subnets associated with the task or service. There is a limit of 16 subnets 5726 // that can be specified per AwsVpcConfiguration. 5727 // 5728 // All specified subnets must be from the same VPC. 5729 // 5730 // Subnets is a required field 5731 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 5732} 5733 5734// String returns the string representation 5735func (s AwsVpcConfiguration) String() string { 5736 return awsutil.Prettify(s) 5737} 5738 5739// GoString returns the string representation 5740func (s AwsVpcConfiguration) GoString() string { 5741 return s.String() 5742} 5743 5744// Validate inspects the fields of the type to determine if they are valid. 5745func (s *AwsVpcConfiguration) Validate() error { 5746 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 5747 if s.Subnets == nil { 5748 invalidParams.Add(request.NewErrParamRequired("Subnets")) 5749 } 5750 5751 if invalidParams.Len() > 0 { 5752 return invalidParams 5753 } 5754 return nil 5755} 5756 5757// SetAssignPublicIp sets the AssignPublicIp field's value. 5758func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 5759 s.AssignPublicIp = &v 5760 return s 5761} 5762 5763// SetSecurityGroups sets the SecurityGroups field's value. 5764func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 5765 s.SecurityGroups = v 5766 return s 5767} 5768 5769// SetSubnets sets the Subnets field's value. 5770func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 5771 s.Subnets = v 5772 return s 5773} 5774 5775// The details of a capacity provider. 5776type CapacityProvider struct { 5777 _ struct{} `type:"structure"` 5778 5779 // The Auto Scaling group settings for the capacity provider. 5780 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 5781 5782 // The Amazon Resource Name (ARN) that identifies the capacity provider. 5783 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 5784 5785 // The name of the capacity provider. 5786 Name *string `locationName:"name" type:"string"` 5787 5788 // The current status of the capacity provider. Only capacity providers in an 5789 // ACTIVE state can be used in a cluster. 5790 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 5791 5792 // The metadata that you apply to the capacity provider to help you categorize 5793 // and organize it. Each tag consists of a key and an optional value, both of 5794 // which you define. 5795 // 5796 // The following basic restrictions apply to tags: 5797 // 5798 // * Maximum number of tags per resource - 50 5799 // 5800 // * For each resource, each tag key must be unique, and each tag key can 5801 // have only one value. 5802 // 5803 // * Maximum key length - 128 Unicode characters in UTF-8 5804 // 5805 // * Maximum value length - 256 Unicode characters in UTF-8 5806 // 5807 // * If your tagging schema is used across multiple services and resources, 5808 // remember that other services may have restrictions on allowed characters. 5809 // Generally allowed characters are: letters, numbers, and spaces representable 5810 // in UTF-8, and the following characters: + - = . _ : / @. 5811 // 5812 // * Tag keys and values are case-sensitive. 5813 // 5814 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 5815 // as a prefix for either keys or values as it is reserved for AWS use. You 5816 // cannot edit or delete tag keys or values with this prefix. Tags with this 5817 // prefix do not count against your tags per resource limit. 5818 Tags []*Tag `locationName:"tags" type:"list"` 5819} 5820 5821// String returns the string representation 5822func (s CapacityProvider) String() string { 5823 return awsutil.Prettify(s) 5824} 5825 5826// GoString returns the string representation 5827func (s CapacityProvider) GoString() string { 5828 return s.String() 5829} 5830 5831// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 5832func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 5833 s.AutoScalingGroupProvider = v 5834 return s 5835} 5836 5837// SetCapacityProviderArn sets the CapacityProviderArn field's value. 5838func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 5839 s.CapacityProviderArn = &v 5840 return s 5841} 5842 5843// SetName sets the Name field's value. 5844func (s *CapacityProvider) SetName(v string) *CapacityProvider { 5845 s.Name = &v 5846 return s 5847} 5848 5849// SetStatus sets the Status field's value. 5850func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 5851 s.Status = &v 5852 return s 5853} 5854 5855// SetTags sets the Tags field's value. 5856func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 5857 s.Tags = v 5858 return s 5859} 5860 5861// The details of a capacity provider strategy. 5862type CapacityProviderStrategyItem struct { 5863 _ struct{} `type:"structure"` 5864 5865 // The base value designates how many tasks, at a minimum, to run on the specified 5866 // capacity provider. Only one capacity provider in a capacity provider strategy 5867 // can have a base defined. 5868 Base *int64 `locationName:"base" type:"integer"` 5869 5870 // The short name or full Amazon Resource Name (ARN) of the capacity provider. 5871 // 5872 // CapacityProvider is a required field 5873 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 5874 5875 // The weight value designates the relative percentage of the total number of 5876 // tasks launched that should use the specified capacity provider. 5877 // 5878 // For example, if you have a strategy that contains two capacity providers 5879 // and both have a weight of 1, then when the base is satisfied, the tasks will 5880 // be split evenly across the two capacity providers. Using that same logic, 5881 // if you specify a weight of 1 for capacityProviderA and a weight of 4 for 5882 // capacityProviderB, then for every one task that is run using capacityProviderA, 5883 // four tasks would use capacityProviderB. 5884 Weight *int64 `locationName:"weight" type:"integer"` 5885} 5886 5887// String returns the string representation 5888func (s CapacityProviderStrategyItem) String() string { 5889 return awsutil.Prettify(s) 5890} 5891 5892// GoString returns the string representation 5893func (s CapacityProviderStrategyItem) GoString() string { 5894 return s.String() 5895} 5896 5897// Validate inspects the fields of the type to determine if they are valid. 5898func (s *CapacityProviderStrategyItem) Validate() error { 5899 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 5900 if s.CapacityProvider == nil { 5901 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 5902 } 5903 5904 if invalidParams.Len() > 0 { 5905 return invalidParams 5906 } 5907 return nil 5908} 5909 5910// SetBase sets the Base field's value. 5911func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 5912 s.Base = &v 5913 return s 5914} 5915 5916// SetCapacityProvider sets the CapacityProvider field's value. 5917func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 5918 s.CapacityProvider = &v 5919 return s 5920} 5921 5922// SetWeight sets the Weight field's value. 5923func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 5924 s.Weight = &v 5925 return s 5926} 5927 5928// A regional grouping of one or more container instances on which you can run 5929// task requests. Each account receives a default cluster the first time you 5930// use the Amazon ECS service, but you may also create other clusters. Clusters 5931// may contain more than one instance type simultaneously. 5932type Cluster struct { 5933 _ struct{} `type:"structure"` 5934 5935 // The number of services that are running on the cluster in an ACTIVE state. 5936 // You can view these services with ListServices. 5937 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 5938 5939 // The resources attached to a cluster. When using a capacity provider with 5940 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 5941 // attachment. 5942 Attachments []*Attachment `locationName:"attachments" type:"list"` 5943 5944 // The status of the capacity providers associated with the cluster. The following 5945 // are the states that will be returned: 5946 // 5947 // UPDATE_IN_PROGRESS 5948 // 5949 // The available capacity providers for the cluster are updating. This occurs 5950 // when the Auto Scaling plan is provisioning or deprovisioning. 5951 // 5952 // UPDATE_COMPLETE 5953 // 5954 // The capacity providers have successfully updated. 5955 // 5956 // UPDATE_FAILED 5957 // 5958 // The capacity provider updates failed. 5959 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 5960 5961 // The capacity providers associated with the cluster. 5962 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 5963 5964 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 5965 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 5966 // account ID of the cluster owner, the cluster namespace, and then the cluster 5967 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 5968 ClusterArn *string `locationName:"clusterArn" type:"string"` 5969 5970 // A user-generated string that you use to identify your cluster. 5971 ClusterName *string `locationName:"clusterName" type:"string"` 5972 5973 // The default capacity provider strategy for the cluster. When services or 5974 // tasks are run in the cluster with no launch type or capacity provider strategy 5975 // specified, the default capacity provider strategy is used. 5976 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 5977 5978 // The number of tasks in the cluster that are in the PENDING state. 5979 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 5980 5981 // The number of container instances registered into the cluster. This includes 5982 // container instances in both ACTIVE and DRAINING status. 5983 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 5984 5985 // The number of tasks in the cluster that are in the RUNNING state. 5986 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 5987 5988 // The settings for the cluster. This parameter indicates whether CloudWatch 5989 // Container Insights is enabled or disabled for a cluster. 5990 Settings []*ClusterSetting `locationName:"settings" type:"list"` 5991 5992 // Additional information about your clusters that are separated by launch type, 5993 // including: 5994 // 5995 // * runningEC2TasksCount 5996 // 5997 // * RunningFargateTasksCount 5998 // 5999 // * pendingEC2TasksCount 6000 // 6001 // * pendingFargateTasksCount 6002 // 6003 // * activeEC2ServiceCount 6004 // 6005 // * activeFargateServiceCount 6006 // 6007 // * drainingEC2ServiceCount 6008 // 6009 // * drainingFargateServiceCount 6010 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6011 6012 // The status of the cluster. The valid values are ACTIVE or INACTIVE. ACTIVE 6013 // indicates that you can register container instances with the cluster and 6014 // the associated instances can accept tasks. 6015 Status *string `locationName:"status" type:"string"` 6016 6017 // The metadata that you apply to the cluster to help you categorize and organize 6018 // them. Each tag consists of a key and an optional value, both of which you 6019 // define. 6020 // 6021 // The following basic restrictions apply to tags: 6022 // 6023 // * Maximum number of tags per resource - 50 6024 // 6025 // * For each resource, each tag key must be unique, and each tag key can 6026 // have only one value. 6027 // 6028 // * Maximum key length - 128 Unicode characters in UTF-8 6029 // 6030 // * Maximum value length - 256 Unicode characters in UTF-8 6031 // 6032 // * If your tagging schema is used across multiple services and resources, 6033 // remember that other services may have restrictions on allowed characters. 6034 // Generally allowed characters are: letters, numbers, and spaces representable 6035 // in UTF-8, and the following characters: + - = . _ : / @. 6036 // 6037 // * Tag keys and values are case-sensitive. 6038 // 6039 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6040 // as a prefix for either keys or values as it is reserved for AWS use. You 6041 // cannot edit or delete tag keys or values with this prefix. Tags with this 6042 // prefix do not count against your tags per resource limit. 6043 Tags []*Tag `locationName:"tags" type:"list"` 6044} 6045 6046// String returns the string representation 6047func (s Cluster) String() string { 6048 return awsutil.Prettify(s) 6049} 6050 6051// GoString returns the string representation 6052func (s Cluster) GoString() string { 6053 return s.String() 6054} 6055 6056// SetActiveServicesCount sets the ActiveServicesCount field's value. 6057func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 6058 s.ActiveServicesCount = &v 6059 return s 6060} 6061 6062// SetAttachments sets the Attachments field's value. 6063func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 6064 s.Attachments = v 6065 return s 6066} 6067 6068// SetAttachmentsStatus sets the AttachmentsStatus field's value. 6069func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 6070 s.AttachmentsStatus = &v 6071 return s 6072} 6073 6074// SetCapacityProviders sets the CapacityProviders field's value. 6075func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 6076 s.CapacityProviders = v 6077 return s 6078} 6079 6080// SetClusterArn sets the ClusterArn field's value. 6081func (s *Cluster) SetClusterArn(v string) *Cluster { 6082 s.ClusterArn = &v 6083 return s 6084} 6085 6086// SetClusterName sets the ClusterName field's value. 6087func (s *Cluster) SetClusterName(v string) *Cluster { 6088 s.ClusterName = &v 6089 return s 6090} 6091 6092// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 6093func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 6094 s.DefaultCapacityProviderStrategy = v 6095 return s 6096} 6097 6098// SetPendingTasksCount sets the PendingTasksCount field's value. 6099func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 6100 s.PendingTasksCount = &v 6101 return s 6102} 6103 6104// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 6105func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 6106 s.RegisteredContainerInstancesCount = &v 6107 return s 6108} 6109 6110// SetRunningTasksCount sets the RunningTasksCount field's value. 6111func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 6112 s.RunningTasksCount = &v 6113 return s 6114} 6115 6116// SetSettings sets the Settings field's value. 6117func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 6118 s.Settings = v 6119 return s 6120} 6121 6122// SetStatistics sets the Statistics field's value. 6123func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 6124 s.Statistics = v 6125 return s 6126} 6127 6128// SetStatus sets the Status field's value. 6129func (s *Cluster) SetStatus(v string) *Cluster { 6130 s.Status = &v 6131 return s 6132} 6133 6134// SetTags sets the Tags field's value. 6135func (s *Cluster) SetTags(v []*Tag) *Cluster { 6136 s.Tags = v 6137 return s 6138} 6139 6140// The settings to use when creating a cluster. This parameter is used to enable 6141// CloudWatch Container Insights for a cluster. 6142type ClusterSetting struct { 6143 _ struct{} `type:"structure"` 6144 6145 // The name of the cluster setting. The only supported value is containerInsights. 6146 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 6147 6148 // The value to set for the cluster setting. The supported values are enabled 6149 // and disabled. If enabled is specified, CloudWatch Container Insights will 6150 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 6151 // account setting is enabled. If a cluster value is specified, it will override 6152 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 6153 Value *string `locationName:"value" type:"string"` 6154} 6155 6156// String returns the string representation 6157func (s ClusterSetting) String() string { 6158 return awsutil.Prettify(s) 6159} 6160 6161// GoString returns the string representation 6162func (s ClusterSetting) GoString() string { 6163 return s.String() 6164} 6165 6166// SetName sets the Name field's value. 6167func (s *ClusterSetting) SetName(v string) *ClusterSetting { 6168 s.Name = &v 6169 return s 6170} 6171 6172// SetValue sets the Value field's value. 6173func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 6174 s.Value = &v 6175 return s 6176} 6177 6178// A Docker container that is part of a task. 6179type Container struct { 6180 _ struct{} `type:"structure"` 6181 6182 // The Amazon Resource Name (ARN) of the container. 6183 ContainerArn *string `locationName:"containerArn" type:"string"` 6184 6185 // The number of CPU units set for the container. The value will be 0 if no 6186 // value was specified in the container definition when the task definition 6187 // was registered. 6188 Cpu *string `locationName:"cpu" type:"string"` 6189 6190 // The exit code returned from the container. 6191 ExitCode *int64 `locationName:"exitCode" type:"integer"` 6192 6193 // The IDs of each GPU assigned to the container. 6194 GpuIds []*string `locationName:"gpuIds" type:"list"` 6195 6196 // The health status of the container. If health checks are not configured for 6197 // this container in its task definition, then it reports the health status 6198 // as UNKNOWN. 6199 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 6200 6201 // The image used for the container. 6202 Image *string `locationName:"image" type:"string"` 6203 6204 // The container image manifest digest. 6205 // 6206 // The imageDigest is only returned if the container is using an image hosted 6207 // in Amazon ECR, otherwise it is omitted. 6208 ImageDigest *string `locationName:"imageDigest" type:"string"` 6209 6210 // The last known status of the container. 6211 LastStatus *string `locationName:"lastStatus" type:"string"` 6212 6213 // The hard limit (in MiB) of memory set for the container. 6214 Memory *string `locationName:"memory" type:"string"` 6215 6216 // The soft limit (in MiB) of memory set for the container. 6217 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 6218 6219 // The name of the container. 6220 Name *string `locationName:"name" type:"string"` 6221 6222 // The network bindings associated with the container. 6223 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 6224 6225 // The network interfaces associated with the container. 6226 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 6227 6228 // A short (255 max characters) human-readable string to provide additional 6229 // details about a running or stopped container. 6230 Reason *string `locationName:"reason" type:"string"` 6231 6232 // The ID of the Docker container. 6233 RuntimeId *string `locationName:"runtimeId" type:"string"` 6234 6235 // The ARN of the task. 6236 TaskArn *string `locationName:"taskArn" type:"string"` 6237} 6238 6239// String returns the string representation 6240func (s Container) String() string { 6241 return awsutil.Prettify(s) 6242} 6243 6244// GoString returns the string representation 6245func (s Container) GoString() string { 6246 return s.String() 6247} 6248 6249// SetContainerArn sets the ContainerArn field's value. 6250func (s *Container) SetContainerArn(v string) *Container { 6251 s.ContainerArn = &v 6252 return s 6253} 6254 6255// SetCpu sets the Cpu field's value. 6256func (s *Container) SetCpu(v string) *Container { 6257 s.Cpu = &v 6258 return s 6259} 6260 6261// SetExitCode sets the ExitCode field's value. 6262func (s *Container) SetExitCode(v int64) *Container { 6263 s.ExitCode = &v 6264 return s 6265} 6266 6267// SetGpuIds sets the GpuIds field's value. 6268func (s *Container) SetGpuIds(v []*string) *Container { 6269 s.GpuIds = v 6270 return s 6271} 6272 6273// SetHealthStatus sets the HealthStatus field's value. 6274func (s *Container) SetHealthStatus(v string) *Container { 6275 s.HealthStatus = &v 6276 return s 6277} 6278 6279// SetImage sets the Image field's value. 6280func (s *Container) SetImage(v string) *Container { 6281 s.Image = &v 6282 return s 6283} 6284 6285// SetImageDigest sets the ImageDigest field's value. 6286func (s *Container) SetImageDigest(v string) *Container { 6287 s.ImageDigest = &v 6288 return s 6289} 6290 6291// SetLastStatus sets the LastStatus field's value. 6292func (s *Container) SetLastStatus(v string) *Container { 6293 s.LastStatus = &v 6294 return s 6295} 6296 6297// SetMemory sets the Memory field's value. 6298func (s *Container) SetMemory(v string) *Container { 6299 s.Memory = &v 6300 return s 6301} 6302 6303// SetMemoryReservation sets the MemoryReservation field's value. 6304func (s *Container) SetMemoryReservation(v string) *Container { 6305 s.MemoryReservation = &v 6306 return s 6307} 6308 6309// SetName sets the Name field's value. 6310func (s *Container) SetName(v string) *Container { 6311 s.Name = &v 6312 return s 6313} 6314 6315// SetNetworkBindings sets the NetworkBindings field's value. 6316func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 6317 s.NetworkBindings = v 6318 return s 6319} 6320 6321// SetNetworkInterfaces sets the NetworkInterfaces field's value. 6322func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 6323 s.NetworkInterfaces = v 6324 return s 6325} 6326 6327// SetReason sets the Reason field's value. 6328func (s *Container) SetReason(v string) *Container { 6329 s.Reason = &v 6330 return s 6331} 6332 6333// SetRuntimeId sets the RuntimeId field's value. 6334func (s *Container) SetRuntimeId(v string) *Container { 6335 s.RuntimeId = &v 6336 return s 6337} 6338 6339// SetTaskArn sets the TaskArn field's value. 6340func (s *Container) SetTaskArn(v string) *Container { 6341 s.TaskArn = &v 6342 return s 6343} 6344 6345// Container definitions are used in task definitions to describe the different 6346// containers that are launched as part of a task. 6347type ContainerDefinition struct { 6348 _ struct{} `type:"structure"` 6349 6350 // The command that is passed to the container. This parameter maps to Cmd in 6351 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6352 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6353 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 6354 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 6355 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 6356 // arguments, each argument should be a separated string in the array. 6357 Command []*string `locationName:"command" type:"list"` 6358 6359 // The number of cpu units reserved for the container. This parameter maps to 6360 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6361 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6362 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 6363 // 6364 // This field is optional for tasks using the Fargate launch type, and the only 6365 // requirement is that the total amount of CPU reserved for all containers within 6366 // a task be lower than the task-level cpu value. 6367 // 6368 // You can determine the number of CPU units that are available per EC2 instance 6369 // type by multiplying the vCPUs listed for that instance type on the Amazon 6370 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 6371 // 1,024. 6372 // 6373 // For example, if you run a single-container task on a single-core instance 6374 // type with 512 CPU units specified for that container, and that is the only 6375 // task running on the container instance, that container could use the full 6376 // 1,024 CPU unit share at any given time. However, if you launched another 6377 // copy of the same task on that container instance, each task would be guaranteed 6378 // a minimum of 512 CPU units when needed, and each container could float to 6379 // higher CPU usage if the other container was not using it, but if both tasks 6380 // were 100% active all of the time, they would be limited to 512 CPU units. 6381 // 6382 // Linux containers share unallocated CPU units with other containers on the 6383 // container instance with the same ratio as their allocated amount. For example, 6384 // if you run a single-container task on a single-core instance type with 512 6385 // CPU units specified for that container, and that is the only task running 6386 // on the container instance, that container could use the full 1,024 CPU unit 6387 // share at any given time. However, if you launched another copy of the same 6388 // task on that container instance, each task would be guaranteed a minimum 6389 // of 512 CPU units when needed, and each container could float to higher CPU 6390 // usage if the other container was not using it, but if both tasks were 100% 6391 // active all of the time, they would be limited to 512 CPU units. 6392 // 6393 // On Linux container instances, the Docker daemon on the container instance 6394 // uses the CPU value to calculate the relative CPU share ratios for running 6395 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 6396 // in the Docker documentation. The minimum valid CPU share value that the Linux 6397 // kernel allows is 2. However, the CPU parameter is not required, and you can 6398 // use CPU values below 2 in your container definitions. For CPU values below 6399 // 2 (including null), the behavior varies based on your Amazon ECS container 6400 // agent version: 6401 // 6402 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 6403 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 6404 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 6405 // to two CPU shares. 6406 // 6407 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 6408 // of 1 are passed to Docker as 2. 6409 // 6410 // On Windows container instances, the CPU limit is enforced as an absolute 6411 // limit, or a quota. Windows containers only have access to the specified amount 6412 // of CPU that is described in the task definition. 6413 Cpu *int64 `locationName:"cpu" type:"integer"` 6414 6415 // The dependencies defined for container startup and shutdown. A container 6416 // can contain multiple dependencies. When a dependency is defined for container 6417 // startup, for container shutdown it is reversed. 6418 // 6419 // For tasks using the EC2 launch type, the container instances require at least 6420 // version 1.26.0 of the container agent to enable container dependencies. However, 6421 // we recommend using the latest container agent version. For information about 6422 // checking your agent version and updating to the latest version, see Updating 6423 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6424 // in the Amazon Elastic Container Service Developer Guide. If you are using 6425 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6426 // of the ecs-init package. If your container instances are launched from version 6427 // 20190301 or later, then they contain the required versions of the container 6428 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6429 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6430 // in the Amazon Elastic Container Service Developer Guide. 6431 // 6432 // For tasks using the Fargate launch type, the task or service requires platform 6433 // version 1.3.0 or later. 6434 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 6435 6436 // When this parameter is true, networking is disabled within the container. 6437 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6438 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 6439 // 6440 // This parameter is not supported for Windows containers. 6441 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 6442 6443 // A list of DNS search domains that are presented to the container. This parameter 6444 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6445 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6446 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 6447 // 6448 // This parameter is not supported for Windows containers. 6449 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 6450 6451 // A list of DNS servers that are presented to the container. This parameter 6452 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6453 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6454 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 6455 // 6456 // This parameter is not supported for Windows containers. 6457 DnsServers []*string `locationName:"dnsServers" type:"list"` 6458 6459 // A key/value map of labels to add to the container. This parameter maps to 6460 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6461 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6462 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 6463 // This parameter requires version 1.18 of the Docker Remote API or greater 6464 // on your container instance. To check the Docker Remote API version on your 6465 // container instance, log in to your container instance and run the following 6466 // command: sudo docker version --format '{{.Server.APIVersion}}' 6467 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 6468 6469 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 6470 // security systems. This field is not valid for containers in tasks using the 6471 // Fargate launch type. 6472 // 6473 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6474 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6475 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 6476 // 6477 // The Amazon ECS container agent running on a container instance must register 6478 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 6479 // variables before containers placed on that instance can use these security 6480 // options. For more information, see Amazon ECS Container Agent Configuration 6481 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 6482 // in the Amazon Elastic Container Service Developer Guide. 6483 // 6484 // This parameter is not supported for Windows containers. 6485 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 6486 6487 // 6488 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 6489 // parameters. If you have problems using entryPoint, update your container 6490 // agent or enter your commands and arguments as command array items instead. 6491 // 6492 // The entry point that is passed to the container. This parameter maps to Entrypoint 6493 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6494 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6495 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 6496 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 6497 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 6498 EntryPoint []*string `locationName:"entryPoint" type:"list"` 6499 6500 // The environment variables to pass to a container. This parameter maps to 6501 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6502 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6503 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 6504 // 6505 // We do not recommend using plaintext environment variables for sensitive information, 6506 // such as credential data. 6507 Environment []*KeyValuePair `locationName:"environment" type:"list"` 6508 6509 // If the essential parameter of a container is marked as true, and that container 6510 // fails or stops for any reason, all other containers that are part of the 6511 // task are stopped. If the essential parameter of a container is marked as 6512 // false, then its failure does not affect the rest of the containers in a task. 6513 // If this parameter is omitted, a container is assumed to be essential. 6514 // 6515 // All tasks must have at least one essential container. If you have an application 6516 // that is composed of multiple containers, you should group containers that 6517 // are used for a common purpose into components, and separate the different 6518 // components into multiple task definitions. For more information, see Application 6519 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 6520 // in the Amazon Elastic Container Service Developer Guide. 6521 Essential *bool `locationName:"essential" type:"boolean"` 6522 6523 // A list of hostnames and IP address mappings to append to the /etc/hosts file 6524 // on the container. This parameter maps to ExtraHosts in the Create a container 6525 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 6526 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 6527 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 6528 // 6529 // This parameter is not supported for Windows containers or tasks that use 6530 // the awsvpc network mode. 6531 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 6532 6533 // The FireLens configuration for the container. This is used to specify and 6534 // configure a log router for container logs. For more information, see Custom 6535 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 6536 // in the Amazon Elastic Container Service Developer Guide. 6537 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 6538 6539 // The health check command and associated configuration parameters for the 6540 // container. This parameter maps to HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6541 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6542 // and the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/). 6543 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 6544 6545 // The hostname to use for your container. This parameter maps to Hostname in 6546 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6547 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6548 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 6549 // 6550 // The hostname parameter is not supported if you are using the awsvpc network 6551 // mode. 6552 Hostname *string `locationName:"hostname" type:"string"` 6553 6554 // The image used to start a container. This string is passed directly to the 6555 // Docker daemon. Images in the Docker Hub registry are available by default. 6556 // Other repositories are specified with either repository-url/image:tag or 6557 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 6558 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 6559 // signs are allowed. This parameter maps to Image in the Create a container 6560 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 6561 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 6562 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 6563 // 6564 // * When a new task starts, the Amazon ECS container agent pulls the latest 6565 // version of the specified image and tag for the container to use. However, 6566 // subsequent updates to a repository image are not propagated to already 6567 // running tasks. 6568 // 6569 // * Images in Amazon ECR repositories can be specified by either using the 6570 // full registry/repository:tag or registry/repository@digest. For example, 6571 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 6572 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 6573 // 6574 // * Images in official repositories on Docker Hub use a single name (for 6575 // example, ubuntu or mongo). 6576 // 6577 // * Images in other repositories on Docker Hub are qualified with an organization 6578 // name (for example, amazon/amazon-ecs-agent). 6579 // 6580 // * Images in other online repositories are qualified further by a domain 6581 // name (for example, quay.io/assemblyline/ubuntu). 6582 Image *string `locationName:"image" type:"string"` 6583 6584 // When this parameter is true, this allows you to deploy containerized applications 6585 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 6586 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6587 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6588 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/). 6589 Interactive *bool `locationName:"interactive" type:"boolean"` 6590 6591 // The links parameter allows containers to communicate with each other without 6592 // the need for port mappings. This parameter is only supported if the network 6593 // mode of a task definition is bridge. The name:internalName construct is analogous 6594 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 6595 // numbers, and hyphens are allowed. For more information about linking Docker 6596 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 6597 // in the Docker documentation. This parameter maps to Links in the Create a 6598 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6599 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6600 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 6601 // 6602 // This parameter is not supported for Windows containers. 6603 // 6604 // Containers that are collocated on a single container instance may be able 6605 // to communicate with each other without requiring links or host port mappings. 6606 // Network isolation is achieved on the container instance using security groups 6607 // and VPC settings. 6608 Links []*string `locationName:"links" type:"list"` 6609 6610 // Linux-specific modifications that are applied to the container, such as Linux 6611 // kernel capabilities. For more information see KernelCapabilities. 6612 // 6613 // This parameter is not supported for Windows containers. 6614 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 6615 6616 // The log configuration specification for the container. 6617 // 6618 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6619 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6620 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 6621 // By default, containers use the same logging driver that the Docker daemon 6622 // uses. However the container may use a different logging driver than the Docker 6623 // daemon by specifying a log driver with this parameter in the container definition. 6624 // To use a different logging driver for a container, the log system must be 6625 // configured properly on the container instance (or on a different log server 6626 // for remote logging options). For more information on the options for different 6627 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 6628 // in the Docker documentation. 6629 // 6630 // Amazon ECS currently supports a subset of the logging drivers available to 6631 // the Docker daemon (shown in the LogConfiguration data type). Additional log 6632 // drivers may be available in future releases of the Amazon ECS container agent. 6633 // 6634 // This parameter requires version 1.18 of the Docker Remote API or greater 6635 // on your container instance. To check the Docker Remote API version on your 6636 // container instance, log in to your container instance and run the following 6637 // command: sudo docker version --format '{{.Server.APIVersion}}' 6638 // 6639 // The Amazon ECS container agent running on a container instance must register 6640 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 6641 // environment variable before containers placed on that instance can use these 6642 // log configuration options. For more information, see Amazon ECS Container 6643 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 6644 // in the Amazon Elastic Container Service Developer Guide. 6645 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 6646 6647 // The amount (in MiB) of memory to present to the container. If your container 6648 // attempts to exceed the memory specified here, the container is killed. The 6649 // total amount of memory reserved for all containers within a task must be 6650 // lower than the task memory value, if one is specified. This parameter maps 6651 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6652 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6653 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 6654 // 6655 // If using the Fargate launch type, this parameter is optional. 6656 // 6657 // If using the EC2 launch type, you must specify either a task-level memory 6658 // value or a container-level memory value. If you specify both a container-level 6659 // memory and memoryReservation value, memory must be greater than memoryReservation. 6660 // If you specify memoryReservation, then that value is subtracted from the 6661 // available memory resources for the container instance on which the container 6662 // is placed. Otherwise, the value of memory is used. 6663 // 6664 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 6665 // so you should not specify fewer than 4 MiB of memory for your containers. 6666 Memory *int64 `locationName:"memory" type:"integer"` 6667 6668 // The soft limit (in MiB) of memory to reserve for the container. When system 6669 // memory is under heavy contention, Docker attempts to keep the container memory 6670 // to this soft limit. However, your container can consume more memory when 6671 // it needs to, up to either the hard limit specified with the memory parameter 6672 // (if applicable), or all of the available memory on the container instance, 6673 // whichever comes first. This parameter maps to MemoryReservation in the Create 6674 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6675 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6676 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 6677 // 6678 // If a task-level memory value is not specified, you must specify a non-zero 6679 // integer for one or both of memory or memoryReservation in a container definition. 6680 // If you specify both, memory must be greater than memoryReservation. If you 6681 // specify memoryReservation, then that value is subtracted from the available 6682 // memory resources for the container instance on which the container is placed. 6683 // Otherwise, the value of memory is used. 6684 // 6685 // For example, if your container normally uses 128 MiB of memory, but occasionally 6686 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 6687 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 6688 // allow the container to only reserve 128 MiB of memory from the remaining 6689 // resources on the container instance, but also allow the container to consume 6690 // more memory resources when needed. 6691 // 6692 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 6693 // so you should not specify fewer than 4 MiB of memory for your containers. 6694 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 6695 6696 // The mount points for data volumes in your container. 6697 // 6698 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6699 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6700 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 6701 // 6702 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 6703 // Windows containers cannot mount directories on a different drive, and mount 6704 // point cannot be across drives. 6705 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 6706 6707 // The name of a container. If you are linking multiple containers together 6708 // in a task definition, the name of one container can be entered in the links 6709 // of another container to connect the containers. Up to 255 letters (uppercase 6710 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 6711 // name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6712 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6713 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/). 6714 Name *string `locationName:"name" type:"string"` 6715 6716 // The list of port mappings for the container. Port mappings allow containers 6717 // to access ports on the host container instance to send or receive traffic. 6718 // 6719 // For task definitions that use the awsvpc network mode, you should only specify 6720 // the containerPort. The hostPort can be left blank or it must be the same 6721 // value as the containerPort. 6722 // 6723 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 6724 // There is no loopback for port mappings on Windows, so you cannot access a 6725 // container's mapped port from the host itself. 6726 // 6727 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6728 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6729 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 6730 // If the network mode of a task definition is set to none, then you can't specify 6731 // port mappings. If the network mode of a task definition is set to host, then 6732 // host ports must either be undefined or they must match the container port 6733 // in the port mapping. 6734 // 6735 // After a task reaches the RUNNING status, manual and automatic host and container 6736 // port assignments are visible in the Network Bindings section of a container 6737 // description for a selected task in the Amazon ECS console. The assignments 6738 // are also visible in the networkBindings section DescribeTasks responses. 6739 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 6740 6741 // When this parameter is true, the container is given elevated privileges on 6742 // the host container instance (similar to the root user). This parameter maps 6743 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6744 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6745 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 6746 // 6747 // This parameter is not supported for Windows containers or tasks using the 6748 // Fargate launch type. 6749 Privileged *bool `locationName:"privileged" type:"boolean"` 6750 6751 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 6752 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6753 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6754 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/). 6755 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 6756 6757 // When this parameter is true, the container is given read-only access to its 6758 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 6759 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 6760 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 6761 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/). 6762 // 6763 // This parameter is not supported for Windows containers. 6764 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 6765 6766 // The private repository authentication credentials to use. 6767 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 6768 6769 // The type and amount of a resource to assign to a container. The only supported 6770 // resource is a GPU. 6771 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 6772 6773 // The secrets to pass to the container. For more information, see Specifying 6774 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 6775 // in the Amazon Elastic Container Service Developer Guide. 6776 Secrets []*Secret `locationName:"secrets" type:"list"` 6777 6778 // Time duration (in seconds) to wait before giving up on resolving dependencies 6779 // for a container. For example, you specify two containers in a task definition 6780 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 6781 // or HEALTHY status. If a startTimeout value is specified for containerB and 6782 // it does not reach the desired status within that time then containerA will 6783 // give up and not start. This results in the task transitioning to a STOPPED 6784 // state. 6785 // 6786 // For tasks using the EC2 launch type, the container instances require at least 6787 // version 1.26.0 of the container agent to enable a container start timeout 6788 // value. However, we recommend using the latest container agent version. For 6789 // information about checking your agent version and updating to the latest 6790 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6791 // in the Amazon Elastic Container Service Developer Guide. If you are using 6792 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6793 // of the ecs-init package. If your container instances are launched from version 6794 // 20190301 or later, then they contain the required versions of the container 6795 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6796 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6797 // in the Amazon Elastic Container Service Developer Guide. 6798 // 6799 // For tasks using the Fargate launch type, the task or service requires platform 6800 // version 1.3.0 or later. 6801 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 6802 6803 // Time duration (in seconds) to wait before the container is forcefully killed 6804 // if it doesn't exit normally on its own. 6805 // 6806 // For tasks using the Fargate launch type, the max stopTimeout value is 2 minutes 6807 // and the task or service requires platform version 1.3.0 or later. 6808 // 6809 // For tasks using the EC2 launch type, the stop timeout value for the container 6810 // takes precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration 6811 // parameter, if used. Container instances require at least version 1.26.0 of 6812 // the container agent to enable a container stop timeout value. However, we 6813 // recommend using the latest container agent version. For information about 6814 // checking your agent version and updating to the latest version, see Updating 6815 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6816 // in the Amazon Elastic Container Service Developer Guide. If you are using 6817 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6818 // of the ecs-init package. If your container instances are launched from version 6819 // 20190301 or later, then they contain the required versions of the container 6820 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6821 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6822 // in the Amazon Elastic Container Service Developer Guide. 6823 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 6824 6825 // A list of namespaced kernel parameters to set in the container. This parameter 6826 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6827 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6828 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 6829 // 6830 // It is not recommended that you specify network-related systemControls parameters 6831 // for multiple containers in a single task that also uses either the awsvpc 6832 // or host network modes. For tasks that use the awsvpc network mode, the container 6833 // that is started last determines which systemControls parameters take effect. 6834 // For tasks that use the host network mode, it changes the container instance's 6835 // namespaced kernel parameters as well as the containers. 6836 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 6837 6838 // A list of ulimits to set in the container. This parameter maps to Ulimits 6839 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6840 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6841 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 6842 // Valid naming values are displayed in the Ulimit data type. This parameter 6843 // requires version 1.18 of the Docker Remote API or greater on your container 6844 // instance. To check the Docker Remote API version on your container instance, 6845 // log in to your container instance and run the following command: sudo docker 6846 // version --format '{{.Server.APIVersion}}' 6847 // 6848 // This parameter is not supported for Windows containers. 6849 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 6850 6851 // The user name to use inside the container. This parameter maps to User in 6852 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6853 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6854 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 6855 // 6856 // You can use the following formats. If specifying a UID or GID, you must specify 6857 // it as a positive integer. 6858 // 6859 // * user 6860 // 6861 // * user:group 6862 // 6863 // * uid 6864 // 6865 // * uid:gid 6866 // 6867 // * user:gid 6868 // 6869 // * uid:group 6870 // 6871 // This parameter is not supported for Windows containers. 6872 User *string `locationName:"user" type:"string"` 6873 6874 // Data volumes to mount from another container. This parameter maps to VolumesFrom 6875 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6876 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6877 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 6878 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 6879 6880 // The working directory in which to run commands inside the container. This 6881 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6882 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6883 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 6884 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 6885} 6886 6887// String returns the string representation 6888func (s ContainerDefinition) String() string { 6889 return awsutil.Prettify(s) 6890} 6891 6892// GoString returns the string representation 6893func (s ContainerDefinition) GoString() string { 6894 return s.String() 6895} 6896 6897// Validate inspects the fields of the type to determine if they are valid. 6898func (s *ContainerDefinition) Validate() error { 6899 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 6900 if s.DependsOn != nil { 6901 for i, v := range s.DependsOn { 6902 if v == nil { 6903 continue 6904 } 6905 if err := v.Validate(); err != nil { 6906 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 6907 } 6908 } 6909 } 6910 if s.ExtraHosts != nil { 6911 for i, v := range s.ExtraHosts { 6912 if v == nil { 6913 continue 6914 } 6915 if err := v.Validate(); err != nil { 6916 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 6917 } 6918 } 6919 } 6920 if s.FirelensConfiguration != nil { 6921 if err := s.FirelensConfiguration.Validate(); err != nil { 6922 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 6923 } 6924 } 6925 if s.HealthCheck != nil { 6926 if err := s.HealthCheck.Validate(); err != nil { 6927 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 6928 } 6929 } 6930 if s.LinuxParameters != nil { 6931 if err := s.LinuxParameters.Validate(); err != nil { 6932 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 6933 } 6934 } 6935 if s.LogConfiguration != nil { 6936 if err := s.LogConfiguration.Validate(); err != nil { 6937 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 6938 } 6939 } 6940 if s.RepositoryCredentials != nil { 6941 if err := s.RepositoryCredentials.Validate(); err != nil { 6942 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 6943 } 6944 } 6945 if s.ResourceRequirements != nil { 6946 for i, v := range s.ResourceRequirements { 6947 if v == nil { 6948 continue 6949 } 6950 if err := v.Validate(); err != nil { 6951 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 6952 } 6953 } 6954 } 6955 if s.Secrets != nil { 6956 for i, v := range s.Secrets { 6957 if v == nil { 6958 continue 6959 } 6960 if err := v.Validate(); err != nil { 6961 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 6962 } 6963 } 6964 } 6965 if s.Ulimits != nil { 6966 for i, v := range s.Ulimits { 6967 if v == nil { 6968 continue 6969 } 6970 if err := v.Validate(); err != nil { 6971 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 6972 } 6973 } 6974 } 6975 6976 if invalidParams.Len() > 0 { 6977 return invalidParams 6978 } 6979 return nil 6980} 6981 6982// SetCommand sets the Command field's value. 6983func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 6984 s.Command = v 6985 return s 6986} 6987 6988// SetCpu sets the Cpu field's value. 6989func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 6990 s.Cpu = &v 6991 return s 6992} 6993 6994// SetDependsOn sets the DependsOn field's value. 6995func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 6996 s.DependsOn = v 6997 return s 6998} 6999 7000// SetDisableNetworking sets the DisableNetworking field's value. 7001func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 7002 s.DisableNetworking = &v 7003 return s 7004} 7005 7006// SetDnsSearchDomains sets the DnsSearchDomains field's value. 7007func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 7008 s.DnsSearchDomains = v 7009 return s 7010} 7011 7012// SetDnsServers sets the DnsServers field's value. 7013func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 7014 s.DnsServers = v 7015 return s 7016} 7017 7018// SetDockerLabels sets the DockerLabels field's value. 7019func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 7020 s.DockerLabels = v 7021 return s 7022} 7023 7024// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 7025func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 7026 s.DockerSecurityOptions = v 7027 return s 7028} 7029 7030// SetEntryPoint sets the EntryPoint field's value. 7031func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 7032 s.EntryPoint = v 7033 return s 7034} 7035 7036// SetEnvironment sets the Environment field's value. 7037func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 7038 s.Environment = v 7039 return s 7040} 7041 7042// SetEssential sets the Essential field's value. 7043func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 7044 s.Essential = &v 7045 return s 7046} 7047 7048// SetExtraHosts sets the ExtraHosts field's value. 7049func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 7050 s.ExtraHosts = v 7051 return s 7052} 7053 7054// SetFirelensConfiguration sets the FirelensConfiguration field's value. 7055func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 7056 s.FirelensConfiguration = v 7057 return s 7058} 7059 7060// SetHealthCheck sets the HealthCheck field's value. 7061func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 7062 s.HealthCheck = v 7063 return s 7064} 7065 7066// SetHostname sets the Hostname field's value. 7067func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 7068 s.Hostname = &v 7069 return s 7070} 7071 7072// SetImage sets the Image field's value. 7073func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 7074 s.Image = &v 7075 return s 7076} 7077 7078// SetInteractive sets the Interactive field's value. 7079func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 7080 s.Interactive = &v 7081 return s 7082} 7083 7084// SetLinks sets the Links field's value. 7085func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 7086 s.Links = v 7087 return s 7088} 7089 7090// SetLinuxParameters sets the LinuxParameters field's value. 7091func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 7092 s.LinuxParameters = v 7093 return s 7094} 7095 7096// SetLogConfiguration sets the LogConfiguration field's value. 7097func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 7098 s.LogConfiguration = v 7099 return s 7100} 7101 7102// SetMemory sets the Memory field's value. 7103func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 7104 s.Memory = &v 7105 return s 7106} 7107 7108// SetMemoryReservation sets the MemoryReservation field's value. 7109func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 7110 s.MemoryReservation = &v 7111 return s 7112} 7113 7114// SetMountPoints sets the MountPoints field's value. 7115func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 7116 s.MountPoints = v 7117 return s 7118} 7119 7120// SetName sets the Name field's value. 7121func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 7122 s.Name = &v 7123 return s 7124} 7125 7126// SetPortMappings sets the PortMappings field's value. 7127func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 7128 s.PortMappings = v 7129 return s 7130} 7131 7132// SetPrivileged sets the Privileged field's value. 7133func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 7134 s.Privileged = &v 7135 return s 7136} 7137 7138// SetPseudoTerminal sets the PseudoTerminal field's value. 7139func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 7140 s.PseudoTerminal = &v 7141 return s 7142} 7143 7144// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 7145func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 7146 s.ReadonlyRootFilesystem = &v 7147 return s 7148} 7149 7150// SetRepositoryCredentials sets the RepositoryCredentials field's value. 7151func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 7152 s.RepositoryCredentials = v 7153 return s 7154} 7155 7156// SetResourceRequirements sets the ResourceRequirements field's value. 7157func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 7158 s.ResourceRequirements = v 7159 return s 7160} 7161 7162// SetSecrets sets the Secrets field's value. 7163func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 7164 s.Secrets = v 7165 return s 7166} 7167 7168// SetStartTimeout sets the StartTimeout field's value. 7169func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 7170 s.StartTimeout = &v 7171 return s 7172} 7173 7174// SetStopTimeout sets the StopTimeout field's value. 7175func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 7176 s.StopTimeout = &v 7177 return s 7178} 7179 7180// SetSystemControls sets the SystemControls field's value. 7181func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 7182 s.SystemControls = v 7183 return s 7184} 7185 7186// SetUlimits sets the Ulimits field's value. 7187func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 7188 s.Ulimits = v 7189 return s 7190} 7191 7192// SetUser sets the User field's value. 7193func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 7194 s.User = &v 7195 return s 7196} 7197 7198// SetVolumesFrom sets the VolumesFrom field's value. 7199func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 7200 s.VolumesFrom = v 7201 return s 7202} 7203 7204// SetWorkingDirectory sets the WorkingDirectory field's value. 7205func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 7206 s.WorkingDirectory = &v 7207 return s 7208} 7209 7210// The dependencies defined for container startup and shutdown. A container 7211// can contain multiple dependencies. When a dependency is defined for container 7212// startup, for container shutdown it is reversed. 7213// 7214// Your Amazon ECS container instances require at least version 1.26.0 of the 7215// container agent to enable container dependencies. However, we recommend using 7216// the latest container agent version. For information about checking your agent 7217// version and updating to the latest version, see Updating the Amazon ECS Container 7218// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7219// in the Amazon Elastic Container Service Developer Guide. If you are using 7220// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7221// of the ecs-init package. If your container instances are launched from version 7222// 20190301 or later, then they contain the required versions of the container 7223// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7224// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7225// in the Amazon Elastic Container Service Developer Guide. 7226// 7227// If you are using tasks that use the Fargate launch type, container dependency 7228// parameters are not supported. 7229type ContainerDependency struct { 7230 _ struct{} `type:"structure"` 7231 7232 // The dependency condition of the container. The following are the available 7233 // conditions and their behavior: 7234 // 7235 // * START - This condition emulates the behavior of links and volumes today. 7236 // It validates that a dependent container is started before permitting other 7237 // containers to start. 7238 // 7239 // * COMPLETE - This condition validates that a dependent container runs 7240 // to completion (exits) before permitting other containers to start. This 7241 // can be useful for nonessential containers that run a script and then exit. 7242 // 7243 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 7244 // that the container exits with a zero status. 7245 // 7246 // * HEALTHY - This condition validates that the dependent container passes 7247 // its Docker health check before permitting other containers to start. This 7248 // requires that the dependent container has health checks configured. This 7249 // condition is confirmed only at task startup. 7250 // 7251 // Condition is a required field 7252 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 7253 7254 // The name of a container. 7255 // 7256 // ContainerName is a required field 7257 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 7258} 7259 7260// String returns the string representation 7261func (s ContainerDependency) String() string { 7262 return awsutil.Prettify(s) 7263} 7264 7265// GoString returns the string representation 7266func (s ContainerDependency) GoString() string { 7267 return s.String() 7268} 7269 7270// Validate inspects the fields of the type to determine if they are valid. 7271func (s *ContainerDependency) Validate() error { 7272 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 7273 if s.Condition == nil { 7274 invalidParams.Add(request.NewErrParamRequired("Condition")) 7275 } 7276 if s.ContainerName == nil { 7277 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 7278 } 7279 7280 if invalidParams.Len() > 0 { 7281 return invalidParams 7282 } 7283 return nil 7284} 7285 7286// SetCondition sets the Condition field's value. 7287func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 7288 s.Condition = &v 7289 return s 7290} 7291 7292// SetContainerName sets the ContainerName field's value. 7293func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 7294 s.ContainerName = &v 7295 return s 7296} 7297 7298// An EC2 instance that is running the Amazon ECS agent and has been registered 7299// with a cluster. 7300type ContainerInstance struct { 7301 _ struct{} `type:"structure"` 7302 7303 // This parameter returns true if the agent is connected to Amazon ECS. Registered 7304 // instances with an agent that may be unhealthy or stopped return false. Only 7305 // instances connected to an agent can accept placement requests. 7306 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 7307 7308 // The status of the most recent agent update. If an update has never been requested, 7309 // this value is NULL. 7310 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 7311 7312 // The resources attached to a container instance, such as elastic network interfaces. 7313 Attachments []*Attachment `locationName:"attachments" type:"list"` 7314 7315 // The attributes set for the container instance, either by the Amazon ECS container 7316 // agent at instance registration or manually with the PutAttributes operation. 7317 Attributes []*Attribute `locationName:"attributes" type:"list"` 7318 7319 // The capacity provider associated with the container instance. 7320 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 7321 7322 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 7323 // the arn:aws:ecs namespace, followed by the Region of the container instance, 7324 // the AWS account ID of the container instance owner, the container-instance 7325 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 7326 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 7327 7328 // The EC2 instance ID of the container instance. 7329 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 7330 7331 // The number of tasks on the container instance that are in the PENDING status. 7332 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 7333 7334 // The Unix timestamp for when the container instance was registered. 7335 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 7336 7337 // For CPU and memory resource types, this parameter describes the amount of 7338 // each resource that was available on the container instance when the container 7339 // agent registered it with Amazon ECS. This value represents the total amount 7340 // of CPU and memory that can be allocated on this container instance to tasks. 7341 // For port resource types, this parameter describes the ports that were reserved 7342 // by the Amazon ECS container agent when it registered the container instance 7343 // with Amazon ECS. 7344 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 7345 7346 // For CPU and memory resource types, this parameter describes the remaining 7347 // CPU and memory that has not already been allocated to tasks and is therefore 7348 // available for new tasks. For port resource types, this parameter describes 7349 // the ports that were reserved by the Amazon ECS container agent (at instance 7350 // registration time) and any task containers that have reserved port mappings 7351 // on the host (with the host or bridge network mode). Any port that is not 7352 // specified here is available for new tasks. 7353 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 7354 7355 // The number of tasks on the container instance that are in the RUNNING status. 7356 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 7357 7358 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 7359 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 7360 // 7361 // If your account has opted in to the awsvpcTrunking account setting, then 7362 // any newly registered container instance will transition to a REGISTERING 7363 // status while the trunk elastic network interface is provisioned for the instance. 7364 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 7365 // status. You can describe the container instance and see the reason for failure 7366 // in the statusReason parameter. Once the container instance is terminated, 7367 // the instance transitions to a DEREGISTERING status while the trunk elastic 7368 // network interface is deprovisioned. The instance then transitions to an INACTIVE 7369 // status. 7370 // 7371 // The ACTIVE status indicates that the container instance can accept tasks. 7372 // The DRAINING indicates that new tasks are not placed on the container instance 7373 // and any service tasks running on the container instance are removed if possible. 7374 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 7375 // in the Amazon Elastic Container Service Developer Guide. 7376 Status *string `locationName:"status" type:"string"` 7377 7378 // The reason that the container instance reached its current status. 7379 StatusReason *string `locationName:"statusReason" type:"string"` 7380 7381 // The metadata that you apply to the container instance to help you categorize 7382 // and organize them. Each tag consists of a key and an optional value, both 7383 // of which you define. 7384 // 7385 // The following basic restrictions apply to tags: 7386 // 7387 // * Maximum number of tags per resource - 50 7388 // 7389 // * For each resource, each tag key must be unique, and each tag key can 7390 // have only one value. 7391 // 7392 // * Maximum key length - 128 Unicode characters in UTF-8 7393 // 7394 // * Maximum value length - 256 Unicode characters in UTF-8 7395 // 7396 // * If your tagging schema is used across multiple services and resources, 7397 // remember that other services may have restrictions on allowed characters. 7398 // Generally allowed characters are: letters, numbers, and spaces representable 7399 // in UTF-8, and the following characters: + - = . _ : / @. 7400 // 7401 // * Tag keys and values are case-sensitive. 7402 // 7403 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 7404 // as a prefix for either keys or values as it is reserved for AWS use. You 7405 // cannot edit or delete tag keys or values with this prefix. Tags with this 7406 // prefix do not count against your tags per resource limit. 7407 Tags []*Tag `locationName:"tags" type:"list"` 7408 7409 // The version counter for the container instance. Every time a container instance 7410 // experiences a change that triggers a CloudWatch event, the version counter 7411 // is incremented. If you are replicating your Amazon ECS container instance 7412 // state with CloudWatch Events, you can compare the version of a container 7413 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 7414 // Events for the container instance (inside the detail object) to verify that 7415 // the version in your event stream is current. 7416 Version *int64 `locationName:"version" type:"long"` 7417 7418 // The version information for the Amazon ECS container agent and Docker daemon 7419 // running on the container instance. 7420 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 7421} 7422 7423// String returns the string representation 7424func (s ContainerInstance) String() string { 7425 return awsutil.Prettify(s) 7426} 7427 7428// GoString returns the string representation 7429func (s ContainerInstance) GoString() string { 7430 return s.String() 7431} 7432 7433// SetAgentConnected sets the AgentConnected field's value. 7434func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 7435 s.AgentConnected = &v 7436 return s 7437} 7438 7439// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 7440func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 7441 s.AgentUpdateStatus = &v 7442 return s 7443} 7444 7445// SetAttachments sets the Attachments field's value. 7446func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 7447 s.Attachments = v 7448 return s 7449} 7450 7451// SetAttributes sets the Attributes field's value. 7452func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 7453 s.Attributes = v 7454 return s 7455} 7456 7457// SetCapacityProviderName sets the CapacityProviderName field's value. 7458func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 7459 s.CapacityProviderName = &v 7460 return s 7461} 7462 7463// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 7464func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 7465 s.ContainerInstanceArn = &v 7466 return s 7467} 7468 7469// SetEc2InstanceId sets the Ec2InstanceId field's value. 7470func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 7471 s.Ec2InstanceId = &v 7472 return s 7473} 7474 7475// SetPendingTasksCount sets the PendingTasksCount field's value. 7476func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 7477 s.PendingTasksCount = &v 7478 return s 7479} 7480 7481// SetRegisteredAt sets the RegisteredAt field's value. 7482func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 7483 s.RegisteredAt = &v 7484 return s 7485} 7486 7487// SetRegisteredResources sets the RegisteredResources field's value. 7488func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 7489 s.RegisteredResources = v 7490 return s 7491} 7492 7493// SetRemainingResources sets the RemainingResources field's value. 7494func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 7495 s.RemainingResources = v 7496 return s 7497} 7498 7499// SetRunningTasksCount sets the RunningTasksCount field's value. 7500func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 7501 s.RunningTasksCount = &v 7502 return s 7503} 7504 7505// SetStatus sets the Status field's value. 7506func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 7507 s.Status = &v 7508 return s 7509} 7510 7511// SetStatusReason sets the StatusReason field's value. 7512func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 7513 s.StatusReason = &v 7514 return s 7515} 7516 7517// SetTags sets the Tags field's value. 7518func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 7519 s.Tags = v 7520 return s 7521} 7522 7523// SetVersion sets the Version field's value. 7524func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 7525 s.Version = &v 7526 return s 7527} 7528 7529// SetVersionInfo sets the VersionInfo field's value. 7530func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 7531 s.VersionInfo = v 7532 return s 7533} 7534 7535// The overrides that should be sent to a container. An empty container override 7536// can be passed in. An example of an empty container override would be {"containerOverrides": 7537// [ ] }. If a non-empty container override is specified, the name parameter 7538// must be included. 7539type ContainerOverride struct { 7540 _ struct{} `type:"structure"` 7541 7542 // The command to send to the container that overrides the default command from 7543 // the Docker image or the task definition. You must also specify a container 7544 // name. 7545 Command []*string `locationName:"command" type:"list"` 7546 7547 // The number of cpu units reserved for the container, instead of the default 7548 // value from the task definition. You must also specify a container name. 7549 Cpu *int64 `locationName:"cpu" type:"integer"` 7550 7551 // The environment variables to send to the container. You can add new environment 7552 // variables, which are added to the container at launch, or you can override 7553 // the existing environment variables from the Docker image or the task definition. 7554 // You must also specify a container name. 7555 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7556 7557 // The hard limit (in MiB) of memory to present to the container, instead of 7558 // the default value from the task definition. If your container attempts to 7559 // exceed the memory specified here, the container is killed. You must also 7560 // specify a container name. 7561 Memory *int64 `locationName:"memory" type:"integer"` 7562 7563 // The soft limit (in MiB) of memory to reserve for the container, instead of 7564 // the default value from the task definition. You must also specify a container 7565 // name. 7566 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 7567 7568 // The name of the container that receives the override. This parameter is required 7569 // if any override is specified. 7570 Name *string `locationName:"name" type:"string"` 7571 7572 // The type and amount of a resource to assign to a container, instead of the 7573 // default value from the task definition. The only supported resource is a 7574 // GPU. 7575 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 7576} 7577 7578// String returns the string representation 7579func (s ContainerOverride) String() string { 7580 return awsutil.Prettify(s) 7581} 7582 7583// GoString returns the string representation 7584func (s ContainerOverride) GoString() string { 7585 return s.String() 7586} 7587 7588// Validate inspects the fields of the type to determine if they are valid. 7589func (s *ContainerOverride) Validate() error { 7590 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 7591 if s.ResourceRequirements != nil { 7592 for i, v := range s.ResourceRequirements { 7593 if v == nil { 7594 continue 7595 } 7596 if err := v.Validate(); err != nil { 7597 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 7598 } 7599 } 7600 } 7601 7602 if invalidParams.Len() > 0 { 7603 return invalidParams 7604 } 7605 return nil 7606} 7607 7608// SetCommand sets the Command field's value. 7609func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 7610 s.Command = v 7611 return s 7612} 7613 7614// SetCpu sets the Cpu field's value. 7615func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 7616 s.Cpu = &v 7617 return s 7618} 7619 7620// SetEnvironment sets the Environment field's value. 7621func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 7622 s.Environment = v 7623 return s 7624} 7625 7626// SetMemory sets the Memory field's value. 7627func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 7628 s.Memory = &v 7629 return s 7630} 7631 7632// SetMemoryReservation sets the MemoryReservation field's value. 7633func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 7634 s.MemoryReservation = &v 7635 return s 7636} 7637 7638// SetName sets the Name field's value. 7639func (s *ContainerOverride) SetName(v string) *ContainerOverride { 7640 s.Name = &v 7641 return s 7642} 7643 7644// SetResourceRequirements sets the ResourceRequirements field's value. 7645func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 7646 s.ResourceRequirements = v 7647 return s 7648} 7649 7650// An object representing a change in state for a container. 7651type ContainerStateChange struct { 7652 _ struct{} `type:"structure"` 7653 7654 // The name of the container. 7655 ContainerName *string `locationName:"containerName" type:"string"` 7656 7657 // The exit code for the container, if the state change is a result of the container 7658 // exiting. 7659 ExitCode *int64 `locationName:"exitCode" type:"integer"` 7660 7661 // The container image SHA 256 digest. 7662 ImageDigest *string `locationName:"imageDigest" type:"string"` 7663 7664 // Any network bindings associated with the container. 7665 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 7666 7667 // The reason for the state change. 7668 Reason *string `locationName:"reason" type:"string"` 7669 7670 // The ID of the Docker container. 7671 RuntimeId *string `locationName:"runtimeId" type:"string"` 7672 7673 // The status of the container. 7674 Status *string `locationName:"status" type:"string"` 7675} 7676 7677// String returns the string representation 7678func (s ContainerStateChange) String() string { 7679 return awsutil.Prettify(s) 7680} 7681 7682// GoString returns the string representation 7683func (s ContainerStateChange) GoString() string { 7684 return s.String() 7685} 7686 7687// SetContainerName sets the ContainerName field's value. 7688func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 7689 s.ContainerName = &v 7690 return s 7691} 7692 7693// SetExitCode sets the ExitCode field's value. 7694func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 7695 s.ExitCode = &v 7696 return s 7697} 7698 7699// SetImageDigest sets the ImageDigest field's value. 7700func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 7701 s.ImageDigest = &v 7702 return s 7703} 7704 7705// SetNetworkBindings sets the NetworkBindings field's value. 7706func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 7707 s.NetworkBindings = v 7708 return s 7709} 7710 7711// SetReason sets the Reason field's value. 7712func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 7713 s.Reason = &v 7714 return s 7715} 7716 7717// SetRuntimeId sets the RuntimeId field's value. 7718func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 7719 s.RuntimeId = &v 7720 return s 7721} 7722 7723// SetStatus sets the Status field's value. 7724func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 7725 s.Status = &v 7726 return s 7727} 7728 7729type CreateCapacityProviderInput struct { 7730 _ struct{} `type:"structure"` 7731 7732 // The details of the Auto Scaling group for the capacity provider. 7733 // 7734 // AutoScalingGroupProvider is a required field 7735 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 7736 7737 // The name of the capacity provider. Up to 255 characters are allowed, including 7738 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 7739 // cannot be prefixed with "aws", "ecs", or "fargate". 7740 // 7741 // Name is a required field 7742 Name *string `locationName:"name" type:"string" required:"true"` 7743 7744 // The metadata that you apply to the capacity provider to help you categorize 7745 // and organize them. Each tag consists of a key and an optional value, both 7746 // of which you define. 7747 // 7748 // The following basic restrictions apply to tags: 7749 // 7750 // * Maximum number of tags per resource - 50 7751 // 7752 // * For each resource, each tag key must be unique, and each tag key can 7753 // have only one value. 7754 // 7755 // * Maximum key length - 128 Unicode characters in UTF-8 7756 // 7757 // * Maximum value length - 256 Unicode characters in UTF-8 7758 // 7759 // * If your tagging schema is used across multiple services and resources, 7760 // remember that other services may have restrictions on allowed characters. 7761 // Generally allowed characters are: letters, numbers, and spaces representable 7762 // in UTF-8, and the following characters: + - = . _ : / @. 7763 // 7764 // * Tag keys and values are case-sensitive. 7765 // 7766 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 7767 // as a prefix for either keys or values as it is reserved for AWS use. You 7768 // cannot edit or delete tag keys or values with this prefix. Tags with this 7769 // prefix do not count against your tags per resource limit. 7770 Tags []*Tag `locationName:"tags" type:"list"` 7771} 7772 7773// String returns the string representation 7774func (s CreateCapacityProviderInput) String() string { 7775 return awsutil.Prettify(s) 7776} 7777 7778// GoString returns the string representation 7779func (s CreateCapacityProviderInput) GoString() string { 7780 return s.String() 7781} 7782 7783// Validate inspects the fields of the type to determine if they are valid. 7784func (s *CreateCapacityProviderInput) Validate() error { 7785 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 7786 if s.AutoScalingGroupProvider == nil { 7787 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 7788 } 7789 if s.Name == nil { 7790 invalidParams.Add(request.NewErrParamRequired("Name")) 7791 } 7792 if s.AutoScalingGroupProvider != nil { 7793 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 7794 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 7795 } 7796 } 7797 if s.Tags != nil { 7798 for i, v := range s.Tags { 7799 if v == nil { 7800 continue 7801 } 7802 if err := v.Validate(); err != nil { 7803 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7804 } 7805 } 7806 } 7807 7808 if invalidParams.Len() > 0 { 7809 return invalidParams 7810 } 7811 return nil 7812} 7813 7814// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 7815func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 7816 s.AutoScalingGroupProvider = v 7817 return s 7818} 7819 7820// SetName sets the Name field's value. 7821func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 7822 s.Name = &v 7823 return s 7824} 7825 7826// SetTags sets the Tags field's value. 7827func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 7828 s.Tags = v 7829 return s 7830} 7831 7832type CreateCapacityProviderOutput struct { 7833 _ struct{} `type:"structure"` 7834 7835 // The full description of the new capacity provider. 7836 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 7837} 7838 7839// String returns the string representation 7840func (s CreateCapacityProviderOutput) String() string { 7841 return awsutil.Prettify(s) 7842} 7843 7844// GoString returns the string representation 7845func (s CreateCapacityProviderOutput) GoString() string { 7846 return s.String() 7847} 7848 7849// SetCapacityProvider sets the CapacityProvider field's value. 7850func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 7851 s.CapacityProvider = v 7852 return s 7853} 7854 7855type CreateClusterInput struct { 7856 _ struct{} `type:"structure"` 7857 7858 // The short name or full Amazon Resource Name (ARN) of one or more capacity 7859 // providers to associate with the cluster. 7860 // 7861 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 7862 // provider must already be created and not already associated with another 7863 // cluster. New capacity providers can be created with the CreateCapacityProvider 7864 // API operation. 7865 // 7866 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 7867 // capacity providers. The AWS Fargate capacity providers are available to all 7868 // accounts and only need to be associated with a cluster to be used. 7869 // 7870 // The PutClusterCapacityProviders API operation is used to update the list 7871 // of available capacity providers for a cluster after the cluster is created. 7872 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 7873 7874 // The name of your cluster. If you do not specify a name for your cluster, 7875 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 7876 // numbers, and hyphens are allowed. 7877 ClusterName *string `locationName:"clusterName" type:"string"` 7878 7879 // The capacity provider strategy to use by default for the cluster. 7880 // 7881 // When creating a service or running a task on a cluster, if no capacity provider 7882 // or launch type is specified then the default capacity provider strategy for 7883 // the cluster is used. 7884 // 7885 // A capacity provider strategy consists of one or more capacity providers along 7886 // with the base and weight to assign to them. A capacity provider must be associated 7887 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 7888 // API is used to associate a capacity provider with a cluster. Only capacity 7889 // providers with an ACTIVE or UPDATING status can be used. 7890 // 7891 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 7892 // provider must already be created. New capacity providers can be created with 7893 // the CreateCapacityProvider API operation. 7894 // 7895 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 7896 // capacity providers. The AWS Fargate capacity providers are available to all 7897 // accounts and only need to be associated with a cluster to be used. 7898 // 7899 // If a default capacity provider strategy is not defined for a cluster during 7900 // creation, it can be defined later with the PutClusterCapacityProviders API 7901 // operation. 7902 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 7903 7904 // The setting to use when creating a cluster. This parameter is used to enable 7905 // CloudWatch Container Insights for a cluster. If this value is specified, 7906 // it will override the containerInsights value set with PutAccountSetting or 7907 // PutAccountSettingDefault. 7908 Settings []*ClusterSetting `locationName:"settings" type:"list"` 7909 7910 // The metadata that you apply to the cluster to help you categorize and organize 7911 // them. Each tag consists of a key and an optional value, both of which you 7912 // define. 7913 // 7914 // The following basic restrictions apply to tags: 7915 // 7916 // * Maximum number of tags per resource - 50 7917 // 7918 // * For each resource, each tag key must be unique, and each tag key can 7919 // have only one value. 7920 // 7921 // * Maximum key length - 128 Unicode characters in UTF-8 7922 // 7923 // * Maximum value length - 256 Unicode characters in UTF-8 7924 // 7925 // * If your tagging schema is used across multiple services and resources, 7926 // remember that other services may have restrictions on allowed characters. 7927 // Generally allowed characters are: letters, numbers, and spaces representable 7928 // in UTF-8, and the following characters: + - = . _ : / @. 7929 // 7930 // * Tag keys and values are case-sensitive. 7931 // 7932 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 7933 // as a prefix for either keys or values as it is reserved for AWS use. You 7934 // cannot edit or delete tag keys or values with this prefix. Tags with this 7935 // prefix do not count against your tags per resource limit. 7936 Tags []*Tag `locationName:"tags" type:"list"` 7937} 7938 7939// String returns the string representation 7940func (s CreateClusterInput) String() string { 7941 return awsutil.Prettify(s) 7942} 7943 7944// GoString returns the string representation 7945func (s CreateClusterInput) GoString() string { 7946 return s.String() 7947} 7948 7949// Validate inspects the fields of the type to determine if they are valid. 7950func (s *CreateClusterInput) Validate() error { 7951 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 7952 if s.DefaultCapacityProviderStrategy != nil { 7953 for i, v := range s.DefaultCapacityProviderStrategy { 7954 if v == nil { 7955 continue 7956 } 7957 if err := v.Validate(); err != nil { 7958 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 7959 } 7960 } 7961 } 7962 if s.Tags != nil { 7963 for i, v := range s.Tags { 7964 if v == nil { 7965 continue 7966 } 7967 if err := v.Validate(); err != nil { 7968 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7969 } 7970 } 7971 } 7972 7973 if invalidParams.Len() > 0 { 7974 return invalidParams 7975 } 7976 return nil 7977} 7978 7979// SetCapacityProviders sets the CapacityProviders field's value. 7980func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 7981 s.CapacityProviders = v 7982 return s 7983} 7984 7985// SetClusterName sets the ClusterName field's value. 7986func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 7987 s.ClusterName = &v 7988 return s 7989} 7990 7991// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 7992func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 7993 s.DefaultCapacityProviderStrategy = v 7994 return s 7995} 7996 7997// SetSettings sets the Settings field's value. 7998func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 7999 s.Settings = v 8000 return s 8001} 8002 8003// SetTags sets the Tags field's value. 8004func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 8005 s.Tags = v 8006 return s 8007} 8008 8009type CreateClusterOutput struct { 8010 _ struct{} `type:"structure"` 8011 8012 // The full description of your new cluster. 8013 Cluster *Cluster `locationName:"cluster" type:"structure"` 8014} 8015 8016// String returns the string representation 8017func (s CreateClusterOutput) String() string { 8018 return awsutil.Prettify(s) 8019} 8020 8021// GoString returns the string representation 8022func (s CreateClusterOutput) GoString() string { 8023 return s.String() 8024} 8025 8026// SetCluster sets the Cluster field's value. 8027func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 8028 s.Cluster = v 8029 return s 8030} 8031 8032type CreateServiceInput struct { 8033 _ struct{} `type:"structure"` 8034 8035 // The capacity provider strategy to use for the service. 8036 // 8037 // A capacity provider strategy consists of one or more capacity providers along 8038 // with the base and weight to assign to them. A capacity provider must be associated 8039 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8040 // API is used to associate a capacity provider with a cluster. Only capacity 8041 // providers with an ACTIVE or UPDATING status can be used. 8042 // 8043 // If a capacityProviderStrategy is specified, the launchType parameter must 8044 // be omitted. If no capacityProviderStrategy or launchType is specified, the 8045 // defaultCapacityProviderStrategy for the cluster is used. 8046 // 8047 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8048 // provider must already be created. New capacity providers can be created with 8049 // the CreateCapacityProvider API operation. 8050 // 8051 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8052 // capacity providers. The AWS Fargate capacity providers are available to all 8053 // accounts and only need to be associated with a cluster to be used. 8054 // 8055 // The PutClusterCapacityProviders API operation is used to update the list 8056 // of available capacity providers for a cluster after the cluster is created. 8057 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 8058 8059 // Unique, case-sensitive identifier that you provide to ensure the idempotency 8060 // of the request. Up to 32 ASCII characters are allowed. 8061 ClientToken *string `locationName:"clientToken" type:"string"` 8062 8063 // The short name or full Amazon Resource Name (ARN) of the cluster on which 8064 // to run your service. If you do not specify a cluster, the default cluster 8065 // is assumed. 8066 Cluster *string `locationName:"cluster" type:"string"` 8067 8068 // Optional deployment parameters that control how many tasks run during the 8069 // deployment and the ordering of stopping and starting tasks. 8070 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 8071 8072 // The deployment controller to use for the service. 8073 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 8074 8075 // The number of instantiations of the specified task definition to place and 8076 // keep running on your cluster. 8077 // 8078 // This is required if schedulingStrategy is REPLICA or is not specified. If 8079 // schedulingStrategy is DAEMON then this is not required. 8080 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 8081 8082 // Specifies whether to enable Amazon ECS managed tags for the tasks within 8083 // the service. For more information, see Tagging Your Amazon ECS Resources 8084 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 8085 // in the Amazon Elastic Container Service Developer Guide. 8086 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 8087 8088 // The period of time, in seconds, that the Amazon ECS service scheduler should 8089 // ignore unhealthy Elastic Load Balancing target health checks after a task 8090 // has first started. This is only valid if your service is configured to use 8091 // a load balancer. If your service's tasks take a while to start and respond 8092 // to Elastic Load Balancing health checks, you can specify a health check grace 8093 // period of up to 2,147,483,647 seconds. During that time, the ECS service 8094 // scheduler ignores health check status. This grace period can prevent the 8095 // ECS service scheduler from marking tasks as unhealthy and stopping them before 8096 // they have time to come up. 8097 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 8098 8099 // The launch type on which to run your service. For more information, see Amazon 8100 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 8101 // in the Amazon Elastic Container Service Developer Guide. 8102 // 8103 // If a launchType is specified, the capacityProviderStrategy parameter must 8104 // be omitted. 8105 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 8106 8107 // A load balancer object representing the load balancers to use with your service. 8108 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 8109 // in the Amazon Elastic Container Service Developer Guide. 8110 // 8111 // If the service is using the rolling update (ECS) deployment controller and 8112 // using either an Application Load Balancer or Network Load Balancer, you can 8113 // specify multiple target groups to attach to the service. The service-linked 8114 // role is required for services that make use of multiple target groups. For 8115 // more information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8116 // in the Amazon Elastic Container Service Developer Guide. 8117 // 8118 // If the service is using the CODE_DEPLOY deployment controller, the service 8119 // is required to use either an Application Load Balancer or Network Load Balancer. 8120 // When creating an AWS CodeDeploy deployment group, you specify two target 8121 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 8122 // determines which task set in your service has the status PRIMARY and associates 8123 // one target group with it, and then associates the other target group with 8124 // the replacement task set. The load balancer can also have up to two listeners: 8125 // a required listener for production traffic and an optional listener that 8126 // allows you perform validation tests with Lambda functions before routing 8127 // production traffic to it. 8128 // 8129 // After you create a service using the ECS deployment controller, the load 8130 // balancer name or target group ARN, container name, and container port specified 8131 // in the service definition are immutable. If you are using the CODE_DEPLOY 8132 // deployment controller, these values can be changed when updating the service. 8133 // 8134 // For Application Load Balancers and Network Load Balancers, this object must 8135 // contain the load balancer target group ARN, the container name (as it appears 8136 // in a container definition), and the container port to access from the load 8137 // balancer. When a task from this service is placed on a container instance, 8138 // the container instance and port combination is registered as a target in 8139 // the target group specified here. 8140 // 8141 // For Classic Load Balancers, this object must contain the load balancer name, 8142 // the container name (as it appears in a container definition), and the container 8143 // port to access from the load balancer. When a task from this service is placed 8144 // on a container instance, the container instance is registered with the load 8145 // balancer specified here. 8146 // 8147 // Services with tasks that use the awsvpc network mode (for example, those 8148 // with the Fargate launch type) only support Application Load Balancers and 8149 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 8150 // you create any target groups for these services, you must choose ip as the 8151 // target type, not instance, because tasks that use the awsvpc network mode 8152 // are associated with an elastic network interface, not an Amazon EC2 instance. 8153 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 8154 8155 // The network configuration for the service. This parameter is required for 8156 // task definitions that use the awsvpc network mode to receive their own elastic 8157 // network interface, and it is not supported for other network modes. For more 8158 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 8159 // in the Amazon Elastic Container Service Developer Guide. 8160 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 8161 8162 // An array of placement constraint objects to use for tasks in your service. 8163 // You can specify a maximum of 10 constraints per task (this limit includes 8164 // constraints in the task definition and those specified at runtime). 8165 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 8166 8167 // The placement strategy objects to use for tasks in your service. You can 8168 // specify a maximum of five strategy rules per service. 8169 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 8170 8171 // The platform version that your tasks in the service are running on. A platform 8172 // version is specified only for tasks using the Fargate launch type. If one 8173 // isn't specified, the LATEST platform version is used by default. For more 8174 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 8175 // in the Amazon Elastic Container Service Developer Guide. 8176 PlatformVersion *string `locationName:"platformVersion" type:"string"` 8177 8178 // Specifies whether to propagate the tags from the task definition or the service 8179 // to the tasks in the service. If no value is specified, the tags are not propagated. 8180 // Tags can only be propagated to the tasks within the service during service 8181 // creation. To add tags to a task after service creation, use the TagResource 8182 // API action. 8183 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 8184 8185 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 8186 // ECS to make calls to your load balancer on your behalf. This parameter is 8187 // only permitted if you are using a load balancer with your service and your 8188 // task definition does not use the awsvpc network mode. If you specify the 8189 // role parameter, you must also specify a load balancer object with the loadBalancers 8190 // parameter. 8191 // 8192 // If your account has already created the Amazon ECS service-linked role, that 8193 // role is used by default for your service unless you specify a role here. 8194 // The service-linked role is required if your task definition uses the awsvpc 8195 // network mode or if the service is configured to use service discovery, an 8196 // external deployment controller, multiple target groups, or Elastic Inference 8197 // accelerators in which case you should not specify a role here. For more information, 8198 // see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8199 // in the Amazon Elastic Container Service Developer Guide. 8200 // 8201 // If your specified role has a path other than /, then you must either specify 8202 // the full role ARN (this is recommended) or prefix the role name with the 8203 // path. For example, if a role with the name bar has a path of /foo/ then you 8204 // would specify /foo/bar as the role name. For more information, see Friendly 8205 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 8206 // in the IAM User Guide. 8207 Role *string `locationName:"role" type:"string"` 8208 8209 // The scheduling strategy to use for the service. For more information, see 8210 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 8211 // 8212 // There are two service scheduler strategies available: 8213 // 8214 // * REPLICA-The replica scheduling strategy places and maintains the desired 8215 // number of tasks across your cluster. By default, the service scheduler 8216 // spreads tasks across Availability Zones. You can use task placement strategies 8217 // and constraints to customize task placement decisions. This scheduler 8218 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 8219 // deployment controller types. 8220 // 8221 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 8222 // active container instance that meets all of the task placement constraints 8223 // that you specify in your cluster. When you're using this strategy, you 8224 // don't need to specify a desired number of tasks, a task placement strategy, 8225 // or use Service Auto Scaling policies. Tasks using the Fargate launch type 8226 // or the CODE_DEPLOY or EXTERNAL deployment controller types don't support 8227 // the DAEMON scheduling strategy. 8228 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 8229 8230 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 8231 // and hyphens are allowed. Service names must be unique within a cluster, but 8232 // you can have similarly named services in multiple clusters within a Region 8233 // or across multiple Regions. 8234 // 8235 // ServiceName is a required field 8236 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 8237 8238 // The details of the service discovery registries to assign to this service. 8239 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 8240 // 8241 // Service discovery is supported for Fargate tasks if you are using platform 8242 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 8243 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 8244 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 8245 8246 // The metadata that you apply to the service to help you categorize and organize 8247 // them. Each tag consists of a key and an optional value, both of which you 8248 // define. When a service is deleted, the tags are deleted as well. 8249 // 8250 // The following basic restrictions apply to tags: 8251 // 8252 // * Maximum number of tags per resource - 50 8253 // 8254 // * For each resource, each tag key must be unique, and each tag key can 8255 // have only one value. 8256 // 8257 // * Maximum key length - 128 Unicode characters in UTF-8 8258 // 8259 // * Maximum value length - 256 Unicode characters in UTF-8 8260 // 8261 // * If your tagging schema is used across multiple services and resources, 8262 // remember that other services may have restrictions on allowed characters. 8263 // Generally allowed characters are: letters, numbers, and spaces representable 8264 // in UTF-8, and the following characters: + - = . _ : / @. 8265 // 8266 // * Tag keys and values are case-sensitive. 8267 // 8268 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8269 // as a prefix for either keys or values as it is reserved for AWS use. You 8270 // cannot edit or delete tag keys or values with this prefix. Tags with this 8271 // prefix do not count against your tags per resource limit. 8272 Tags []*Tag `locationName:"tags" type:"list"` 8273 8274 // The family and revision (family:revision) or full ARN of the task definition 8275 // to run in your service. If a revision is not specified, the latest ACTIVE 8276 // revision is used. 8277 // 8278 // A task definition must be specified if the service is using the ECS deployment 8279 // controller. 8280 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 8281} 8282 8283// String returns the string representation 8284func (s CreateServiceInput) String() string { 8285 return awsutil.Prettify(s) 8286} 8287 8288// GoString returns the string representation 8289func (s CreateServiceInput) GoString() string { 8290 return s.String() 8291} 8292 8293// Validate inspects the fields of the type to determine if they are valid. 8294func (s *CreateServiceInput) Validate() error { 8295 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 8296 if s.ServiceName == nil { 8297 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 8298 } 8299 if s.CapacityProviderStrategy != nil { 8300 for i, v := range s.CapacityProviderStrategy { 8301 if v == nil { 8302 continue 8303 } 8304 if err := v.Validate(); err != nil { 8305 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8306 } 8307 } 8308 } 8309 if s.DeploymentController != nil { 8310 if err := s.DeploymentController.Validate(); err != nil { 8311 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 8312 } 8313 } 8314 if s.NetworkConfiguration != nil { 8315 if err := s.NetworkConfiguration.Validate(); err != nil { 8316 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 8317 } 8318 } 8319 if s.Tags != nil { 8320 for i, v := range s.Tags { 8321 if v == nil { 8322 continue 8323 } 8324 if err := v.Validate(); err != nil { 8325 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8326 } 8327 } 8328 } 8329 8330 if invalidParams.Len() > 0 { 8331 return invalidParams 8332 } 8333 return nil 8334} 8335 8336// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 8337func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 8338 s.CapacityProviderStrategy = v 8339 return s 8340} 8341 8342// SetClientToken sets the ClientToken field's value. 8343func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 8344 s.ClientToken = &v 8345 return s 8346} 8347 8348// SetCluster sets the Cluster field's value. 8349func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 8350 s.Cluster = &v 8351 return s 8352} 8353 8354// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 8355func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 8356 s.DeploymentConfiguration = v 8357 return s 8358} 8359 8360// SetDeploymentController sets the DeploymentController field's value. 8361func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 8362 s.DeploymentController = v 8363 return s 8364} 8365 8366// SetDesiredCount sets the DesiredCount field's value. 8367func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 8368 s.DesiredCount = &v 8369 return s 8370} 8371 8372// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 8373func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 8374 s.EnableECSManagedTags = &v 8375 return s 8376} 8377 8378// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 8379func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 8380 s.HealthCheckGracePeriodSeconds = &v 8381 return s 8382} 8383 8384// SetLaunchType sets the LaunchType field's value. 8385func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 8386 s.LaunchType = &v 8387 return s 8388} 8389 8390// SetLoadBalancers sets the LoadBalancers field's value. 8391func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 8392 s.LoadBalancers = v 8393 return s 8394} 8395 8396// SetNetworkConfiguration sets the NetworkConfiguration field's value. 8397func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 8398 s.NetworkConfiguration = v 8399 return s 8400} 8401 8402// SetPlacementConstraints sets the PlacementConstraints field's value. 8403func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 8404 s.PlacementConstraints = v 8405 return s 8406} 8407 8408// SetPlacementStrategy sets the PlacementStrategy field's value. 8409func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 8410 s.PlacementStrategy = v 8411 return s 8412} 8413 8414// SetPlatformVersion sets the PlatformVersion field's value. 8415func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 8416 s.PlatformVersion = &v 8417 return s 8418} 8419 8420// SetPropagateTags sets the PropagateTags field's value. 8421func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 8422 s.PropagateTags = &v 8423 return s 8424} 8425 8426// SetRole sets the Role field's value. 8427func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 8428 s.Role = &v 8429 return s 8430} 8431 8432// SetSchedulingStrategy sets the SchedulingStrategy field's value. 8433func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 8434 s.SchedulingStrategy = &v 8435 return s 8436} 8437 8438// SetServiceName sets the ServiceName field's value. 8439func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 8440 s.ServiceName = &v 8441 return s 8442} 8443 8444// SetServiceRegistries sets the ServiceRegistries field's value. 8445func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 8446 s.ServiceRegistries = v 8447 return s 8448} 8449 8450// SetTags sets the Tags field's value. 8451func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 8452 s.Tags = v 8453 return s 8454} 8455 8456// SetTaskDefinition sets the TaskDefinition field's value. 8457func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 8458 s.TaskDefinition = &v 8459 return s 8460} 8461 8462type CreateServiceOutput struct { 8463 _ struct{} `type:"structure"` 8464 8465 // The full description of your service following the create call. 8466 // 8467 // If a service is using the ECS deployment controller, the deploymentController 8468 // and taskSets parameters will not be returned. 8469 // 8470 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 8471 // taskSets and deployments parameters will be returned, however the deployments 8472 // parameter will be an empty list. 8473 Service *Service `locationName:"service" type:"structure"` 8474} 8475 8476// String returns the string representation 8477func (s CreateServiceOutput) String() string { 8478 return awsutil.Prettify(s) 8479} 8480 8481// GoString returns the string representation 8482func (s CreateServiceOutput) GoString() string { 8483 return s.String() 8484} 8485 8486// SetService sets the Service field's value. 8487func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 8488 s.Service = v 8489 return s 8490} 8491 8492type CreateTaskSetInput struct { 8493 _ struct{} `type:"structure"` 8494 8495 // The capacity provider strategy to use for the task set. 8496 // 8497 // A capacity provider strategy consists of one or more capacity providers along 8498 // with the base and weight to assign to them. A capacity provider must be associated 8499 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8500 // API is used to associate a capacity provider with a cluster. Only capacity 8501 // providers with an ACTIVE or UPDATING status can be used. 8502 // 8503 // If a capacityProviderStrategy is specified, the launchType parameter must 8504 // be omitted. If no capacityProviderStrategy or launchType is specified, the 8505 // defaultCapacityProviderStrategy for the cluster is used. 8506 // 8507 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8508 // provider must already be created. New capacity providers can be created with 8509 // the CreateCapacityProvider API operation. 8510 // 8511 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8512 // capacity providers. The AWS Fargate capacity providers are available to all 8513 // accounts and only need to be associated with a cluster to be used. 8514 // 8515 // The PutClusterCapacityProviders API operation is used to update the list 8516 // of available capacity providers for a cluster after the cluster is created. 8517 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 8518 8519 // Unique, case-sensitive identifier that you provide to ensure the idempotency 8520 // of the request. Up to 32 ASCII characters are allowed. 8521 ClientToken *string `locationName:"clientToken" type:"string"` 8522 8523 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8524 // the service to create the task set in. 8525 // 8526 // Cluster is a required field 8527 Cluster *string `locationName:"cluster" type:"string" required:"true"` 8528 8529 // An optional non-unique tag that identifies this task set in external systems. 8530 // If the task set is associated with a service discovery registry, the tasks 8531 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 8532 // set to the provided value. 8533 ExternalId *string `locationName:"externalId" type:"string"` 8534 8535 // The launch type that new tasks in the task set will use. For more information, 8536 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 8537 // in the Amazon Elastic Container Service Developer Guide. 8538 // 8539 // If a launchType is specified, the capacityProviderStrategy parameter must 8540 // be omitted. 8541 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 8542 8543 // A load balancer object representing the load balancer to use with the task 8544 // set. The supported load balancer types are either an Application Load Balancer 8545 // or a Network Load Balancer. 8546 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 8547 8548 // An object representing the network configuration for a task or service. 8549 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 8550 8551 // The platform version that the tasks in the task set should use. A platform 8552 // version is specified only for tasks using the Fargate launch type. If one 8553 // isn't specified, the LATEST platform version is used by default. 8554 PlatformVersion *string `locationName:"platformVersion" type:"string"` 8555 8556 // A floating-point percentage of the desired number of tasks to place and keep 8557 // running in the task set. 8558 Scale *Scale `locationName:"scale" type:"structure"` 8559 8560 // The short name or full Amazon Resource Name (ARN) of the service to create 8561 // the task set in. 8562 // 8563 // Service is a required field 8564 Service *string `locationName:"service" type:"string" required:"true"` 8565 8566 // The details of the service discovery registries to assign to this task set. 8567 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 8568 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 8569 8570 // The task definition for the tasks in the task set to use. 8571 // 8572 // TaskDefinition is a required field 8573 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 8574} 8575 8576// String returns the string representation 8577func (s CreateTaskSetInput) String() string { 8578 return awsutil.Prettify(s) 8579} 8580 8581// GoString returns the string representation 8582func (s CreateTaskSetInput) GoString() string { 8583 return s.String() 8584} 8585 8586// Validate inspects the fields of the type to determine if they are valid. 8587func (s *CreateTaskSetInput) Validate() error { 8588 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 8589 if s.Cluster == nil { 8590 invalidParams.Add(request.NewErrParamRequired("Cluster")) 8591 } 8592 if s.Service == nil { 8593 invalidParams.Add(request.NewErrParamRequired("Service")) 8594 } 8595 if s.TaskDefinition == nil { 8596 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 8597 } 8598 if s.CapacityProviderStrategy != nil { 8599 for i, v := range s.CapacityProviderStrategy { 8600 if v == nil { 8601 continue 8602 } 8603 if err := v.Validate(); err != nil { 8604 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8605 } 8606 } 8607 } 8608 if s.NetworkConfiguration != nil { 8609 if err := s.NetworkConfiguration.Validate(); err != nil { 8610 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 8611 } 8612 } 8613 8614 if invalidParams.Len() > 0 { 8615 return invalidParams 8616 } 8617 return nil 8618} 8619 8620// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 8621func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 8622 s.CapacityProviderStrategy = v 8623 return s 8624} 8625 8626// SetClientToken sets the ClientToken field's value. 8627func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 8628 s.ClientToken = &v 8629 return s 8630} 8631 8632// SetCluster sets the Cluster field's value. 8633func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 8634 s.Cluster = &v 8635 return s 8636} 8637 8638// SetExternalId sets the ExternalId field's value. 8639func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 8640 s.ExternalId = &v 8641 return s 8642} 8643 8644// SetLaunchType sets the LaunchType field's value. 8645func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 8646 s.LaunchType = &v 8647 return s 8648} 8649 8650// SetLoadBalancers sets the LoadBalancers field's value. 8651func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 8652 s.LoadBalancers = v 8653 return s 8654} 8655 8656// SetNetworkConfiguration sets the NetworkConfiguration field's value. 8657func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 8658 s.NetworkConfiguration = v 8659 return s 8660} 8661 8662// SetPlatformVersion sets the PlatformVersion field's value. 8663func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 8664 s.PlatformVersion = &v 8665 return s 8666} 8667 8668// SetScale sets the Scale field's value. 8669func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 8670 s.Scale = v 8671 return s 8672} 8673 8674// SetService sets the Service field's value. 8675func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 8676 s.Service = &v 8677 return s 8678} 8679 8680// SetServiceRegistries sets the ServiceRegistries field's value. 8681func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 8682 s.ServiceRegistries = v 8683 return s 8684} 8685 8686// SetTaskDefinition sets the TaskDefinition field's value. 8687func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 8688 s.TaskDefinition = &v 8689 return s 8690} 8691 8692type CreateTaskSetOutput struct { 8693 _ struct{} `type:"structure"` 8694 8695 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 8696 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 8697 // desired number of tasks, how many tasks are running, and whether the task 8698 // set serves production traffic. 8699 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 8700} 8701 8702// String returns the string representation 8703func (s CreateTaskSetOutput) String() string { 8704 return awsutil.Prettify(s) 8705} 8706 8707// GoString returns the string representation 8708func (s CreateTaskSetOutput) GoString() string { 8709 return s.String() 8710} 8711 8712// SetTaskSet sets the TaskSet field's value. 8713func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 8714 s.TaskSet = v 8715 return s 8716} 8717 8718type DeleteAccountSettingInput struct { 8719 _ struct{} `type:"structure"` 8720 8721 // The resource name for which to disable the account setting. If serviceLongArnFormat 8722 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 8723 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 8724 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 8725 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 8726 // the ENI limit for your Amazon ECS container instances is affected. 8727 // 8728 // Name is a required field 8729 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 8730 8731 // The ARN of the principal, which can be an IAM user, IAM role, or the root 8732 // user. If you specify the root user, it disables the account setting for all 8733 // IAM users, IAM roles, and the root user of the account unless an IAM user 8734 // or role explicitly overrides these settings. If this field is omitted, the 8735 // setting is changed only for the authenticated user. 8736 PrincipalArn *string `locationName:"principalArn" type:"string"` 8737} 8738 8739// String returns the string representation 8740func (s DeleteAccountSettingInput) String() string { 8741 return awsutil.Prettify(s) 8742} 8743 8744// GoString returns the string representation 8745func (s DeleteAccountSettingInput) GoString() string { 8746 return s.String() 8747} 8748 8749// Validate inspects the fields of the type to determine if they are valid. 8750func (s *DeleteAccountSettingInput) Validate() error { 8751 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 8752 if s.Name == nil { 8753 invalidParams.Add(request.NewErrParamRequired("Name")) 8754 } 8755 8756 if invalidParams.Len() > 0 { 8757 return invalidParams 8758 } 8759 return nil 8760} 8761 8762// SetName sets the Name field's value. 8763func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 8764 s.Name = &v 8765 return s 8766} 8767 8768// SetPrincipalArn sets the PrincipalArn field's value. 8769func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 8770 s.PrincipalArn = &v 8771 return s 8772} 8773 8774type DeleteAccountSettingOutput struct { 8775 _ struct{} `type:"structure"` 8776 8777 // The account setting for the specified principal ARN. 8778 Setting *Setting `locationName:"setting" type:"structure"` 8779} 8780 8781// String returns the string representation 8782func (s DeleteAccountSettingOutput) String() string { 8783 return awsutil.Prettify(s) 8784} 8785 8786// GoString returns the string representation 8787func (s DeleteAccountSettingOutput) GoString() string { 8788 return s.String() 8789} 8790 8791// SetSetting sets the Setting field's value. 8792func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 8793 s.Setting = v 8794 return s 8795} 8796 8797type DeleteAttributesInput struct { 8798 _ struct{} `type:"structure"` 8799 8800 // The attributes to delete from your resource. You can specify up to 10 attributes 8801 // per request. For custom attributes, specify the attribute name and target 8802 // ID, but do not specify the value. If you specify the target ID using the 8803 // short form, you must also specify the target type. 8804 // 8805 // Attributes is a required field 8806 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 8807 8808 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 8809 // the resource to delete attributes. If you do not specify a cluster, the default 8810 // cluster is assumed. 8811 Cluster *string `locationName:"cluster" type:"string"` 8812} 8813 8814// String returns the string representation 8815func (s DeleteAttributesInput) String() string { 8816 return awsutil.Prettify(s) 8817} 8818 8819// GoString returns the string representation 8820func (s DeleteAttributesInput) GoString() string { 8821 return s.String() 8822} 8823 8824// Validate inspects the fields of the type to determine if they are valid. 8825func (s *DeleteAttributesInput) Validate() error { 8826 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 8827 if s.Attributes == nil { 8828 invalidParams.Add(request.NewErrParamRequired("Attributes")) 8829 } 8830 if s.Attributes != nil { 8831 for i, v := range s.Attributes { 8832 if v == nil { 8833 continue 8834 } 8835 if err := v.Validate(); err != nil { 8836 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 8837 } 8838 } 8839 } 8840 8841 if invalidParams.Len() > 0 { 8842 return invalidParams 8843 } 8844 return nil 8845} 8846 8847// SetAttributes sets the Attributes field's value. 8848func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 8849 s.Attributes = v 8850 return s 8851} 8852 8853// SetCluster sets the Cluster field's value. 8854func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 8855 s.Cluster = &v 8856 return s 8857} 8858 8859type DeleteAttributesOutput struct { 8860 _ struct{} `type:"structure"` 8861 8862 // A list of attribute objects that were successfully deleted from your resource. 8863 Attributes []*Attribute `locationName:"attributes" type:"list"` 8864} 8865 8866// String returns the string representation 8867func (s DeleteAttributesOutput) String() string { 8868 return awsutil.Prettify(s) 8869} 8870 8871// GoString returns the string representation 8872func (s DeleteAttributesOutput) GoString() string { 8873 return s.String() 8874} 8875 8876// SetAttributes sets the Attributes field's value. 8877func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 8878 s.Attributes = v 8879 return s 8880} 8881 8882type DeleteClusterInput struct { 8883 _ struct{} `type:"structure"` 8884 8885 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 8886 // 8887 // Cluster is a required field 8888 Cluster *string `locationName:"cluster" type:"string" required:"true"` 8889} 8890 8891// String returns the string representation 8892func (s DeleteClusterInput) String() string { 8893 return awsutil.Prettify(s) 8894} 8895 8896// GoString returns the string representation 8897func (s DeleteClusterInput) GoString() string { 8898 return s.String() 8899} 8900 8901// Validate inspects the fields of the type to determine if they are valid. 8902func (s *DeleteClusterInput) Validate() error { 8903 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 8904 if s.Cluster == nil { 8905 invalidParams.Add(request.NewErrParamRequired("Cluster")) 8906 } 8907 8908 if invalidParams.Len() > 0 { 8909 return invalidParams 8910 } 8911 return nil 8912} 8913 8914// SetCluster sets the Cluster field's value. 8915func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 8916 s.Cluster = &v 8917 return s 8918} 8919 8920type DeleteClusterOutput struct { 8921 _ struct{} `type:"structure"` 8922 8923 // The full description of the deleted cluster. 8924 Cluster *Cluster `locationName:"cluster" type:"structure"` 8925} 8926 8927// String returns the string representation 8928func (s DeleteClusterOutput) String() string { 8929 return awsutil.Prettify(s) 8930} 8931 8932// GoString returns the string representation 8933func (s DeleteClusterOutput) GoString() string { 8934 return s.String() 8935} 8936 8937// SetCluster sets the Cluster field's value. 8938func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 8939 s.Cluster = v 8940 return s 8941} 8942 8943type DeleteServiceInput struct { 8944 _ struct{} `type:"structure"` 8945 8946 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 8947 // the service to delete. If you do not specify a cluster, the default cluster 8948 // is assumed. 8949 Cluster *string `locationName:"cluster" type:"string"` 8950 8951 // If true, allows you to delete a service even if it has not been scaled down 8952 // to zero tasks. It is only necessary to use this if the service is using the 8953 // REPLICA scheduling strategy. 8954 Force *bool `locationName:"force" type:"boolean"` 8955 8956 // The name of the service to delete. 8957 // 8958 // Service is a required field 8959 Service *string `locationName:"service" type:"string" required:"true"` 8960} 8961 8962// String returns the string representation 8963func (s DeleteServiceInput) String() string { 8964 return awsutil.Prettify(s) 8965} 8966 8967// GoString returns the string representation 8968func (s DeleteServiceInput) GoString() string { 8969 return s.String() 8970} 8971 8972// Validate inspects the fields of the type to determine if they are valid. 8973func (s *DeleteServiceInput) Validate() error { 8974 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 8975 if s.Service == nil { 8976 invalidParams.Add(request.NewErrParamRequired("Service")) 8977 } 8978 8979 if invalidParams.Len() > 0 { 8980 return invalidParams 8981 } 8982 return nil 8983} 8984 8985// SetCluster sets the Cluster field's value. 8986func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 8987 s.Cluster = &v 8988 return s 8989} 8990 8991// SetForce sets the Force field's value. 8992func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 8993 s.Force = &v 8994 return s 8995} 8996 8997// SetService sets the Service field's value. 8998func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 8999 s.Service = &v 9000 return s 9001} 9002 9003type DeleteServiceOutput struct { 9004 _ struct{} `type:"structure"` 9005 9006 // The full description of the deleted service. 9007 Service *Service `locationName:"service" type:"structure"` 9008} 9009 9010// String returns the string representation 9011func (s DeleteServiceOutput) String() string { 9012 return awsutil.Prettify(s) 9013} 9014 9015// GoString returns the string representation 9016func (s DeleteServiceOutput) GoString() string { 9017 return s.String() 9018} 9019 9020// SetService sets the Service field's value. 9021func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 9022 s.Service = v 9023 return s 9024} 9025 9026type DeleteTaskSetInput struct { 9027 _ struct{} `type:"structure"` 9028 9029 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9030 // the service that the task set exists in to delete. 9031 // 9032 // Cluster is a required field 9033 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9034 9035 // If true, this allows you to delete a task set even if it hasn't been scaled 9036 // down to zero. 9037 Force *bool `locationName:"force" type:"boolean"` 9038 9039 // The short name or full Amazon Resource Name (ARN) of the service that hosts 9040 // the task set to delete. 9041 // 9042 // Service is a required field 9043 Service *string `locationName:"service" type:"string" required:"true"` 9044 9045 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 9046 // 9047 // TaskSet is a required field 9048 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 9049} 9050 9051// String returns the string representation 9052func (s DeleteTaskSetInput) String() string { 9053 return awsutil.Prettify(s) 9054} 9055 9056// GoString returns the string representation 9057func (s DeleteTaskSetInput) GoString() string { 9058 return s.String() 9059} 9060 9061// Validate inspects the fields of the type to determine if they are valid. 9062func (s *DeleteTaskSetInput) Validate() error { 9063 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 9064 if s.Cluster == nil { 9065 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9066 } 9067 if s.Service == nil { 9068 invalidParams.Add(request.NewErrParamRequired("Service")) 9069 } 9070 if s.TaskSet == nil { 9071 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 9072 } 9073 9074 if invalidParams.Len() > 0 { 9075 return invalidParams 9076 } 9077 return nil 9078} 9079 9080// SetCluster sets the Cluster field's value. 9081func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 9082 s.Cluster = &v 9083 return s 9084} 9085 9086// SetForce sets the Force field's value. 9087func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 9088 s.Force = &v 9089 return s 9090} 9091 9092// SetService sets the Service field's value. 9093func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 9094 s.Service = &v 9095 return s 9096} 9097 9098// SetTaskSet sets the TaskSet field's value. 9099func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 9100 s.TaskSet = &v 9101 return s 9102} 9103 9104type DeleteTaskSetOutput struct { 9105 _ struct{} `type:"structure"` 9106 9107 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9108 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9109 // desired number of tasks, how many tasks are running, and whether the task 9110 // set serves production traffic. 9111 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9112} 9113 9114// String returns the string representation 9115func (s DeleteTaskSetOutput) String() string { 9116 return awsutil.Prettify(s) 9117} 9118 9119// GoString returns the string representation 9120func (s DeleteTaskSetOutput) GoString() string { 9121 return s.String() 9122} 9123 9124// SetTaskSet sets the TaskSet field's value. 9125func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 9126 s.TaskSet = v 9127 return s 9128} 9129 9130// The details of an Amazon ECS service deployment. This is used only when a 9131// service uses the ECS deployment controller type. 9132type Deployment struct { 9133 _ struct{} `type:"structure"` 9134 9135 // The capacity provider strategy that the deployment is using. 9136 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9137 9138 // The Unix timestamp for when the service deployment was created. 9139 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 9140 9141 // The most recent desired count of tasks that was specified for the service 9142 // to deploy or maintain. 9143 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 9144 9145 // The ID of the deployment. 9146 Id *string `locationName:"id" type:"string"` 9147 9148 // The launch type the tasks in the service are using. For more information, 9149 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9150 // in the Amazon Elastic Container Service Developer Guide. 9151 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9152 9153 // The VPC subnet and security group configuration for tasks that receive their 9154 // own elastic network interface by using the awsvpc networking mode. 9155 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9156 9157 // The number of tasks in the deployment that are in the PENDING status. 9158 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 9159 9160 // The platform version on which your tasks in the service are running. A platform 9161 // version is only specified for tasks using the Fargate launch type. If one 9162 // is not specified, the LATEST platform version is used by default. For more 9163 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 9164 // in the Amazon Elastic Container Service Developer Guide. 9165 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9166 9167 // The number of tasks in the deployment that are in the RUNNING status. 9168 RunningCount *int64 `locationName:"runningCount" type:"integer"` 9169 9170 // The status of the deployment. The following describes each state: 9171 // 9172 // PRIMARY 9173 // 9174 // The most recent deployment of a service. 9175 // 9176 // ACTIVE 9177 // 9178 // A service deployment that still has running tasks, but are in the process 9179 // of being replaced with a new PRIMARY deployment. 9180 // 9181 // INACTIVE 9182 // 9183 // A deployment that has been completely replaced. 9184 Status *string `locationName:"status" type:"string"` 9185 9186 // The most recent task definition that was specified for the tasks in the service 9187 // to use. 9188 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9189 9190 // The Unix timestamp for when the service deployment was last updated. 9191 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 9192} 9193 9194// String returns the string representation 9195func (s Deployment) String() string { 9196 return awsutil.Prettify(s) 9197} 9198 9199// GoString returns the string representation 9200func (s Deployment) GoString() string { 9201 return s.String() 9202} 9203 9204// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9205func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 9206 s.CapacityProviderStrategy = v 9207 return s 9208} 9209 9210// SetCreatedAt sets the CreatedAt field's value. 9211func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 9212 s.CreatedAt = &v 9213 return s 9214} 9215 9216// SetDesiredCount sets the DesiredCount field's value. 9217func (s *Deployment) SetDesiredCount(v int64) *Deployment { 9218 s.DesiredCount = &v 9219 return s 9220} 9221 9222// SetId sets the Id field's value. 9223func (s *Deployment) SetId(v string) *Deployment { 9224 s.Id = &v 9225 return s 9226} 9227 9228// SetLaunchType sets the LaunchType field's value. 9229func (s *Deployment) SetLaunchType(v string) *Deployment { 9230 s.LaunchType = &v 9231 return s 9232} 9233 9234// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9235func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 9236 s.NetworkConfiguration = v 9237 return s 9238} 9239 9240// SetPendingCount sets the PendingCount field's value. 9241func (s *Deployment) SetPendingCount(v int64) *Deployment { 9242 s.PendingCount = &v 9243 return s 9244} 9245 9246// SetPlatformVersion sets the PlatformVersion field's value. 9247func (s *Deployment) SetPlatformVersion(v string) *Deployment { 9248 s.PlatformVersion = &v 9249 return s 9250} 9251 9252// SetRunningCount sets the RunningCount field's value. 9253func (s *Deployment) SetRunningCount(v int64) *Deployment { 9254 s.RunningCount = &v 9255 return s 9256} 9257 9258// SetStatus sets the Status field's value. 9259func (s *Deployment) SetStatus(v string) *Deployment { 9260 s.Status = &v 9261 return s 9262} 9263 9264// SetTaskDefinition sets the TaskDefinition field's value. 9265func (s *Deployment) SetTaskDefinition(v string) *Deployment { 9266 s.TaskDefinition = &v 9267 return s 9268} 9269 9270// SetUpdatedAt sets the UpdatedAt field's value. 9271func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 9272 s.UpdatedAt = &v 9273 return s 9274} 9275 9276// Optional deployment parameters that control how many tasks run during a deployment 9277// and the ordering of stopping and starting tasks. 9278type DeploymentConfiguration struct { 9279 _ struct{} `type:"structure"` 9280 9281 // If a service is using the rolling update (ECS) deployment type, the maximum 9282 // percent parameter represents an upper limit on the number of tasks in a service 9283 // that are allowed in the RUNNING or PENDING state during a deployment, as 9284 // a percentage of the desired number of tasks (rounded down to the nearest 9285 // integer), and while any container instances are in the DRAINING state if 9286 // the service contains tasks using the EC2 launch type. This parameter enables 9287 // you to define the deployment batch size. For example, if your service has 9288 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 9289 // may start four new tasks before stopping the four older tasks (provided that 9290 // the cluster resources required to do this are available). The default value 9291 // for maximum percent is 200%. 9292 // 9293 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 9294 // types and tasks that use the EC2 launch type, the maximum percent value is 9295 // set to the default value and is used to define the upper limit on the number 9296 // of the tasks in the service that remain in the RUNNING state while the container 9297 // instances are in the DRAINING state. If the tasks in the service use the 9298 // Fargate launch type, the maximum percent value is not used, although it is 9299 // returned when describing your service. 9300 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 9301 9302 // If a service is using the rolling update (ECS) deployment type, the minimum 9303 // healthy percent represents a lower limit on the number of tasks in a service 9304 // that must remain in the RUNNING state during a deployment, as a percentage 9305 // of the desired number of tasks (rounded up to the nearest integer), and while 9306 // any container instances are in the DRAINING state if the service contains 9307 // tasks using the EC2 launch type. This parameter enables you to deploy without 9308 // using additional cluster capacity. For example, if your service has a desired 9309 // number of four tasks and a minimum healthy percent of 50%, the scheduler 9310 // may stop two existing tasks to free up cluster capacity before starting two 9311 // new tasks. Tasks for services that do not use a load balancer are considered 9312 // healthy if they are in the RUNNING state; tasks for services that do use 9313 // a load balancer are considered healthy if they are in the RUNNING state and 9314 // they are reported as healthy by the load balancer. The default value for 9315 // minimum healthy percent is 100%. 9316 // 9317 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 9318 // types and tasks that use the EC2 launch type, the minimum healthy percent 9319 // value is set to the default value and is used to define the lower limit on 9320 // the number of the tasks in the service that remain in the RUNNING state while 9321 // the container instances are in the DRAINING state. If the tasks in the service 9322 // use the Fargate launch type, the minimum healthy percent value is not used, 9323 // although it is returned when describing your service. 9324 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 9325} 9326 9327// String returns the string representation 9328func (s DeploymentConfiguration) String() string { 9329 return awsutil.Prettify(s) 9330} 9331 9332// GoString returns the string representation 9333func (s DeploymentConfiguration) GoString() string { 9334 return s.String() 9335} 9336 9337// SetMaximumPercent sets the MaximumPercent field's value. 9338func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 9339 s.MaximumPercent = &v 9340 return s 9341} 9342 9343// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 9344func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 9345 s.MinimumHealthyPercent = &v 9346 return s 9347} 9348 9349// The deployment controller to use for the service. For more information, see 9350// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 9351// in the Amazon Elastic Container Service Developer Guide. 9352type DeploymentController struct { 9353 _ struct{} `type:"structure"` 9354 9355 // The deployment controller type to use. 9356 // 9357 // There are three deployment controller types available: 9358 // 9359 // ECS 9360 // 9361 // The rolling update (ECS) deployment type involves replacing the current running 9362 // version of the container with the latest version. The number of containers 9363 // Amazon ECS adds or removes from the service during a rolling update is controlled 9364 // by adjusting the minimum and maximum number of healthy tasks allowed during 9365 // a service deployment, as specified in the DeploymentConfiguration. 9366 // 9367 // CODE_DEPLOY 9368 // 9369 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 9370 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 9371 // of a service before sending production traffic to it. 9372 // 9373 // EXTERNAL 9374 // 9375 // The external (EXTERNAL) deployment type enables you to use any third-party 9376 // deployment controller for full control over the deployment process for an 9377 // Amazon ECS service. 9378 // 9379 // Type is a required field 9380 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 9381} 9382 9383// String returns the string representation 9384func (s DeploymentController) String() string { 9385 return awsutil.Prettify(s) 9386} 9387 9388// GoString returns the string representation 9389func (s DeploymentController) GoString() string { 9390 return s.String() 9391} 9392 9393// Validate inspects the fields of the type to determine if they are valid. 9394func (s *DeploymentController) Validate() error { 9395 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 9396 if s.Type == nil { 9397 invalidParams.Add(request.NewErrParamRequired("Type")) 9398 } 9399 9400 if invalidParams.Len() > 0 { 9401 return invalidParams 9402 } 9403 return nil 9404} 9405 9406// SetType sets the Type field's value. 9407func (s *DeploymentController) SetType(v string) *DeploymentController { 9408 s.Type = &v 9409 return s 9410} 9411 9412type DeregisterContainerInstanceInput struct { 9413 _ struct{} `type:"structure"` 9414 9415 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9416 // the container instance to deregister. If you do not specify a cluster, the 9417 // default cluster is assumed. 9418 Cluster *string `locationName:"cluster" type:"string"` 9419 9420 // The container instance ID or full ARN of the container instance to deregister. 9421 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 9422 // container instance, the AWS account ID of the container instance owner, the 9423 // container-instance namespace, and then the container instance ID. For example, 9424 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 9425 // 9426 // ContainerInstance is a required field 9427 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 9428 9429 // Forces the deregistration of the container instance. If you have tasks running 9430 // on the container instance when you deregister it with the force option, these 9431 // tasks remain running until you terminate the instance or the tasks stop through 9432 // some other means, but they are orphaned (no longer monitored or accounted 9433 // for by Amazon ECS). If an orphaned task on your container instance is part 9434 // of an Amazon ECS service, then the service scheduler starts another copy 9435 // of that task, on a different container instance if possible. 9436 // 9437 // Any containers in orphaned service tasks that are registered with a Classic 9438 // Load Balancer or an Application Load Balancer target group are deregistered. 9439 // They begin connection draining according to the settings on the load balancer 9440 // or target group. 9441 Force *bool `locationName:"force" type:"boolean"` 9442} 9443 9444// String returns the string representation 9445func (s DeregisterContainerInstanceInput) String() string { 9446 return awsutil.Prettify(s) 9447} 9448 9449// GoString returns the string representation 9450func (s DeregisterContainerInstanceInput) GoString() string { 9451 return s.String() 9452} 9453 9454// Validate inspects the fields of the type to determine if they are valid. 9455func (s *DeregisterContainerInstanceInput) Validate() error { 9456 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 9457 if s.ContainerInstance == nil { 9458 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 9459 } 9460 9461 if invalidParams.Len() > 0 { 9462 return invalidParams 9463 } 9464 return nil 9465} 9466 9467// SetCluster sets the Cluster field's value. 9468func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 9469 s.Cluster = &v 9470 return s 9471} 9472 9473// SetContainerInstance sets the ContainerInstance field's value. 9474func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 9475 s.ContainerInstance = &v 9476 return s 9477} 9478 9479// SetForce sets the Force field's value. 9480func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 9481 s.Force = &v 9482 return s 9483} 9484 9485type DeregisterContainerInstanceOutput struct { 9486 _ struct{} `type:"structure"` 9487 9488 // The container instance that was deregistered. 9489 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 9490} 9491 9492// String returns the string representation 9493func (s DeregisterContainerInstanceOutput) String() string { 9494 return awsutil.Prettify(s) 9495} 9496 9497// GoString returns the string representation 9498func (s DeregisterContainerInstanceOutput) GoString() string { 9499 return s.String() 9500} 9501 9502// SetContainerInstance sets the ContainerInstance field's value. 9503func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 9504 s.ContainerInstance = v 9505 return s 9506} 9507 9508type DeregisterTaskDefinitionInput struct { 9509 _ struct{} `type:"structure"` 9510 9511 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 9512 // of the task definition to deregister. You must specify a revision. 9513 // 9514 // TaskDefinition is a required field 9515 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9516} 9517 9518// String returns the string representation 9519func (s DeregisterTaskDefinitionInput) String() string { 9520 return awsutil.Prettify(s) 9521} 9522 9523// GoString returns the string representation 9524func (s DeregisterTaskDefinitionInput) GoString() string { 9525 return s.String() 9526} 9527 9528// Validate inspects the fields of the type to determine if they are valid. 9529func (s *DeregisterTaskDefinitionInput) Validate() error { 9530 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 9531 if s.TaskDefinition == nil { 9532 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9533 } 9534 9535 if invalidParams.Len() > 0 { 9536 return invalidParams 9537 } 9538 return nil 9539} 9540 9541// SetTaskDefinition sets the TaskDefinition field's value. 9542func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 9543 s.TaskDefinition = &v 9544 return s 9545} 9546 9547type DeregisterTaskDefinitionOutput struct { 9548 _ struct{} `type:"structure"` 9549 9550 // The full description of the deregistered task. 9551 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 9552} 9553 9554// String returns the string representation 9555func (s DeregisterTaskDefinitionOutput) String() string { 9556 return awsutil.Prettify(s) 9557} 9558 9559// GoString returns the string representation 9560func (s DeregisterTaskDefinitionOutput) GoString() string { 9561 return s.String() 9562} 9563 9564// SetTaskDefinition sets the TaskDefinition field's value. 9565func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 9566 s.TaskDefinition = v 9567 return s 9568} 9569 9570type DescribeCapacityProvidersInput struct { 9571 _ struct{} `type:"structure"` 9572 9573 // The short name or full Amazon Resource Name (ARN) of one or more capacity 9574 // providers. Up to 100 capacity providers can be described in an action. 9575 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 9576 9577 // Specifies whether or not you want to see the resource tags for the capacity 9578 // provider. If TAGS is specified, the tags are included in the response. If 9579 // this field is omitted, tags are not included in the response. 9580 Include []*string `locationName:"include" type:"list"` 9581 9582 // The maximum number of account setting results returned by DescribeCapacityProviders 9583 // in paginated output. When this parameter is used, DescribeCapacityProviders 9584 // only returns maxResults results in a single page along with a nextToken response 9585 // element. The remaining results of the initial request can be seen by sending 9586 // another DescribeCapacityProviders request with the returned nextToken value. 9587 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 9588 // returns up to 10 results and a nextToken value if applicable. 9589 MaxResults *int64 `locationName:"maxResults" type:"integer"` 9590 9591 // The nextToken value returned from a previous paginated DescribeCapacityProviders 9592 // request where maxResults was used and the results exceeded the value of that 9593 // parameter. Pagination continues from the end of the previous results that 9594 // returned the nextToken value. 9595 // 9596 // This token should be treated as an opaque identifier that is only used to 9597 // retrieve the next items in a list and not for other programmatic purposes. 9598 NextToken *string `locationName:"nextToken" type:"string"` 9599} 9600 9601// String returns the string representation 9602func (s DescribeCapacityProvidersInput) String() string { 9603 return awsutil.Prettify(s) 9604} 9605 9606// GoString returns the string representation 9607func (s DescribeCapacityProvidersInput) GoString() string { 9608 return s.String() 9609} 9610 9611// SetCapacityProviders sets the CapacityProviders field's value. 9612func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 9613 s.CapacityProviders = v 9614 return s 9615} 9616 9617// SetInclude sets the Include field's value. 9618func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 9619 s.Include = v 9620 return s 9621} 9622 9623// SetMaxResults sets the MaxResults field's value. 9624func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 9625 s.MaxResults = &v 9626 return s 9627} 9628 9629// SetNextToken sets the NextToken field's value. 9630func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 9631 s.NextToken = &v 9632 return s 9633} 9634 9635type DescribeCapacityProvidersOutput struct { 9636 _ struct{} `type:"structure"` 9637 9638 // The list of capacity providers. 9639 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 9640 9641 // Any failures associated with the call. 9642 Failures []*Failure `locationName:"failures" type:"list"` 9643 9644 // The nextToken value to include in a future DescribeCapacityProviders request. 9645 // When the results of a DescribeCapacityProviders request exceed maxResults, 9646 // this value can be used to retrieve the next page of results. This value is 9647 // null when there are no more results to return. 9648 NextToken *string `locationName:"nextToken" type:"string"` 9649} 9650 9651// String returns the string representation 9652func (s DescribeCapacityProvidersOutput) String() string { 9653 return awsutil.Prettify(s) 9654} 9655 9656// GoString returns the string representation 9657func (s DescribeCapacityProvidersOutput) GoString() string { 9658 return s.String() 9659} 9660 9661// SetCapacityProviders sets the CapacityProviders field's value. 9662func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 9663 s.CapacityProviders = v 9664 return s 9665} 9666 9667// SetFailures sets the Failures field's value. 9668func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 9669 s.Failures = v 9670 return s 9671} 9672 9673// SetNextToken sets the NextToken field's value. 9674func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 9675 s.NextToken = &v 9676 return s 9677} 9678 9679type DescribeClustersInput struct { 9680 _ struct{} `type:"structure"` 9681 9682 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 9683 // entries. If you do not specify a cluster, the default cluster is assumed. 9684 Clusters []*string `locationName:"clusters" type:"list"` 9685 9686 // Whether to include additional information about your clusters in the response. 9687 // If this field is omitted, the attachments, statistics, and tags are not included. 9688 // 9689 // If ATTACHMENTS is specified, the attachments for the container instances 9690 // or tasks within the cluster are included. 9691 // 9692 // If SETTINGS is specified, the settings for the cluster are included. 9693 // 9694 // If STATISTICS is specified, the following additional information, separated 9695 // by launch type, is included: 9696 // 9697 // * runningEC2TasksCount 9698 // 9699 // * runningFargateTasksCount 9700 // 9701 // * pendingEC2TasksCount 9702 // 9703 // * pendingFargateTasksCount 9704 // 9705 // * activeEC2ServiceCount 9706 // 9707 // * activeFargateServiceCount 9708 // 9709 // * drainingEC2ServiceCount 9710 // 9711 // * drainingFargateServiceCount 9712 // 9713 // If TAGS is specified, the metadata tags associated with the cluster are included. 9714 Include []*string `locationName:"include" type:"list"` 9715} 9716 9717// String returns the string representation 9718func (s DescribeClustersInput) String() string { 9719 return awsutil.Prettify(s) 9720} 9721 9722// GoString returns the string representation 9723func (s DescribeClustersInput) GoString() string { 9724 return s.String() 9725} 9726 9727// SetClusters sets the Clusters field's value. 9728func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 9729 s.Clusters = v 9730 return s 9731} 9732 9733// SetInclude sets the Include field's value. 9734func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 9735 s.Include = v 9736 return s 9737} 9738 9739type DescribeClustersOutput struct { 9740 _ struct{} `type:"structure"` 9741 9742 // The list of clusters. 9743 Clusters []*Cluster `locationName:"clusters" type:"list"` 9744 9745 // Any failures associated with the call. 9746 Failures []*Failure `locationName:"failures" type:"list"` 9747} 9748 9749// String returns the string representation 9750func (s DescribeClustersOutput) String() string { 9751 return awsutil.Prettify(s) 9752} 9753 9754// GoString returns the string representation 9755func (s DescribeClustersOutput) GoString() string { 9756 return s.String() 9757} 9758 9759// SetClusters sets the Clusters field's value. 9760func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 9761 s.Clusters = v 9762 return s 9763} 9764 9765// SetFailures sets the Failures field's value. 9766func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 9767 s.Failures = v 9768 return s 9769} 9770 9771type DescribeContainerInstancesInput struct { 9772 _ struct{} `type:"structure"` 9773 9774 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9775 // the container instances to describe. If you do not specify a cluster, the 9776 // default cluster is assumed. This parameter is required if the container instance 9777 // or container instances you are describing were launched in any cluster other 9778 // than the default cluster. 9779 Cluster *string `locationName:"cluster" type:"string"` 9780 9781 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 9782 // entries. 9783 // 9784 // ContainerInstances is a required field 9785 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 9786 9787 // Specifies whether you want to see the resource tags for the container instance. 9788 // If TAGS is specified, the tags are included in the response. If this field 9789 // is omitted, tags are not included in the response. 9790 Include []*string `locationName:"include" type:"list"` 9791} 9792 9793// String returns the string representation 9794func (s DescribeContainerInstancesInput) String() string { 9795 return awsutil.Prettify(s) 9796} 9797 9798// GoString returns the string representation 9799func (s DescribeContainerInstancesInput) GoString() string { 9800 return s.String() 9801} 9802 9803// Validate inspects the fields of the type to determine if they are valid. 9804func (s *DescribeContainerInstancesInput) Validate() error { 9805 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 9806 if s.ContainerInstances == nil { 9807 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 9808 } 9809 9810 if invalidParams.Len() > 0 { 9811 return invalidParams 9812 } 9813 return nil 9814} 9815 9816// SetCluster sets the Cluster field's value. 9817func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 9818 s.Cluster = &v 9819 return s 9820} 9821 9822// SetContainerInstances sets the ContainerInstances field's value. 9823func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 9824 s.ContainerInstances = v 9825 return s 9826} 9827 9828// SetInclude sets the Include field's value. 9829func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 9830 s.Include = v 9831 return s 9832} 9833 9834type DescribeContainerInstancesOutput struct { 9835 _ struct{} `type:"structure"` 9836 9837 // The list of container instances. 9838 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 9839 9840 // Any failures associated with the call. 9841 Failures []*Failure `locationName:"failures" type:"list"` 9842} 9843 9844// String returns the string representation 9845func (s DescribeContainerInstancesOutput) String() string { 9846 return awsutil.Prettify(s) 9847} 9848 9849// GoString returns the string representation 9850func (s DescribeContainerInstancesOutput) GoString() string { 9851 return s.String() 9852} 9853 9854// SetContainerInstances sets the ContainerInstances field's value. 9855func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 9856 s.ContainerInstances = v 9857 return s 9858} 9859 9860// SetFailures sets the Failures field's value. 9861func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 9862 s.Failures = v 9863 return s 9864} 9865 9866type DescribeServicesInput struct { 9867 _ struct{} `type:"structure"` 9868 9869 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 9870 // service to describe. If you do not specify a cluster, the default cluster 9871 // is assumed. This parameter is required if the service or services you are 9872 // describing were launched in any cluster other than the default cluster. 9873 Cluster *string `locationName:"cluster" type:"string"` 9874 9875 // Specifies whether you want to see the resource tags for the service. If TAGS 9876 // is specified, the tags are included in the response. If this field is omitted, 9877 // tags are not included in the response. 9878 Include []*string `locationName:"include" type:"list"` 9879 9880 // A list of services to describe. You may specify up to 10 services to describe 9881 // in a single operation. 9882 // 9883 // Services is a required field 9884 Services []*string `locationName:"services" type:"list" required:"true"` 9885} 9886 9887// String returns the string representation 9888func (s DescribeServicesInput) String() string { 9889 return awsutil.Prettify(s) 9890} 9891 9892// GoString returns the string representation 9893func (s DescribeServicesInput) GoString() string { 9894 return s.String() 9895} 9896 9897// Validate inspects the fields of the type to determine if they are valid. 9898func (s *DescribeServicesInput) Validate() error { 9899 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 9900 if s.Services == nil { 9901 invalidParams.Add(request.NewErrParamRequired("Services")) 9902 } 9903 9904 if invalidParams.Len() > 0 { 9905 return invalidParams 9906 } 9907 return nil 9908} 9909 9910// SetCluster sets the Cluster field's value. 9911func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 9912 s.Cluster = &v 9913 return s 9914} 9915 9916// SetInclude sets the Include field's value. 9917func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 9918 s.Include = v 9919 return s 9920} 9921 9922// SetServices sets the Services field's value. 9923func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 9924 s.Services = v 9925 return s 9926} 9927 9928type DescribeServicesOutput struct { 9929 _ struct{} `type:"structure"` 9930 9931 // Any failures associated with the call. 9932 Failures []*Failure `locationName:"failures" type:"list"` 9933 9934 // The list of services described. 9935 Services []*Service `locationName:"services" type:"list"` 9936} 9937 9938// String returns the string representation 9939func (s DescribeServicesOutput) String() string { 9940 return awsutil.Prettify(s) 9941} 9942 9943// GoString returns the string representation 9944func (s DescribeServicesOutput) GoString() string { 9945 return s.String() 9946} 9947 9948// SetFailures sets the Failures field's value. 9949func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 9950 s.Failures = v 9951 return s 9952} 9953 9954// SetServices sets the Services field's value. 9955func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 9956 s.Services = v 9957 return s 9958} 9959 9960type DescribeTaskDefinitionInput struct { 9961 _ struct{} `type:"structure"` 9962 9963 // Specifies whether to see the resource tags for the task definition. If TAGS 9964 // is specified, the tags are included in the response. If this field is omitted, 9965 // tags are not included in the response. 9966 Include []*string `locationName:"include" type:"list"` 9967 9968 // The family for the latest ACTIVE revision, family and revision (family:revision) 9969 // for a specific revision in the family, or full Amazon Resource Name (ARN) 9970 // of the task definition to describe. 9971 // 9972 // TaskDefinition is a required field 9973 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9974} 9975 9976// String returns the string representation 9977func (s DescribeTaskDefinitionInput) String() string { 9978 return awsutil.Prettify(s) 9979} 9980 9981// GoString returns the string representation 9982func (s DescribeTaskDefinitionInput) GoString() string { 9983 return s.String() 9984} 9985 9986// Validate inspects the fields of the type to determine if they are valid. 9987func (s *DescribeTaskDefinitionInput) Validate() error { 9988 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 9989 if s.TaskDefinition == nil { 9990 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9991 } 9992 9993 if invalidParams.Len() > 0 { 9994 return invalidParams 9995 } 9996 return nil 9997} 9998 9999// SetInclude sets the Include field's value. 10000func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 10001 s.Include = v 10002 return s 10003} 10004 10005// SetTaskDefinition sets the TaskDefinition field's value. 10006func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 10007 s.TaskDefinition = &v 10008 return s 10009} 10010 10011type DescribeTaskDefinitionOutput struct { 10012 _ struct{} `type:"structure"` 10013 10014 // The metadata that is applied to the task definition to help you categorize 10015 // and organize them. Each tag consists of a key and an optional value, both 10016 // of which you define. 10017 // 10018 // The following basic restrictions apply to tags: 10019 // 10020 // * Maximum number of tags per resource - 50 10021 // 10022 // * For each resource, each tag key must be unique, and each tag key can 10023 // have only one value. 10024 // 10025 // * Maximum key length - 128 Unicode characters in UTF-8 10026 // 10027 // * Maximum value length - 256 Unicode characters in UTF-8 10028 // 10029 // * If your tagging schema is used across multiple services and resources, 10030 // remember that other services may have restrictions on allowed characters. 10031 // Generally allowed characters are: letters, numbers, and spaces representable 10032 // in UTF-8, and the following characters: + - = . _ : / @. 10033 // 10034 // * Tag keys and values are case-sensitive. 10035 // 10036 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 10037 // as a prefix for either keys or values as it is reserved for AWS use. You 10038 // cannot edit or delete tag keys or values with this prefix. Tags with this 10039 // prefix do not count against your tags per resource limit. 10040 Tags []*Tag `locationName:"tags" type:"list"` 10041 10042 // The full task definition description. 10043 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10044} 10045 10046// String returns the string representation 10047func (s DescribeTaskDefinitionOutput) String() string { 10048 return awsutil.Prettify(s) 10049} 10050 10051// GoString returns the string representation 10052func (s DescribeTaskDefinitionOutput) GoString() string { 10053 return s.String() 10054} 10055 10056// SetTags sets the Tags field's value. 10057func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 10058 s.Tags = v 10059 return s 10060} 10061 10062// SetTaskDefinition sets the TaskDefinition field's value. 10063func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 10064 s.TaskDefinition = v 10065 return s 10066} 10067 10068type DescribeTaskSetsInput struct { 10069 _ struct{} `type:"structure"` 10070 10071 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10072 // the service that the task sets exist in. 10073 // 10074 // Cluster is a required field 10075 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10076 10077 // The short name or full Amazon Resource Name (ARN) of the service that the 10078 // task sets exist in. 10079 // 10080 // Service is a required field 10081 Service *string `locationName:"service" type:"string" required:"true"` 10082 10083 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 10084 TaskSets []*string `locationName:"taskSets" type:"list"` 10085} 10086 10087// String returns the string representation 10088func (s DescribeTaskSetsInput) String() string { 10089 return awsutil.Prettify(s) 10090} 10091 10092// GoString returns the string representation 10093func (s DescribeTaskSetsInput) GoString() string { 10094 return s.String() 10095} 10096 10097// Validate inspects the fields of the type to determine if they are valid. 10098func (s *DescribeTaskSetsInput) Validate() error { 10099 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 10100 if s.Cluster == nil { 10101 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10102 } 10103 if s.Service == nil { 10104 invalidParams.Add(request.NewErrParamRequired("Service")) 10105 } 10106 10107 if invalidParams.Len() > 0 { 10108 return invalidParams 10109 } 10110 return nil 10111} 10112 10113// SetCluster sets the Cluster field's value. 10114func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 10115 s.Cluster = &v 10116 return s 10117} 10118 10119// SetService sets the Service field's value. 10120func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 10121 s.Service = &v 10122 return s 10123} 10124 10125// SetTaskSets sets the TaskSets field's value. 10126func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 10127 s.TaskSets = v 10128 return s 10129} 10130 10131type DescribeTaskSetsOutput struct { 10132 _ struct{} `type:"structure"` 10133 10134 // Any failures associated with the call. 10135 Failures []*Failure `locationName:"failures" type:"list"` 10136 10137 // The list of task sets described. 10138 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 10139} 10140 10141// String returns the string representation 10142func (s DescribeTaskSetsOutput) String() string { 10143 return awsutil.Prettify(s) 10144} 10145 10146// GoString returns the string representation 10147func (s DescribeTaskSetsOutput) GoString() string { 10148 return s.String() 10149} 10150 10151// SetFailures sets the Failures field's value. 10152func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 10153 s.Failures = v 10154 return s 10155} 10156 10157// SetTaskSets sets the TaskSets field's value. 10158func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 10159 s.TaskSets = v 10160 return s 10161} 10162 10163type DescribeTasksInput struct { 10164 _ struct{} `type:"structure"` 10165 10166 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10167 // the task or tasks to describe. If you do not specify a cluster, the default 10168 // cluster is assumed. This parameter is required if the task or tasks you are 10169 // describing were launched in any cluster other than the default cluster. 10170 Cluster *string `locationName:"cluster" type:"string"` 10171 10172 // Specifies whether you want to see the resource tags for the task. If TAGS 10173 // is specified, the tags are included in the response. If this field is omitted, 10174 // tags are not included in the response. 10175 Include []*string `locationName:"include" type:"list"` 10176 10177 // A list of up to 100 task IDs or full ARN entries. 10178 // 10179 // Tasks is a required field 10180 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 10181} 10182 10183// String returns the string representation 10184func (s DescribeTasksInput) String() string { 10185 return awsutil.Prettify(s) 10186} 10187 10188// GoString returns the string representation 10189func (s DescribeTasksInput) GoString() string { 10190 return s.String() 10191} 10192 10193// Validate inspects the fields of the type to determine if they are valid. 10194func (s *DescribeTasksInput) Validate() error { 10195 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 10196 if s.Tasks == nil { 10197 invalidParams.Add(request.NewErrParamRequired("Tasks")) 10198 } 10199 10200 if invalidParams.Len() > 0 { 10201 return invalidParams 10202 } 10203 return nil 10204} 10205 10206// SetCluster sets the Cluster field's value. 10207func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 10208 s.Cluster = &v 10209 return s 10210} 10211 10212// SetInclude sets the Include field's value. 10213func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 10214 s.Include = v 10215 return s 10216} 10217 10218// SetTasks sets the Tasks field's value. 10219func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 10220 s.Tasks = v 10221 return s 10222} 10223 10224type DescribeTasksOutput struct { 10225 _ struct{} `type:"structure"` 10226 10227 // Any failures associated with the call. 10228 Failures []*Failure `locationName:"failures" type:"list"` 10229 10230 // The list of tasks. 10231 Tasks []*Task `locationName:"tasks" type:"list"` 10232} 10233 10234// String returns the string representation 10235func (s DescribeTasksOutput) String() string { 10236 return awsutil.Prettify(s) 10237} 10238 10239// GoString returns the string representation 10240func (s DescribeTasksOutput) GoString() string { 10241 return s.String() 10242} 10243 10244// SetFailures sets the Failures field's value. 10245func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 10246 s.Failures = v 10247 return s 10248} 10249 10250// SetTasks sets the Tasks field's value. 10251func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 10252 s.Tasks = v 10253 return s 10254} 10255 10256// An object representing a container instance host device. 10257type Device struct { 10258 _ struct{} `type:"structure"` 10259 10260 // The path inside the container at which to expose the host device. 10261 ContainerPath *string `locationName:"containerPath" type:"string"` 10262 10263 // The path for the device on the host container instance. 10264 // 10265 // HostPath is a required field 10266 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 10267 10268 // The explicit permissions to provide to the container for the device. By default, 10269 // the container has permissions for read, write, and mknod for the device. 10270 Permissions []*string `locationName:"permissions" type:"list"` 10271} 10272 10273// String returns the string representation 10274func (s Device) String() string { 10275 return awsutil.Prettify(s) 10276} 10277 10278// GoString returns the string representation 10279func (s Device) GoString() string { 10280 return s.String() 10281} 10282 10283// Validate inspects the fields of the type to determine if they are valid. 10284func (s *Device) Validate() error { 10285 invalidParams := request.ErrInvalidParams{Context: "Device"} 10286 if s.HostPath == nil { 10287 invalidParams.Add(request.NewErrParamRequired("HostPath")) 10288 } 10289 10290 if invalidParams.Len() > 0 { 10291 return invalidParams 10292 } 10293 return nil 10294} 10295 10296// SetContainerPath sets the ContainerPath field's value. 10297func (s *Device) SetContainerPath(v string) *Device { 10298 s.ContainerPath = &v 10299 return s 10300} 10301 10302// SetHostPath sets the HostPath field's value. 10303func (s *Device) SetHostPath(v string) *Device { 10304 s.HostPath = &v 10305 return s 10306} 10307 10308// SetPermissions sets the Permissions field's value. 10309func (s *Device) SetPermissions(v []*string) *Device { 10310 s.Permissions = v 10311 return s 10312} 10313 10314type DiscoverPollEndpointInput struct { 10315 _ struct{} `type:"structure"` 10316 10317 // The short name or full Amazon Resource Name (ARN) of the cluster to which 10318 // the container instance belongs. 10319 Cluster *string `locationName:"cluster" type:"string"` 10320 10321 // The container instance ID or full ARN of the container instance. The ARN 10322 // contains the arn:aws:ecs namespace, followed by the Region of the container 10323 // instance, the AWS account ID of the container instance owner, the container-instance 10324 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10325 ContainerInstance *string `locationName:"containerInstance" type:"string"` 10326} 10327 10328// String returns the string representation 10329func (s DiscoverPollEndpointInput) String() string { 10330 return awsutil.Prettify(s) 10331} 10332 10333// GoString returns the string representation 10334func (s DiscoverPollEndpointInput) GoString() string { 10335 return s.String() 10336} 10337 10338// SetCluster sets the Cluster field's value. 10339func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 10340 s.Cluster = &v 10341 return s 10342} 10343 10344// SetContainerInstance sets the ContainerInstance field's value. 10345func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 10346 s.ContainerInstance = &v 10347 return s 10348} 10349 10350type DiscoverPollEndpointOutput struct { 10351 _ struct{} `type:"structure"` 10352 10353 // The endpoint for the Amazon ECS agent to poll. 10354 Endpoint *string `locationName:"endpoint" type:"string"` 10355 10356 // The telemetry endpoint for the Amazon ECS agent. 10357 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 10358} 10359 10360// String returns the string representation 10361func (s DiscoverPollEndpointOutput) String() string { 10362 return awsutil.Prettify(s) 10363} 10364 10365// GoString returns the string representation 10366func (s DiscoverPollEndpointOutput) GoString() string { 10367 return s.String() 10368} 10369 10370// SetEndpoint sets the Endpoint field's value. 10371func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 10372 s.Endpoint = &v 10373 return s 10374} 10375 10376// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 10377func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 10378 s.TelemetryEndpoint = &v 10379 return s 10380} 10381 10382// This parameter is specified when you are using Docker volumes. Docker volumes 10383// are only supported when you are using the EC2 launch type. Windows containers 10384// only support the use of the local driver. To use bind mounts, specify a host 10385// instead. 10386type DockerVolumeConfiguration struct { 10387 _ struct{} `type:"structure"` 10388 10389 // If this value is true, the Docker volume is created if it does not already 10390 // exist. 10391 // 10392 // This field is only used if the scope is shared. 10393 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 10394 10395 // The Docker volume driver to use. The driver value must match the driver name 10396 // provided by Docker because it is used for task placement. If the driver was 10397 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 10398 // driver name from your container instance. If the driver was installed using 10399 // another method, use Docker plugin discovery to retrieve the driver name. 10400 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 10401 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 10402 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 10403 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 10404 Driver *string `locationName:"driver" type:"string"` 10405 10406 // A map of Docker driver-specific options passed through. This parameter maps 10407 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 10408 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 10409 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 10410 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 10411 10412 // Custom metadata to add to your Docker volume. This parameter maps to Labels 10413 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 10414 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 10415 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 10416 Labels map[string]*string `locationName:"labels" type:"map"` 10417 10418 // The scope for the Docker volume that determines its lifecycle. Docker volumes 10419 // that are scoped to a task are automatically provisioned when the task starts 10420 // and destroyed when the task stops. Docker volumes that are scoped as shared 10421 // persist after the task stops. 10422 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 10423} 10424 10425// String returns the string representation 10426func (s DockerVolumeConfiguration) String() string { 10427 return awsutil.Prettify(s) 10428} 10429 10430// GoString returns the string representation 10431func (s DockerVolumeConfiguration) GoString() string { 10432 return s.String() 10433} 10434 10435// SetAutoprovision sets the Autoprovision field's value. 10436func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 10437 s.Autoprovision = &v 10438 return s 10439} 10440 10441// SetDriver sets the Driver field's value. 10442func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 10443 s.Driver = &v 10444 return s 10445} 10446 10447// SetDriverOpts sets the DriverOpts field's value. 10448func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 10449 s.DriverOpts = v 10450 return s 10451} 10452 10453// SetLabels sets the Labels field's value. 10454func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 10455 s.Labels = v 10456 return s 10457} 10458 10459// SetScope sets the Scope field's value. 10460func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 10461 s.Scope = &v 10462 return s 10463} 10464 10465// A failed resource. 10466type Failure struct { 10467 _ struct{} `type:"structure"` 10468 10469 // The Amazon Resource Name (ARN) of the failed resource. 10470 Arn *string `locationName:"arn" type:"string"` 10471 10472 // The details of the failure. 10473 Detail *string `locationName:"detail" type:"string"` 10474 10475 // The reason for the failure. 10476 Reason *string `locationName:"reason" type:"string"` 10477} 10478 10479// String returns the string representation 10480func (s Failure) String() string { 10481 return awsutil.Prettify(s) 10482} 10483 10484// GoString returns the string representation 10485func (s Failure) GoString() string { 10486 return s.String() 10487} 10488 10489// SetArn sets the Arn field's value. 10490func (s *Failure) SetArn(v string) *Failure { 10491 s.Arn = &v 10492 return s 10493} 10494 10495// SetDetail sets the Detail field's value. 10496func (s *Failure) SetDetail(v string) *Failure { 10497 s.Detail = &v 10498 return s 10499} 10500 10501// SetReason sets the Reason field's value. 10502func (s *Failure) SetReason(v string) *Failure { 10503 s.Reason = &v 10504 return s 10505} 10506 10507// The FireLens configuration for the container. This is used to specify and 10508// configure a log router for container logs. For more information, see Custom 10509// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 10510// in the Amazon Elastic Container Service Developer Guide. 10511type FirelensConfiguration struct { 10512 _ struct{} `type:"structure"` 10513 10514 // The options to use when configuring the log router. This field is optional 10515 // and can be used to specify a custom configuration file or to add additional 10516 // metadata, such as the task, task definition, cluster, and container instance 10517 // details to the log event. If specified, the syntax to use is "options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"}. 10518 // For more information, see Creating a Task Definition that Uses a FireLens 10519 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 10520 // in the Amazon Elastic Container Service Developer Guide. 10521 Options map[string]*string `locationName:"options" type:"map"` 10522 10523 // The log router to use. The valid values are fluentd or fluentbit. 10524 // 10525 // Type is a required field 10526 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 10527} 10528 10529// String returns the string representation 10530func (s FirelensConfiguration) String() string { 10531 return awsutil.Prettify(s) 10532} 10533 10534// GoString returns the string representation 10535func (s FirelensConfiguration) GoString() string { 10536 return s.String() 10537} 10538 10539// Validate inspects the fields of the type to determine if they are valid. 10540func (s *FirelensConfiguration) Validate() error { 10541 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 10542 if s.Type == nil { 10543 invalidParams.Add(request.NewErrParamRequired("Type")) 10544 } 10545 10546 if invalidParams.Len() > 0 { 10547 return invalidParams 10548 } 10549 return nil 10550} 10551 10552// SetOptions sets the Options field's value. 10553func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 10554 s.Options = v 10555 return s 10556} 10557 10558// SetType sets the Type field's value. 10559func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 10560 s.Type = &v 10561 return s 10562} 10563 10564// An object representing a container health check. Health check parameters 10565// that are specified in a container definition override any Docker health checks 10566// that exist in the container image (such as those specified in a parent image 10567// or from the image's Dockerfile). 10568// 10569// The following are notes about container health check support: 10570// 10571// * Container health checks require version 1.17.0 or greater of the Amazon 10572// ECS container agent. For more information, see Updating the Amazon ECS 10573// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 10574// 10575// * Container health checks are supported for Fargate tasks if you are using 10576// platform version 1.1.0 or greater. For more information, see AWS Fargate 10577// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 10578// 10579// * Container health checks are not supported for tasks that are part of 10580// a service that is configured to use a Classic Load Balancer. 10581type HealthCheck struct { 10582 _ struct{} `type:"structure"` 10583 10584 // A string array representing the command that the container runs to determine 10585 // if it is healthy. The string array must start with CMD to execute the command 10586 // arguments directly, or CMD-SHELL to run the command with the container's 10587 // default shell. For example: 10588 // 10589 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 10590 // 10591 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 10592 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 10593 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 10594 // 10595 // Command is a required field 10596 Command []*string `locationName:"command" type:"list" required:"true"` 10597 10598 // The time period in seconds between each health check execution. You may specify 10599 // between 5 and 300 seconds. The default value is 30 seconds. 10600 Interval *int64 `locationName:"interval" type:"integer"` 10601 10602 // The number of times to retry a failed health check before the container is 10603 // considered unhealthy. You may specify between 1 and 10 retries. The default 10604 // value is 3. 10605 Retries *int64 `locationName:"retries" type:"integer"` 10606 10607 // The optional grace period within which to provide containers time to bootstrap 10608 // before failed health checks count towards the maximum number of retries. 10609 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 10610 // default. 10611 // 10612 // If a health check succeeds within the startPeriod, then the container is 10613 // considered healthy and any subsequent failures count toward the maximum number 10614 // of retries. 10615 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 10616 10617 // The time period in seconds to wait for a health check to succeed before it 10618 // is considered a failure. You may specify between 2 and 60 seconds. The default 10619 // value is 5. 10620 Timeout *int64 `locationName:"timeout" type:"integer"` 10621} 10622 10623// String returns the string representation 10624func (s HealthCheck) String() string { 10625 return awsutil.Prettify(s) 10626} 10627 10628// GoString returns the string representation 10629func (s HealthCheck) GoString() string { 10630 return s.String() 10631} 10632 10633// Validate inspects the fields of the type to determine if they are valid. 10634func (s *HealthCheck) Validate() error { 10635 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 10636 if s.Command == nil { 10637 invalidParams.Add(request.NewErrParamRequired("Command")) 10638 } 10639 10640 if invalidParams.Len() > 0 { 10641 return invalidParams 10642 } 10643 return nil 10644} 10645 10646// SetCommand sets the Command field's value. 10647func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 10648 s.Command = v 10649 return s 10650} 10651 10652// SetInterval sets the Interval field's value. 10653func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 10654 s.Interval = &v 10655 return s 10656} 10657 10658// SetRetries sets the Retries field's value. 10659func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 10660 s.Retries = &v 10661 return s 10662} 10663 10664// SetStartPeriod sets the StartPeriod field's value. 10665func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 10666 s.StartPeriod = &v 10667 return s 10668} 10669 10670// SetTimeout sets the Timeout field's value. 10671func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 10672 s.Timeout = &v 10673 return s 10674} 10675 10676// Hostnames and IP address entries that are added to the /etc/hosts file of 10677// a container via the extraHosts parameter of its ContainerDefinition. 10678type HostEntry struct { 10679 _ struct{} `type:"structure"` 10680 10681 // The hostname to use in the /etc/hosts entry. 10682 // 10683 // Hostname is a required field 10684 Hostname *string `locationName:"hostname" type:"string" required:"true"` 10685 10686 // The IP address to use in the /etc/hosts entry. 10687 // 10688 // IpAddress is a required field 10689 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 10690} 10691 10692// String returns the string representation 10693func (s HostEntry) String() string { 10694 return awsutil.Prettify(s) 10695} 10696 10697// GoString returns the string representation 10698func (s HostEntry) GoString() string { 10699 return s.String() 10700} 10701 10702// Validate inspects the fields of the type to determine if they are valid. 10703func (s *HostEntry) Validate() error { 10704 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 10705 if s.Hostname == nil { 10706 invalidParams.Add(request.NewErrParamRequired("Hostname")) 10707 } 10708 if s.IpAddress == nil { 10709 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 10710 } 10711 10712 if invalidParams.Len() > 0 { 10713 return invalidParams 10714 } 10715 return nil 10716} 10717 10718// SetHostname sets the Hostname field's value. 10719func (s *HostEntry) SetHostname(v string) *HostEntry { 10720 s.Hostname = &v 10721 return s 10722} 10723 10724// SetIpAddress sets the IpAddress field's value. 10725func (s *HostEntry) SetIpAddress(v string) *HostEntry { 10726 s.IpAddress = &v 10727 return s 10728} 10729 10730// Details on a container instance bind mount host volume. 10731type HostVolumeProperties struct { 10732 _ struct{} `type:"structure"` 10733 10734 // When the host parameter is used, specify a sourcePath to declare the path 10735 // on the host container instance that is presented to the container. If this 10736 // parameter is empty, then the Docker daemon has assigned a host path for you. 10737 // If the host parameter contains a sourcePath file location, then the data 10738 // volume persists at the specified location on the host container instance 10739 // until you delete it manually. If the sourcePath value does not exist on the 10740 // host container instance, the Docker daemon creates it. If the location does 10741 // exist, the contents of the source path folder are exported. 10742 // 10743 // If you are using the Fargate launch type, the sourcePath parameter is not 10744 // supported. 10745 SourcePath *string `locationName:"sourcePath" type:"string"` 10746} 10747 10748// String returns the string representation 10749func (s HostVolumeProperties) String() string { 10750 return awsutil.Prettify(s) 10751} 10752 10753// GoString returns the string representation 10754func (s HostVolumeProperties) GoString() string { 10755 return s.String() 10756} 10757 10758// SetSourcePath sets the SourcePath field's value. 10759func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 10760 s.SourcePath = &v 10761 return s 10762} 10763 10764// Details on a Elastic Inference accelerator. For more information, see Working 10765// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 10766// in the Amazon Elastic Container Service Developer Guide. 10767type InferenceAccelerator struct { 10768 _ struct{} `type:"structure"` 10769 10770 // The Elastic Inference accelerator device name. The deviceName must also be 10771 // referenced in a container definition as a ResourceRequirement. 10772 // 10773 // DeviceName is a required field 10774 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 10775 10776 // The Elastic Inference accelerator type to use. 10777 // 10778 // DeviceType is a required field 10779 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 10780} 10781 10782// String returns the string representation 10783func (s InferenceAccelerator) String() string { 10784 return awsutil.Prettify(s) 10785} 10786 10787// GoString returns the string representation 10788func (s InferenceAccelerator) GoString() string { 10789 return s.String() 10790} 10791 10792// Validate inspects the fields of the type to determine if they are valid. 10793func (s *InferenceAccelerator) Validate() error { 10794 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 10795 if s.DeviceName == nil { 10796 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 10797 } 10798 if s.DeviceType == nil { 10799 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 10800 } 10801 10802 if invalidParams.Len() > 0 { 10803 return invalidParams 10804 } 10805 return nil 10806} 10807 10808// SetDeviceName sets the DeviceName field's value. 10809func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 10810 s.DeviceName = &v 10811 return s 10812} 10813 10814// SetDeviceType sets the DeviceType field's value. 10815func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 10816 s.DeviceType = &v 10817 return s 10818} 10819 10820// Details on an Elastic Inference accelerator task override. This parameter 10821// is used to override the Elastic Inference accelerator specified in the task 10822// definition. For more information, see Working with Amazon Elastic Inference 10823// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 10824// in the Amazon Elastic Container Service Developer Guide. 10825type InferenceAcceleratorOverride struct { 10826 _ struct{} `type:"structure"` 10827 10828 // The Elastic Inference accelerator device name to override for the task. This 10829 // parameter must match a deviceName specified in the task definition. 10830 DeviceName *string `locationName:"deviceName" type:"string"` 10831 10832 // The Elastic Inference accelerator type to use. 10833 DeviceType *string `locationName:"deviceType" type:"string"` 10834} 10835 10836// String returns the string representation 10837func (s InferenceAcceleratorOverride) String() string { 10838 return awsutil.Prettify(s) 10839} 10840 10841// GoString returns the string representation 10842func (s InferenceAcceleratorOverride) GoString() string { 10843 return s.String() 10844} 10845 10846// SetDeviceName sets the DeviceName field's value. 10847func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 10848 s.DeviceName = &v 10849 return s 10850} 10851 10852// SetDeviceType sets the DeviceType field's value. 10853func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 10854 s.DeviceType = &v 10855 return s 10856} 10857 10858// The Linux capabilities for the container that are added to or dropped from 10859// the default configuration provided by Docker. For more information on the 10860// default capabilities and the non-default available capabilities, see Runtime 10861// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 10862// in the Docker run reference. For more detailed information on these Linux 10863// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 10864// Linux manual page. 10865type KernelCapabilities struct { 10866 _ struct{} `type:"structure"` 10867 10868 // The Linux capabilities for the container that have been added to the default 10869 // configuration provided by Docker. This parameter maps to CapAdd in the Create 10870 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 10871 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 10872 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 10873 // 10874 // If you are using tasks that use the Fargate launch type, the add parameter 10875 // is not supported. 10876 // 10877 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 10878 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 10879 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 10880 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 10881 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 10882 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 10883 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 10884 // "WAKE_ALARM" 10885 Add []*string `locationName:"add" type:"list"` 10886 10887 // The Linux capabilities for the container that have been removed from the 10888 // default configuration provided by Docker. This parameter maps to CapDrop 10889 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 10890 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 10891 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 10892 // 10893 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 10894 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 10895 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 10896 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 10897 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 10898 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 10899 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 10900 // "WAKE_ALARM" 10901 Drop []*string `locationName:"drop" type:"list"` 10902} 10903 10904// String returns the string representation 10905func (s KernelCapabilities) String() string { 10906 return awsutil.Prettify(s) 10907} 10908 10909// GoString returns the string representation 10910func (s KernelCapabilities) GoString() string { 10911 return s.String() 10912} 10913 10914// SetAdd sets the Add field's value. 10915func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 10916 s.Add = v 10917 return s 10918} 10919 10920// SetDrop sets the Drop field's value. 10921func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 10922 s.Drop = v 10923 return s 10924} 10925 10926// A key-value pair object. 10927type KeyValuePair struct { 10928 _ struct{} `type:"structure"` 10929 10930 // The name of the key-value pair. For environment variables, this is the name 10931 // of the environment variable. 10932 Name *string `locationName:"name" type:"string"` 10933 10934 // The value of the key-value pair. For environment variables, this is the value 10935 // of the environment variable. 10936 Value *string `locationName:"value" type:"string"` 10937} 10938 10939// String returns the string representation 10940func (s KeyValuePair) String() string { 10941 return awsutil.Prettify(s) 10942} 10943 10944// GoString returns the string representation 10945func (s KeyValuePair) GoString() string { 10946 return s.String() 10947} 10948 10949// SetName sets the Name field's value. 10950func (s *KeyValuePair) SetName(v string) *KeyValuePair { 10951 s.Name = &v 10952 return s 10953} 10954 10955// SetValue sets the Value field's value. 10956func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 10957 s.Value = &v 10958 return s 10959} 10960 10961// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 10962type LinuxParameters struct { 10963 _ struct{} `type:"structure"` 10964 10965 // The Linux capabilities for the container that are added to or dropped from 10966 // the default configuration provided by Docker. 10967 // 10968 // If you are using tasks that use the Fargate launch type, capabilities is 10969 // supported but the add parameter is not supported. 10970 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 10971 10972 // Any host devices to expose to the container. This parameter maps to Devices 10973 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 10974 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 10975 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 10976 // 10977 // If you are using tasks that use the Fargate launch type, the devices parameter 10978 // is not supported. 10979 Devices []*Device `locationName:"devices" type:"list"` 10980 10981 // Run an init process inside the container that forwards signals and reaps 10982 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 10983 // This parameter requires version 1.25 of the Docker Remote API or greater 10984 // on your container instance. To check the Docker Remote API version on your 10985 // container instance, log in to your container instance and run the following 10986 // command: sudo docker version --format '{{.Server.APIVersion}}' 10987 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 10988 10989 // The total amount of swap memory (in MiB) a container can use. This parameter 10990 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 10991 // where the value would be the sum of the container memory plus the maxSwap 10992 // value. 10993 // 10994 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 10995 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 10996 // the container will use the swap configuration for the container instance 10997 // it is running on. A maxSwap value must be set for the swappiness parameter 10998 // to be used. 10999 // 11000 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 11001 // is not supported. 11002 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 11003 11004 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 11005 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 11006 // 11007 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 11008 // parameter is not supported. 11009 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 11010 11011 // This allows you to tune a container's memory swappiness behavior. A swappiness 11012 // value of 0 will cause swapping to not happen unless absolutely necessary. 11013 // A swappiness value of 100 will cause pages to be swapped very aggressively. 11014 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 11015 // is not specified, a default value of 60 is used. If a value is not specified 11016 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 11017 // option to docker run (https://docs.docker.com/engine/reference/run/). 11018 // 11019 // If you are using tasks that use the Fargate launch type, the swappiness parameter 11020 // is not supported. 11021 Swappiness *int64 `locationName:"swappiness" type:"integer"` 11022 11023 // The container path, mount options, and size (in MiB) of the tmpfs mount. 11024 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 11025 // 11026 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 11027 // is not supported. 11028 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 11029} 11030 11031// String returns the string representation 11032func (s LinuxParameters) String() string { 11033 return awsutil.Prettify(s) 11034} 11035 11036// GoString returns the string representation 11037func (s LinuxParameters) GoString() string { 11038 return s.String() 11039} 11040 11041// Validate inspects the fields of the type to determine if they are valid. 11042func (s *LinuxParameters) Validate() error { 11043 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 11044 if s.Devices != nil { 11045 for i, v := range s.Devices { 11046 if v == nil { 11047 continue 11048 } 11049 if err := v.Validate(); err != nil { 11050 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 11051 } 11052 } 11053 } 11054 if s.Tmpfs != nil { 11055 for i, v := range s.Tmpfs { 11056 if v == nil { 11057 continue 11058 } 11059 if err := v.Validate(); err != nil { 11060 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 11061 } 11062 } 11063 } 11064 11065 if invalidParams.Len() > 0 { 11066 return invalidParams 11067 } 11068 return nil 11069} 11070 11071// SetCapabilities sets the Capabilities field's value. 11072func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 11073 s.Capabilities = v 11074 return s 11075} 11076 11077// SetDevices sets the Devices field's value. 11078func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 11079 s.Devices = v 11080 return s 11081} 11082 11083// SetInitProcessEnabled sets the InitProcessEnabled field's value. 11084func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 11085 s.InitProcessEnabled = &v 11086 return s 11087} 11088 11089// SetMaxSwap sets the MaxSwap field's value. 11090func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 11091 s.MaxSwap = &v 11092 return s 11093} 11094 11095// SetSharedMemorySize sets the SharedMemorySize field's value. 11096func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 11097 s.SharedMemorySize = &v 11098 return s 11099} 11100 11101// SetSwappiness sets the Swappiness field's value. 11102func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 11103 s.Swappiness = &v 11104 return s 11105} 11106 11107// SetTmpfs sets the Tmpfs field's value. 11108func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 11109 s.Tmpfs = v 11110 return s 11111} 11112 11113type ListAccountSettingsInput struct { 11114 _ struct{} `type:"structure"` 11115 11116 // Specifies whether to return the effective settings. If true, the account 11117 // settings for the root user or the default setting for the principalArn are 11118 // returned. If false, the account settings for the principalArn are returned 11119 // if they are set. Otherwise, no account settings are returned. 11120 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 11121 11122 // The maximum number of account setting results returned by ListAccountSettings 11123 // in paginated output. When this parameter is used, ListAccountSettings only 11124 // returns maxResults results in a single page along with a nextToken response 11125 // element. The remaining results of the initial request can be seen by sending 11126 // another ListAccountSettings request with the returned nextToken value. This 11127 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 11128 // returns up to 10 results and a nextToken value if applicable. 11129 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11130 11131 // The resource name you want to list the account settings for. 11132 Name *string `locationName:"name" type:"string" enum:"SettingName"` 11133 11134 // The nextToken value returned from a ListAccountSettings request indicating 11135 // that more results are available to fulfill the request and further calls 11136 // will be needed. If maxResults was provided, it is possible the number of 11137 // results to be fewer than maxResults. 11138 // 11139 // This token should be treated as an opaque identifier that is only used to 11140 // retrieve the next items in a list and not for other programmatic purposes. 11141 NextToken *string `locationName:"nextToken" type:"string"` 11142 11143 // The ARN of the principal, which can be an IAM user, IAM role, or the root 11144 // user. If this field is omitted, the account settings are listed only for 11145 // the authenticated user. 11146 PrincipalArn *string `locationName:"principalArn" type:"string"` 11147 11148 // The value of the account settings with which to filter results. You must 11149 // also specify an account setting name to use this parameter. 11150 Value *string `locationName:"value" type:"string"` 11151} 11152 11153// String returns the string representation 11154func (s ListAccountSettingsInput) String() string { 11155 return awsutil.Prettify(s) 11156} 11157 11158// GoString returns the string representation 11159func (s ListAccountSettingsInput) GoString() string { 11160 return s.String() 11161} 11162 11163// SetEffectiveSettings sets the EffectiveSettings field's value. 11164func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 11165 s.EffectiveSettings = &v 11166 return s 11167} 11168 11169// SetMaxResults sets the MaxResults field's value. 11170func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 11171 s.MaxResults = &v 11172 return s 11173} 11174 11175// SetName sets the Name field's value. 11176func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 11177 s.Name = &v 11178 return s 11179} 11180 11181// SetNextToken sets the NextToken field's value. 11182func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 11183 s.NextToken = &v 11184 return s 11185} 11186 11187// SetPrincipalArn sets the PrincipalArn field's value. 11188func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 11189 s.PrincipalArn = &v 11190 return s 11191} 11192 11193// SetValue sets the Value field's value. 11194func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 11195 s.Value = &v 11196 return s 11197} 11198 11199type ListAccountSettingsOutput struct { 11200 _ struct{} `type:"structure"` 11201 11202 // The nextToken value to include in a future ListAccountSettings request. When 11203 // the results of a ListAccountSettings request exceed maxResults, this value 11204 // can be used to retrieve the next page of results. This value is null when 11205 // there are no more results to return. 11206 NextToken *string `locationName:"nextToken" type:"string"` 11207 11208 // The account settings for the resource. 11209 Settings []*Setting `locationName:"settings" type:"list"` 11210} 11211 11212// String returns the string representation 11213func (s ListAccountSettingsOutput) String() string { 11214 return awsutil.Prettify(s) 11215} 11216 11217// GoString returns the string representation 11218func (s ListAccountSettingsOutput) GoString() string { 11219 return s.String() 11220} 11221 11222// SetNextToken sets the NextToken field's value. 11223func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 11224 s.NextToken = &v 11225 return s 11226} 11227 11228// SetSettings sets the Settings field's value. 11229func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 11230 s.Settings = v 11231 return s 11232} 11233 11234type ListAttributesInput struct { 11235 _ struct{} `type:"structure"` 11236 11237 // The name of the attribute with which to filter the results. 11238 AttributeName *string `locationName:"attributeName" type:"string"` 11239 11240 // The value of the attribute with which to filter results. You must also specify 11241 // an attribute name to use this parameter. 11242 AttributeValue *string `locationName:"attributeValue" type:"string"` 11243 11244 // The short name or full Amazon Resource Name (ARN) of the cluster to list 11245 // attributes. If you do not specify a cluster, the default cluster is assumed. 11246 Cluster *string `locationName:"cluster" type:"string"` 11247 11248 // The maximum number of cluster results returned by ListAttributes in paginated 11249 // output. When this parameter is used, ListAttributes only returns maxResults 11250 // results in a single page along with a nextToken response element. The remaining 11251 // results of the initial request can be seen by sending another ListAttributes 11252 // request with the returned nextToken value. This value can be between 1 and 11253 // 100. If this parameter is not used, then ListAttributes returns up to 100 11254 // results and a nextToken value if applicable. 11255 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11256 11257 // The nextToken value returned from a ListAttributes request indicating that 11258 // more results are available to fulfill the request and further calls will 11259 // be needed. If maxResults was provided, it is possible the number of results 11260 // to be fewer than maxResults. 11261 // 11262 // This token should be treated as an opaque identifier that is only used to 11263 // retrieve the next items in a list and not for other programmatic purposes. 11264 NextToken *string `locationName:"nextToken" type:"string"` 11265 11266 // The type of the target with which to list attributes. 11267 // 11268 // TargetType is a required field 11269 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 11270} 11271 11272// String returns the string representation 11273func (s ListAttributesInput) String() string { 11274 return awsutil.Prettify(s) 11275} 11276 11277// GoString returns the string representation 11278func (s ListAttributesInput) GoString() string { 11279 return s.String() 11280} 11281 11282// Validate inspects the fields of the type to determine if they are valid. 11283func (s *ListAttributesInput) Validate() error { 11284 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 11285 if s.TargetType == nil { 11286 invalidParams.Add(request.NewErrParamRequired("TargetType")) 11287 } 11288 11289 if invalidParams.Len() > 0 { 11290 return invalidParams 11291 } 11292 return nil 11293} 11294 11295// SetAttributeName sets the AttributeName field's value. 11296func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 11297 s.AttributeName = &v 11298 return s 11299} 11300 11301// SetAttributeValue sets the AttributeValue field's value. 11302func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 11303 s.AttributeValue = &v 11304 return s 11305} 11306 11307// SetCluster sets the Cluster field's value. 11308func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 11309 s.Cluster = &v 11310 return s 11311} 11312 11313// SetMaxResults sets the MaxResults field's value. 11314func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 11315 s.MaxResults = &v 11316 return s 11317} 11318 11319// SetNextToken sets the NextToken field's value. 11320func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 11321 s.NextToken = &v 11322 return s 11323} 11324 11325// SetTargetType sets the TargetType field's value. 11326func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 11327 s.TargetType = &v 11328 return s 11329} 11330 11331type ListAttributesOutput struct { 11332 _ struct{} `type:"structure"` 11333 11334 // A list of attribute objects that meet the criteria of the request. 11335 Attributes []*Attribute `locationName:"attributes" type:"list"` 11336 11337 // The nextToken value to include in a future ListAttributes request. When the 11338 // results of a ListAttributes request exceed maxResults, this value can be 11339 // used to retrieve the next page of results. This value is null when there 11340 // are no more results to return. 11341 NextToken *string `locationName:"nextToken" type:"string"` 11342} 11343 11344// String returns the string representation 11345func (s ListAttributesOutput) String() string { 11346 return awsutil.Prettify(s) 11347} 11348 11349// GoString returns the string representation 11350func (s ListAttributesOutput) GoString() string { 11351 return s.String() 11352} 11353 11354// SetAttributes sets the Attributes field's value. 11355func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 11356 s.Attributes = v 11357 return s 11358} 11359 11360// SetNextToken sets the NextToken field's value. 11361func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 11362 s.NextToken = &v 11363 return s 11364} 11365 11366type ListClustersInput struct { 11367 _ struct{} `type:"structure"` 11368 11369 // The maximum number of cluster results returned by ListClusters in paginated 11370 // output. When this parameter is used, ListClusters only returns maxResults 11371 // results in a single page along with a nextToken response element. The remaining 11372 // results of the initial request can be seen by sending another ListClusters 11373 // request with the returned nextToken value. This value can be between 1 and 11374 // 100. If this parameter is not used, then ListClusters returns up to 100 results 11375 // and a nextToken value if applicable. 11376 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11377 11378 // The nextToken value returned from a ListClusters request indicating that 11379 // more results are available to fulfill the request and further calls will 11380 // be needed. If maxResults was provided, it is possible the number of results 11381 // to be fewer than maxResults. 11382 // 11383 // This token should be treated as an opaque identifier that is only used to 11384 // retrieve the next items in a list and not for other programmatic purposes. 11385 NextToken *string `locationName:"nextToken" type:"string"` 11386} 11387 11388// String returns the string representation 11389func (s ListClustersInput) String() string { 11390 return awsutil.Prettify(s) 11391} 11392 11393// GoString returns the string representation 11394func (s ListClustersInput) GoString() string { 11395 return s.String() 11396} 11397 11398// SetMaxResults sets the MaxResults field's value. 11399func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 11400 s.MaxResults = &v 11401 return s 11402} 11403 11404// SetNextToken sets the NextToken field's value. 11405func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 11406 s.NextToken = &v 11407 return s 11408} 11409 11410type ListClustersOutput struct { 11411 _ struct{} `type:"structure"` 11412 11413 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 11414 // with your account. 11415 ClusterArns []*string `locationName:"clusterArns" type:"list"` 11416 11417 // The nextToken value to include in a future ListClusters request. When the 11418 // results of a ListClusters request exceed maxResults, this value can be used 11419 // to retrieve the next page of results. This value is null when there are no 11420 // more results to return. 11421 NextToken *string `locationName:"nextToken" type:"string"` 11422} 11423 11424// String returns the string representation 11425func (s ListClustersOutput) String() string { 11426 return awsutil.Prettify(s) 11427} 11428 11429// GoString returns the string representation 11430func (s ListClustersOutput) GoString() string { 11431 return s.String() 11432} 11433 11434// SetClusterArns sets the ClusterArns field's value. 11435func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 11436 s.ClusterArns = v 11437 return s 11438} 11439 11440// SetNextToken sets the NextToken field's value. 11441func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 11442 s.NextToken = &v 11443 return s 11444} 11445 11446type ListContainerInstancesInput struct { 11447 _ struct{} `type:"structure"` 11448 11449 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11450 // the container instances to list. If you do not specify a cluster, the default 11451 // cluster is assumed. 11452 Cluster *string `locationName:"cluster" type:"string"` 11453 11454 // You can filter the results of a ListContainerInstances operation with cluster 11455 // query language statements. For more information, see Cluster Query Language 11456 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 11457 // in the Amazon Elastic Container Service Developer Guide. 11458 Filter *string `locationName:"filter" type:"string"` 11459 11460 // The maximum number of container instance results returned by ListContainerInstances 11461 // in paginated output. When this parameter is used, ListContainerInstances 11462 // only returns maxResults results in a single page along with a nextToken response 11463 // element. The remaining results of the initial request can be seen by sending 11464 // another ListContainerInstances request with the returned nextToken value. 11465 // This value can be between 1 and 100. If this parameter is not used, then 11466 // ListContainerInstances returns up to 100 results and a nextToken value if 11467 // applicable. 11468 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11469 11470 // The nextToken value returned from a ListContainerInstances request indicating 11471 // that more results are available to fulfill the request and further calls 11472 // will be needed. If maxResults was provided, it is possible the number of 11473 // results to be fewer than maxResults. 11474 // 11475 // This token should be treated as an opaque identifier that is only used to 11476 // retrieve the next items in a list and not for other programmatic purposes. 11477 NextToken *string `locationName:"nextToken" type:"string"` 11478 11479 // Filters the container instances by status. For example, if you specify the 11480 // DRAINING status, the results include only container instances that have been 11481 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 11482 // this parameter, the default is to include container instances set to all 11483 // states other than INACTIVE. 11484 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 11485} 11486 11487// String returns the string representation 11488func (s ListContainerInstancesInput) String() string { 11489 return awsutil.Prettify(s) 11490} 11491 11492// GoString returns the string representation 11493func (s ListContainerInstancesInput) GoString() string { 11494 return s.String() 11495} 11496 11497// SetCluster sets the Cluster field's value. 11498func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 11499 s.Cluster = &v 11500 return s 11501} 11502 11503// SetFilter sets the Filter field's value. 11504func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 11505 s.Filter = &v 11506 return s 11507} 11508 11509// SetMaxResults sets the MaxResults field's value. 11510func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 11511 s.MaxResults = &v 11512 return s 11513} 11514 11515// SetNextToken sets the NextToken field's value. 11516func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 11517 s.NextToken = &v 11518 return s 11519} 11520 11521// SetStatus sets the Status field's value. 11522func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 11523 s.Status = &v 11524 return s 11525} 11526 11527type ListContainerInstancesOutput struct { 11528 _ struct{} `type:"structure"` 11529 11530 // The list of container instances with full ARN entries for each container 11531 // instance associated with the specified cluster. 11532 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 11533 11534 // The nextToken value to include in a future ListContainerInstances request. 11535 // When the results of a ListContainerInstances request exceed maxResults, this 11536 // value can be used to retrieve the next page of results. This value is null 11537 // when there are no more results to return. 11538 NextToken *string `locationName:"nextToken" type:"string"` 11539} 11540 11541// String returns the string representation 11542func (s ListContainerInstancesOutput) String() string { 11543 return awsutil.Prettify(s) 11544} 11545 11546// GoString returns the string representation 11547func (s ListContainerInstancesOutput) GoString() string { 11548 return s.String() 11549} 11550 11551// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 11552func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 11553 s.ContainerInstanceArns = v 11554 return s 11555} 11556 11557// SetNextToken sets the NextToken field's value. 11558func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 11559 s.NextToken = &v 11560 return s 11561} 11562 11563type ListServicesInput struct { 11564 _ struct{} `type:"structure"` 11565 11566 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11567 // the services to list. If you do not specify a cluster, the default cluster 11568 // is assumed. 11569 Cluster *string `locationName:"cluster" type:"string"` 11570 11571 // The launch type for the services to list. 11572 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 11573 11574 // The maximum number of service results returned by ListServices in paginated 11575 // output. When this parameter is used, ListServices only returns maxResults 11576 // results in a single page along with a nextToken response element. The remaining 11577 // results of the initial request can be seen by sending another ListServices 11578 // request with the returned nextToken value. This value can be between 1 and 11579 // 100. If this parameter is not used, then ListServices returns up to 10 results 11580 // and a nextToken value if applicable. 11581 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11582 11583 // The nextToken value returned from a ListServices request indicating that 11584 // more results are available to fulfill the request and further calls will 11585 // be needed. If maxResults was provided, it is possible the number of results 11586 // to be fewer than maxResults. 11587 // 11588 // This token should be treated as an opaque identifier that is only used to 11589 // retrieve the next items in a list and not for other programmatic purposes. 11590 NextToken *string `locationName:"nextToken" type:"string"` 11591 11592 // The scheduling strategy for services to list. 11593 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 11594} 11595 11596// String returns the string representation 11597func (s ListServicesInput) String() string { 11598 return awsutil.Prettify(s) 11599} 11600 11601// GoString returns the string representation 11602func (s ListServicesInput) GoString() string { 11603 return s.String() 11604} 11605 11606// SetCluster sets the Cluster field's value. 11607func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 11608 s.Cluster = &v 11609 return s 11610} 11611 11612// SetLaunchType sets the LaunchType field's value. 11613func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 11614 s.LaunchType = &v 11615 return s 11616} 11617 11618// SetMaxResults sets the MaxResults field's value. 11619func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 11620 s.MaxResults = &v 11621 return s 11622} 11623 11624// SetNextToken sets the NextToken field's value. 11625func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 11626 s.NextToken = &v 11627 return s 11628} 11629 11630// SetSchedulingStrategy sets the SchedulingStrategy field's value. 11631func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 11632 s.SchedulingStrategy = &v 11633 return s 11634} 11635 11636type ListServicesOutput struct { 11637 _ struct{} `type:"structure"` 11638 11639 // The nextToken value to include in a future ListServices request. When the 11640 // results of a ListServices request exceed maxResults, this value can be used 11641 // to retrieve the next page of results. This value is null when there are no 11642 // more results to return. 11643 NextToken *string `locationName:"nextToken" type:"string"` 11644 11645 // The list of full ARN entries for each service associated with the specified 11646 // cluster. 11647 ServiceArns []*string `locationName:"serviceArns" type:"list"` 11648} 11649 11650// String returns the string representation 11651func (s ListServicesOutput) String() string { 11652 return awsutil.Prettify(s) 11653} 11654 11655// GoString returns the string representation 11656func (s ListServicesOutput) GoString() string { 11657 return s.String() 11658} 11659 11660// SetNextToken sets the NextToken field's value. 11661func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 11662 s.NextToken = &v 11663 return s 11664} 11665 11666// SetServiceArns sets the ServiceArns field's value. 11667func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 11668 s.ServiceArns = v 11669 return s 11670} 11671 11672type ListTagsForResourceInput struct { 11673 _ struct{} `type:"structure"` 11674 11675 // The Amazon Resource Name (ARN) that identifies the resource for which to 11676 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 11677 // task definitions, clusters, and container instances. 11678 // 11679 // ResourceArn is a required field 11680 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 11681} 11682 11683// String returns the string representation 11684func (s ListTagsForResourceInput) String() string { 11685 return awsutil.Prettify(s) 11686} 11687 11688// GoString returns the string representation 11689func (s ListTagsForResourceInput) GoString() string { 11690 return s.String() 11691} 11692 11693// Validate inspects the fields of the type to determine if they are valid. 11694func (s *ListTagsForResourceInput) Validate() error { 11695 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 11696 if s.ResourceArn == nil { 11697 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 11698 } 11699 11700 if invalidParams.Len() > 0 { 11701 return invalidParams 11702 } 11703 return nil 11704} 11705 11706// SetResourceArn sets the ResourceArn field's value. 11707func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 11708 s.ResourceArn = &v 11709 return s 11710} 11711 11712type ListTagsForResourceOutput struct { 11713 _ struct{} `type:"structure"` 11714 11715 // The tags for the resource. 11716 Tags []*Tag `locationName:"tags" type:"list"` 11717} 11718 11719// String returns the string representation 11720func (s ListTagsForResourceOutput) String() string { 11721 return awsutil.Prettify(s) 11722} 11723 11724// GoString returns the string representation 11725func (s ListTagsForResourceOutput) GoString() string { 11726 return s.String() 11727} 11728 11729// SetTags sets the Tags field's value. 11730func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 11731 s.Tags = v 11732 return s 11733} 11734 11735type ListTaskDefinitionFamiliesInput struct { 11736 _ struct{} `type:"structure"` 11737 11738 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 11739 // If you specify a familyPrefix, only task definition family names that begin 11740 // with the familyPrefix string are returned. 11741 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 11742 11743 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 11744 // in paginated output. When this parameter is used, ListTaskDefinitions only 11745 // returns maxResults results in a single page along with a nextToken response 11746 // element. The remaining results of the initial request can be seen by sending 11747 // another ListTaskDefinitionFamilies request with the returned nextToken value. 11748 // This value can be between 1 and 100. If this parameter is not used, then 11749 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 11750 // if applicable. 11751 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11752 11753 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 11754 // that more results are available to fulfill the request and further calls 11755 // will be needed. If maxResults was provided, it is possible the number of 11756 // results to be fewer than maxResults. 11757 // 11758 // This token should be treated as an opaque identifier that is only used to 11759 // retrieve the next items in a list and not for other programmatic purposes. 11760 NextToken *string `locationName:"nextToken" type:"string"` 11761 11762 // The task definition family status with which to filter the ListTaskDefinitionFamilies 11763 // results. By default, both ACTIVE and INACTIVE task definition families are 11764 // listed. If this parameter is set to ACTIVE, only task definition families 11765 // that have an ACTIVE task definition revision are returned. If this parameter 11766 // is set to INACTIVE, only task definition families that do not have any ACTIVE 11767 // task definition revisions are returned. If you paginate the resulting output, 11768 // be sure to keep the status value constant in each subsequent request. 11769 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 11770} 11771 11772// String returns the string representation 11773func (s ListTaskDefinitionFamiliesInput) String() string { 11774 return awsutil.Prettify(s) 11775} 11776 11777// GoString returns the string representation 11778func (s ListTaskDefinitionFamiliesInput) GoString() string { 11779 return s.String() 11780} 11781 11782// SetFamilyPrefix sets the FamilyPrefix field's value. 11783func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 11784 s.FamilyPrefix = &v 11785 return s 11786} 11787 11788// SetMaxResults sets the MaxResults field's value. 11789func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 11790 s.MaxResults = &v 11791 return s 11792} 11793 11794// SetNextToken sets the NextToken field's value. 11795func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 11796 s.NextToken = &v 11797 return s 11798} 11799 11800// SetStatus sets the Status field's value. 11801func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 11802 s.Status = &v 11803 return s 11804} 11805 11806type ListTaskDefinitionFamiliesOutput struct { 11807 _ struct{} `type:"structure"` 11808 11809 // The list of task definition family names that match the ListTaskDefinitionFamilies 11810 // request. 11811 Families []*string `locationName:"families" type:"list"` 11812 11813 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 11814 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 11815 // this value can be used to retrieve the next page of results. This value is 11816 // null when there are no more results to return. 11817 NextToken *string `locationName:"nextToken" type:"string"` 11818} 11819 11820// String returns the string representation 11821func (s ListTaskDefinitionFamiliesOutput) String() string { 11822 return awsutil.Prettify(s) 11823} 11824 11825// GoString returns the string representation 11826func (s ListTaskDefinitionFamiliesOutput) GoString() string { 11827 return s.String() 11828} 11829 11830// SetFamilies sets the Families field's value. 11831func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 11832 s.Families = v 11833 return s 11834} 11835 11836// SetNextToken sets the NextToken field's value. 11837func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 11838 s.NextToken = &v 11839 return s 11840} 11841 11842type ListTaskDefinitionsInput struct { 11843 _ struct{} `type:"structure"` 11844 11845 // The full family name with which to filter the ListTaskDefinitions results. 11846 // Specifying a familyPrefix limits the listed task definitions to task definition 11847 // revisions that belong to that family. 11848 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 11849 11850 // The maximum number of task definition results returned by ListTaskDefinitions 11851 // in paginated output. When this parameter is used, ListTaskDefinitions only 11852 // returns maxResults results in a single page along with a nextToken response 11853 // element. The remaining results of the initial request can be seen by sending 11854 // another ListTaskDefinitions request with the returned nextToken value. This 11855 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 11856 // returns up to 100 results and a nextToken value if applicable. 11857 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11858 11859 // The nextToken value returned from a ListTaskDefinitions request indicating 11860 // that more results are available to fulfill the request and further calls 11861 // will be needed. If maxResults was provided, it is possible the number of 11862 // results to be fewer than maxResults. 11863 // 11864 // This token should be treated as an opaque identifier that is only used to 11865 // retrieve the next items in a list and not for other programmatic purposes. 11866 NextToken *string `locationName:"nextToken" type:"string"` 11867 11868 // The order in which to sort the results. Valid values are ASC and DESC. By 11869 // default (ASC), task definitions are listed lexicographically by family name 11870 // and in ascending numerical order by revision so that the newest task definitions 11871 // in a family are listed last. Setting this parameter to DESC reverses the 11872 // sort order on family name and revision so that the newest task definitions 11873 // in a family are listed first. 11874 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 11875 11876 // The task definition status with which to filter the ListTaskDefinitions results. 11877 // By default, only ACTIVE task definitions are listed. By setting this parameter 11878 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 11879 // active task or service still references them. If you paginate the resulting 11880 // output, be sure to keep the status value constant in each subsequent request. 11881 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 11882} 11883 11884// String returns the string representation 11885func (s ListTaskDefinitionsInput) String() string { 11886 return awsutil.Prettify(s) 11887} 11888 11889// GoString returns the string representation 11890func (s ListTaskDefinitionsInput) GoString() string { 11891 return s.String() 11892} 11893 11894// SetFamilyPrefix sets the FamilyPrefix field's value. 11895func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 11896 s.FamilyPrefix = &v 11897 return s 11898} 11899 11900// SetMaxResults sets the MaxResults field's value. 11901func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 11902 s.MaxResults = &v 11903 return s 11904} 11905 11906// SetNextToken sets the NextToken field's value. 11907func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 11908 s.NextToken = &v 11909 return s 11910} 11911 11912// SetSort sets the Sort field's value. 11913func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 11914 s.Sort = &v 11915 return s 11916} 11917 11918// SetStatus sets the Status field's value. 11919func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 11920 s.Status = &v 11921 return s 11922} 11923 11924type ListTaskDefinitionsOutput struct { 11925 _ struct{} `type:"structure"` 11926 11927 // The nextToken value to include in a future ListTaskDefinitions request. When 11928 // the results of a ListTaskDefinitions request exceed maxResults, this value 11929 // can be used to retrieve the next page of results. This value is null when 11930 // there are no more results to return. 11931 NextToken *string `locationName:"nextToken" type:"string"` 11932 11933 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 11934 // request. 11935 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 11936} 11937 11938// String returns the string representation 11939func (s ListTaskDefinitionsOutput) String() string { 11940 return awsutil.Prettify(s) 11941} 11942 11943// GoString returns the string representation 11944func (s ListTaskDefinitionsOutput) GoString() string { 11945 return s.String() 11946} 11947 11948// SetNextToken sets the NextToken field's value. 11949func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 11950 s.NextToken = &v 11951 return s 11952} 11953 11954// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 11955func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 11956 s.TaskDefinitionArns = v 11957 return s 11958} 11959 11960type ListTasksInput struct { 11961 _ struct{} `type:"structure"` 11962 11963 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11964 // the tasks to list. If you do not specify a cluster, the default cluster is 11965 // assumed. 11966 Cluster *string `locationName:"cluster" type:"string"` 11967 11968 // The container instance ID or full ARN of the container instance with which 11969 // to filter the ListTasks results. Specifying a containerInstance limits the 11970 // results to tasks that belong to that container instance. 11971 ContainerInstance *string `locationName:"containerInstance" type:"string"` 11972 11973 // The task desired status with which to filter the ListTasks results. Specifying 11974 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 11975 // set the desired status to STOPPED. This can be useful for debugging tasks 11976 // that are not starting properly or have died or finished. The default status 11977 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 11978 // status to RUNNING. 11979 // 11980 // Although you can filter results based on a desired status of PENDING, this 11981 // does not return any results. Amazon ECS never sets the desired status of 11982 // a task to that value (only a task's lastStatus may have a value of PENDING). 11983 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 11984 11985 // The name of the family with which to filter the ListTasks results. Specifying 11986 // a family limits the results to tasks that belong to that family. 11987 Family *string `locationName:"family" type:"string"` 11988 11989 // The launch type for services to list. 11990 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 11991 11992 // The maximum number of task results returned by ListTasks in paginated output. 11993 // When this parameter is used, ListTasks only returns maxResults results in 11994 // a single page along with a nextToken response element. The remaining results 11995 // of the initial request can be seen by sending another ListTasks request with 11996 // the returned nextToken value. This value can be between 1 and 100. If this 11997 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 11998 // value if applicable. 11999 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12000 12001 // The nextToken value returned from a ListTasks request indicating that more 12002 // results are available to fulfill the request and further calls will be needed. 12003 // If maxResults was provided, it is possible the number of results to be fewer 12004 // than maxResults. 12005 // 12006 // This token should be treated as an opaque identifier that is only used to 12007 // retrieve the next items in a list and not for other programmatic purposes. 12008 NextToken *string `locationName:"nextToken" type:"string"` 12009 12010 // The name of the service with which to filter the ListTasks results. Specifying 12011 // a serviceName limits the results to tasks that belong to that service. 12012 ServiceName *string `locationName:"serviceName" type:"string"` 12013 12014 // The startedBy value with which to filter the task results. Specifying a startedBy 12015 // value limits the results to tasks that were started with that value. 12016 StartedBy *string `locationName:"startedBy" type:"string"` 12017} 12018 12019// String returns the string representation 12020func (s ListTasksInput) String() string { 12021 return awsutil.Prettify(s) 12022} 12023 12024// GoString returns the string representation 12025func (s ListTasksInput) GoString() string { 12026 return s.String() 12027} 12028 12029// SetCluster sets the Cluster field's value. 12030func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 12031 s.Cluster = &v 12032 return s 12033} 12034 12035// SetContainerInstance sets the ContainerInstance field's value. 12036func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 12037 s.ContainerInstance = &v 12038 return s 12039} 12040 12041// SetDesiredStatus sets the DesiredStatus field's value. 12042func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 12043 s.DesiredStatus = &v 12044 return s 12045} 12046 12047// SetFamily sets the Family field's value. 12048func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 12049 s.Family = &v 12050 return s 12051} 12052 12053// SetLaunchType sets the LaunchType field's value. 12054func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 12055 s.LaunchType = &v 12056 return s 12057} 12058 12059// SetMaxResults sets the MaxResults field's value. 12060func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 12061 s.MaxResults = &v 12062 return s 12063} 12064 12065// SetNextToken sets the NextToken field's value. 12066func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 12067 s.NextToken = &v 12068 return s 12069} 12070 12071// SetServiceName sets the ServiceName field's value. 12072func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 12073 s.ServiceName = &v 12074 return s 12075} 12076 12077// SetStartedBy sets the StartedBy field's value. 12078func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 12079 s.StartedBy = &v 12080 return s 12081} 12082 12083type ListTasksOutput struct { 12084 _ struct{} `type:"structure"` 12085 12086 // The nextToken value to include in a future ListTasks request. When the results 12087 // of a ListTasks request exceed maxResults, this value can be used to retrieve 12088 // the next page of results. This value is null when there are no more results 12089 // to return. 12090 NextToken *string `locationName:"nextToken" type:"string"` 12091 12092 // The list of task ARN entries for the ListTasks request. 12093 TaskArns []*string `locationName:"taskArns" type:"list"` 12094} 12095 12096// String returns the string representation 12097func (s ListTasksOutput) String() string { 12098 return awsutil.Prettify(s) 12099} 12100 12101// GoString returns the string representation 12102func (s ListTasksOutput) GoString() string { 12103 return s.String() 12104} 12105 12106// SetNextToken sets the NextToken field's value. 12107func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 12108 s.NextToken = &v 12109 return s 12110} 12111 12112// SetTaskArns sets the TaskArns field's value. 12113func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 12114 s.TaskArns = v 12115 return s 12116} 12117 12118// Details on the load balancer or load balancers to use with a service or task 12119// set. 12120type LoadBalancer struct { 12121 _ struct{} `type:"structure"` 12122 12123 // The name of the container (as it appears in a container definition) to associate 12124 // with the load balancer. 12125 ContainerName *string `locationName:"containerName" type:"string"` 12126 12127 // The port on the container to associate with the load balancer. This port 12128 // must correspond to a containerPort in the task definition the tasks in the 12129 // service are using. For tasks that use the EC2 launch type, the container 12130 // instance they are launched on must allow ingress traffic on the hostPort 12131 // of the port mapping. 12132 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 12133 12134 // The name of the load balancer to associate with the Amazon ECS service or 12135 // task set. 12136 // 12137 // A load balancer name is only specified when using a Classic Load Balancer. 12138 // If you are using an Application Load Balancer or a Network Load Balancer 12139 // this should be omitted. 12140 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 12141 12142 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 12143 // group or groups associated with a service or task set. 12144 // 12145 // A target group ARN is only specified when using an Application Load Balancer 12146 // or Network Load Balancer. If you are using a Classic Load Balancer this should 12147 // be omitted. 12148 // 12149 // For services using the ECS deployment controller, you can specify one or 12150 // multiple target groups. For more information, see Registering Multiple Target 12151 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 12152 // in the Amazon Elastic Container Service Developer Guide. 12153 // 12154 // For services using the CODE_DEPLOY deployment controller, you are required 12155 // to define two target groups for the load balancer. For more information, 12156 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 12157 // in the Amazon Elastic Container Service Developer Guide. 12158 // 12159 // If your service's task definition uses the awsvpc network mode (which is 12160 // required for the Fargate launch type), you must choose ip as the target type, 12161 // not instance, when creating your target groups because tasks that use the 12162 // awsvpc network mode are associated with an elastic network interface, not 12163 // an Amazon EC2 instance. 12164 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 12165} 12166 12167// String returns the string representation 12168func (s LoadBalancer) String() string { 12169 return awsutil.Prettify(s) 12170} 12171 12172// GoString returns the string representation 12173func (s LoadBalancer) GoString() string { 12174 return s.String() 12175} 12176 12177// SetContainerName sets the ContainerName field's value. 12178func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 12179 s.ContainerName = &v 12180 return s 12181} 12182 12183// SetContainerPort sets the ContainerPort field's value. 12184func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 12185 s.ContainerPort = &v 12186 return s 12187} 12188 12189// SetLoadBalancerName sets the LoadBalancerName field's value. 12190func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 12191 s.LoadBalancerName = &v 12192 return s 12193} 12194 12195// SetTargetGroupArn sets the TargetGroupArn field's value. 12196func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 12197 s.TargetGroupArn = &v 12198 return s 12199} 12200 12201// Log configuration options to send to a custom log driver for the container. 12202type LogConfiguration struct { 12203 _ struct{} `type:"structure"` 12204 12205 // The log driver to use for the container. The valid values listed for this 12206 // parameter are log drivers that the Amazon ECS container agent can communicate 12207 // with by default. 12208 // 12209 // For tasks using the Fargate launch type, the supported log drivers are awslogs 12210 // and splunk. 12211 // 12212 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 12213 // fluentd, gelf, json-file, journald, logentries, syslog, and splunk. 12214 // 12215 // For more information about using the awslogs log driver, see Using the awslogs 12216 // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 12217 // in the Amazon Elastic Container Service Developer Guide. 12218 // 12219 // If you have a custom driver that is not listed above that you would like 12220 // to work with the Amazon ECS container agent, you can fork the Amazon ECS 12221 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 12222 // and customize it to work with that driver. We encourage you to submit pull 12223 // requests for changes that you would like to have included. However, Amazon 12224 // Web Services does not currently support running modified copies of this software. 12225 // 12226 // This parameter requires version 1.18 of the Docker Remote API or greater 12227 // on your container instance. To check the Docker Remote API version on your 12228 // container instance, log in to your container instance and run the following 12229 // command: sudo docker version --format '{{.Server.APIVersion}}' 12230 // 12231 // LogDriver is a required field 12232 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 12233 12234 // The configuration options to send to the log driver. This parameter requires 12235 // version 1.19 of the Docker Remote API or greater on your container instance. 12236 // To check the Docker Remote API version on your container instance, log in 12237 // to your container instance and run the following command: sudo docker version 12238 // --format '{{.Server.APIVersion}}' 12239 Options map[string]*string `locationName:"options" type:"map"` 12240 12241 // The secrets to pass to the log configuration. For more information, see Specifying 12242 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 12243 // in the Amazon Elastic Container Service Developer Guide. 12244 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 12245} 12246 12247// String returns the string representation 12248func (s LogConfiguration) String() string { 12249 return awsutil.Prettify(s) 12250} 12251 12252// GoString returns the string representation 12253func (s LogConfiguration) GoString() string { 12254 return s.String() 12255} 12256 12257// Validate inspects the fields of the type to determine if they are valid. 12258func (s *LogConfiguration) Validate() error { 12259 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 12260 if s.LogDriver == nil { 12261 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 12262 } 12263 if s.SecretOptions != nil { 12264 for i, v := range s.SecretOptions { 12265 if v == nil { 12266 continue 12267 } 12268 if err := v.Validate(); err != nil { 12269 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 12270 } 12271 } 12272 } 12273 12274 if invalidParams.Len() > 0 { 12275 return invalidParams 12276 } 12277 return nil 12278} 12279 12280// SetLogDriver sets the LogDriver field's value. 12281func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 12282 s.LogDriver = &v 12283 return s 12284} 12285 12286// SetOptions sets the Options field's value. 12287func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 12288 s.Options = v 12289 return s 12290} 12291 12292// SetSecretOptions sets the SecretOptions field's value. 12293func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 12294 s.SecretOptions = v 12295 return s 12296} 12297 12298// The managed scaling settings for the Auto Scaling group capacity provider. 12299// 12300// When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 12301// actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 12302// policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 12303// value as the target value for the metric. For more information, see Using 12304// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 12305// in the Amazon Elastic Container Service Developer Guide. 12306// 12307// If managed scaling is disabled, the user must manage the scaling of the Auto 12308// Scaling group. 12309type ManagedScaling struct { 12310 _ struct{} `type:"structure"` 12311 12312 // The maximum number of container instances that Amazon ECS will scale in or 12313 // scale out at one time. If this parameter is omitted, the default value of 12314 // 10000 is used. 12315 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 12316 12317 // The minimum number of container instances that Amazon ECS will scale in or 12318 // scale out at one time. If this parameter is omitted, the default value of 12319 // 1 is used. 12320 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 12321 12322 // Whether or not to enable managed scaling for the capacity provider. 12323 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 12324 12325 // The target capacity value for the capacity provider. The specified value 12326 // must be greater than 0 and less than or equal to 100. A value of 100 will 12327 // result in the Amazon EC2 instances in your Auto Scaling group being completely 12328 // utilized. 12329 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 12330} 12331 12332// String returns the string representation 12333func (s ManagedScaling) String() string { 12334 return awsutil.Prettify(s) 12335} 12336 12337// GoString returns the string representation 12338func (s ManagedScaling) GoString() string { 12339 return s.String() 12340} 12341 12342// Validate inspects the fields of the type to determine if they are valid. 12343func (s *ManagedScaling) Validate() error { 12344 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 12345 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 12346 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 12347 } 12348 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 12349 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 12350 } 12351 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 12352 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 12353 } 12354 12355 if invalidParams.Len() > 0 { 12356 return invalidParams 12357 } 12358 return nil 12359} 12360 12361// SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 12362func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 12363 s.MaximumScalingStepSize = &v 12364 return s 12365} 12366 12367// SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 12368func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 12369 s.MinimumScalingStepSize = &v 12370 return s 12371} 12372 12373// SetStatus sets the Status field's value. 12374func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 12375 s.Status = &v 12376 return s 12377} 12378 12379// SetTargetCapacity sets the TargetCapacity field's value. 12380func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 12381 s.TargetCapacity = &v 12382 return s 12383} 12384 12385// Details on a volume mount point that is used in a container definition. 12386type MountPoint struct { 12387 _ struct{} `type:"structure"` 12388 12389 // The path on the container to mount the host volume at. 12390 ContainerPath *string `locationName:"containerPath" type:"string"` 12391 12392 // If this value is true, the container has read-only access to the volume. 12393 // If this value is false, then the container can write to the volume. The default 12394 // value is false. 12395 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 12396 12397 // The name of the volume to mount. Must be a volume name referenced in the 12398 // name parameter of task definition volume. 12399 SourceVolume *string `locationName:"sourceVolume" type:"string"` 12400} 12401 12402// String returns the string representation 12403func (s MountPoint) String() string { 12404 return awsutil.Prettify(s) 12405} 12406 12407// GoString returns the string representation 12408func (s MountPoint) GoString() string { 12409 return s.String() 12410} 12411 12412// SetContainerPath sets the ContainerPath field's value. 12413func (s *MountPoint) SetContainerPath(v string) *MountPoint { 12414 s.ContainerPath = &v 12415 return s 12416} 12417 12418// SetReadOnly sets the ReadOnly field's value. 12419func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 12420 s.ReadOnly = &v 12421 return s 12422} 12423 12424// SetSourceVolume sets the SourceVolume field's value. 12425func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 12426 s.SourceVolume = &v 12427 return s 12428} 12429 12430// Details on the network bindings between a container and its host container 12431// instance. After a task reaches the RUNNING status, manual and automatic host 12432// and container port assignments are visible in the networkBindings section 12433// of DescribeTasks API responses. 12434type NetworkBinding struct { 12435 _ struct{} `type:"structure"` 12436 12437 // The IP address that the container is bound to on the container instance. 12438 BindIP *string `locationName:"bindIP" type:"string"` 12439 12440 // The port number on the container that is used with the network binding. 12441 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 12442 12443 // The port number on the host that is used with the network binding. 12444 HostPort *int64 `locationName:"hostPort" type:"integer"` 12445 12446 // The protocol used for the network binding. 12447 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 12448} 12449 12450// String returns the string representation 12451func (s NetworkBinding) String() string { 12452 return awsutil.Prettify(s) 12453} 12454 12455// GoString returns the string representation 12456func (s NetworkBinding) GoString() string { 12457 return s.String() 12458} 12459 12460// SetBindIP sets the BindIP field's value. 12461func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 12462 s.BindIP = &v 12463 return s 12464} 12465 12466// SetContainerPort sets the ContainerPort field's value. 12467func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 12468 s.ContainerPort = &v 12469 return s 12470} 12471 12472// SetHostPort sets the HostPort field's value. 12473func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 12474 s.HostPort = &v 12475 return s 12476} 12477 12478// SetProtocol sets the Protocol field's value. 12479func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 12480 s.Protocol = &v 12481 return s 12482} 12483 12484// An object representing the network configuration for a task or service. 12485type NetworkConfiguration struct { 12486 _ struct{} `type:"structure"` 12487 12488 // The VPC subnets and security groups associated with a task. 12489 // 12490 // All specified subnets and security groups must be from the same VPC. 12491 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 12492} 12493 12494// String returns the string representation 12495func (s NetworkConfiguration) String() string { 12496 return awsutil.Prettify(s) 12497} 12498 12499// GoString returns the string representation 12500func (s NetworkConfiguration) GoString() string { 12501 return s.String() 12502} 12503 12504// Validate inspects the fields of the type to determine if they are valid. 12505func (s *NetworkConfiguration) Validate() error { 12506 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 12507 if s.AwsvpcConfiguration != nil { 12508 if err := s.AwsvpcConfiguration.Validate(); err != nil { 12509 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 12510 } 12511 } 12512 12513 if invalidParams.Len() > 0 { 12514 return invalidParams 12515 } 12516 return nil 12517} 12518 12519// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 12520func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 12521 s.AwsvpcConfiguration = v 12522 return s 12523} 12524 12525// An object representing the elastic network interface for tasks that use the 12526// awsvpc network mode. 12527type NetworkInterface struct { 12528 _ struct{} `type:"structure"` 12529 12530 // The attachment ID for the network interface. 12531 AttachmentId *string `locationName:"attachmentId" type:"string"` 12532 12533 // The private IPv6 address for the network interface. 12534 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 12535 12536 // The private IPv4 address for the network interface. 12537 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 12538} 12539 12540// String returns the string representation 12541func (s NetworkInterface) String() string { 12542 return awsutil.Prettify(s) 12543} 12544 12545// GoString returns the string representation 12546func (s NetworkInterface) GoString() string { 12547 return s.String() 12548} 12549 12550// SetAttachmentId sets the AttachmentId field's value. 12551func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 12552 s.AttachmentId = &v 12553 return s 12554} 12555 12556// SetIpv6Address sets the Ipv6Address field's value. 12557func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 12558 s.Ipv6Address = &v 12559 return s 12560} 12561 12562// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 12563func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 12564 s.PrivateIpv4Address = &v 12565 return s 12566} 12567 12568// An object representing a constraint on task placement. For more information, 12569// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 12570// in the Amazon Elastic Container Service Developer Guide. 12571// 12572// If you are using the Fargate launch type, task placement constraints are 12573// not supported. 12574type PlacementConstraint struct { 12575 _ struct{} `type:"structure"` 12576 12577 // A cluster query language expression to apply to the constraint. You cannot 12578 // specify an expression if the constraint type is distinctInstance. For more 12579 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 12580 // in the Amazon Elastic Container Service Developer Guide. 12581 Expression *string `locationName:"expression" type:"string"` 12582 12583 // The type of constraint. Use distinctInstance to ensure that each task in 12584 // a particular group is running on a different container instance. Use memberOf 12585 // to restrict the selection to a group of valid candidates. 12586 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 12587} 12588 12589// String returns the string representation 12590func (s PlacementConstraint) String() string { 12591 return awsutil.Prettify(s) 12592} 12593 12594// GoString returns the string representation 12595func (s PlacementConstraint) GoString() string { 12596 return s.String() 12597} 12598 12599// SetExpression sets the Expression field's value. 12600func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 12601 s.Expression = &v 12602 return s 12603} 12604 12605// SetType sets the Type field's value. 12606func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 12607 s.Type = &v 12608 return s 12609} 12610 12611// The task placement strategy for a task or service. For more information, 12612// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 12613// in the Amazon Elastic Container Service Developer Guide. 12614type PlacementStrategy struct { 12615 _ struct{} `type:"structure"` 12616 12617 // The field to apply the placement strategy against. For the spread placement 12618 // strategy, valid values are instanceId (or host, which has the same effect), 12619 // or any platform or custom attribute that is applied to a container instance, 12620 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 12621 // valid values are cpu and memory. For the random placement strategy, this 12622 // field is not used. 12623 Field *string `locationName:"field" type:"string"` 12624 12625 // The type of placement strategy. The random placement strategy randomly places 12626 // tasks on available candidates. The spread placement strategy spreads placement 12627 // across available candidates evenly based on the field parameter. The binpack 12628 // strategy places tasks on available candidates that have the least available 12629 // amount of the resource that is specified with the field parameter. For example, 12630 // if you binpack on memory, a task is placed on the instance with the least 12631 // amount of remaining memory (but still enough to run the task). 12632 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 12633} 12634 12635// String returns the string representation 12636func (s PlacementStrategy) String() string { 12637 return awsutil.Prettify(s) 12638} 12639 12640// GoString returns the string representation 12641func (s PlacementStrategy) GoString() string { 12642 return s.String() 12643} 12644 12645// SetField sets the Field field's value. 12646func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 12647 s.Field = &v 12648 return s 12649} 12650 12651// SetType sets the Type field's value. 12652func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 12653 s.Type = &v 12654 return s 12655} 12656 12657// The devices that are available on the container instance. The only supported 12658// device type is a GPU. 12659type PlatformDevice struct { 12660 _ struct{} `type:"structure"` 12661 12662 // The ID for the GPU(s) on the container instance. The available GPU IDs can 12663 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 12664 // file. 12665 // 12666 // Id is a required field 12667 Id *string `locationName:"id" type:"string" required:"true"` 12668 12669 // The type of device that is available on the container instance. The only 12670 // supported value is GPU. 12671 // 12672 // Type is a required field 12673 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 12674} 12675 12676// String returns the string representation 12677func (s PlatformDevice) String() string { 12678 return awsutil.Prettify(s) 12679} 12680 12681// GoString returns the string representation 12682func (s PlatformDevice) GoString() string { 12683 return s.String() 12684} 12685 12686// Validate inspects the fields of the type to determine if they are valid. 12687func (s *PlatformDevice) Validate() error { 12688 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 12689 if s.Id == nil { 12690 invalidParams.Add(request.NewErrParamRequired("Id")) 12691 } 12692 if s.Type == nil { 12693 invalidParams.Add(request.NewErrParamRequired("Type")) 12694 } 12695 12696 if invalidParams.Len() > 0 { 12697 return invalidParams 12698 } 12699 return nil 12700} 12701 12702// SetId sets the Id field's value. 12703func (s *PlatformDevice) SetId(v string) *PlatformDevice { 12704 s.Id = &v 12705 return s 12706} 12707 12708// SetType sets the Type field's value. 12709func (s *PlatformDevice) SetType(v string) *PlatformDevice { 12710 s.Type = &v 12711 return s 12712} 12713 12714// Port mappings allow containers to access ports on the host container instance 12715// to send or receive traffic. Port mappings are specified as part of the container 12716// definition. 12717// 12718// If you are using containers in a task with the awsvpc or host network mode, 12719// exposed ports should be specified using containerPort. The hostPort can be 12720// left blank or it must be the same value as the containerPort. 12721// 12722// After a task reaches the RUNNING status, manual and automatic host and container 12723// port assignments are visible in the networkBindings section of DescribeTasks 12724// API responses. 12725type PortMapping struct { 12726 _ struct{} `type:"structure"` 12727 12728 // The port number on the container that is bound to the user-specified or automatically 12729 // assigned host port. 12730 // 12731 // If you are using containers in a task with the awsvpc or host network mode, 12732 // exposed ports should be specified using containerPort. 12733 // 12734 // If you are using containers in a task with the bridge network mode and you 12735 // specify a container port and not a host port, your container automatically 12736 // receives a host port in the ephemeral port range. For more information, see 12737 // hostPort. Port mappings that are automatically assigned in this way do not 12738 // count toward the 100 reserved ports limit of a container instance. 12739 // 12740 // You cannot expose the same container port for multiple protocols. An error 12741 // will be returned if this is attempted. 12742 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 12743 12744 // The port number on the container instance to reserve for your container. 12745 // 12746 // If you are using containers in a task with the awsvpc or host network mode, 12747 // the hostPort can either be left blank or set to the same value as the containerPort. 12748 // 12749 // If you are using containers in a task with the bridge network mode, you can 12750 // specify a non-reserved host port for your container port mapping, or you 12751 // can omit the hostPort (or set it to 0) while specifying a containerPort and 12752 // your container automatically receives a port in the ephemeral port range 12753 // for your container instance operating system and Docker version. 12754 // 12755 // The default ephemeral port range for Docker version 1.6.0 and later is listed 12756 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 12757 // parameter is unavailable, the default ephemeral port range from 49153 through 12758 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 12759 // range as these are reserved for automatic assignment. In general, ports below 12760 // 32768 are outside of the ephemeral port range. 12761 // 12762 // The default ephemeral port range from 49153 through 65535 is always used 12763 // for Docker versions before 1.6.0. 12764 // 12765 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 12766 // and the Amazon ECS container agent ports 51678-51680. Any host port that 12767 // was previously specified in a running task is also reserved while the task 12768 // is running (after a task stops, the host port is released). The current reserved 12769 // ports are displayed in the remainingResources of DescribeContainerInstances 12770 // output. A container instance can have up to 100 reserved ports at a time, 12771 // including the default reserved ports. Automatically assigned ports don't 12772 // count toward the 100 reserved ports limit. 12773 HostPort *int64 `locationName:"hostPort" type:"integer"` 12774 12775 // The protocol used for the port mapping. Valid values are tcp and udp. The 12776 // default is tcp. 12777 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 12778} 12779 12780// String returns the string representation 12781func (s PortMapping) String() string { 12782 return awsutil.Prettify(s) 12783} 12784 12785// GoString returns the string representation 12786func (s PortMapping) GoString() string { 12787 return s.String() 12788} 12789 12790// SetContainerPort sets the ContainerPort field's value. 12791func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 12792 s.ContainerPort = &v 12793 return s 12794} 12795 12796// SetHostPort sets the HostPort field's value. 12797func (s *PortMapping) SetHostPort(v int64) *PortMapping { 12798 s.HostPort = &v 12799 return s 12800} 12801 12802// SetProtocol sets the Protocol field's value. 12803func (s *PortMapping) SetProtocol(v string) *PortMapping { 12804 s.Protocol = &v 12805 return s 12806} 12807 12808// The configuration details for the App Mesh proxy. 12809// 12810// For tasks using the EC2 launch type, the container instances require at least 12811// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 12812// ecs-init package to enable a proxy configuration. If your container instances 12813// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 12814// then they contain the required versions of the container agent and ecs-init. 12815// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 12816// in the Amazon Elastic Container Service Developer Guide. 12817// 12818// For tasks using the Fargate launch type, the task or service requires platform 12819// version 1.3.0 or later. 12820type ProxyConfiguration struct { 12821 _ struct{} `type:"structure"` 12822 12823 // The name of the container that will serve as the App Mesh proxy. 12824 // 12825 // ContainerName is a required field 12826 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 12827 12828 // The set of network configuration parameters to provide the Container Network 12829 // Interface (CNI) plugin, specified as key-value pairs. 12830 // 12831 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 12832 // defined by the user parameter in a container definition. This is used 12833 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 12834 // this field can be empty. 12835 // 12836 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 12837 // defined by the user parameter in a container definition. This is used 12838 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 12839 // this field can be empty. 12840 // 12841 // * AppPorts - (Required) The list of ports that the application uses. Network 12842 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 12843 // 12844 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 12845 // to the AppPorts is directed to. 12846 // 12847 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 12848 // from the AppPorts is directed to. 12849 // 12850 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 12851 // ports is ignored and not redirected to the ProxyEgressPort. It can be 12852 // an empty list. 12853 // 12854 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 12855 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 12856 // can be an empty list. 12857 Properties []*KeyValuePair `locationName:"properties" type:"list"` 12858 12859 // The proxy type. The only supported value is APPMESH. 12860 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 12861} 12862 12863// String returns the string representation 12864func (s ProxyConfiguration) String() string { 12865 return awsutil.Prettify(s) 12866} 12867 12868// GoString returns the string representation 12869func (s ProxyConfiguration) GoString() string { 12870 return s.String() 12871} 12872 12873// Validate inspects the fields of the type to determine if they are valid. 12874func (s *ProxyConfiguration) Validate() error { 12875 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 12876 if s.ContainerName == nil { 12877 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 12878 } 12879 12880 if invalidParams.Len() > 0 { 12881 return invalidParams 12882 } 12883 return nil 12884} 12885 12886// SetContainerName sets the ContainerName field's value. 12887func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 12888 s.ContainerName = &v 12889 return s 12890} 12891 12892// SetProperties sets the Properties field's value. 12893func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 12894 s.Properties = v 12895 return s 12896} 12897 12898// SetType sets the Type field's value. 12899func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 12900 s.Type = &v 12901 return s 12902} 12903 12904type PutAccountSettingDefaultInput struct { 12905 _ struct{} `type:"structure"` 12906 12907 // The resource name for which to modify the account setting. If serviceLongArnFormat 12908 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 12909 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 12910 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 12911 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 12912 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 12913 // is specified, the default setting for CloudWatch Container Insights for your 12914 // clusters is affected. 12915 // 12916 // Name is a required field 12917 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 12918 12919 // The account setting value for the specified principal ARN. Accepted values 12920 // are enabled and disabled. 12921 // 12922 // Value is a required field 12923 Value *string `locationName:"value" type:"string" required:"true"` 12924} 12925 12926// String returns the string representation 12927func (s PutAccountSettingDefaultInput) String() string { 12928 return awsutil.Prettify(s) 12929} 12930 12931// GoString returns the string representation 12932func (s PutAccountSettingDefaultInput) GoString() string { 12933 return s.String() 12934} 12935 12936// Validate inspects the fields of the type to determine if they are valid. 12937func (s *PutAccountSettingDefaultInput) Validate() error { 12938 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 12939 if s.Name == nil { 12940 invalidParams.Add(request.NewErrParamRequired("Name")) 12941 } 12942 if s.Value == nil { 12943 invalidParams.Add(request.NewErrParamRequired("Value")) 12944 } 12945 12946 if invalidParams.Len() > 0 { 12947 return invalidParams 12948 } 12949 return nil 12950} 12951 12952// SetName sets the Name field's value. 12953func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 12954 s.Name = &v 12955 return s 12956} 12957 12958// SetValue sets the Value field's value. 12959func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 12960 s.Value = &v 12961 return s 12962} 12963 12964type PutAccountSettingDefaultOutput struct { 12965 _ struct{} `type:"structure"` 12966 12967 // The current account setting for a resource. 12968 Setting *Setting `locationName:"setting" type:"structure"` 12969} 12970 12971// String returns the string representation 12972func (s PutAccountSettingDefaultOutput) String() string { 12973 return awsutil.Prettify(s) 12974} 12975 12976// GoString returns the string representation 12977func (s PutAccountSettingDefaultOutput) GoString() string { 12978 return s.String() 12979} 12980 12981// SetSetting sets the Setting field's value. 12982func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 12983 s.Setting = v 12984 return s 12985} 12986 12987type PutAccountSettingInput struct { 12988 _ struct{} `type:"structure"` 12989 12990 // The Amazon ECS resource name for which to modify the account setting. If 12991 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 12992 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 12993 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 12994 // the ARN and resource ID for your Amazon ECS container instances is affected. 12995 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 12996 // for your Amazon ECS container instances is affected. If containerInsights 12997 // is specified, the default setting for CloudWatch Container Insights for your 12998 // clusters is affected. 12999 // 13000 // Name is a required field 13001 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 13002 13003 // The ARN of the principal, which can be an IAM user, IAM role, or the root 13004 // user. If you specify the root user, it modifies the account setting for all 13005 // IAM users, IAM roles, and the root user of the account unless an IAM user 13006 // or role explicitly overrides these settings. If this field is omitted, the 13007 // setting is changed only for the authenticated user. 13008 PrincipalArn *string `locationName:"principalArn" type:"string"` 13009 13010 // The account setting value for the specified principal ARN. Accepted values 13011 // are enabled and disabled. 13012 // 13013 // Value is a required field 13014 Value *string `locationName:"value" type:"string" required:"true"` 13015} 13016 13017// String returns the string representation 13018func (s PutAccountSettingInput) String() string { 13019 return awsutil.Prettify(s) 13020} 13021 13022// GoString returns the string representation 13023func (s PutAccountSettingInput) GoString() string { 13024 return s.String() 13025} 13026 13027// Validate inspects the fields of the type to determine if they are valid. 13028func (s *PutAccountSettingInput) Validate() error { 13029 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 13030 if s.Name == nil { 13031 invalidParams.Add(request.NewErrParamRequired("Name")) 13032 } 13033 if s.Value == nil { 13034 invalidParams.Add(request.NewErrParamRequired("Value")) 13035 } 13036 13037 if invalidParams.Len() > 0 { 13038 return invalidParams 13039 } 13040 return nil 13041} 13042 13043// SetName sets the Name field's value. 13044func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 13045 s.Name = &v 13046 return s 13047} 13048 13049// SetPrincipalArn sets the PrincipalArn field's value. 13050func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 13051 s.PrincipalArn = &v 13052 return s 13053} 13054 13055// SetValue sets the Value field's value. 13056func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 13057 s.Value = &v 13058 return s 13059} 13060 13061type PutAccountSettingOutput struct { 13062 _ struct{} `type:"structure"` 13063 13064 // The current account setting for a resource. 13065 Setting *Setting `locationName:"setting" type:"structure"` 13066} 13067 13068// String returns the string representation 13069func (s PutAccountSettingOutput) String() string { 13070 return awsutil.Prettify(s) 13071} 13072 13073// GoString returns the string representation 13074func (s PutAccountSettingOutput) GoString() string { 13075 return s.String() 13076} 13077 13078// SetSetting sets the Setting field's value. 13079func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 13080 s.Setting = v 13081 return s 13082} 13083 13084type PutAttributesInput struct { 13085 _ struct{} `type:"structure"` 13086 13087 // The attributes to apply to your resource. You can specify up to 10 custom 13088 // attributes per resource. You can specify up to 10 attributes in a single 13089 // call. 13090 // 13091 // Attributes is a required field 13092 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 13093 13094 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 13095 // the resource to apply attributes. If you do not specify a cluster, the default 13096 // cluster is assumed. 13097 Cluster *string `locationName:"cluster" type:"string"` 13098} 13099 13100// String returns the string representation 13101func (s PutAttributesInput) String() string { 13102 return awsutil.Prettify(s) 13103} 13104 13105// GoString returns the string representation 13106func (s PutAttributesInput) GoString() string { 13107 return s.String() 13108} 13109 13110// Validate inspects the fields of the type to determine if they are valid. 13111func (s *PutAttributesInput) Validate() error { 13112 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 13113 if s.Attributes == nil { 13114 invalidParams.Add(request.NewErrParamRequired("Attributes")) 13115 } 13116 if s.Attributes != nil { 13117 for i, v := range s.Attributes { 13118 if v == nil { 13119 continue 13120 } 13121 if err := v.Validate(); err != nil { 13122 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 13123 } 13124 } 13125 } 13126 13127 if invalidParams.Len() > 0 { 13128 return invalidParams 13129 } 13130 return nil 13131} 13132 13133// SetAttributes sets the Attributes field's value. 13134func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 13135 s.Attributes = v 13136 return s 13137} 13138 13139// SetCluster sets the Cluster field's value. 13140func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 13141 s.Cluster = &v 13142 return s 13143} 13144 13145type PutAttributesOutput struct { 13146 _ struct{} `type:"structure"` 13147 13148 // The attributes applied to your resource. 13149 Attributes []*Attribute `locationName:"attributes" type:"list"` 13150} 13151 13152// String returns the string representation 13153func (s PutAttributesOutput) String() string { 13154 return awsutil.Prettify(s) 13155} 13156 13157// GoString returns the string representation 13158func (s PutAttributesOutput) GoString() string { 13159 return s.String() 13160} 13161 13162// SetAttributes sets the Attributes field's value. 13163func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 13164 s.Attributes = v 13165 return s 13166} 13167 13168type PutClusterCapacityProvidersInput struct { 13169 _ struct{} `type:"structure"` 13170 13171 // The short name or full Amazon Resource Name (ARN) of one or more capacity 13172 // providers to associate with the cluster. 13173 // 13174 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 13175 // provider must already be created. New capacity providers can be created with 13176 // the CreateCapacityProvider API operation. 13177 // 13178 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 13179 // capacity providers. The AWS Fargate capacity providers are available to all 13180 // accounts and only need to be associated with a cluster to be used. 13181 // 13182 // CapacityProviders is a required field 13183 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 13184 13185 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 13186 // the capacity provider settings for. If you do not specify a cluster, the 13187 // default cluster is assumed. 13188 // 13189 // Cluster is a required field 13190 Cluster *string `locationName:"cluster" type:"string" required:"true"` 13191 13192 // The capacity provider strategy to use by default for the cluster. 13193 // 13194 // When creating a service or running a task on a cluster, if no capacity provider 13195 // or launch type is specified then the default capacity provider strategy for 13196 // the cluster is used. 13197 // 13198 // A capacity provider strategy consists of one or more capacity providers along 13199 // with the base and weight to assign to them. A capacity provider must be associated 13200 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 13201 // API is used to associate a capacity provider with a cluster. Only capacity 13202 // providers with an ACTIVE or UPDATING status can be used. 13203 // 13204 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 13205 // provider must already be created. New capacity providers can be created with 13206 // the CreateCapacityProvider API operation. 13207 // 13208 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 13209 // capacity providers. The AWS Fargate capacity providers are available to all 13210 // accounts and only need to be associated with a cluster to be used. 13211 // 13212 // DefaultCapacityProviderStrategy is a required field 13213 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 13214} 13215 13216// String returns the string representation 13217func (s PutClusterCapacityProvidersInput) String() string { 13218 return awsutil.Prettify(s) 13219} 13220 13221// GoString returns the string representation 13222func (s PutClusterCapacityProvidersInput) GoString() string { 13223 return s.String() 13224} 13225 13226// Validate inspects the fields of the type to determine if they are valid. 13227func (s *PutClusterCapacityProvidersInput) Validate() error { 13228 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 13229 if s.CapacityProviders == nil { 13230 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 13231 } 13232 if s.Cluster == nil { 13233 invalidParams.Add(request.NewErrParamRequired("Cluster")) 13234 } 13235 if s.DefaultCapacityProviderStrategy == nil { 13236 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 13237 } 13238 if s.DefaultCapacityProviderStrategy != nil { 13239 for i, v := range s.DefaultCapacityProviderStrategy { 13240 if v == nil { 13241 continue 13242 } 13243 if err := v.Validate(); err != nil { 13244 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 13245 } 13246 } 13247 } 13248 13249 if invalidParams.Len() > 0 { 13250 return invalidParams 13251 } 13252 return nil 13253} 13254 13255// SetCapacityProviders sets the CapacityProviders field's value. 13256func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 13257 s.CapacityProviders = v 13258 return s 13259} 13260 13261// SetCluster sets the Cluster field's value. 13262func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 13263 s.Cluster = &v 13264 return s 13265} 13266 13267// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 13268func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 13269 s.DefaultCapacityProviderStrategy = v 13270 return s 13271} 13272 13273type PutClusterCapacityProvidersOutput struct { 13274 _ struct{} `type:"structure"` 13275 13276 // A regional grouping of one or more container instances on which you can run 13277 // task requests. Each account receives a default cluster the first time you 13278 // use the Amazon ECS service, but you may also create other clusters. Clusters 13279 // may contain more than one instance type simultaneously. 13280 Cluster *Cluster `locationName:"cluster" type:"structure"` 13281} 13282 13283// String returns the string representation 13284func (s PutClusterCapacityProvidersOutput) String() string { 13285 return awsutil.Prettify(s) 13286} 13287 13288// GoString returns the string representation 13289func (s PutClusterCapacityProvidersOutput) GoString() string { 13290 return s.String() 13291} 13292 13293// SetCluster sets the Cluster field's value. 13294func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 13295 s.Cluster = v 13296 return s 13297} 13298 13299type RegisterContainerInstanceInput struct { 13300 _ struct{} `type:"structure"` 13301 13302 // The container instance attributes that this container instance supports. 13303 Attributes []*Attribute `locationName:"attributes" type:"list"` 13304 13305 // The short name or full Amazon Resource Name (ARN) of the cluster with which 13306 // to register your container instance. If you do not specify a cluster, the 13307 // default cluster is assumed. 13308 Cluster *string `locationName:"cluster" type:"string"` 13309 13310 // The ARN of the container instance (if it was previously registered). 13311 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 13312 13313 // The instance identity document for the EC2 instance to register. This document 13314 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 13315 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 13316 13317 // The instance identity document signature for the EC2 instance to register. 13318 // This signature can be found by running the following command from the instance: 13319 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 13320 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 13321 13322 // The devices that are available on the container instance. The only supported 13323 // device type is a GPU. 13324 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 13325 13326 // The metadata that you apply to the container instance to help you categorize 13327 // and organize them. Each tag consists of a key and an optional value, both 13328 // of which you define. 13329 // 13330 // The following basic restrictions apply to tags: 13331 // 13332 // * Maximum number of tags per resource - 50 13333 // 13334 // * For each resource, each tag key must be unique, and each tag key can 13335 // have only one value. 13336 // 13337 // * Maximum key length - 128 Unicode characters in UTF-8 13338 // 13339 // * Maximum value length - 256 Unicode characters in UTF-8 13340 // 13341 // * If your tagging schema is used across multiple services and resources, 13342 // remember that other services may have restrictions on allowed characters. 13343 // Generally allowed characters are: letters, numbers, and spaces representable 13344 // in UTF-8, and the following characters: + - = . _ : / @. 13345 // 13346 // * Tag keys and values are case-sensitive. 13347 // 13348 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 13349 // as a prefix for either keys or values as it is reserved for AWS use. You 13350 // cannot edit or delete tag keys or values with this prefix. Tags with this 13351 // prefix do not count against your tags per resource limit. 13352 Tags []*Tag `locationName:"tags" type:"list"` 13353 13354 // The resources available on the instance. 13355 TotalResources []*Resource `locationName:"totalResources" type:"list"` 13356 13357 // The version information for the Amazon ECS container agent and Docker daemon 13358 // running on the container instance. 13359 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 13360} 13361 13362// String returns the string representation 13363func (s RegisterContainerInstanceInput) String() string { 13364 return awsutil.Prettify(s) 13365} 13366 13367// GoString returns the string representation 13368func (s RegisterContainerInstanceInput) GoString() string { 13369 return s.String() 13370} 13371 13372// Validate inspects the fields of the type to determine if they are valid. 13373func (s *RegisterContainerInstanceInput) Validate() error { 13374 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 13375 if s.Attributes != nil { 13376 for i, v := range s.Attributes { 13377 if v == nil { 13378 continue 13379 } 13380 if err := v.Validate(); err != nil { 13381 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 13382 } 13383 } 13384 } 13385 if s.PlatformDevices != nil { 13386 for i, v := range s.PlatformDevices { 13387 if v == nil { 13388 continue 13389 } 13390 if err := v.Validate(); err != nil { 13391 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 13392 } 13393 } 13394 } 13395 if s.Tags != nil { 13396 for i, v := range s.Tags { 13397 if v == nil { 13398 continue 13399 } 13400 if err := v.Validate(); err != nil { 13401 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 13402 } 13403 } 13404 } 13405 13406 if invalidParams.Len() > 0 { 13407 return invalidParams 13408 } 13409 return nil 13410} 13411 13412// SetAttributes sets the Attributes field's value. 13413func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 13414 s.Attributes = v 13415 return s 13416} 13417 13418// SetCluster sets the Cluster field's value. 13419func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 13420 s.Cluster = &v 13421 return s 13422} 13423 13424// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 13425func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 13426 s.ContainerInstanceArn = &v 13427 return s 13428} 13429 13430// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 13431func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 13432 s.InstanceIdentityDocument = &v 13433 return s 13434} 13435 13436// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 13437func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 13438 s.InstanceIdentityDocumentSignature = &v 13439 return s 13440} 13441 13442// SetPlatformDevices sets the PlatformDevices field's value. 13443func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 13444 s.PlatformDevices = v 13445 return s 13446} 13447 13448// SetTags sets the Tags field's value. 13449func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 13450 s.Tags = v 13451 return s 13452} 13453 13454// SetTotalResources sets the TotalResources field's value. 13455func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 13456 s.TotalResources = v 13457 return s 13458} 13459 13460// SetVersionInfo sets the VersionInfo field's value. 13461func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 13462 s.VersionInfo = v 13463 return s 13464} 13465 13466type RegisterContainerInstanceOutput struct { 13467 _ struct{} `type:"structure"` 13468 13469 // The container instance that was registered. 13470 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 13471} 13472 13473// String returns the string representation 13474func (s RegisterContainerInstanceOutput) String() string { 13475 return awsutil.Prettify(s) 13476} 13477 13478// GoString returns the string representation 13479func (s RegisterContainerInstanceOutput) GoString() string { 13480 return s.String() 13481} 13482 13483// SetContainerInstance sets the ContainerInstance field's value. 13484func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 13485 s.ContainerInstance = v 13486 return s 13487} 13488 13489type RegisterTaskDefinitionInput struct { 13490 _ struct{} `type:"structure"` 13491 13492 // A list of container definitions in JSON format that describe the different 13493 // containers that make up your task. 13494 // 13495 // ContainerDefinitions is a required field 13496 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 13497 13498 // The number of CPU units used by the task. It can be expressed as an integer 13499 // using CPU units, for example 1024, or as a string using vCPUs, for example 13500 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 13501 // integer indicating the CPU units when the task definition is registered. 13502 // 13503 // Task-level CPU and memory parameters are ignored for Windows containers. 13504 // We recommend specifying container-level resources for Windows containers. 13505 // 13506 // If you are using the EC2 launch type, this field is optional. Supported values 13507 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 13508 // 13509 // If you are using the Fargate launch type, this field is required and you 13510 // must use one of the following values, which determines your range of supported 13511 // values for the memory parameter: 13512 // 13513 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 13514 // 2048 (2 GB) 13515 // 13516 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 13517 // (3 GB), 4096 (4 GB) 13518 // 13519 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 13520 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 13521 // 13522 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 13523 // (16 GB) in increments of 1024 (1 GB) 13524 // 13525 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 13526 // (30 GB) in increments of 1024 (1 GB) 13527 Cpu *string `locationName:"cpu" type:"string"` 13528 13529 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 13530 // ECS container agent and the Docker daemon can assume. 13531 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 13532 13533 // You must specify a family for a task definition, which allows you to track 13534 // multiple versions of the same task definition. The family is used as a name 13535 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 13536 // and hyphens are allowed. 13537 // 13538 // Family is a required field 13539 Family *string `locationName:"family" type:"string" required:"true"` 13540 13541 // The Elastic Inference accelerators to use for the containers in the task. 13542 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 13543 13544 // The IPC resource namespace to use for the containers in the task. The valid 13545 // values are host, task, or none. If host is specified, then all containers 13546 // within the tasks that specified the host IPC mode on the same container instance 13547 // share the same IPC resources with the host Amazon EC2 instance. If task is 13548 // specified, all containers within the specified task share the same IPC resources. 13549 // If none is specified, then IPC resources within the containers of a task 13550 // are private and not shared with other containers in a task or on the container 13551 // instance. If no value is specified, then the IPC resource namespace sharing 13552 // depends on the Docker daemon setting on the container instance. For more 13553 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 13554 // in the Docker run reference. 13555 // 13556 // If the host IPC mode is used, be aware that there is a heightened risk of 13557 // undesired IPC namespace expose. For more information, see Docker security 13558 // (https://docs.docker.com/engine/security/security/). 13559 // 13560 // If you are setting namespaced kernel parameters using systemControls for 13561 // the containers in the task, the following will apply to your IPC resource 13562 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 13563 // in the Amazon Elastic Container Service Developer Guide. 13564 // 13565 // * For tasks that use the host IPC mode, IPC namespace related systemControls 13566 // are not supported. 13567 // 13568 // * For tasks that use the task IPC mode, IPC namespace related systemControls 13569 // will apply to all containers within a task. 13570 // 13571 // This parameter is not supported for Windows containers or tasks using the 13572 // Fargate launch type. 13573 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 13574 13575 // The amount of memory (in MiB) used by the task. It can be expressed as an 13576 // integer using MiB, for example 1024, or as a string using GB, for example 13577 // 1GB or 1 GB, in a task definition. String values are converted to an integer 13578 // indicating the MiB when the task definition is registered. 13579 // 13580 // Task-level CPU and memory parameters are ignored for Windows containers. 13581 // We recommend specifying container-level resources for Windows containers. 13582 // 13583 // If using the EC2 launch type, this field is optional. 13584 // 13585 // If using the Fargate launch type, this field is required and you must use 13586 // one of the following values, which determines your range of supported values 13587 // for the cpu parameter: 13588 // 13589 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 13590 // vCPU) 13591 // 13592 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 13593 // 512 (.5 vCPU) 13594 // 13595 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 13596 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 13597 // 13598 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 13599 // Available cpu values: 2048 (2 vCPU) 13600 // 13601 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 13602 // Available cpu values: 4096 (4 vCPU) 13603 Memory *string `locationName:"memory" type:"string"` 13604 13605 // The Docker networking mode to use for the containers in the task. The valid 13606 // values are none, bridge, awsvpc, and host. The default Docker network mode 13607 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 13608 // is required. If you are using the EC2 launch type, any network mode can be 13609 // used. If the network mode is set to none, you cannot specify port mappings 13610 // in your container definitions, and the tasks containers do not have external 13611 // connectivity. The host and awsvpc network modes offer the highest networking 13612 // performance for containers because they use the EC2 network stack instead 13613 // of the virtualized network stack provided by the bridge mode. 13614 // 13615 // With the host and awsvpc network modes, exposed container ports are mapped 13616 // directly to the corresponding host port (for the host network mode) or the 13617 // attached elastic network interface port (for the awsvpc network mode), so 13618 // you cannot take advantage of dynamic host port mappings. 13619 // 13620 // If the network mode is awsvpc, the task is allocated an elastic network interface, 13621 // and you must specify a NetworkConfiguration value when you create a service 13622 // or run a task with the task definition. For more information, see Task Networking 13623 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 13624 // in the Amazon Elastic Container Service Developer Guide. 13625 // 13626 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 13627 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 13628 // mode. 13629 // 13630 // If the network mode is host, you cannot run multiple instantiations of the 13631 // same task on a single container instance when port mappings are used. 13632 // 13633 // Docker for Windows uses different network modes than Docker for Linux. When 13634 // you register a task definition with Windows containers, you must not specify 13635 // a network mode. If you use the console to register a task definition with 13636 // Windows containers, you must choose the <default> network mode object. 13637 // 13638 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 13639 // in the Docker run reference. 13640 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 13641 13642 // The process namespace to use for the containers in the task. The valid values 13643 // are host or task. If host is specified, then all containers within the tasks 13644 // that specified the host PID mode on the same container instance share the 13645 // same process namespace with the host Amazon EC2 instance. If task is specified, 13646 // all containers within the specified task share the same process namespace. 13647 // If no value is specified, the default is a private namespace. For more information, 13648 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 13649 // in the Docker run reference. 13650 // 13651 // If the host PID mode is used, be aware that there is a heightened risk of 13652 // undesired process namespace expose. For more information, see Docker security 13653 // (https://docs.docker.com/engine/security/security/). 13654 // 13655 // This parameter is not supported for Windows containers or tasks using the 13656 // Fargate launch type. 13657 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 13658 13659 // An array of placement constraint objects to use for the task. You can specify 13660 // a maximum of 10 constraints per task (this limit includes constraints in 13661 // the task definition and those specified at runtime). 13662 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 13663 13664 // The configuration details for the App Mesh proxy. 13665 // 13666 // For tasks using the EC2 launch type, the container instances require at least 13667 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 13668 // ecs-init package to enable a proxy configuration. If your container instances 13669 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 13670 // then they contain the required versions of the container agent and ecs-init. 13671 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 13672 // in the Amazon Elastic Container Service Developer Guide. 13673 // 13674 // For tasks using the Fargate launch type, the task or service requires platform 13675 // version 1.3.0 or later. 13676 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 13677 13678 // The launch type required by the task. If no value is specified, it defaults 13679 // to EC2. 13680 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 13681 13682 // The metadata that you apply to the task definition to help you categorize 13683 // and organize them. Each tag consists of a key and an optional value, both 13684 // of which you define. 13685 // 13686 // The following basic restrictions apply to tags: 13687 // 13688 // * Maximum number of tags per resource - 50 13689 // 13690 // * For each resource, each tag key must be unique, and each tag key can 13691 // have only one value. 13692 // 13693 // * Maximum key length - 128 Unicode characters in UTF-8 13694 // 13695 // * Maximum value length - 256 Unicode characters in UTF-8 13696 // 13697 // * If your tagging schema is used across multiple services and resources, 13698 // remember that other services may have restrictions on allowed characters. 13699 // Generally allowed characters are: letters, numbers, and spaces representable 13700 // in UTF-8, and the following characters: + - = . _ : / @. 13701 // 13702 // * Tag keys and values are case-sensitive. 13703 // 13704 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 13705 // as a prefix for either keys or values as it is reserved for AWS use. You 13706 // cannot edit or delete tag keys or values with this prefix. Tags with this 13707 // prefix do not count against your tags per resource limit. 13708 Tags []*Tag `locationName:"tags" type:"list"` 13709 13710 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 13711 // in this task can assume. All containers in this task are granted the permissions 13712 // that are specified in this role. For more information, see IAM Roles for 13713 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 13714 // in the Amazon Elastic Container Service Developer Guide. 13715 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 13716 13717 // A list of volume definitions in JSON format that containers in your task 13718 // may use. 13719 Volumes []*Volume `locationName:"volumes" type:"list"` 13720} 13721 13722// String returns the string representation 13723func (s RegisterTaskDefinitionInput) String() string { 13724 return awsutil.Prettify(s) 13725} 13726 13727// GoString returns the string representation 13728func (s RegisterTaskDefinitionInput) GoString() string { 13729 return s.String() 13730} 13731 13732// Validate inspects the fields of the type to determine if they are valid. 13733func (s *RegisterTaskDefinitionInput) Validate() error { 13734 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 13735 if s.ContainerDefinitions == nil { 13736 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 13737 } 13738 if s.Family == nil { 13739 invalidParams.Add(request.NewErrParamRequired("Family")) 13740 } 13741 if s.ContainerDefinitions != nil { 13742 for i, v := range s.ContainerDefinitions { 13743 if v == nil { 13744 continue 13745 } 13746 if err := v.Validate(); err != nil { 13747 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 13748 } 13749 } 13750 } 13751 if s.InferenceAccelerators != nil { 13752 for i, v := range s.InferenceAccelerators { 13753 if v == nil { 13754 continue 13755 } 13756 if err := v.Validate(); err != nil { 13757 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 13758 } 13759 } 13760 } 13761 if s.ProxyConfiguration != nil { 13762 if err := s.ProxyConfiguration.Validate(); err != nil { 13763 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 13764 } 13765 } 13766 if s.Tags != nil { 13767 for i, v := range s.Tags { 13768 if v == nil { 13769 continue 13770 } 13771 if err := v.Validate(); err != nil { 13772 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 13773 } 13774 } 13775 } 13776 13777 if invalidParams.Len() > 0 { 13778 return invalidParams 13779 } 13780 return nil 13781} 13782 13783// SetContainerDefinitions sets the ContainerDefinitions field's value. 13784func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 13785 s.ContainerDefinitions = v 13786 return s 13787} 13788 13789// SetCpu sets the Cpu field's value. 13790func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 13791 s.Cpu = &v 13792 return s 13793} 13794 13795// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 13796func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 13797 s.ExecutionRoleArn = &v 13798 return s 13799} 13800 13801// SetFamily sets the Family field's value. 13802func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 13803 s.Family = &v 13804 return s 13805} 13806 13807// SetInferenceAccelerators sets the InferenceAccelerators field's value. 13808func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 13809 s.InferenceAccelerators = v 13810 return s 13811} 13812 13813// SetIpcMode sets the IpcMode field's value. 13814func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 13815 s.IpcMode = &v 13816 return s 13817} 13818 13819// SetMemory sets the Memory field's value. 13820func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 13821 s.Memory = &v 13822 return s 13823} 13824 13825// SetNetworkMode sets the NetworkMode field's value. 13826func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 13827 s.NetworkMode = &v 13828 return s 13829} 13830 13831// SetPidMode sets the PidMode field's value. 13832func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 13833 s.PidMode = &v 13834 return s 13835} 13836 13837// SetPlacementConstraints sets the PlacementConstraints field's value. 13838func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 13839 s.PlacementConstraints = v 13840 return s 13841} 13842 13843// SetProxyConfiguration sets the ProxyConfiguration field's value. 13844func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 13845 s.ProxyConfiguration = v 13846 return s 13847} 13848 13849// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 13850func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 13851 s.RequiresCompatibilities = v 13852 return s 13853} 13854 13855// SetTags sets the Tags field's value. 13856func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 13857 s.Tags = v 13858 return s 13859} 13860 13861// SetTaskRoleArn sets the TaskRoleArn field's value. 13862func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 13863 s.TaskRoleArn = &v 13864 return s 13865} 13866 13867// SetVolumes sets the Volumes field's value. 13868func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 13869 s.Volumes = v 13870 return s 13871} 13872 13873type RegisterTaskDefinitionOutput struct { 13874 _ struct{} `type:"structure"` 13875 13876 // The list of tags associated with the task definition. 13877 Tags []*Tag `locationName:"tags" type:"list"` 13878 13879 // The full description of the registered task definition. 13880 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 13881} 13882 13883// String returns the string representation 13884func (s RegisterTaskDefinitionOutput) String() string { 13885 return awsutil.Prettify(s) 13886} 13887 13888// GoString returns the string representation 13889func (s RegisterTaskDefinitionOutput) GoString() string { 13890 return s.String() 13891} 13892 13893// SetTags sets the Tags field's value. 13894func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 13895 s.Tags = v 13896 return s 13897} 13898 13899// SetTaskDefinition sets the TaskDefinition field's value. 13900func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 13901 s.TaskDefinition = v 13902 return s 13903} 13904 13905// The repository credentials for private registry authentication. 13906type RepositoryCredentials struct { 13907 _ struct{} `type:"structure"` 13908 13909 // The Amazon Resource Name (ARN) of the secret containing the private repository 13910 // credentials. 13911 // 13912 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 13913 // exists in the same Region as the task that you are launching then you can 13914 // use either the full ARN or the name of the secret. When you are using the 13915 // AWS Management Console, you must specify the full ARN of the secret. 13916 // 13917 // CredentialsParameter is a required field 13918 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 13919} 13920 13921// String returns the string representation 13922func (s RepositoryCredentials) String() string { 13923 return awsutil.Prettify(s) 13924} 13925 13926// GoString returns the string representation 13927func (s RepositoryCredentials) GoString() string { 13928 return s.String() 13929} 13930 13931// Validate inspects the fields of the type to determine if they are valid. 13932func (s *RepositoryCredentials) Validate() error { 13933 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 13934 if s.CredentialsParameter == nil { 13935 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 13936 } 13937 13938 if invalidParams.Len() > 0 { 13939 return invalidParams 13940 } 13941 return nil 13942} 13943 13944// SetCredentialsParameter sets the CredentialsParameter field's value. 13945func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 13946 s.CredentialsParameter = &v 13947 return s 13948} 13949 13950// Describes the resources available for a container instance. 13951type Resource struct { 13952 _ struct{} `type:"structure"` 13953 13954 // When the doubleValue type is set, the value of the resource must be a double 13955 // precision floating-point type. 13956 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 13957 13958 // When the integerValue type is set, the value of the resource must be an integer. 13959 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 13960 13961 // When the longValue type is set, the value of the resource must be an extended 13962 // precision floating-point type. 13963 LongValue *int64 `locationName:"longValue" type:"long"` 13964 13965 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 13966 // resource. 13967 Name *string `locationName:"name" type:"string"` 13968 13969 // When the stringSetValue type is set, the value of the resource must be a 13970 // string type. 13971 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 13972 13973 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 13974 Type *string `locationName:"type" type:"string"` 13975} 13976 13977// String returns the string representation 13978func (s Resource) String() string { 13979 return awsutil.Prettify(s) 13980} 13981 13982// GoString returns the string representation 13983func (s Resource) GoString() string { 13984 return s.String() 13985} 13986 13987// SetDoubleValue sets the DoubleValue field's value. 13988func (s *Resource) SetDoubleValue(v float64) *Resource { 13989 s.DoubleValue = &v 13990 return s 13991} 13992 13993// SetIntegerValue sets the IntegerValue field's value. 13994func (s *Resource) SetIntegerValue(v int64) *Resource { 13995 s.IntegerValue = &v 13996 return s 13997} 13998 13999// SetLongValue sets the LongValue field's value. 14000func (s *Resource) SetLongValue(v int64) *Resource { 14001 s.LongValue = &v 14002 return s 14003} 14004 14005// SetName sets the Name field's value. 14006func (s *Resource) SetName(v string) *Resource { 14007 s.Name = &v 14008 return s 14009} 14010 14011// SetStringSetValue sets the StringSetValue field's value. 14012func (s *Resource) SetStringSetValue(v []*string) *Resource { 14013 s.StringSetValue = v 14014 return s 14015} 14016 14017// SetType sets the Type field's value. 14018func (s *Resource) SetType(v string) *Resource { 14019 s.Type = &v 14020 return s 14021} 14022 14023// The type and amount of a resource to assign to a container. The supported 14024// resource types are GPUs and Elastic Inference accelerators. For more information, 14025// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 14026// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 14027// in the Amazon Elastic Container Service Developer Guide 14028type ResourceRequirement struct { 14029 _ struct{} `type:"structure"` 14030 14031 // The type of resource to assign to a container. The supported values are GPU 14032 // or InferenceAccelerator. 14033 // 14034 // Type is a required field 14035 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 14036 14037 // The value for the specified resource type. 14038 // 14039 // If the GPU type is used, the value is the number of physical GPUs the Amazon 14040 // ECS container agent will reserve for the container. The number of GPUs reserved 14041 // for all containers in a task should not exceed the number of available GPUs 14042 // on the container instance the task is launched on. 14043 // 14044 // If the InferenceAccelerator type is used, the value should match the deviceName 14045 // for an InferenceAccelerator specified in a task definition. 14046 // 14047 // Value is a required field 14048 Value *string `locationName:"value" type:"string" required:"true"` 14049} 14050 14051// String returns the string representation 14052func (s ResourceRequirement) String() string { 14053 return awsutil.Prettify(s) 14054} 14055 14056// GoString returns the string representation 14057func (s ResourceRequirement) GoString() string { 14058 return s.String() 14059} 14060 14061// Validate inspects the fields of the type to determine if they are valid. 14062func (s *ResourceRequirement) Validate() error { 14063 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 14064 if s.Type == nil { 14065 invalidParams.Add(request.NewErrParamRequired("Type")) 14066 } 14067 if s.Value == nil { 14068 invalidParams.Add(request.NewErrParamRequired("Value")) 14069 } 14070 14071 if invalidParams.Len() > 0 { 14072 return invalidParams 14073 } 14074 return nil 14075} 14076 14077// SetType sets the Type field's value. 14078func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 14079 s.Type = &v 14080 return s 14081} 14082 14083// SetValue sets the Value field's value. 14084func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 14085 s.Value = &v 14086 return s 14087} 14088 14089type RunTaskInput struct { 14090 _ struct{} `type:"structure"` 14091 14092 // The capacity provider strategy to use for the task. 14093 // 14094 // A capacity provider strategy consists of one or more capacity providers along 14095 // with the base and weight to assign to them. A capacity provider must be associated 14096 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 14097 // API is used to associate a capacity provider with a cluster. Only capacity 14098 // providers with an ACTIVE or UPDATING status can be used. 14099 // 14100 // If a capacityProviderStrategy is specified, the launchType parameter must 14101 // be omitted. If no capacityProviderStrategy or launchType is specified, the 14102 // defaultCapacityProviderStrategy for the cluster is used. 14103 // 14104 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14105 // provider must already be created. New capacity providers can be created with 14106 // the CreateCapacityProvider API operation. 14107 // 14108 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14109 // capacity providers. The AWS Fargate capacity providers are available to all 14110 // accounts and only need to be associated with a cluster to be used. 14111 // 14112 // The PutClusterCapacityProviders API operation is used to update the list 14113 // of available capacity providers for a cluster after the cluster is created. 14114 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 14115 14116 // The short name or full Amazon Resource Name (ARN) of the cluster on which 14117 // to run your task. If you do not specify a cluster, the default cluster is 14118 // assumed. 14119 Cluster *string `locationName:"cluster" type:"string"` 14120 14121 // The number of instantiations of the specified task to place on your cluster. 14122 // You can specify up to 10 tasks per call. 14123 Count *int64 `locationName:"count" type:"integer"` 14124 14125 // Specifies whether to enable Amazon ECS managed tags for the task. For more 14126 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 14127 // in the Amazon Elastic Container Service Developer Guide. 14128 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 14129 14130 // The name of the task group to associate with the task. The default value 14131 // is the family name of the task definition (for example, family:my-family-name). 14132 Group *string `locationName:"group" type:"string"` 14133 14134 // The launch type on which to run your task. For more information, see Amazon 14135 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 14136 // in the Amazon Elastic Container Service Developer Guide. 14137 // 14138 // If a launchType is specified, the capacityProviderStrategy parameter must 14139 // be omitted. 14140 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 14141 14142 // The network configuration for the task. This parameter is required for task 14143 // definitions that use the awsvpc network mode to receive their own elastic 14144 // network interface, and it is not supported for other network modes. For more 14145 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 14146 // in the Amazon Elastic Container Service Developer Guide. 14147 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 14148 14149 // A list of container overrides in JSON format that specify the name of a container 14150 // in the specified task definition and the overrides it should receive. You 14151 // can override the default command for a container (that is specified in the 14152 // task definition or Docker image) with a command override. You can also override 14153 // existing environment variables (that are specified in the task definition 14154 // or Docker image) on a container or add new environment variables to it with 14155 // an environment override. 14156 // 14157 // A total of 8192 characters are allowed for overrides. This limit includes 14158 // the JSON formatting characters of the override structure. 14159 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 14160 14161 // An array of placement constraint objects to use for the task. You can specify 14162 // up to 10 constraints per task (including constraints in the task definition 14163 // and those specified at runtime). 14164 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 14165 14166 // The placement strategy objects to use for the task. You can specify a maximum 14167 // of five strategy rules per task. 14168 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 14169 14170 // The platform version the task should run. A platform version is only specified 14171 // for tasks using the Fargate launch type. If one is not specified, the LATEST 14172 // platform version is used by default. For more information, see AWS Fargate 14173 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 14174 // in the Amazon Elastic Container Service Developer Guide. 14175 PlatformVersion *string `locationName:"platformVersion" type:"string"` 14176 14177 // Specifies whether to propagate the tags from the task definition to the task. 14178 // If no value is specified, the tags are not propagated. Tags can only be propagated 14179 // to the task during task creation. To add tags to a task after task creation, 14180 // use the TagResource API action. 14181 // 14182 // An error will be received if you specify the SERVICE option when running 14183 // a task. 14184 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 14185 14186 // The reference ID to use for the task. 14187 ReferenceId *string `locationName:"referenceId" type:"string"` 14188 14189 // An optional tag specified when a task is started. For example, if you automatically 14190 // trigger a task to run a batch process job, you could apply a unique identifier 14191 // for that job to your task with the startedBy parameter. You can then identify 14192 // which tasks belong to that job by filtering the results of a ListTasks call 14193 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 14194 // hyphens, and underscores are allowed. 14195 // 14196 // If a task is started by an Amazon ECS service, then the startedBy parameter 14197 // contains the deployment ID of the service that starts it. 14198 StartedBy *string `locationName:"startedBy" type:"string"` 14199 14200 // The metadata that you apply to the task to help you categorize and organize 14201 // them. Each tag consists of a key and an optional value, both of which you 14202 // define. 14203 // 14204 // The following basic restrictions apply to tags: 14205 // 14206 // * Maximum number of tags per resource - 50 14207 // 14208 // * For each resource, each tag key must be unique, and each tag key can 14209 // have only one value. 14210 // 14211 // * Maximum key length - 128 Unicode characters in UTF-8 14212 // 14213 // * Maximum value length - 256 Unicode characters in UTF-8 14214 // 14215 // * If your tagging schema is used across multiple services and resources, 14216 // remember that other services may have restrictions on allowed characters. 14217 // Generally allowed characters are: letters, numbers, and spaces representable 14218 // in UTF-8, and the following characters: + - = . _ : / @. 14219 // 14220 // * Tag keys and values are case-sensitive. 14221 // 14222 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14223 // as a prefix for either keys or values as it is reserved for AWS use. You 14224 // cannot edit or delete tag keys or values with this prefix. Tags with this 14225 // prefix do not count against your tags per resource limit. 14226 Tags []*Tag `locationName:"tags" type:"list"` 14227 14228 // The family and revision (family:revision) or full ARN of the task definition 14229 // to run. If a revision is not specified, the latest ACTIVE revision is used. 14230 // 14231 // TaskDefinition is a required field 14232 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 14233} 14234 14235// String returns the string representation 14236func (s RunTaskInput) String() string { 14237 return awsutil.Prettify(s) 14238} 14239 14240// GoString returns the string representation 14241func (s RunTaskInput) GoString() string { 14242 return s.String() 14243} 14244 14245// Validate inspects the fields of the type to determine if they are valid. 14246func (s *RunTaskInput) Validate() error { 14247 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 14248 if s.TaskDefinition == nil { 14249 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 14250 } 14251 if s.CapacityProviderStrategy != nil { 14252 for i, v := range s.CapacityProviderStrategy { 14253 if v == nil { 14254 continue 14255 } 14256 if err := v.Validate(); err != nil { 14257 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 14258 } 14259 } 14260 } 14261 if s.NetworkConfiguration != nil { 14262 if err := s.NetworkConfiguration.Validate(); err != nil { 14263 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 14264 } 14265 } 14266 if s.Overrides != nil { 14267 if err := s.Overrides.Validate(); err != nil { 14268 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 14269 } 14270 } 14271 if s.Tags != nil { 14272 for i, v := range s.Tags { 14273 if v == nil { 14274 continue 14275 } 14276 if err := v.Validate(); err != nil { 14277 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14278 } 14279 } 14280 } 14281 14282 if invalidParams.Len() > 0 { 14283 return invalidParams 14284 } 14285 return nil 14286} 14287 14288// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 14289func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 14290 s.CapacityProviderStrategy = v 14291 return s 14292} 14293 14294// SetCluster sets the Cluster field's value. 14295func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 14296 s.Cluster = &v 14297 return s 14298} 14299 14300// SetCount sets the Count field's value. 14301func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 14302 s.Count = &v 14303 return s 14304} 14305 14306// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 14307func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 14308 s.EnableECSManagedTags = &v 14309 return s 14310} 14311 14312// SetGroup sets the Group field's value. 14313func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 14314 s.Group = &v 14315 return s 14316} 14317 14318// SetLaunchType sets the LaunchType field's value. 14319func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 14320 s.LaunchType = &v 14321 return s 14322} 14323 14324// SetNetworkConfiguration sets the NetworkConfiguration field's value. 14325func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 14326 s.NetworkConfiguration = v 14327 return s 14328} 14329 14330// SetOverrides sets the Overrides field's value. 14331func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 14332 s.Overrides = v 14333 return s 14334} 14335 14336// SetPlacementConstraints sets the PlacementConstraints field's value. 14337func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 14338 s.PlacementConstraints = v 14339 return s 14340} 14341 14342// SetPlacementStrategy sets the PlacementStrategy field's value. 14343func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 14344 s.PlacementStrategy = v 14345 return s 14346} 14347 14348// SetPlatformVersion sets the PlatformVersion field's value. 14349func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 14350 s.PlatformVersion = &v 14351 return s 14352} 14353 14354// SetPropagateTags sets the PropagateTags field's value. 14355func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 14356 s.PropagateTags = &v 14357 return s 14358} 14359 14360// SetReferenceId sets the ReferenceId field's value. 14361func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 14362 s.ReferenceId = &v 14363 return s 14364} 14365 14366// SetStartedBy sets the StartedBy field's value. 14367func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 14368 s.StartedBy = &v 14369 return s 14370} 14371 14372// SetTags sets the Tags field's value. 14373func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 14374 s.Tags = v 14375 return s 14376} 14377 14378// SetTaskDefinition sets the TaskDefinition field's value. 14379func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 14380 s.TaskDefinition = &v 14381 return s 14382} 14383 14384type RunTaskOutput struct { 14385 _ struct{} `type:"structure"` 14386 14387 // Any failures associated with the call. 14388 Failures []*Failure `locationName:"failures" type:"list"` 14389 14390 // A full description of the tasks that were run. The tasks that were successfully 14391 // placed on your cluster are described here. 14392 Tasks []*Task `locationName:"tasks" type:"list"` 14393} 14394 14395// String returns the string representation 14396func (s RunTaskOutput) String() string { 14397 return awsutil.Prettify(s) 14398} 14399 14400// GoString returns the string representation 14401func (s RunTaskOutput) GoString() string { 14402 return s.String() 14403} 14404 14405// SetFailures sets the Failures field's value. 14406func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 14407 s.Failures = v 14408 return s 14409} 14410 14411// SetTasks sets the Tasks field's value. 14412func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 14413 s.Tasks = v 14414 return s 14415} 14416 14417// A floating-point percentage of the desired number of tasks to place and keep 14418// running in the task set. 14419type Scale struct { 14420 _ struct{} `type:"structure"` 14421 14422 // The unit of measure for the scale value. 14423 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 14424 14425 // The value, specified as a percent total of a service's desiredCount, to scale 14426 // the task set. Accepted values are numbers between 0 and 100. 14427 Value *float64 `locationName:"value" type:"double"` 14428} 14429 14430// String returns the string representation 14431func (s Scale) String() string { 14432 return awsutil.Prettify(s) 14433} 14434 14435// GoString returns the string representation 14436func (s Scale) GoString() string { 14437 return s.String() 14438} 14439 14440// SetUnit sets the Unit field's value. 14441func (s *Scale) SetUnit(v string) *Scale { 14442 s.Unit = &v 14443 return s 14444} 14445 14446// SetValue sets the Value field's value. 14447func (s *Scale) SetValue(v float64) *Scale { 14448 s.Value = &v 14449 return s 14450} 14451 14452// An object representing the secret to expose to your container. Secrets can 14453// be exposed to a container in the following ways: 14454// 14455// * To inject sensitive data into your containers as environment variables, 14456// use the secrets container definition parameter. 14457// 14458// * To reference sensitive information in the log configuration of a container, 14459// use the secretOptions container definition parameter. 14460// 14461// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 14462// in the Amazon Elastic Container Service Developer Guide. 14463type Secret struct { 14464 _ struct{} `type:"structure"` 14465 14466 // The name of the secret. 14467 // 14468 // Name is a required field 14469 Name *string `locationName:"name" type:"string" required:"true"` 14470 14471 // The secret to expose to the container. The supported values are either the 14472 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 14473 // in the AWS Systems Manager Parameter Store. 14474 // 14475 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 14476 // as the task you are launching, then you can use either the full ARN or name 14477 // of the parameter. If the parameter exists in a different Region, then the 14478 // full ARN must be specified. 14479 // 14480 // ValueFrom is a required field 14481 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 14482} 14483 14484// String returns the string representation 14485func (s Secret) String() string { 14486 return awsutil.Prettify(s) 14487} 14488 14489// GoString returns the string representation 14490func (s Secret) GoString() string { 14491 return s.String() 14492} 14493 14494// Validate inspects the fields of the type to determine if they are valid. 14495func (s *Secret) Validate() error { 14496 invalidParams := request.ErrInvalidParams{Context: "Secret"} 14497 if s.Name == nil { 14498 invalidParams.Add(request.NewErrParamRequired("Name")) 14499 } 14500 if s.ValueFrom == nil { 14501 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 14502 } 14503 14504 if invalidParams.Len() > 0 { 14505 return invalidParams 14506 } 14507 return nil 14508} 14509 14510// SetName sets the Name field's value. 14511func (s *Secret) SetName(v string) *Secret { 14512 s.Name = &v 14513 return s 14514} 14515 14516// SetValueFrom sets the ValueFrom field's value. 14517func (s *Secret) SetValueFrom(v string) *Secret { 14518 s.ValueFrom = &v 14519 return s 14520} 14521 14522// Details on a service within a cluster 14523type Service struct { 14524 _ struct{} `type:"structure"` 14525 14526 // The capacity provider strategy associated with the service. 14527 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 14528 14529 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 14530 ClusterArn *string `locationName:"clusterArn" type:"string"` 14531 14532 // The Unix timestamp for when the service was created. 14533 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 14534 14535 // The principal that created the service. 14536 CreatedBy *string `locationName:"createdBy" type:"string"` 14537 14538 // Optional deployment parameters that control how many tasks run during the 14539 // deployment and the ordering of stopping and starting tasks. 14540 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 14541 14542 // The deployment controller type the service is using. When using the DescribeServices 14543 // API, this field is omitted if the service is using the ECS deployment controller 14544 // type. 14545 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 14546 14547 // The current state of deployments for the service. 14548 Deployments []*Deployment `locationName:"deployments" type:"list"` 14549 14550 // The desired number of instantiations of the task definition to keep running 14551 // on the service. This value is specified when the service is created with 14552 // CreateService, and it can be modified with UpdateService. 14553 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 14554 14555 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 14556 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 14557 // in the Amazon Elastic Container Service Developer Guide. 14558 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 14559 14560 // The event stream for your service. A maximum of 100 of the latest events 14561 // are displayed. 14562 Events []*ServiceEvent `locationName:"events" type:"list"` 14563 14564 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 14565 // unhealthy Elastic Load Balancing target health checks after a task has first 14566 // started. 14567 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 14568 14569 // The launch type on which your service is running. If no value is specified, 14570 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 14571 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 14572 // in the Amazon Elastic Container Service Developer Guide. 14573 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 14574 14575 // A list of Elastic Load Balancing load balancer objects, containing the load 14576 // balancer name, the container name (as it appears in a container definition), 14577 // and the container port to access from the load balancer. 14578 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 14579 14580 // The VPC subnet and security group configuration for tasks that receive their 14581 // own elastic network interface by using the awsvpc networking mode. 14582 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 14583 14584 // The number of tasks in the cluster that are in the PENDING state. 14585 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 14586 14587 // The placement constraints for the tasks in the service. 14588 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 14589 14590 // The placement strategy that determines how tasks for the service are placed. 14591 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 14592 14593 // The platform version on which to run your service. A platform version is 14594 // only specified for tasks using the Fargate launch type. If one is not specified, 14595 // the LATEST platform version is used by default. For more information, see 14596 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 14597 // in the Amazon Elastic Container Service Developer Guide. 14598 PlatformVersion *string `locationName:"platformVersion" type:"string"` 14599 14600 // Specifies whether to propagate the tags from the task definition or the service 14601 // to the task. If no value is specified, the tags are not propagated. 14602 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 14603 14604 // The ARN of the IAM role associated with the service that allows the Amazon 14605 // ECS container agent to register container instances with an Elastic Load 14606 // Balancing load balancer. 14607 RoleArn *string `locationName:"roleArn" type:"string"` 14608 14609 // The number of tasks in the cluster that are in the RUNNING state. 14610 RunningCount *int64 `locationName:"runningCount" type:"integer"` 14611 14612 // The scheduling strategy to use for the service. For more information, see 14613 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 14614 // 14615 // There are two service scheduler strategies available: 14616 // 14617 // * REPLICA-The replica scheduling strategy places and maintains the desired 14618 // number of tasks across your cluster. By default, the service scheduler 14619 // spreads tasks across Availability Zones. You can use task placement strategies 14620 // and constraints to customize task placement decisions. 14621 // 14622 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 14623 // container instance in your cluster. When you are using this strategy, 14624 // do not specify a desired number of tasks or any task placement strategies. 14625 // Fargate tasks do not support the DAEMON scheduling strategy. 14626 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 14627 14628 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 14629 // followed by the Region of the service, the AWS account ID of the service 14630 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 14631 ServiceArn *string `locationName:"serviceArn" type:"string"` 14632 14633 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 14634 // and hyphens are allowed. Service names must be unique within a cluster, but 14635 // you can have similarly named services in multiple clusters within a Region 14636 // or across multiple Regions. 14637 ServiceName *string `locationName:"serviceName" type:"string"` 14638 14639 // The details of the service discovery registries to assign to this service. 14640 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 14641 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 14642 14643 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 14644 Status *string `locationName:"status" type:"string"` 14645 14646 // The metadata that you apply to the service to help you categorize and organize 14647 // them. Each tag consists of a key and an optional value, both of which you 14648 // define. 14649 // 14650 // The following basic restrictions apply to tags: 14651 // 14652 // * Maximum number of tags per resource - 50 14653 // 14654 // * For each resource, each tag key must be unique, and each tag key can 14655 // have only one value. 14656 // 14657 // * Maximum key length - 128 Unicode characters in UTF-8 14658 // 14659 // * Maximum value length - 256 Unicode characters in UTF-8 14660 // 14661 // * If your tagging schema is used across multiple services and resources, 14662 // remember that other services may have restrictions on allowed characters. 14663 // Generally allowed characters are: letters, numbers, and spaces representable 14664 // in UTF-8, and the following characters: + - = . _ : / @. 14665 // 14666 // * Tag keys and values are case-sensitive. 14667 // 14668 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14669 // as a prefix for either keys or values as it is reserved for AWS use. You 14670 // cannot edit or delete tag keys or values with this prefix. Tags with this 14671 // prefix do not count against your tags per resource limit. 14672 Tags []*Tag `locationName:"tags" type:"list"` 14673 14674 // The task definition to use for tasks in the service. This value is specified 14675 // when the service is created with CreateService, and it can be modified with 14676 // UpdateService. 14677 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 14678 14679 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 14680 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 14681 // desired number of tasks, how many tasks are running, and whether the task 14682 // set serves production traffic. 14683 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 14684} 14685 14686// String returns the string representation 14687func (s Service) String() string { 14688 return awsutil.Prettify(s) 14689} 14690 14691// GoString returns the string representation 14692func (s Service) GoString() string { 14693 return s.String() 14694} 14695 14696// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 14697func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 14698 s.CapacityProviderStrategy = v 14699 return s 14700} 14701 14702// SetClusterArn sets the ClusterArn field's value. 14703func (s *Service) SetClusterArn(v string) *Service { 14704 s.ClusterArn = &v 14705 return s 14706} 14707 14708// SetCreatedAt sets the CreatedAt field's value. 14709func (s *Service) SetCreatedAt(v time.Time) *Service { 14710 s.CreatedAt = &v 14711 return s 14712} 14713 14714// SetCreatedBy sets the CreatedBy field's value. 14715func (s *Service) SetCreatedBy(v string) *Service { 14716 s.CreatedBy = &v 14717 return s 14718} 14719 14720// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 14721func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 14722 s.DeploymentConfiguration = v 14723 return s 14724} 14725 14726// SetDeploymentController sets the DeploymentController field's value. 14727func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 14728 s.DeploymentController = v 14729 return s 14730} 14731 14732// SetDeployments sets the Deployments field's value. 14733func (s *Service) SetDeployments(v []*Deployment) *Service { 14734 s.Deployments = v 14735 return s 14736} 14737 14738// SetDesiredCount sets the DesiredCount field's value. 14739func (s *Service) SetDesiredCount(v int64) *Service { 14740 s.DesiredCount = &v 14741 return s 14742} 14743 14744// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 14745func (s *Service) SetEnableECSManagedTags(v bool) *Service { 14746 s.EnableECSManagedTags = &v 14747 return s 14748} 14749 14750// SetEvents sets the Events field's value. 14751func (s *Service) SetEvents(v []*ServiceEvent) *Service { 14752 s.Events = v 14753 return s 14754} 14755 14756// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 14757func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 14758 s.HealthCheckGracePeriodSeconds = &v 14759 return s 14760} 14761 14762// SetLaunchType sets the LaunchType field's value. 14763func (s *Service) SetLaunchType(v string) *Service { 14764 s.LaunchType = &v 14765 return s 14766} 14767 14768// SetLoadBalancers sets the LoadBalancers field's value. 14769func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 14770 s.LoadBalancers = v 14771 return s 14772} 14773 14774// SetNetworkConfiguration sets the NetworkConfiguration field's value. 14775func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 14776 s.NetworkConfiguration = v 14777 return s 14778} 14779 14780// SetPendingCount sets the PendingCount field's value. 14781func (s *Service) SetPendingCount(v int64) *Service { 14782 s.PendingCount = &v 14783 return s 14784} 14785 14786// SetPlacementConstraints sets the PlacementConstraints field's value. 14787func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 14788 s.PlacementConstraints = v 14789 return s 14790} 14791 14792// SetPlacementStrategy sets the PlacementStrategy field's value. 14793func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 14794 s.PlacementStrategy = v 14795 return s 14796} 14797 14798// SetPlatformVersion sets the PlatformVersion field's value. 14799func (s *Service) SetPlatformVersion(v string) *Service { 14800 s.PlatformVersion = &v 14801 return s 14802} 14803 14804// SetPropagateTags sets the PropagateTags field's value. 14805func (s *Service) SetPropagateTags(v string) *Service { 14806 s.PropagateTags = &v 14807 return s 14808} 14809 14810// SetRoleArn sets the RoleArn field's value. 14811func (s *Service) SetRoleArn(v string) *Service { 14812 s.RoleArn = &v 14813 return s 14814} 14815 14816// SetRunningCount sets the RunningCount field's value. 14817func (s *Service) SetRunningCount(v int64) *Service { 14818 s.RunningCount = &v 14819 return s 14820} 14821 14822// SetSchedulingStrategy sets the SchedulingStrategy field's value. 14823func (s *Service) SetSchedulingStrategy(v string) *Service { 14824 s.SchedulingStrategy = &v 14825 return s 14826} 14827 14828// SetServiceArn sets the ServiceArn field's value. 14829func (s *Service) SetServiceArn(v string) *Service { 14830 s.ServiceArn = &v 14831 return s 14832} 14833 14834// SetServiceName sets the ServiceName field's value. 14835func (s *Service) SetServiceName(v string) *Service { 14836 s.ServiceName = &v 14837 return s 14838} 14839 14840// SetServiceRegistries sets the ServiceRegistries field's value. 14841func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 14842 s.ServiceRegistries = v 14843 return s 14844} 14845 14846// SetStatus sets the Status field's value. 14847func (s *Service) SetStatus(v string) *Service { 14848 s.Status = &v 14849 return s 14850} 14851 14852// SetTags sets the Tags field's value. 14853func (s *Service) SetTags(v []*Tag) *Service { 14854 s.Tags = v 14855 return s 14856} 14857 14858// SetTaskDefinition sets the TaskDefinition field's value. 14859func (s *Service) SetTaskDefinition(v string) *Service { 14860 s.TaskDefinition = &v 14861 return s 14862} 14863 14864// SetTaskSets sets the TaskSets field's value. 14865func (s *Service) SetTaskSets(v []*TaskSet) *Service { 14866 s.TaskSets = v 14867 return s 14868} 14869 14870// Details on an event associated with a service. 14871type ServiceEvent struct { 14872 _ struct{} `type:"structure"` 14873 14874 // The Unix timestamp for when the event was triggered. 14875 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 14876 14877 // The ID string of the event. 14878 Id *string `locationName:"id" type:"string"` 14879 14880 // The event message. 14881 Message *string `locationName:"message" type:"string"` 14882} 14883 14884// String returns the string representation 14885func (s ServiceEvent) String() string { 14886 return awsutil.Prettify(s) 14887} 14888 14889// GoString returns the string representation 14890func (s ServiceEvent) GoString() string { 14891 return s.String() 14892} 14893 14894// SetCreatedAt sets the CreatedAt field's value. 14895func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 14896 s.CreatedAt = &v 14897 return s 14898} 14899 14900// SetId sets the Id field's value. 14901func (s *ServiceEvent) SetId(v string) *ServiceEvent { 14902 s.Id = &v 14903 return s 14904} 14905 14906// SetMessage sets the Message field's value. 14907func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 14908 s.Message = &v 14909 return s 14910} 14911 14912// Details of the service registry. 14913type ServiceRegistry struct { 14914 _ struct{} `type:"structure"` 14915 14916 // The container name value, already specified in the task definition, to be 14917 // used for your service discovery service. If the task definition that your 14918 // service task specifies uses the bridge or host network mode, you must specify 14919 // a containerName and containerPort combination from the task definition. If 14920 // the task definition that your service task specifies uses the awsvpc network 14921 // mode and a type SRV DNS record is used, you must specify either a containerName 14922 // and containerPort combination or a port value, but not both. 14923 ContainerName *string `locationName:"containerName" type:"string"` 14924 14925 // The port value, already specified in the task definition, to be used for 14926 // your service discovery service. If the task definition your service task 14927 // specifies uses the bridge or host network mode, you must specify a containerName 14928 // and containerPort combination from the task definition. If the task definition 14929 // your service task specifies uses the awsvpc network mode and a type SRV DNS 14930 // record is used, you must specify either a containerName and containerPort 14931 // combination or a port value, but not both. 14932 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14933 14934 // The port value used if your service discovery service specified an SRV record. 14935 // This field may be used if both the awsvpc network mode and SRV records are 14936 // used. 14937 Port *int64 `locationName:"port" type:"integer"` 14938 14939 // The Amazon Resource Name (ARN) of the service registry. The currently supported 14940 // service registry is AWS Cloud Map. For more information, see CreateService 14941 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 14942 RegistryArn *string `locationName:"registryArn" type:"string"` 14943} 14944 14945// String returns the string representation 14946func (s ServiceRegistry) String() string { 14947 return awsutil.Prettify(s) 14948} 14949 14950// GoString returns the string representation 14951func (s ServiceRegistry) GoString() string { 14952 return s.String() 14953} 14954 14955// SetContainerName sets the ContainerName field's value. 14956func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 14957 s.ContainerName = &v 14958 return s 14959} 14960 14961// SetContainerPort sets the ContainerPort field's value. 14962func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 14963 s.ContainerPort = &v 14964 return s 14965} 14966 14967// SetPort sets the Port field's value. 14968func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 14969 s.Port = &v 14970 return s 14971} 14972 14973// SetRegistryArn sets the RegistryArn field's value. 14974func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 14975 s.RegistryArn = &v 14976 return s 14977} 14978 14979// The current account setting for a resource. 14980type Setting struct { 14981 _ struct{} `type:"structure"` 14982 14983 // The Amazon ECS resource name. 14984 Name *string `locationName:"name" type:"string" enum:"SettingName"` 14985 14986 // The ARN of the principal, which can be an IAM user, IAM role, or the root 14987 // user. If this field is omitted, the authenticated user is assumed. 14988 PrincipalArn *string `locationName:"principalArn" type:"string"` 14989 14990 // Whether the account setting is enabled or disabled for the specified resource. 14991 Value *string `locationName:"value" type:"string"` 14992} 14993 14994// String returns the string representation 14995func (s Setting) String() string { 14996 return awsutil.Prettify(s) 14997} 14998 14999// GoString returns the string representation 15000func (s Setting) GoString() string { 15001 return s.String() 15002} 15003 15004// SetName sets the Name field's value. 15005func (s *Setting) SetName(v string) *Setting { 15006 s.Name = &v 15007 return s 15008} 15009 15010// SetPrincipalArn sets the PrincipalArn field's value. 15011func (s *Setting) SetPrincipalArn(v string) *Setting { 15012 s.PrincipalArn = &v 15013 return s 15014} 15015 15016// SetValue sets the Value field's value. 15017func (s *Setting) SetValue(v string) *Setting { 15018 s.Value = &v 15019 return s 15020} 15021 15022type StartTaskInput struct { 15023 _ struct{} `type:"structure"` 15024 15025 // The short name or full Amazon Resource Name (ARN) of the cluster on which 15026 // to start your task. If you do not specify a cluster, the default cluster 15027 // is assumed. 15028 Cluster *string `locationName:"cluster" type:"string"` 15029 15030 // The container instance IDs or full ARN entries for the container instances 15031 // on which you would like to place your task. You can specify up to 10 container 15032 // instances. 15033 // 15034 // ContainerInstances is a required field 15035 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 15036 15037 // Specifies whether to enable Amazon ECS managed tags for the task. For more 15038 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 15039 // in the Amazon Elastic Container Service Developer Guide. 15040 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 15041 15042 // The name of the task group to associate with the task. The default value 15043 // is the family name of the task definition (for example, family:my-family-name). 15044 Group *string `locationName:"group" type:"string"` 15045 15046 // The VPC subnet and security group configuration for tasks that receive their 15047 // own elastic network interface by using the awsvpc networking mode. 15048 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15049 15050 // A list of container overrides in JSON format that specify the name of a container 15051 // in the specified task definition and the overrides it should receive. You 15052 // can override the default command for a container (that is specified in the 15053 // task definition or Docker image) with a command override. You can also override 15054 // existing environment variables (that are specified in the task definition 15055 // or Docker image) on a container or add new environment variables to it with 15056 // an environment override. 15057 // 15058 // A total of 8192 characters are allowed for overrides. This limit includes 15059 // the JSON formatting characters of the override structure. 15060 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 15061 15062 // Specifies whether to propagate the tags from the task definition or the service 15063 // to the task. If no value is specified, the tags are not propagated. 15064 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 15065 15066 // The reference ID to use for the task. 15067 ReferenceId *string `locationName:"referenceId" type:"string"` 15068 15069 // An optional tag specified when a task is started. For example, if you automatically 15070 // trigger a task to run a batch process job, you could apply a unique identifier 15071 // for that job to your task with the startedBy parameter. You can then identify 15072 // which tasks belong to that job by filtering the results of a ListTasks call 15073 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 15074 // hyphens, and underscores are allowed. 15075 // 15076 // If a task is started by an Amazon ECS service, then the startedBy parameter 15077 // contains the deployment ID of the service that starts it. 15078 StartedBy *string `locationName:"startedBy" type:"string"` 15079 15080 // The metadata that you apply to the task to help you categorize and organize 15081 // them. Each tag consists of a key and an optional value, both of which you 15082 // define. 15083 // 15084 // The following basic restrictions apply to tags: 15085 // 15086 // * Maximum number of tags per resource - 50 15087 // 15088 // * For each resource, each tag key must be unique, and each tag key can 15089 // have only one value. 15090 // 15091 // * Maximum key length - 128 Unicode characters in UTF-8 15092 // 15093 // * Maximum value length - 256 Unicode characters in UTF-8 15094 // 15095 // * If your tagging schema is used across multiple services and resources, 15096 // remember that other services may have restrictions on allowed characters. 15097 // Generally allowed characters are: letters, numbers, and spaces representable 15098 // in UTF-8, and the following characters: + - = . _ : / @. 15099 // 15100 // * Tag keys and values are case-sensitive. 15101 // 15102 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15103 // as a prefix for either keys or values as it is reserved for AWS use. You 15104 // cannot edit or delete tag keys or values with this prefix. Tags with this 15105 // prefix do not count against your tags per resource limit. 15106 Tags []*Tag `locationName:"tags" type:"list"` 15107 15108 // The family and revision (family:revision) or full ARN of the task definition 15109 // to start. If a revision is not specified, the latest ACTIVE revision is used. 15110 // 15111 // TaskDefinition is a required field 15112 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 15113} 15114 15115// String returns the string representation 15116func (s StartTaskInput) String() string { 15117 return awsutil.Prettify(s) 15118} 15119 15120// GoString returns the string representation 15121func (s StartTaskInput) GoString() string { 15122 return s.String() 15123} 15124 15125// Validate inspects the fields of the type to determine if they are valid. 15126func (s *StartTaskInput) Validate() error { 15127 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 15128 if s.ContainerInstances == nil { 15129 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 15130 } 15131 if s.TaskDefinition == nil { 15132 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 15133 } 15134 if s.NetworkConfiguration != nil { 15135 if err := s.NetworkConfiguration.Validate(); err != nil { 15136 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 15137 } 15138 } 15139 if s.Overrides != nil { 15140 if err := s.Overrides.Validate(); err != nil { 15141 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 15142 } 15143 } 15144 if s.Tags != nil { 15145 for i, v := range s.Tags { 15146 if v == nil { 15147 continue 15148 } 15149 if err := v.Validate(); err != nil { 15150 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15151 } 15152 } 15153 } 15154 15155 if invalidParams.Len() > 0 { 15156 return invalidParams 15157 } 15158 return nil 15159} 15160 15161// SetCluster sets the Cluster field's value. 15162func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 15163 s.Cluster = &v 15164 return s 15165} 15166 15167// SetContainerInstances sets the ContainerInstances field's value. 15168func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 15169 s.ContainerInstances = v 15170 return s 15171} 15172 15173// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 15174func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 15175 s.EnableECSManagedTags = &v 15176 return s 15177} 15178 15179// SetGroup sets the Group field's value. 15180func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 15181 s.Group = &v 15182 return s 15183} 15184 15185// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15186func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 15187 s.NetworkConfiguration = v 15188 return s 15189} 15190 15191// SetOverrides sets the Overrides field's value. 15192func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 15193 s.Overrides = v 15194 return s 15195} 15196 15197// SetPropagateTags sets the PropagateTags field's value. 15198func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 15199 s.PropagateTags = &v 15200 return s 15201} 15202 15203// SetReferenceId sets the ReferenceId field's value. 15204func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 15205 s.ReferenceId = &v 15206 return s 15207} 15208 15209// SetStartedBy sets the StartedBy field's value. 15210func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 15211 s.StartedBy = &v 15212 return s 15213} 15214 15215// SetTags sets the Tags field's value. 15216func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 15217 s.Tags = v 15218 return s 15219} 15220 15221// SetTaskDefinition sets the TaskDefinition field's value. 15222func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 15223 s.TaskDefinition = &v 15224 return s 15225} 15226 15227type StartTaskOutput struct { 15228 _ struct{} `type:"structure"` 15229 15230 // Any failures associated with the call. 15231 Failures []*Failure `locationName:"failures" type:"list"` 15232 15233 // A full description of the tasks that were started. Each task that was successfully 15234 // placed on your container instances is described. 15235 Tasks []*Task `locationName:"tasks" type:"list"` 15236} 15237 15238// String returns the string representation 15239func (s StartTaskOutput) String() string { 15240 return awsutil.Prettify(s) 15241} 15242 15243// GoString returns the string representation 15244func (s StartTaskOutput) GoString() string { 15245 return s.String() 15246} 15247 15248// SetFailures sets the Failures field's value. 15249func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 15250 s.Failures = v 15251 return s 15252} 15253 15254// SetTasks sets the Tasks field's value. 15255func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 15256 s.Tasks = v 15257 return s 15258} 15259 15260type StopTaskInput struct { 15261 _ struct{} `type:"structure"` 15262 15263 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 15264 // the task to stop. If you do not specify a cluster, the default cluster is 15265 // assumed. 15266 Cluster *string `locationName:"cluster" type:"string"` 15267 15268 // An optional message specified when a task is stopped. For example, if you 15269 // are using a custom scheduler, you can use this parameter to specify the reason 15270 // for stopping the task here, and the message appears in subsequent DescribeTasks 15271 // API operations on this task. Up to 255 characters are allowed in this message. 15272 Reason *string `locationName:"reason" type:"string"` 15273 15274 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 15275 // 15276 // Task is a required field 15277 Task *string `locationName:"task" type:"string" required:"true"` 15278} 15279 15280// String returns the string representation 15281func (s StopTaskInput) String() string { 15282 return awsutil.Prettify(s) 15283} 15284 15285// GoString returns the string representation 15286func (s StopTaskInput) GoString() string { 15287 return s.String() 15288} 15289 15290// Validate inspects the fields of the type to determine if they are valid. 15291func (s *StopTaskInput) Validate() error { 15292 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 15293 if s.Task == nil { 15294 invalidParams.Add(request.NewErrParamRequired("Task")) 15295 } 15296 15297 if invalidParams.Len() > 0 { 15298 return invalidParams 15299 } 15300 return nil 15301} 15302 15303// SetCluster sets the Cluster field's value. 15304func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 15305 s.Cluster = &v 15306 return s 15307} 15308 15309// SetReason sets the Reason field's value. 15310func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 15311 s.Reason = &v 15312 return s 15313} 15314 15315// SetTask sets the Task field's value. 15316func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 15317 s.Task = &v 15318 return s 15319} 15320 15321type StopTaskOutput struct { 15322 _ struct{} `type:"structure"` 15323 15324 // The task that was stopped. 15325 Task *Task `locationName:"task" type:"structure"` 15326} 15327 15328// String returns the string representation 15329func (s StopTaskOutput) String() string { 15330 return awsutil.Prettify(s) 15331} 15332 15333// GoString returns the string representation 15334func (s StopTaskOutput) GoString() string { 15335 return s.String() 15336} 15337 15338// SetTask sets the Task field's value. 15339func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 15340 s.Task = v 15341 return s 15342} 15343 15344type SubmitAttachmentStateChangesInput struct { 15345 _ struct{} `type:"structure"` 15346 15347 // Any attachments associated with the state change request. 15348 // 15349 // Attachments is a required field 15350 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 15351 15352 // The short name or full ARN of the cluster that hosts the container instance 15353 // the attachment belongs to. 15354 Cluster *string `locationName:"cluster" type:"string"` 15355} 15356 15357// String returns the string representation 15358func (s SubmitAttachmentStateChangesInput) String() string { 15359 return awsutil.Prettify(s) 15360} 15361 15362// GoString returns the string representation 15363func (s SubmitAttachmentStateChangesInput) GoString() string { 15364 return s.String() 15365} 15366 15367// Validate inspects the fields of the type to determine if they are valid. 15368func (s *SubmitAttachmentStateChangesInput) Validate() error { 15369 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 15370 if s.Attachments == nil { 15371 invalidParams.Add(request.NewErrParamRequired("Attachments")) 15372 } 15373 if s.Attachments != nil { 15374 for i, v := range s.Attachments { 15375 if v == nil { 15376 continue 15377 } 15378 if err := v.Validate(); err != nil { 15379 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 15380 } 15381 } 15382 } 15383 15384 if invalidParams.Len() > 0 { 15385 return invalidParams 15386 } 15387 return nil 15388} 15389 15390// SetAttachments sets the Attachments field's value. 15391func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 15392 s.Attachments = v 15393 return s 15394} 15395 15396// SetCluster sets the Cluster field's value. 15397func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 15398 s.Cluster = &v 15399 return s 15400} 15401 15402type SubmitAttachmentStateChangesOutput struct { 15403 _ struct{} `type:"structure"` 15404 15405 // Acknowledgement of the state change. 15406 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 15407} 15408 15409// String returns the string representation 15410func (s SubmitAttachmentStateChangesOutput) String() string { 15411 return awsutil.Prettify(s) 15412} 15413 15414// GoString returns the string representation 15415func (s SubmitAttachmentStateChangesOutput) GoString() string { 15416 return s.String() 15417} 15418 15419// SetAcknowledgment sets the Acknowledgment field's value. 15420func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 15421 s.Acknowledgment = &v 15422 return s 15423} 15424 15425type SubmitContainerStateChangeInput struct { 15426 _ struct{} `type:"structure"` 15427 15428 // The short name or full ARN of the cluster that hosts the container. 15429 Cluster *string `locationName:"cluster" type:"string"` 15430 15431 // The name of the container. 15432 ContainerName *string `locationName:"containerName" type:"string"` 15433 15434 // The exit code returned for the state change request. 15435 ExitCode *int64 `locationName:"exitCode" type:"integer"` 15436 15437 // The network bindings of the container. 15438 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 15439 15440 // The reason for the state change request. 15441 Reason *string `locationName:"reason" type:"string"` 15442 15443 // The ID of the Docker container. 15444 RuntimeId *string `locationName:"runtimeId" type:"string"` 15445 15446 // The status of the state change request. 15447 Status *string `locationName:"status" type:"string"` 15448 15449 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 15450 // container. 15451 Task *string `locationName:"task" type:"string"` 15452} 15453 15454// String returns the string representation 15455func (s SubmitContainerStateChangeInput) String() string { 15456 return awsutil.Prettify(s) 15457} 15458 15459// GoString returns the string representation 15460func (s SubmitContainerStateChangeInput) GoString() string { 15461 return s.String() 15462} 15463 15464// SetCluster sets the Cluster field's value. 15465func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 15466 s.Cluster = &v 15467 return s 15468} 15469 15470// SetContainerName sets the ContainerName field's value. 15471func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 15472 s.ContainerName = &v 15473 return s 15474} 15475 15476// SetExitCode sets the ExitCode field's value. 15477func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 15478 s.ExitCode = &v 15479 return s 15480} 15481 15482// SetNetworkBindings sets the NetworkBindings field's value. 15483func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 15484 s.NetworkBindings = v 15485 return s 15486} 15487 15488// SetReason sets the Reason field's value. 15489func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 15490 s.Reason = &v 15491 return s 15492} 15493 15494// SetRuntimeId sets the RuntimeId field's value. 15495func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 15496 s.RuntimeId = &v 15497 return s 15498} 15499 15500// SetStatus sets the Status field's value. 15501func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 15502 s.Status = &v 15503 return s 15504} 15505 15506// SetTask sets the Task field's value. 15507func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 15508 s.Task = &v 15509 return s 15510} 15511 15512type SubmitContainerStateChangeOutput struct { 15513 _ struct{} `type:"structure"` 15514 15515 // Acknowledgement of the state change. 15516 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 15517} 15518 15519// String returns the string representation 15520func (s SubmitContainerStateChangeOutput) String() string { 15521 return awsutil.Prettify(s) 15522} 15523 15524// GoString returns the string representation 15525func (s SubmitContainerStateChangeOutput) GoString() string { 15526 return s.String() 15527} 15528 15529// SetAcknowledgment sets the Acknowledgment field's value. 15530func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 15531 s.Acknowledgment = &v 15532 return s 15533} 15534 15535type SubmitTaskStateChangeInput struct { 15536 _ struct{} `type:"structure"` 15537 15538 // Any attachments associated with the state change request. 15539 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 15540 15541 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 15542 // the task. 15543 Cluster *string `locationName:"cluster" type:"string"` 15544 15545 // Any containers associated with the state change request. 15546 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 15547 15548 // The Unix timestamp for when the task execution stopped. 15549 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 15550 15551 // The Unix timestamp for when the container image pull began. 15552 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 15553 15554 // The Unix timestamp for when the container image pull completed. 15555 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 15556 15557 // The reason for the state change request. 15558 Reason *string `locationName:"reason" type:"string"` 15559 15560 // The status of the state change request. 15561 Status *string `locationName:"status" type:"string"` 15562 15563 // The task ID or full ARN of the task in the state change request. 15564 Task *string `locationName:"task" type:"string"` 15565} 15566 15567// String returns the string representation 15568func (s SubmitTaskStateChangeInput) String() string { 15569 return awsutil.Prettify(s) 15570} 15571 15572// GoString returns the string representation 15573func (s SubmitTaskStateChangeInput) GoString() string { 15574 return s.String() 15575} 15576 15577// Validate inspects the fields of the type to determine if they are valid. 15578func (s *SubmitTaskStateChangeInput) Validate() error { 15579 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 15580 if s.Attachments != nil { 15581 for i, v := range s.Attachments { 15582 if v == nil { 15583 continue 15584 } 15585 if err := v.Validate(); err != nil { 15586 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 15587 } 15588 } 15589 } 15590 15591 if invalidParams.Len() > 0 { 15592 return invalidParams 15593 } 15594 return nil 15595} 15596 15597// SetAttachments sets the Attachments field's value. 15598func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 15599 s.Attachments = v 15600 return s 15601} 15602 15603// SetCluster sets the Cluster field's value. 15604func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 15605 s.Cluster = &v 15606 return s 15607} 15608 15609// SetContainers sets the Containers field's value. 15610func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 15611 s.Containers = v 15612 return s 15613} 15614 15615// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 15616func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 15617 s.ExecutionStoppedAt = &v 15618 return s 15619} 15620 15621// SetPullStartedAt sets the PullStartedAt field's value. 15622func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 15623 s.PullStartedAt = &v 15624 return s 15625} 15626 15627// SetPullStoppedAt sets the PullStoppedAt field's value. 15628func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 15629 s.PullStoppedAt = &v 15630 return s 15631} 15632 15633// SetReason sets the Reason field's value. 15634func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 15635 s.Reason = &v 15636 return s 15637} 15638 15639// SetStatus sets the Status field's value. 15640func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 15641 s.Status = &v 15642 return s 15643} 15644 15645// SetTask sets the Task field's value. 15646func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 15647 s.Task = &v 15648 return s 15649} 15650 15651type SubmitTaskStateChangeOutput struct { 15652 _ struct{} `type:"structure"` 15653 15654 // Acknowledgement of the state change. 15655 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 15656} 15657 15658// String returns the string representation 15659func (s SubmitTaskStateChangeOutput) String() string { 15660 return awsutil.Prettify(s) 15661} 15662 15663// GoString returns the string representation 15664func (s SubmitTaskStateChangeOutput) GoString() string { 15665 return s.String() 15666} 15667 15668// SetAcknowledgment sets the Acknowledgment field's value. 15669func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 15670 s.Acknowledgment = &v 15671 return s 15672} 15673 15674// A list of namespaced kernel parameters to set in the container. This parameter 15675// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 15676// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 15677// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 15678// 15679// It is not recommended that you specify network-related systemControls parameters 15680// for multiple containers in a single task that also uses either the awsvpc 15681// or host network mode for the following reasons: 15682// 15683// * For tasks that use the awsvpc network mode, if you set systemControls 15684// for any container, it applies to all containers in the task. If you set 15685// different systemControls for multiple containers in a single task, the 15686// container that is started last determines which systemControls take effect. 15687// 15688// * For tasks that use the host network mode, the systemControls parameter 15689// applies to the container instance's kernel parameter as well as that of 15690// all containers of any tasks running on that container instance. 15691type SystemControl struct { 15692 _ struct{} `type:"structure"` 15693 15694 // The namespaced kernel parameter for which to set a value. 15695 Namespace *string `locationName:"namespace" type:"string"` 15696 15697 // The value for the namespaced kernel parameter specified in namespace. 15698 Value *string `locationName:"value" type:"string"` 15699} 15700 15701// String returns the string representation 15702func (s SystemControl) String() string { 15703 return awsutil.Prettify(s) 15704} 15705 15706// GoString returns the string representation 15707func (s SystemControl) GoString() string { 15708 return s.String() 15709} 15710 15711// SetNamespace sets the Namespace field's value. 15712func (s *SystemControl) SetNamespace(v string) *SystemControl { 15713 s.Namespace = &v 15714 return s 15715} 15716 15717// SetValue sets the Value field's value. 15718func (s *SystemControl) SetValue(v string) *SystemControl { 15719 s.Value = &v 15720 return s 15721} 15722 15723// The metadata that you apply to a resource to help you categorize and organize 15724// them. Each tag consists of a key and an optional value, both of which you 15725// define. 15726// 15727// The following basic restrictions apply to tags: 15728// 15729// * Maximum number of tags per resource - 50 15730// 15731// * For each resource, each tag key must be unique, and each tag key can 15732// have only one value. 15733// 15734// * Maximum key length - 128 Unicode characters in UTF-8 15735// 15736// * Maximum value length - 256 Unicode characters in UTF-8 15737// 15738// * If your tagging schema is used across multiple services and resources, 15739// remember that other services may have restrictions on allowed characters. 15740// Generally allowed characters are: letters, numbers, and spaces representable 15741// in UTF-8, and the following characters: + - = . _ : / @. 15742// 15743// * Tag keys and values are case-sensitive. 15744// 15745// * Do not use aws:, AWS:, or any upper or lowercase combination of such 15746// as a prefix for either keys or values as it is reserved for AWS use. You 15747// cannot edit or delete tag keys or values with this prefix. Tags with this 15748// prefix do not count against your tags per resource limit. 15749type Tag struct { 15750 _ struct{} `type:"structure"` 15751 15752 // One part of a key-value pair that make up a tag. A key is a general label 15753 // that acts like a category for more specific tag values. 15754 Key *string `locationName:"key" min:"1" type:"string"` 15755 15756 // The optional part of a key-value pair that make up a tag. A value acts as 15757 // a descriptor within a tag category (key). 15758 Value *string `locationName:"value" type:"string"` 15759} 15760 15761// String returns the string representation 15762func (s Tag) String() string { 15763 return awsutil.Prettify(s) 15764} 15765 15766// GoString returns the string representation 15767func (s Tag) GoString() string { 15768 return s.String() 15769} 15770 15771// Validate inspects the fields of the type to determine if they are valid. 15772func (s *Tag) Validate() error { 15773 invalidParams := request.ErrInvalidParams{Context: "Tag"} 15774 if s.Key != nil && len(*s.Key) < 1 { 15775 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 15776 } 15777 15778 if invalidParams.Len() > 0 { 15779 return invalidParams 15780 } 15781 return nil 15782} 15783 15784// SetKey sets the Key field's value. 15785func (s *Tag) SetKey(v string) *Tag { 15786 s.Key = &v 15787 return s 15788} 15789 15790// SetValue sets the Value field's value. 15791func (s *Tag) SetValue(v string) *Tag { 15792 s.Value = &v 15793 return s 15794} 15795 15796type TagResourceInput struct { 15797 _ struct{} `type:"structure"` 15798 15799 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 15800 // the supported resources are Amazon ECS capacity providers, tasks, services, 15801 // task definitions, clusters, and container instances. 15802 // 15803 // ResourceArn is a required field 15804 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 15805 15806 // The tags to add to the resource. A tag is an array of key-value pairs. 15807 // 15808 // The following basic restrictions apply to tags: 15809 // 15810 // * Maximum number of tags per resource - 50 15811 // 15812 // * For each resource, each tag key must be unique, and each tag key can 15813 // have only one value. 15814 // 15815 // * Maximum key length - 128 Unicode characters in UTF-8 15816 // 15817 // * Maximum value length - 256 Unicode characters in UTF-8 15818 // 15819 // * If your tagging schema is used across multiple services and resources, 15820 // remember that other services may have restrictions on allowed characters. 15821 // Generally allowed characters are: letters, numbers, and spaces representable 15822 // in UTF-8, and the following characters: + - = . _ : / @. 15823 // 15824 // * Tag keys and values are case-sensitive. 15825 // 15826 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15827 // as a prefix for either keys or values as it is reserved for AWS use. You 15828 // cannot edit or delete tag keys or values with this prefix. Tags with this 15829 // prefix do not count against your tags per resource limit. 15830 // 15831 // Tags is a required field 15832 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 15833} 15834 15835// String returns the string representation 15836func (s TagResourceInput) String() string { 15837 return awsutil.Prettify(s) 15838} 15839 15840// GoString returns the string representation 15841func (s TagResourceInput) GoString() string { 15842 return s.String() 15843} 15844 15845// Validate inspects the fields of the type to determine if they are valid. 15846func (s *TagResourceInput) Validate() error { 15847 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 15848 if s.ResourceArn == nil { 15849 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 15850 } 15851 if s.Tags == nil { 15852 invalidParams.Add(request.NewErrParamRequired("Tags")) 15853 } 15854 if s.Tags != nil { 15855 for i, v := range s.Tags { 15856 if v == nil { 15857 continue 15858 } 15859 if err := v.Validate(); err != nil { 15860 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15861 } 15862 } 15863 } 15864 15865 if invalidParams.Len() > 0 { 15866 return invalidParams 15867 } 15868 return nil 15869} 15870 15871// SetResourceArn sets the ResourceArn field's value. 15872func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 15873 s.ResourceArn = &v 15874 return s 15875} 15876 15877// SetTags sets the Tags field's value. 15878func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 15879 s.Tags = v 15880 return s 15881} 15882 15883type TagResourceOutput struct { 15884 _ struct{} `type:"structure"` 15885} 15886 15887// String returns the string representation 15888func (s TagResourceOutput) String() string { 15889 return awsutil.Prettify(s) 15890} 15891 15892// GoString returns the string representation 15893func (s TagResourceOutput) GoString() string { 15894 return s.String() 15895} 15896 15897// Details on a task in a cluster. 15898type Task struct { 15899 _ struct{} `type:"structure"` 15900 15901 // The Elastic Network Adapter associated with the task if the task uses the 15902 // awsvpc network mode. 15903 Attachments []*Attachment `locationName:"attachments" type:"list"` 15904 15905 // The attributes of the task 15906 Attributes []*Attribute `locationName:"attributes" type:"list"` 15907 15908 // The availability zone of the task. 15909 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 15910 15911 // The capacity provider associated with the task. 15912 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 15913 15914 // The ARN of the cluster that hosts the task. 15915 ClusterArn *string `locationName:"clusterArn" type:"string"` 15916 15917 // The connectivity status of a task. 15918 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 15919 15920 // The Unix timestamp for when the task last went into CONNECTED status. 15921 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 15922 15923 // The ARN of the container instances that host the task. 15924 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 15925 15926 // The containers associated with the task. 15927 Containers []*Container `locationName:"containers" type:"list"` 15928 15929 // The number of CPU units used by the task as expressed in a task definition. 15930 // It can be expressed as an integer using CPU units, for example 1024. It can 15931 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 15932 // String values are converted to an integer indicating the CPU units when the 15933 // task definition is registered. 15934 // 15935 // If you are using the EC2 launch type, this field is optional. Supported values 15936 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 15937 // 15938 // If you are using the Fargate launch type, this field is required and you 15939 // must use one of the following values, which determines your range of supported 15940 // values for the memory parameter: 15941 // 15942 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 15943 // 2048 (2 GB) 15944 // 15945 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 15946 // (3 GB), 4096 (4 GB) 15947 // 15948 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 15949 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 15950 // 15951 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 15952 // (16 GB) in increments of 1024 (1 GB) 15953 // 15954 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 15955 // (30 GB) in increments of 1024 (1 GB) 15956 Cpu *string `locationName:"cpu" type:"string"` 15957 15958 // The Unix timestamp for when the task was created (the task entered the PENDING 15959 // state). 15960 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 15961 15962 // The desired status of the task. For more information, see Task Lifecycle 15963 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 15964 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 15965 15966 // The Unix timestamp for when the task execution stopped. 15967 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 15968 15969 // The name of the task group associated with the task. 15970 Group *string `locationName:"group" type:"string"` 15971 15972 // The health status for the task, which is determined by the health of the 15973 // essential containers in the task. If all essential containers in the task 15974 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 15975 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 15976 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 15977 // 15978 // The Amazon ECS container agent does not monitor or report on Docker health 15979 // checks that are embedded in a container image (such as those specified in 15980 // a parent image or from the image's Dockerfile) and not specified in the container 15981 // definition. Health check parameters that are specified in a container definition 15982 // override any Docker health checks that exist in the container image. 15983 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 15984 15985 // The Elastic Inference accelerator associated with the task. 15986 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 15987 15988 // The last known status of the task. For more information, see Task Lifecycle 15989 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 15990 LastStatus *string `locationName:"lastStatus" type:"string"` 15991 15992 // The launch type on which your task is running. For more information, see 15993 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 15994 // in the Amazon Elastic Container Service Developer Guide. 15995 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15996 15997 // The amount of memory (in MiB) used by the task as expressed in a task definition. 15998 // It can be expressed as an integer using MiB, for example 1024. It can also 15999 // be expressed as a string using GB, for example 1GB or 1 GB. String values 16000 // are converted to an integer indicating the MiB when the task definition is 16001 // registered. 16002 // 16003 // If you are using the EC2 launch type, this field is optional. 16004 // 16005 // If you are using the Fargate launch type, this field is required and you 16006 // must use one of the following values, which determines your range of supported 16007 // values for the cpu parameter: 16008 // 16009 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 16010 // vCPU) 16011 // 16012 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 16013 // 512 (.5 vCPU) 16014 // 16015 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 16016 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 16017 // 16018 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 16019 // Available cpu values: 2048 (2 vCPU) 16020 // 16021 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 16022 // Available cpu values: 4096 (4 vCPU) 16023 Memory *string `locationName:"memory" type:"string"` 16024 16025 // One or more container overrides. 16026 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 16027 16028 // The platform version on which your task is running. A platform version is 16029 // only specified for tasks using the Fargate launch type. If one is not specified, 16030 // the LATEST platform version is used by default. For more information, see 16031 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16032 // in the Amazon Elastic Container Service Developer Guide. 16033 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16034 16035 // The Unix timestamp for when the container image pull began. 16036 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 16037 16038 // The Unix timestamp for when the container image pull completed. 16039 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 16040 16041 // The Unix timestamp for when the task started (the task transitioned from 16042 // the PENDING state to the RUNNING state). 16043 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 16044 16045 // The tag specified when a task is started. If the task is started by an Amazon 16046 // ECS service, then the startedBy parameter contains the deployment ID of the 16047 // service that starts it. 16048 StartedBy *string `locationName:"startedBy" type:"string"` 16049 16050 // The stop code indicating why a task was stopped. The stoppedReason may contain 16051 // additional details. 16052 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 16053 16054 // The Unix timestamp for when the task was stopped (the task transitioned from 16055 // the RUNNING state to the STOPPED state). 16056 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 16057 16058 // The reason that the task was stopped. 16059 StoppedReason *string `locationName:"stoppedReason" type:"string"` 16060 16061 // The Unix timestamp for when the task stops (transitions from the RUNNING 16062 // state to STOPPED). 16063 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 16064 16065 // The metadata that you apply to the task to help you categorize and organize 16066 // them. Each tag consists of a key and an optional value, both of which you 16067 // define. 16068 // 16069 // The following basic restrictions apply to tags: 16070 // 16071 // * Maximum number of tags per resource - 50 16072 // 16073 // * For each resource, each tag key must be unique, and each tag key can 16074 // have only one value. 16075 // 16076 // * Maximum key length - 128 Unicode characters in UTF-8 16077 // 16078 // * Maximum value length - 256 Unicode characters in UTF-8 16079 // 16080 // * If your tagging schema is used across multiple services and resources, 16081 // remember that other services may have restrictions on allowed characters. 16082 // Generally allowed characters are: letters, numbers, and spaces representable 16083 // in UTF-8, and the following characters: + - = . _ : / @. 16084 // 16085 // * Tag keys and values are case-sensitive. 16086 // 16087 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16088 // as a prefix for either keys or values as it is reserved for AWS use. You 16089 // cannot edit or delete tag keys or values with this prefix. Tags with this 16090 // prefix do not count against your tags per resource limit. 16091 Tags []*Tag `locationName:"tags" type:"list"` 16092 16093 // The Amazon Resource Name (ARN) of the task. 16094 TaskArn *string `locationName:"taskArn" type:"string"` 16095 16096 // The ARN of the task definition that creates the task. 16097 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 16098 16099 // The version counter for the task. Every time a task experiences a change 16100 // that triggers a CloudWatch event, the version counter is incremented. If 16101 // you are replicating your Amazon ECS task state with CloudWatch Events, you 16102 // can compare the version of a task reported by the Amazon ECS API actions 16103 // with the version reported in CloudWatch Events for the task (inside the detail 16104 // object) to verify that the version in your event stream is current. 16105 Version *int64 `locationName:"version" type:"long"` 16106} 16107 16108// String returns the string representation 16109func (s Task) String() string { 16110 return awsutil.Prettify(s) 16111} 16112 16113// GoString returns the string representation 16114func (s Task) GoString() string { 16115 return s.String() 16116} 16117 16118// SetAttachments sets the Attachments field's value. 16119func (s *Task) SetAttachments(v []*Attachment) *Task { 16120 s.Attachments = v 16121 return s 16122} 16123 16124// SetAttributes sets the Attributes field's value. 16125func (s *Task) SetAttributes(v []*Attribute) *Task { 16126 s.Attributes = v 16127 return s 16128} 16129 16130// SetAvailabilityZone sets the AvailabilityZone field's value. 16131func (s *Task) SetAvailabilityZone(v string) *Task { 16132 s.AvailabilityZone = &v 16133 return s 16134} 16135 16136// SetCapacityProviderName sets the CapacityProviderName field's value. 16137func (s *Task) SetCapacityProviderName(v string) *Task { 16138 s.CapacityProviderName = &v 16139 return s 16140} 16141 16142// SetClusterArn sets the ClusterArn field's value. 16143func (s *Task) SetClusterArn(v string) *Task { 16144 s.ClusterArn = &v 16145 return s 16146} 16147 16148// SetConnectivity sets the Connectivity field's value. 16149func (s *Task) SetConnectivity(v string) *Task { 16150 s.Connectivity = &v 16151 return s 16152} 16153 16154// SetConnectivityAt sets the ConnectivityAt field's value. 16155func (s *Task) SetConnectivityAt(v time.Time) *Task { 16156 s.ConnectivityAt = &v 16157 return s 16158} 16159 16160// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 16161func (s *Task) SetContainerInstanceArn(v string) *Task { 16162 s.ContainerInstanceArn = &v 16163 return s 16164} 16165 16166// SetContainers sets the Containers field's value. 16167func (s *Task) SetContainers(v []*Container) *Task { 16168 s.Containers = v 16169 return s 16170} 16171 16172// SetCpu sets the Cpu field's value. 16173func (s *Task) SetCpu(v string) *Task { 16174 s.Cpu = &v 16175 return s 16176} 16177 16178// SetCreatedAt sets the CreatedAt field's value. 16179func (s *Task) SetCreatedAt(v time.Time) *Task { 16180 s.CreatedAt = &v 16181 return s 16182} 16183 16184// SetDesiredStatus sets the DesiredStatus field's value. 16185func (s *Task) SetDesiredStatus(v string) *Task { 16186 s.DesiredStatus = &v 16187 return s 16188} 16189 16190// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 16191func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 16192 s.ExecutionStoppedAt = &v 16193 return s 16194} 16195 16196// SetGroup sets the Group field's value. 16197func (s *Task) SetGroup(v string) *Task { 16198 s.Group = &v 16199 return s 16200} 16201 16202// SetHealthStatus sets the HealthStatus field's value. 16203func (s *Task) SetHealthStatus(v string) *Task { 16204 s.HealthStatus = &v 16205 return s 16206} 16207 16208// SetInferenceAccelerators sets the InferenceAccelerators field's value. 16209func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 16210 s.InferenceAccelerators = v 16211 return s 16212} 16213 16214// SetLastStatus sets the LastStatus field's value. 16215func (s *Task) SetLastStatus(v string) *Task { 16216 s.LastStatus = &v 16217 return s 16218} 16219 16220// SetLaunchType sets the LaunchType field's value. 16221func (s *Task) SetLaunchType(v string) *Task { 16222 s.LaunchType = &v 16223 return s 16224} 16225 16226// SetMemory sets the Memory field's value. 16227func (s *Task) SetMemory(v string) *Task { 16228 s.Memory = &v 16229 return s 16230} 16231 16232// SetOverrides sets the Overrides field's value. 16233func (s *Task) SetOverrides(v *TaskOverride) *Task { 16234 s.Overrides = v 16235 return s 16236} 16237 16238// SetPlatformVersion sets the PlatformVersion field's value. 16239func (s *Task) SetPlatformVersion(v string) *Task { 16240 s.PlatformVersion = &v 16241 return s 16242} 16243 16244// SetPullStartedAt sets the PullStartedAt field's value. 16245func (s *Task) SetPullStartedAt(v time.Time) *Task { 16246 s.PullStartedAt = &v 16247 return s 16248} 16249 16250// SetPullStoppedAt sets the PullStoppedAt field's value. 16251func (s *Task) SetPullStoppedAt(v time.Time) *Task { 16252 s.PullStoppedAt = &v 16253 return s 16254} 16255 16256// SetStartedAt sets the StartedAt field's value. 16257func (s *Task) SetStartedAt(v time.Time) *Task { 16258 s.StartedAt = &v 16259 return s 16260} 16261 16262// SetStartedBy sets the StartedBy field's value. 16263func (s *Task) SetStartedBy(v string) *Task { 16264 s.StartedBy = &v 16265 return s 16266} 16267 16268// SetStopCode sets the StopCode field's value. 16269func (s *Task) SetStopCode(v string) *Task { 16270 s.StopCode = &v 16271 return s 16272} 16273 16274// SetStoppedAt sets the StoppedAt field's value. 16275func (s *Task) SetStoppedAt(v time.Time) *Task { 16276 s.StoppedAt = &v 16277 return s 16278} 16279 16280// SetStoppedReason sets the StoppedReason field's value. 16281func (s *Task) SetStoppedReason(v string) *Task { 16282 s.StoppedReason = &v 16283 return s 16284} 16285 16286// SetStoppingAt sets the StoppingAt field's value. 16287func (s *Task) SetStoppingAt(v time.Time) *Task { 16288 s.StoppingAt = &v 16289 return s 16290} 16291 16292// SetTags sets the Tags field's value. 16293func (s *Task) SetTags(v []*Tag) *Task { 16294 s.Tags = v 16295 return s 16296} 16297 16298// SetTaskArn sets the TaskArn field's value. 16299func (s *Task) SetTaskArn(v string) *Task { 16300 s.TaskArn = &v 16301 return s 16302} 16303 16304// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 16305func (s *Task) SetTaskDefinitionArn(v string) *Task { 16306 s.TaskDefinitionArn = &v 16307 return s 16308} 16309 16310// SetVersion sets the Version field's value. 16311func (s *Task) SetVersion(v int64) *Task { 16312 s.Version = &v 16313 return s 16314} 16315 16316// The details of a task definition which describes the container and volume 16317// definitions of an Amazon Elastic Container Service task. You can specify 16318// which Docker images to use, the required resources, and other configurations 16319// related to launching the task definition through an Amazon ECS service or 16320// task. 16321type TaskDefinition struct { 16322 _ struct{} `type:"structure"` 16323 16324 // The launch type to use with your task. For more information, see Amazon ECS 16325 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16326 // in the Amazon Elastic Container Service Developer Guide. 16327 Compatibilities []*string `locationName:"compatibilities" type:"list"` 16328 16329 // A list of container definitions in JSON format that describe the different 16330 // containers that make up your task. For more information about container definition 16331 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 16332 // in the Amazon Elastic Container Service Developer Guide. 16333 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 16334 16335 // The number of cpu units used by the task. If you are using the EC2 launch 16336 // type, this field is optional and any value can be used. If you are using 16337 // the Fargate launch type, this field is required and you must use one of the 16338 // following values, which determines your range of valid values for the memory 16339 // parameter: 16340 // 16341 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 16342 // 2048 (2 GB) 16343 // 16344 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 16345 // (3 GB), 4096 (4 GB) 16346 // 16347 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 16348 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 16349 // 16350 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 16351 // (16 GB) in increments of 1024 (1 GB) 16352 // 16353 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 16354 // (30 GB) in increments of 1024 (1 GB) 16355 Cpu *string `locationName:"cpu" type:"string"` 16356 16357 // The Amazon Resource Name (ARN) of the task execution role that containers 16358 // in this task can assume. All containers in this task are granted the permissions 16359 // that are specified in this role. 16360 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 16361 16362 // The name of a family that this task definition is registered to. A family 16363 // groups multiple versions of a task definition. Amazon ECS gives the first 16364 // task definition that you registered to a family a revision number of 1. Amazon 16365 // ECS gives sequential revision numbers to each task definition that you add. 16366 Family *string `locationName:"family" type:"string"` 16367 16368 // The Elastic Inference accelerator associated with the task. 16369 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 16370 16371 // The IPC resource namespace to use for the containers in the task. The valid 16372 // values are host, task, or none. If host is specified, then all containers 16373 // within the tasks that specified the host IPC mode on the same container instance 16374 // share the same IPC resources with the host Amazon EC2 instance. If task is 16375 // specified, all containers within the specified task share the same IPC resources. 16376 // If none is specified, then IPC resources within the containers of a task 16377 // are private and not shared with other containers in a task or on the container 16378 // instance. If no value is specified, then the IPC resource namespace sharing 16379 // depends on the Docker daemon setting on the container instance. For more 16380 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 16381 // in the Docker run reference. 16382 // 16383 // If the host IPC mode is used, be aware that there is a heightened risk of 16384 // undesired IPC namespace expose. For more information, see Docker security 16385 // (https://docs.docker.com/engine/security/security/). 16386 // 16387 // If you are setting namespaced kernel parameters using systemControls for 16388 // the containers in the task, the following will apply to your IPC resource 16389 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 16390 // in the Amazon Elastic Container Service Developer Guide. 16391 // 16392 // * For tasks that use the host IPC mode, IPC namespace related systemControls 16393 // are not supported. 16394 // 16395 // * For tasks that use the task IPC mode, IPC namespace related systemControls 16396 // will apply to all containers within a task. 16397 // 16398 // This parameter is not supported for Windows containers or tasks using the 16399 // Fargate launch type. 16400 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 16401 16402 // The amount (in MiB) of memory used by the task. 16403 // 16404 // If using the EC2 launch type, this field is optional and any value can be 16405 // used. If a task-level memory value is specified then the container-level 16406 // memory value is optional. 16407 // 16408 // If using the Fargate launch type, this field is required and you must use 16409 // one of the following values, which determines your range of valid values 16410 // for the cpu parameter: 16411 // 16412 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 16413 // vCPU) 16414 // 16415 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 16416 // 512 (.5 vCPU) 16417 // 16418 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 16419 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 16420 // 16421 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 16422 // Available cpu values: 2048 (2 vCPU) 16423 // 16424 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 16425 // Available cpu values: 4096 (4 vCPU) 16426 Memory *string `locationName:"memory" type:"string"` 16427 16428 // The Docker networking mode to use for the containers in the task. The valid 16429 // values are none, bridge, awsvpc, and host. The default Docker network mode 16430 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 16431 // is required. If you are using the EC2 launch type, any network mode can be 16432 // used. If the network mode is set to none, you cannot specify port mappings 16433 // in your container definitions, and the tasks containers do not have external 16434 // connectivity. The host and awsvpc network modes offer the highest networking 16435 // performance for containers because they use the EC2 network stack instead 16436 // of the virtualized network stack provided by the bridge mode. 16437 // 16438 // With the host and awsvpc network modes, exposed container ports are mapped 16439 // directly to the corresponding host port (for the host network mode) or the 16440 // attached elastic network interface port (for the awsvpc network mode), so 16441 // you cannot take advantage of dynamic host port mappings. 16442 // 16443 // If the network mode is awsvpc, the task is allocated an elastic network interface, 16444 // and you must specify a NetworkConfiguration value when you create a service 16445 // or run a task with the task definition. For more information, see Task Networking 16446 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 16447 // in the Amazon Elastic Container Service Developer Guide. 16448 // 16449 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 16450 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 16451 // mode. 16452 // 16453 // If the network mode is host, you cannot run multiple instantiations of the 16454 // same task on a single container instance when port mappings are used. 16455 // 16456 // Docker for Windows uses different network modes than Docker for Linux. When 16457 // you register a task definition with Windows containers, you must not specify 16458 // a network mode. If you use the console to register a task definition with 16459 // Windows containers, you must choose the <default> network mode object. 16460 // 16461 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 16462 // in the Docker run reference. 16463 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 16464 16465 // The process namespace to use for the containers in the task. The valid values 16466 // are host or task. If host is specified, then all containers within the tasks 16467 // that specified the host PID mode on the same container instance share the 16468 // same process namespace with the host Amazon EC2 instance. If task is specified, 16469 // all containers within the specified task share the same process namespace. 16470 // If no value is specified, the default is a private namespace. For more information, 16471 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 16472 // in the Docker run reference. 16473 // 16474 // If the host PID mode is used, be aware that there is a heightened risk of 16475 // undesired process namespace expose. For more information, see Docker security 16476 // (https://docs.docker.com/engine/security/security/). 16477 // 16478 // This parameter is not supported for Windows containers or tasks using the 16479 // Fargate launch type. 16480 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 16481 16482 // An array of placement constraint objects to use for tasks. This field is 16483 // not valid if you are using the Fargate launch type for your task. 16484 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 16485 16486 // The configuration details for the App Mesh proxy. 16487 // 16488 // Your Amazon ECS container instances require at least version 1.26.0 of the 16489 // container agent and at least version 1.26.0-1 of the ecs-init package to 16490 // enable a proxy configuration. If your container instances are launched from 16491 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 16492 // the required versions of the container agent and ecs-init. For more information, 16493 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 16494 // in the Amazon Elastic Container Service Developer Guide. 16495 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 16496 16497 // The container instance attributes required by your task. This field is not 16498 // valid if you are using the Fargate launch type for your task. 16499 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 16500 16501 // The launch type the task requires. If no value is specified, it will default 16502 // to EC2. Valid values include EC2 and FARGATE. 16503 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 16504 16505 // The revision of the task in a particular family. The revision is a version 16506 // number of a task definition in a family. When you register a task definition 16507 // for the first time, the revision is 1. Each time that you register a new 16508 // revision of a task definition in the same family, the revision value always 16509 // increases by one, even if you have deregistered previous revisions in this 16510 // family. 16511 Revision *int64 `locationName:"revision" type:"integer"` 16512 16513 // The status of the task definition. 16514 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 16515 16516 // The full Amazon Resource Name (ARN) of the task definition. 16517 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 16518 16519 // The short name or full Amazon Resource Name (ARN) of the AWS Identity and 16520 // Access Management (IAM) role that grants containers in the task permission 16521 // to call AWS APIs on your behalf. For more information, see Amazon ECS Task 16522 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_IAM_role.html) 16523 // in the Amazon Elastic Container Service Developer Guide. 16524 // 16525 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 16526 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 16527 // must also run some configuration code in order to take advantage of the feature. 16528 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 16529 // in the Amazon Elastic Container Service Developer Guide. 16530 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 16531 16532 // The list of volume definitions for the task. 16533 // 16534 // If your tasks are using the Fargate launch type, the host and sourcePath 16535 // parameters are not supported. 16536 // 16537 // For more information about volume definition parameters and defaults, see 16538 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 16539 // in the Amazon Elastic Container Service Developer Guide. 16540 Volumes []*Volume `locationName:"volumes" type:"list"` 16541} 16542 16543// String returns the string representation 16544func (s TaskDefinition) String() string { 16545 return awsutil.Prettify(s) 16546} 16547 16548// GoString returns the string representation 16549func (s TaskDefinition) GoString() string { 16550 return s.String() 16551} 16552 16553// SetCompatibilities sets the Compatibilities field's value. 16554func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 16555 s.Compatibilities = v 16556 return s 16557} 16558 16559// SetContainerDefinitions sets the ContainerDefinitions field's value. 16560func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 16561 s.ContainerDefinitions = v 16562 return s 16563} 16564 16565// SetCpu sets the Cpu field's value. 16566func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 16567 s.Cpu = &v 16568 return s 16569} 16570 16571// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 16572func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 16573 s.ExecutionRoleArn = &v 16574 return s 16575} 16576 16577// SetFamily sets the Family field's value. 16578func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 16579 s.Family = &v 16580 return s 16581} 16582 16583// SetInferenceAccelerators sets the InferenceAccelerators field's value. 16584func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 16585 s.InferenceAccelerators = v 16586 return s 16587} 16588 16589// SetIpcMode sets the IpcMode field's value. 16590func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 16591 s.IpcMode = &v 16592 return s 16593} 16594 16595// SetMemory sets the Memory field's value. 16596func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 16597 s.Memory = &v 16598 return s 16599} 16600 16601// SetNetworkMode sets the NetworkMode field's value. 16602func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 16603 s.NetworkMode = &v 16604 return s 16605} 16606 16607// SetPidMode sets the PidMode field's value. 16608func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 16609 s.PidMode = &v 16610 return s 16611} 16612 16613// SetPlacementConstraints sets the PlacementConstraints field's value. 16614func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 16615 s.PlacementConstraints = v 16616 return s 16617} 16618 16619// SetProxyConfiguration sets the ProxyConfiguration field's value. 16620func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 16621 s.ProxyConfiguration = v 16622 return s 16623} 16624 16625// SetRequiresAttributes sets the RequiresAttributes field's value. 16626func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 16627 s.RequiresAttributes = v 16628 return s 16629} 16630 16631// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 16632func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 16633 s.RequiresCompatibilities = v 16634 return s 16635} 16636 16637// SetRevision sets the Revision field's value. 16638func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 16639 s.Revision = &v 16640 return s 16641} 16642 16643// SetStatus sets the Status field's value. 16644func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 16645 s.Status = &v 16646 return s 16647} 16648 16649// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 16650func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 16651 s.TaskDefinitionArn = &v 16652 return s 16653} 16654 16655// SetTaskRoleArn sets the TaskRoleArn field's value. 16656func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 16657 s.TaskRoleArn = &v 16658 return s 16659} 16660 16661// SetVolumes sets the Volumes field's value. 16662func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 16663 s.Volumes = v 16664 return s 16665} 16666 16667// An object representing a constraint on task placement in the task definition. 16668// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 16669// in the Amazon Elastic Container Service Developer Guide. 16670// 16671// If you are using the Fargate launch type, task placement constraints are 16672// not supported. 16673type TaskDefinitionPlacementConstraint struct { 16674 _ struct{} `type:"structure"` 16675 16676 // A cluster query language expression to apply to the constraint. For more 16677 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 16678 // in the Amazon Elastic Container Service Developer Guide. 16679 Expression *string `locationName:"expression" type:"string"` 16680 16681 // The type of constraint. The MemberOf constraint restricts selection to be 16682 // from a group of valid candidates. 16683 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 16684} 16685 16686// String returns the string representation 16687func (s TaskDefinitionPlacementConstraint) String() string { 16688 return awsutil.Prettify(s) 16689} 16690 16691// GoString returns the string representation 16692func (s TaskDefinitionPlacementConstraint) GoString() string { 16693 return s.String() 16694} 16695 16696// SetExpression sets the Expression field's value. 16697func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 16698 s.Expression = &v 16699 return s 16700} 16701 16702// SetType sets the Type field's value. 16703func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 16704 s.Type = &v 16705 return s 16706} 16707 16708// The overrides associated with a task. 16709type TaskOverride struct { 16710 _ struct{} `type:"structure"` 16711 16712 // One or more container overrides sent to a task. 16713 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 16714 16715 // The cpu override for the task. 16716 Cpu *string `locationName:"cpu" type:"string"` 16717 16718 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 16719 // ECS container agent and the Docker daemon can assume. 16720 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 16721 16722 // The Elastic Inference accelerator override for the task. 16723 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 16724 16725 // The memory override for the task. 16726 Memory *string `locationName:"memory" type:"string"` 16727 16728 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 16729 // can assume. All containers in this task are granted the permissions that 16730 // are specified in this role. 16731 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 16732} 16733 16734// String returns the string representation 16735func (s TaskOverride) String() string { 16736 return awsutil.Prettify(s) 16737} 16738 16739// GoString returns the string representation 16740func (s TaskOverride) GoString() string { 16741 return s.String() 16742} 16743 16744// Validate inspects the fields of the type to determine if they are valid. 16745func (s *TaskOverride) Validate() error { 16746 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 16747 if s.ContainerOverrides != nil { 16748 for i, v := range s.ContainerOverrides { 16749 if v == nil { 16750 continue 16751 } 16752 if err := v.Validate(); err != nil { 16753 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 16754 } 16755 } 16756 } 16757 16758 if invalidParams.Len() > 0 { 16759 return invalidParams 16760 } 16761 return nil 16762} 16763 16764// SetContainerOverrides sets the ContainerOverrides field's value. 16765func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 16766 s.ContainerOverrides = v 16767 return s 16768} 16769 16770// SetCpu sets the Cpu field's value. 16771func (s *TaskOverride) SetCpu(v string) *TaskOverride { 16772 s.Cpu = &v 16773 return s 16774} 16775 16776// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 16777func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 16778 s.ExecutionRoleArn = &v 16779 return s 16780} 16781 16782// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 16783func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 16784 s.InferenceAcceleratorOverrides = v 16785 return s 16786} 16787 16788// SetMemory sets the Memory field's value. 16789func (s *TaskOverride) SetMemory(v string) *TaskOverride { 16790 s.Memory = &v 16791 return s 16792} 16793 16794// SetTaskRoleArn sets the TaskRoleArn field's value. 16795func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 16796 s.TaskRoleArn = &v 16797 return s 16798} 16799 16800// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 16801// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 16802// desired number of tasks, how many tasks are running, and whether the task 16803// set serves production traffic. 16804type TaskSet struct { 16805 _ struct{} `type:"structure"` 16806 16807 // The capacity provider strategy associated with the task set. 16808 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 16809 16810 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 16811 // the task set exists in. 16812 ClusterArn *string `locationName:"clusterArn" type:"string"` 16813 16814 // The computed desired count for the task set. This is calculated by multiplying 16815 // the service's desiredCount by the task set's scale percentage. The result 16816 // is always rounded up. For example, if the computed desired count is 1.2, 16817 // it rounds up to 2 tasks. 16818 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 16819 16820 // The Unix timestamp for when the task set was created. 16821 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16822 16823 // The external ID associated with the task set. 16824 // 16825 // If a task set is created by an AWS CodeDeploy deployment, the externalId 16826 // parameter contains the AWS CodeDeploy deployment ID. 16827 // 16828 // If a task set is created for an external deployment and is associated with 16829 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 16830 // AWS Cloud Map attribute. 16831 ExternalId *string `locationName:"externalId" type:"string"` 16832 16833 // The ID of the task set. 16834 Id *string `locationName:"id" type:"string"` 16835 16836 // The launch type the tasks in the task set are using. For more information, 16837 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16838 // in the Amazon Elastic Container Service Developer Guide. 16839 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 16840 16841 // Details on a load balancer that is used with a task set. 16842 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 16843 16844 // The network configuration for the task set. 16845 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16846 16847 // The number of tasks in the task set that are in the PENDING status during 16848 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 16849 // state. A task set enters the PENDING status when it launches for the first 16850 // time or when it is restarted after being in the STOPPED state. 16851 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 16852 16853 // The platform version on which the tasks in the task set are running. A platform 16854 // version is only specified for tasks using the Fargate launch type. If one 16855 // is not specified, the LATEST platform version is used by default. For more 16856 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16857 // in the Amazon Elastic Container Service Developer Guide. 16858 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16859 16860 // The number of tasks in the task set that are in the RUNNING status during 16861 // a deployment. A task in the RUNNING state is running and ready for use. 16862 RunningCount *int64 `locationName:"runningCount" type:"integer"` 16863 16864 // A floating-point percentage of the desired number of tasks to place and keep 16865 // running in the task set. 16866 Scale *Scale `locationName:"scale" type:"structure"` 16867 16868 // The Amazon Resource Name (ARN) of the service the task set exists in. 16869 ServiceArn *string `locationName:"serviceArn" type:"string"` 16870 16871 // The details of the service discovery registries to assign to this task set. 16872 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 16873 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 16874 16875 // The stability status, which indicates whether the task set has reached a 16876 // steady state. If the following conditions are met, the task set will be in 16877 // STEADY_STATE: 16878 // 16879 // * The task runningCount is equal to the computedDesiredCount. 16880 // 16881 // * The pendingCount is 0. 16882 // 16883 // * There are no tasks running on container instances in the DRAINING status. 16884 // 16885 // * All tasks are reporting a healthy status from the load balancers, service 16886 // discovery, and container health checks. 16887 // 16888 // If any of those conditions are not met, the stability status returns STABILIZING. 16889 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 16890 16891 // The Unix timestamp for when the task set stability status was retrieved. 16892 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 16893 16894 // The tag specified when a task set is started. If the task set is created 16895 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 16896 // For a task set created for an external deployment, the startedBy field isn't 16897 // used. 16898 StartedBy *string `locationName:"startedBy" type:"string"` 16899 16900 // The status of the task set. The following describes each state: 16901 // 16902 // PRIMARY 16903 // 16904 // The task set is serving production traffic. 16905 // 16906 // ACTIVE 16907 // 16908 // The task set is not serving production traffic. 16909 // 16910 // DRAINING 16911 // 16912 // The tasks in the task set are being stopped and their corresponding targets 16913 // are being deregistered from their target group. 16914 Status *string `locationName:"status" type:"string"` 16915 16916 // The task definition the task set is using. 16917 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 16918 16919 // The Amazon Resource Name (ARN) of the task set. 16920 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 16921 16922 // The Unix timestamp for when the task set was last updated. 16923 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 16924} 16925 16926// String returns the string representation 16927func (s TaskSet) String() string { 16928 return awsutil.Prettify(s) 16929} 16930 16931// GoString returns the string representation 16932func (s TaskSet) GoString() string { 16933 return s.String() 16934} 16935 16936// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 16937func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 16938 s.CapacityProviderStrategy = v 16939 return s 16940} 16941 16942// SetClusterArn sets the ClusterArn field's value. 16943func (s *TaskSet) SetClusterArn(v string) *TaskSet { 16944 s.ClusterArn = &v 16945 return s 16946} 16947 16948// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 16949func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 16950 s.ComputedDesiredCount = &v 16951 return s 16952} 16953 16954// SetCreatedAt sets the CreatedAt field's value. 16955func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 16956 s.CreatedAt = &v 16957 return s 16958} 16959 16960// SetExternalId sets the ExternalId field's value. 16961func (s *TaskSet) SetExternalId(v string) *TaskSet { 16962 s.ExternalId = &v 16963 return s 16964} 16965 16966// SetId sets the Id field's value. 16967func (s *TaskSet) SetId(v string) *TaskSet { 16968 s.Id = &v 16969 return s 16970} 16971 16972// SetLaunchType sets the LaunchType field's value. 16973func (s *TaskSet) SetLaunchType(v string) *TaskSet { 16974 s.LaunchType = &v 16975 return s 16976} 16977 16978// SetLoadBalancers sets the LoadBalancers field's value. 16979func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 16980 s.LoadBalancers = v 16981 return s 16982} 16983 16984// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16985func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 16986 s.NetworkConfiguration = v 16987 return s 16988} 16989 16990// SetPendingCount sets the PendingCount field's value. 16991func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 16992 s.PendingCount = &v 16993 return s 16994} 16995 16996// SetPlatformVersion sets the PlatformVersion field's value. 16997func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 16998 s.PlatformVersion = &v 16999 return s 17000} 17001 17002// SetRunningCount sets the RunningCount field's value. 17003func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 17004 s.RunningCount = &v 17005 return s 17006} 17007 17008// SetScale sets the Scale field's value. 17009func (s *TaskSet) SetScale(v *Scale) *TaskSet { 17010 s.Scale = v 17011 return s 17012} 17013 17014// SetServiceArn sets the ServiceArn field's value. 17015func (s *TaskSet) SetServiceArn(v string) *TaskSet { 17016 s.ServiceArn = &v 17017 return s 17018} 17019 17020// SetServiceRegistries sets the ServiceRegistries field's value. 17021func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 17022 s.ServiceRegistries = v 17023 return s 17024} 17025 17026// SetStabilityStatus sets the StabilityStatus field's value. 17027func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 17028 s.StabilityStatus = &v 17029 return s 17030} 17031 17032// SetStabilityStatusAt sets the StabilityStatusAt field's value. 17033func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 17034 s.StabilityStatusAt = &v 17035 return s 17036} 17037 17038// SetStartedBy sets the StartedBy field's value. 17039func (s *TaskSet) SetStartedBy(v string) *TaskSet { 17040 s.StartedBy = &v 17041 return s 17042} 17043 17044// SetStatus sets the Status field's value. 17045func (s *TaskSet) SetStatus(v string) *TaskSet { 17046 s.Status = &v 17047 return s 17048} 17049 17050// SetTaskDefinition sets the TaskDefinition field's value. 17051func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 17052 s.TaskDefinition = &v 17053 return s 17054} 17055 17056// SetTaskSetArn sets the TaskSetArn field's value. 17057func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 17058 s.TaskSetArn = &v 17059 return s 17060} 17061 17062// SetUpdatedAt sets the UpdatedAt field's value. 17063func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 17064 s.UpdatedAt = &v 17065 return s 17066} 17067 17068// The container path, mount options, and size of the tmpfs mount. 17069type Tmpfs struct { 17070 _ struct{} `type:"structure"` 17071 17072 // The absolute file path where the tmpfs volume is to be mounted. 17073 // 17074 // ContainerPath is a required field 17075 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 17076 17077 // The list of tmpfs volume mount options. 17078 // 17079 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 17080 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 17081 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 17082 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 17083 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 17084 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 17085 MountOptions []*string `locationName:"mountOptions" type:"list"` 17086 17087 // The size (in MiB) of the tmpfs volume. 17088 // 17089 // Size is a required field 17090 Size *int64 `locationName:"size" type:"integer" required:"true"` 17091} 17092 17093// String returns the string representation 17094func (s Tmpfs) String() string { 17095 return awsutil.Prettify(s) 17096} 17097 17098// GoString returns the string representation 17099func (s Tmpfs) GoString() string { 17100 return s.String() 17101} 17102 17103// Validate inspects the fields of the type to determine if they are valid. 17104func (s *Tmpfs) Validate() error { 17105 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 17106 if s.ContainerPath == nil { 17107 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 17108 } 17109 if s.Size == nil { 17110 invalidParams.Add(request.NewErrParamRequired("Size")) 17111 } 17112 17113 if invalidParams.Len() > 0 { 17114 return invalidParams 17115 } 17116 return nil 17117} 17118 17119// SetContainerPath sets the ContainerPath field's value. 17120func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 17121 s.ContainerPath = &v 17122 return s 17123} 17124 17125// SetMountOptions sets the MountOptions field's value. 17126func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 17127 s.MountOptions = v 17128 return s 17129} 17130 17131// SetSize sets the Size field's value. 17132func (s *Tmpfs) SetSize(v int64) *Tmpfs { 17133 s.Size = &v 17134 return s 17135} 17136 17137// The ulimit settings to pass to the container. 17138type Ulimit struct { 17139 _ struct{} `type:"structure"` 17140 17141 // The hard limit for the ulimit type. 17142 // 17143 // HardLimit is a required field 17144 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 17145 17146 // The type of the ulimit. 17147 // 17148 // Name is a required field 17149 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 17150 17151 // The soft limit for the ulimit type. 17152 // 17153 // SoftLimit is a required field 17154 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 17155} 17156 17157// String returns the string representation 17158func (s Ulimit) String() string { 17159 return awsutil.Prettify(s) 17160} 17161 17162// GoString returns the string representation 17163func (s Ulimit) GoString() string { 17164 return s.String() 17165} 17166 17167// Validate inspects the fields of the type to determine if they are valid. 17168func (s *Ulimit) Validate() error { 17169 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 17170 if s.HardLimit == nil { 17171 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 17172 } 17173 if s.Name == nil { 17174 invalidParams.Add(request.NewErrParamRequired("Name")) 17175 } 17176 if s.SoftLimit == nil { 17177 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 17178 } 17179 17180 if invalidParams.Len() > 0 { 17181 return invalidParams 17182 } 17183 return nil 17184} 17185 17186// SetHardLimit sets the HardLimit field's value. 17187func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 17188 s.HardLimit = &v 17189 return s 17190} 17191 17192// SetName sets the Name field's value. 17193func (s *Ulimit) SetName(v string) *Ulimit { 17194 s.Name = &v 17195 return s 17196} 17197 17198// SetSoftLimit sets the SoftLimit field's value. 17199func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 17200 s.SoftLimit = &v 17201 return s 17202} 17203 17204type UntagResourceInput struct { 17205 _ struct{} `type:"structure"` 17206 17207 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 17208 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 17209 // services, task definitions, clusters, and container instances. 17210 // 17211 // ResourceArn is a required field 17212 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 17213 17214 // The keys of the tags to be removed. 17215 // 17216 // TagKeys is a required field 17217 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 17218} 17219 17220// String returns the string representation 17221func (s UntagResourceInput) String() string { 17222 return awsutil.Prettify(s) 17223} 17224 17225// GoString returns the string representation 17226func (s UntagResourceInput) GoString() string { 17227 return s.String() 17228} 17229 17230// Validate inspects the fields of the type to determine if they are valid. 17231func (s *UntagResourceInput) Validate() error { 17232 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 17233 if s.ResourceArn == nil { 17234 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 17235 } 17236 if s.TagKeys == nil { 17237 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 17238 } 17239 17240 if invalidParams.Len() > 0 { 17241 return invalidParams 17242 } 17243 return nil 17244} 17245 17246// SetResourceArn sets the ResourceArn field's value. 17247func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 17248 s.ResourceArn = &v 17249 return s 17250} 17251 17252// SetTagKeys sets the TagKeys field's value. 17253func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 17254 s.TagKeys = v 17255 return s 17256} 17257 17258type UntagResourceOutput struct { 17259 _ struct{} `type:"structure"` 17260} 17261 17262// String returns the string representation 17263func (s UntagResourceOutput) String() string { 17264 return awsutil.Prettify(s) 17265} 17266 17267// GoString returns the string representation 17268func (s UntagResourceOutput) GoString() string { 17269 return s.String() 17270} 17271 17272type UpdateClusterSettingsInput struct { 17273 _ struct{} `type:"structure"` 17274 17275 // The name of the cluster to modify the settings for. 17276 // 17277 // Cluster is a required field 17278 Cluster *string `locationName:"cluster" type:"string" required:"true"` 17279 17280 // The setting to use by default for a cluster. This parameter is used to enable 17281 // CloudWatch Container Insights for a cluster. If this value is specified, 17282 // it will override the containerInsights value set with PutAccountSetting or 17283 // PutAccountSettingDefault. 17284 // 17285 // Settings is a required field 17286 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 17287} 17288 17289// String returns the string representation 17290func (s UpdateClusterSettingsInput) String() string { 17291 return awsutil.Prettify(s) 17292} 17293 17294// GoString returns the string representation 17295func (s UpdateClusterSettingsInput) GoString() string { 17296 return s.String() 17297} 17298 17299// Validate inspects the fields of the type to determine if they are valid. 17300func (s *UpdateClusterSettingsInput) Validate() error { 17301 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 17302 if s.Cluster == nil { 17303 invalidParams.Add(request.NewErrParamRequired("Cluster")) 17304 } 17305 if s.Settings == nil { 17306 invalidParams.Add(request.NewErrParamRequired("Settings")) 17307 } 17308 17309 if invalidParams.Len() > 0 { 17310 return invalidParams 17311 } 17312 return nil 17313} 17314 17315// SetCluster sets the Cluster field's value. 17316func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 17317 s.Cluster = &v 17318 return s 17319} 17320 17321// SetSettings sets the Settings field's value. 17322func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 17323 s.Settings = v 17324 return s 17325} 17326 17327type UpdateClusterSettingsOutput struct { 17328 _ struct{} `type:"structure"` 17329 17330 // A regional grouping of one or more container instances on which you can run 17331 // task requests. Each account receives a default cluster the first time you 17332 // use the Amazon ECS service, but you may also create other clusters. Clusters 17333 // may contain more than one instance type simultaneously. 17334 Cluster *Cluster `locationName:"cluster" type:"structure"` 17335} 17336 17337// String returns the string representation 17338func (s UpdateClusterSettingsOutput) String() string { 17339 return awsutil.Prettify(s) 17340} 17341 17342// GoString returns the string representation 17343func (s UpdateClusterSettingsOutput) GoString() string { 17344 return s.String() 17345} 17346 17347// SetCluster sets the Cluster field's value. 17348func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 17349 s.Cluster = v 17350 return s 17351} 17352 17353type UpdateContainerAgentInput struct { 17354 _ struct{} `type:"structure"` 17355 17356 // The short name or full Amazon Resource Name (ARN) of the cluster that your 17357 // container instance is running on. If you do not specify a cluster, the default 17358 // cluster is assumed. 17359 Cluster *string `locationName:"cluster" type:"string"` 17360 17361 // The container instance ID or full ARN entries for the container instance 17362 // on which you would like to update the Amazon ECS container agent. 17363 // 17364 // ContainerInstance is a required field 17365 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 17366} 17367 17368// String returns the string representation 17369func (s UpdateContainerAgentInput) String() string { 17370 return awsutil.Prettify(s) 17371} 17372 17373// GoString returns the string representation 17374func (s UpdateContainerAgentInput) GoString() string { 17375 return s.String() 17376} 17377 17378// Validate inspects the fields of the type to determine if they are valid. 17379func (s *UpdateContainerAgentInput) Validate() error { 17380 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 17381 if s.ContainerInstance == nil { 17382 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 17383 } 17384 17385 if invalidParams.Len() > 0 { 17386 return invalidParams 17387 } 17388 return nil 17389} 17390 17391// SetCluster sets the Cluster field's value. 17392func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 17393 s.Cluster = &v 17394 return s 17395} 17396 17397// SetContainerInstance sets the ContainerInstance field's value. 17398func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 17399 s.ContainerInstance = &v 17400 return s 17401} 17402 17403type UpdateContainerAgentOutput struct { 17404 _ struct{} `type:"structure"` 17405 17406 // The container instance for which the container agent was updated. 17407 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 17408} 17409 17410// String returns the string representation 17411func (s UpdateContainerAgentOutput) String() string { 17412 return awsutil.Prettify(s) 17413} 17414 17415// GoString returns the string representation 17416func (s UpdateContainerAgentOutput) GoString() string { 17417 return s.String() 17418} 17419 17420// SetContainerInstance sets the ContainerInstance field's value. 17421func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 17422 s.ContainerInstance = v 17423 return s 17424} 17425 17426type UpdateContainerInstancesStateInput struct { 17427 _ struct{} `type:"structure"` 17428 17429 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17430 // the container instance to update. If you do not specify a cluster, the default 17431 // cluster is assumed. 17432 Cluster *string `locationName:"cluster" type:"string"` 17433 17434 // A list of container instance IDs or full ARN entries. 17435 // 17436 // ContainerInstances is a required field 17437 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 17438 17439 // The container instance state with which to update the container instance. 17440 // The only valid values for this action are ACTIVE and DRAINING. A container 17441 // instance can only be updated to DRAINING status once it has reached an ACTIVE 17442 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 17443 // state you can describe the container instance but will be unable to update 17444 // the container instance state. 17445 // 17446 // Status is a required field 17447 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 17448} 17449 17450// String returns the string representation 17451func (s UpdateContainerInstancesStateInput) String() string { 17452 return awsutil.Prettify(s) 17453} 17454 17455// GoString returns the string representation 17456func (s UpdateContainerInstancesStateInput) GoString() string { 17457 return s.String() 17458} 17459 17460// Validate inspects the fields of the type to determine if they are valid. 17461func (s *UpdateContainerInstancesStateInput) Validate() error { 17462 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 17463 if s.ContainerInstances == nil { 17464 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 17465 } 17466 if s.Status == nil { 17467 invalidParams.Add(request.NewErrParamRequired("Status")) 17468 } 17469 17470 if invalidParams.Len() > 0 { 17471 return invalidParams 17472 } 17473 return nil 17474} 17475 17476// SetCluster sets the Cluster field's value. 17477func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 17478 s.Cluster = &v 17479 return s 17480} 17481 17482// SetContainerInstances sets the ContainerInstances field's value. 17483func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 17484 s.ContainerInstances = v 17485 return s 17486} 17487 17488// SetStatus sets the Status field's value. 17489func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 17490 s.Status = &v 17491 return s 17492} 17493 17494type UpdateContainerInstancesStateOutput struct { 17495 _ struct{} `type:"structure"` 17496 17497 // The list of container instances. 17498 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 17499 17500 // Any failures associated with the call. 17501 Failures []*Failure `locationName:"failures" type:"list"` 17502} 17503 17504// String returns the string representation 17505func (s UpdateContainerInstancesStateOutput) String() string { 17506 return awsutil.Prettify(s) 17507} 17508 17509// GoString returns the string representation 17510func (s UpdateContainerInstancesStateOutput) GoString() string { 17511 return s.String() 17512} 17513 17514// SetContainerInstances sets the ContainerInstances field's value. 17515func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 17516 s.ContainerInstances = v 17517 return s 17518} 17519 17520// SetFailures sets the Failures field's value. 17521func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 17522 s.Failures = v 17523 return s 17524} 17525 17526type UpdateServiceInput struct { 17527 _ struct{} `type:"structure"` 17528 17529 // The capacity provider strategy to update the service to use. 17530 // 17531 // If the service is using the default capacity provider strategy for the cluster, 17532 // the service can be updated to use one or more capacity providers. However, 17533 // when a service is using a non-default capacity provider strategy, the service 17534 // cannot be updated to use the cluster's default capacity provider strategy. 17535 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 17536 17537 // The short name or full Amazon Resource Name (ARN) of the cluster that your 17538 // service is running on. If you do not specify a cluster, the default cluster 17539 // is assumed. 17540 Cluster *string `locationName:"cluster" type:"string"` 17541 17542 // Optional deployment parameters that control how many tasks run during the 17543 // deployment and the ordering of stopping and starting tasks. 17544 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 17545 17546 // The number of instantiations of the task to place and keep running in your 17547 // service. 17548 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 17549 17550 // Whether to force a new deployment of the service. Deployments are not forced 17551 // by default. You can use this option to trigger a new deployment with no service 17552 // definition changes. For example, you can update a service's tasks to use 17553 // a newer Docker image with the same image/tag combination (my_image:latest) 17554 // or to roll Fargate tasks onto a newer platform version. 17555 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 17556 17557 // The period of time, in seconds, that the Amazon ECS service scheduler should 17558 // ignore unhealthy Elastic Load Balancing target health checks after a task 17559 // has first started. This is only valid if your service is configured to use 17560 // a load balancer. If your service's tasks take a while to start and respond 17561 // to Elastic Load Balancing health checks, you can specify a health check grace 17562 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 17563 // scheduler ignores the Elastic Load Balancing health check status. This grace 17564 // period can prevent the ECS service scheduler from marking tasks as unhealthy 17565 // and stopping them before they have time to come up. 17566 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 17567 17568 // An object representing the network configuration for a task or service. 17569 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 17570 17571 // The platform version on which your tasks in the service are running. A platform 17572 // version is only specified for tasks using the Fargate launch type. If a platform 17573 // version is not specified, the LATEST platform version is used by default. 17574 // For more information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 17575 // in the Amazon Elastic Container Service Developer Guide. 17576 PlatformVersion *string `locationName:"platformVersion" type:"string"` 17577 17578 // The name of the service to update. 17579 // 17580 // Service is a required field 17581 Service *string `locationName:"service" type:"string" required:"true"` 17582 17583 // The family and revision (family:revision) or full ARN of the task definition 17584 // to run in your service. If a revision is not specified, the latest ACTIVE 17585 // revision is used. If you modify the task definition with UpdateService, Amazon 17586 // ECS spawns a task with the new version of the task definition and then stops 17587 // an old task after the new version is running. 17588 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 17589} 17590 17591// String returns the string representation 17592func (s UpdateServiceInput) String() string { 17593 return awsutil.Prettify(s) 17594} 17595 17596// GoString returns the string representation 17597func (s UpdateServiceInput) GoString() string { 17598 return s.String() 17599} 17600 17601// Validate inspects the fields of the type to determine if they are valid. 17602func (s *UpdateServiceInput) Validate() error { 17603 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 17604 if s.Service == nil { 17605 invalidParams.Add(request.NewErrParamRequired("Service")) 17606 } 17607 if s.CapacityProviderStrategy != nil { 17608 for i, v := range s.CapacityProviderStrategy { 17609 if v == nil { 17610 continue 17611 } 17612 if err := v.Validate(); err != nil { 17613 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 17614 } 17615 } 17616 } 17617 if s.NetworkConfiguration != nil { 17618 if err := s.NetworkConfiguration.Validate(); err != nil { 17619 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 17620 } 17621 } 17622 17623 if invalidParams.Len() > 0 { 17624 return invalidParams 17625 } 17626 return nil 17627} 17628 17629// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 17630func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 17631 s.CapacityProviderStrategy = v 17632 return s 17633} 17634 17635// SetCluster sets the Cluster field's value. 17636func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 17637 s.Cluster = &v 17638 return s 17639} 17640 17641// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 17642func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 17643 s.DeploymentConfiguration = v 17644 return s 17645} 17646 17647// SetDesiredCount sets the DesiredCount field's value. 17648func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 17649 s.DesiredCount = &v 17650 return s 17651} 17652 17653// SetForceNewDeployment sets the ForceNewDeployment field's value. 17654func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 17655 s.ForceNewDeployment = &v 17656 return s 17657} 17658 17659// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 17660func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 17661 s.HealthCheckGracePeriodSeconds = &v 17662 return s 17663} 17664 17665// SetNetworkConfiguration sets the NetworkConfiguration field's value. 17666func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 17667 s.NetworkConfiguration = v 17668 return s 17669} 17670 17671// SetPlatformVersion sets the PlatformVersion field's value. 17672func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 17673 s.PlatformVersion = &v 17674 return s 17675} 17676 17677// SetService sets the Service field's value. 17678func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 17679 s.Service = &v 17680 return s 17681} 17682 17683// SetTaskDefinition sets the TaskDefinition field's value. 17684func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 17685 s.TaskDefinition = &v 17686 return s 17687} 17688 17689type UpdateServiceOutput struct { 17690 _ struct{} `type:"structure"` 17691 17692 // The full description of your service following the update call. 17693 Service *Service `locationName:"service" type:"structure"` 17694} 17695 17696// String returns the string representation 17697func (s UpdateServiceOutput) String() string { 17698 return awsutil.Prettify(s) 17699} 17700 17701// GoString returns the string representation 17702func (s UpdateServiceOutput) GoString() string { 17703 return s.String() 17704} 17705 17706// SetService sets the Service field's value. 17707func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 17708 s.Service = v 17709 return s 17710} 17711 17712type UpdateServicePrimaryTaskSetInput struct { 17713 _ struct{} `type:"structure"` 17714 17715 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17716 // the service that the task set exists in. 17717 // 17718 // Cluster is a required field 17719 Cluster *string `locationName:"cluster" type:"string" required:"true"` 17720 17721 // The short name or full Amazon Resource Name (ARN) of the task set to set 17722 // as the primary task set in the deployment. 17723 // 17724 // PrimaryTaskSet is a required field 17725 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 17726 17727 // The short name or full Amazon Resource Name (ARN) of the service that the 17728 // task set exists in. 17729 // 17730 // Service is a required field 17731 Service *string `locationName:"service" type:"string" required:"true"` 17732} 17733 17734// String returns the string representation 17735func (s UpdateServicePrimaryTaskSetInput) String() string { 17736 return awsutil.Prettify(s) 17737} 17738 17739// GoString returns the string representation 17740func (s UpdateServicePrimaryTaskSetInput) GoString() string { 17741 return s.String() 17742} 17743 17744// Validate inspects the fields of the type to determine if they are valid. 17745func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 17746 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 17747 if s.Cluster == nil { 17748 invalidParams.Add(request.NewErrParamRequired("Cluster")) 17749 } 17750 if s.PrimaryTaskSet == nil { 17751 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 17752 } 17753 if s.Service == nil { 17754 invalidParams.Add(request.NewErrParamRequired("Service")) 17755 } 17756 17757 if invalidParams.Len() > 0 { 17758 return invalidParams 17759 } 17760 return nil 17761} 17762 17763// SetCluster sets the Cluster field's value. 17764func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 17765 s.Cluster = &v 17766 return s 17767} 17768 17769// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 17770func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 17771 s.PrimaryTaskSet = &v 17772 return s 17773} 17774 17775// SetService sets the Service field's value. 17776func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 17777 s.Service = &v 17778 return s 17779} 17780 17781type UpdateServicePrimaryTaskSetOutput struct { 17782 _ struct{} `type:"structure"` 17783 17784 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 17785 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 17786 // desired number of tasks, how many tasks are running, and whether the task 17787 // set serves production traffic. 17788 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 17789} 17790 17791// String returns the string representation 17792func (s UpdateServicePrimaryTaskSetOutput) String() string { 17793 return awsutil.Prettify(s) 17794} 17795 17796// GoString returns the string representation 17797func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 17798 return s.String() 17799} 17800 17801// SetTaskSet sets the TaskSet field's value. 17802func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 17803 s.TaskSet = v 17804 return s 17805} 17806 17807type UpdateTaskSetInput struct { 17808 _ struct{} `type:"structure"` 17809 17810 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17811 // the service that the task set exists in. 17812 // 17813 // Cluster is a required field 17814 Cluster *string `locationName:"cluster" type:"string" required:"true"` 17815 17816 // A floating-point percentage of the desired number of tasks to place and keep 17817 // running in the task set. 17818 // 17819 // Scale is a required field 17820 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 17821 17822 // The short name or full Amazon Resource Name (ARN) of the service that the 17823 // task set exists in. 17824 // 17825 // Service is a required field 17826 Service *string `locationName:"service" type:"string" required:"true"` 17827 17828 // The short name or full Amazon Resource Name (ARN) of the task set to update. 17829 // 17830 // TaskSet is a required field 17831 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 17832} 17833 17834// String returns the string representation 17835func (s UpdateTaskSetInput) String() string { 17836 return awsutil.Prettify(s) 17837} 17838 17839// GoString returns the string representation 17840func (s UpdateTaskSetInput) GoString() string { 17841 return s.String() 17842} 17843 17844// Validate inspects the fields of the type to determine if they are valid. 17845func (s *UpdateTaskSetInput) Validate() error { 17846 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 17847 if s.Cluster == nil { 17848 invalidParams.Add(request.NewErrParamRequired("Cluster")) 17849 } 17850 if s.Scale == nil { 17851 invalidParams.Add(request.NewErrParamRequired("Scale")) 17852 } 17853 if s.Service == nil { 17854 invalidParams.Add(request.NewErrParamRequired("Service")) 17855 } 17856 if s.TaskSet == nil { 17857 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 17858 } 17859 17860 if invalidParams.Len() > 0 { 17861 return invalidParams 17862 } 17863 return nil 17864} 17865 17866// SetCluster sets the Cluster field's value. 17867func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 17868 s.Cluster = &v 17869 return s 17870} 17871 17872// SetScale sets the Scale field's value. 17873func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 17874 s.Scale = v 17875 return s 17876} 17877 17878// SetService sets the Service field's value. 17879func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 17880 s.Service = &v 17881 return s 17882} 17883 17884// SetTaskSet sets the TaskSet field's value. 17885func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 17886 s.TaskSet = &v 17887 return s 17888} 17889 17890type UpdateTaskSetOutput struct { 17891 _ struct{} `type:"structure"` 17892 17893 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 17894 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 17895 // desired number of tasks, how many tasks are running, and whether the task 17896 // set serves production traffic. 17897 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 17898} 17899 17900// String returns the string representation 17901func (s UpdateTaskSetOutput) String() string { 17902 return awsutil.Prettify(s) 17903} 17904 17905// GoString returns the string representation 17906func (s UpdateTaskSetOutput) GoString() string { 17907 return s.String() 17908} 17909 17910// SetTaskSet sets the TaskSet field's value. 17911func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 17912 s.TaskSet = v 17913 return s 17914} 17915 17916// The Docker and Amazon ECS container agent version information about a container 17917// instance. 17918type VersionInfo struct { 17919 _ struct{} `type:"structure"` 17920 17921 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 17922 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 17923 AgentHash *string `locationName:"agentHash" type:"string"` 17924 17925 // The version number of the Amazon ECS container agent. 17926 AgentVersion *string `locationName:"agentVersion" type:"string"` 17927 17928 // The Docker version running on the container instance. 17929 DockerVersion *string `locationName:"dockerVersion" type:"string"` 17930} 17931 17932// String returns the string representation 17933func (s VersionInfo) String() string { 17934 return awsutil.Prettify(s) 17935} 17936 17937// GoString returns the string representation 17938func (s VersionInfo) GoString() string { 17939 return s.String() 17940} 17941 17942// SetAgentHash sets the AgentHash field's value. 17943func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 17944 s.AgentHash = &v 17945 return s 17946} 17947 17948// SetAgentVersion sets the AgentVersion field's value. 17949func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 17950 s.AgentVersion = &v 17951 return s 17952} 17953 17954// SetDockerVersion sets the DockerVersion field's value. 17955func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 17956 s.DockerVersion = &v 17957 return s 17958} 17959 17960// A data volume used in a task definition. For tasks that use a Docker volume, 17961// specify a DockerVolumeConfiguration. For tasks that use a bind mount host 17962// volume, specify a host and optional sourcePath. For more information, see 17963// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 17964type Volume struct { 17965 _ struct{} `type:"structure"` 17966 17967 // This parameter is specified when you are using Docker volumes. Docker volumes 17968 // are only supported when you are using the EC2 launch type. Windows containers 17969 // only support the use of the local driver. To use bind mounts, specify a host 17970 // instead. 17971 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 17972 17973 // This parameter is specified when you are using bind mount host volumes. Bind 17974 // mount host volumes are supported when you are using either the EC2 or Fargate 17975 // launch types. The contents of the host parameter determine whether your bind 17976 // mount host volume persists on the host container instance and where it is 17977 // stored. If the host parameter is empty, then the Docker daemon assigns a 17978 // host path for your data volume. However, the data is not guaranteed to persist 17979 // after the containers associated with it stop running. 17980 // 17981 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 17982 // Windows containers cannot mount directories on a different drive, and mount 17983 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 17984 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 17985 Host *HostVolumeProperties `locationName:"host" type:"structure"` 17986 17987 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 17988 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 17989 // of container definition mountPoints. 17990 Name *string `locationName:"name" type:"string"` 17991} 17992 17993// String returns the string representation 17994func (s Volume) String() string { 17995 return awsutil.Prettify(s) 17996} 17997 17998// GoString returns the string representation 17999func (s Volume) GoString() string { 18000 return s.String() 18001} 18002 18003// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 18004func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 18005 s.DockerVolumeConfiguration = v 18006 return s 18007} 18008 18009// SetHost sets the Host field's value. 18010func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 18011 s.Host = v 18012 return s 18013} 18014 18015// SetName sets the Name field's value. 18016func (s *Volume) SetName(v string) *Volume { 18017 s.Name = &v 18018 return s 18019} 18020 18021// Details on a data volume from another container in the same task definition. 18022type VolumeFrom struct { 18023 _ struct{} `type:"structure"` 18024 18025 // If this value is true, the container has read-only access to the volume. 18026 // If this value is false, then the container can write to the volume. The default 18027 // value is false. 18028 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 18029 18030 // The name of another container within the same task definition from which 18031 // to mount volumes. 18032 SourceContainer *string `locationName:"sourceContainer" type:"string"` 18033} 18034 18035// String returns the string representation 18036func (s VolumeFrom) String() string { 18037 return awsutil.Prettify(s) 18038} 18039 18040// GoString returns the string representation 18041func (s VolumeFrom) GoString() string { 18042 return s.String() 18043} 18044 18045// SetReadOnly sets the ReadOnly field's value. 18046func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 18047 s.ReadOnly = &v 18048 return s 18049} 18050 18051// SetSourceContainer sets the SourceContainer field's value. 18052func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 18053 s.SourceContainer = &v 18054 return s 18055} 18056 18057const ( 18058 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 18059 AgentUpdateStatusPending = "PENDING" 18060 18061 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 18062 AgentUpdateStatusStaging = "STAGING" 18063 18064 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 18065 AgentUpdateStatusStaged = "STAGED" 18066 18067 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 18068 AgentUpdateStatusUpdating = "UPDATING" 18069 18070 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 18071 AgentUpdateStatusUpdated = "UPDATED" 18072 18073 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 18074 AgentUpdateStatusFailed = "FAILED" 18075) 18076 18077const ( 18078 // AssignPublicIpEnabled is a AssignPublicIp enum value 18079 AssignPublicIpEnabled = "ENABLED" 18080 18081 // AssignPublicIpDisabled is a AssignPublicIp enum value 18082 AssignPublicIpDisabled = "DISABLED" 18083) 18084 18085const ( 18086 // CapacityProviderFieldTags is a CapacityProviderField enum value 18087 CapacityProviderFieldTags = "TAGS" 18088) 18089 18090const ( 18091 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 18092 CapacityProviderStatusActive = "ACTIVE" 18093) 18094 18095const ( 18096 // ClusterFieldAttachments is a ClusterField enum value 18097 ClusterFieldAttachments = "ATTACHMENTS" 18098 18099 // ClusterFieldSettings is a ClusterField enum value 18100 ClusterFieldSettings = "SETTINGS" 18101 18102 // ClusterFieldStatistics is a ClusterField enum value 18103 ClusterFieldStatistics = "STATISTICS" 18104 18105 // ClusterFieldTags is a ClusterField enum value 18106 ClusterFieldTags = "TAGS" 18107) 18108 18109const ( 18110 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 18111 ClusterSettingNameContainerInsights = "containerInsights" 18112) 18113 18114const ( 18115 // CompatibilityEc2 is a Compatibility enum value 18116 CompatibilityEc2 = "EC2" 18117 18118 // CompatibilityFargate is a Compatibility enum value 18119 CompatibilityFargate = "FARGATE" 18120) 18121 18122const ( 18123 // ConnectivityConnected is a Connectivity enum value 18124 ConnectivityConnected = "CONNECTED" 18125 18126 // ConnectivityDisconnected is a Connectivity enum value 18127 ConnectivityDisconnected = "DISCONNECTED" 18128) 18129 18130const ( 18131 // ContainerConditionStart is a ContainerCondition enum value 18132 ContainerConditionStart = "START" 18133 18134 // ContainerConditionComplete is a ContainerCondition enum value 18135 ContainerConditionComplete = "COMPLETE" 18136 18137 // ContainerConditionSuccess is a ContainerCondition enum value 18138 ContainerConditionSuccess = "SUCCESS" 18139 18140 // ContainerConditionHealthy is a ContainerCondition enum value 18141 ContainerConditionHealthy = "HEALTHY" 18142) 18143 18144const ( 18145 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 18146 ContainerInstanceFieldTags = "TAGS" 18147) 18148 18149const ( 18150 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 18151 ContainerInstanceStatusActive = "ACTIVE" 18152 18153 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 18154 ContainerInstanceStatusDraining = "DRAINING" 18155 18156 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 18157 ContainerInstanceStatusRegistering = "REGISTERING" 18158 18159 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 18160 ContainerInstanceStatusDeregistering = "DEREGISTERING" 18161 18162 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 18163 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 18164) 18165 18166const ( 18167 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 18168 DeploymentControllerTypeEcs = "ECS" 18169 18170 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 18171 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 18172 18173 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 18174 DeploymentControllerTypeExternal = "EXTERNAL" 18175) 18176 18177const ( 18178 // DesiredStatusRunning is a DesiredStatus enum value 18179 DesiredStatusRunning = "RUNNING" 18180 18181 // DesiredStatusPending is a DesiredStatus enum value 18182 DesiredStatusPending = "PENDING" 18183 18184 // DesiredStatusStopped is a DesiredStatus enum value 18185 DesiredStatusStopped = "STOPPED" 18186) 18187 18188const ( 18189 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 18190 DeviceCgroupPermissionRead = "read" 18191 18192 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 18193 DeviceCgroupPermissionWrite = "write" 18194 18195 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 18196 DeviceCgroupPermissionMknod = "mknod" 18197) 18198 18199const ( 18200 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 18201 FirelensConfigurationTypeFluentd = "fluentd" 18202 18203 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 18204 FirelensConfigurationTypeFluentbit = "fluentbit" 18205) 18206 18207const ( 18208 // HealthStatusHealthy is a HealthStatus enum value 18209 HealthStatusHealthy = "HEALTHY" 18210 18211 // HealthStatusUnhealthy is a HealthStatus enum value 18212 HealthStatusUnhealthy = "UNHEALTHY" 18213 18214 // HealthStatusUnknown is a HealthStatus enum value 18215 HealthStatusUnknown = "UNKNOWN" 18216) 18217 18218const ( 18219 // IpcModeHost is a IpcMode enum value 18220 IpcModeHost = "host" 18221 18222 // IpcModeTask is a IpcMode enum value 18223 IpcModeTask = "task" 18224 18225 // IpcModeNone is a IpcMode enum value 18226 IpcModeNone = "none" 18227) 18228 18229const ( 18230 // LaunchTypeEc2 is a LaunchType enum value 18231 LaunchTypeEc2 = "EC2" 18232 18233 // LaunchTypeFargate is a LaunchType enum value 18234 LaunchTypeFargate = "FARGATE" 18235) 18236 18237const ( 18238 // LogDriverJsonFile is a LogDriver enum value 18239 LogDriverJsonFile = "json-file" 18240 18241 // LogDriverSyslog is a LogDriver enum value 18242 LogDriverSyslog = "syslog" 18243 18244 // LogDriverJournald is a LogDriver enum value 18245 LogDriverJournald = "journald" 18246 18247 // LogDriverGelf is a LogDriver enum value 18248 LogDriverGelf = "gelf" 18249 18250 // LogDriverFluentd is a LogDriver enum value 18251 LogDriverFluentd = "fluentd" 18252 18253 // LogDriverAwslogs is a LogDriver enum value 18254 LogDriverAwslogs = "awslogs" 18255 18256 // LogDriverSplunk is a LogDriver enum value 18257 LogDriverSplunk = "splunk" 18258 18259 // LogDriverAwsfirelens is a LogDriver enum value 18260 LogDriverAwsfirelens = "awsfirelens" 18261) 18262 18263const ( 18264 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 18265 ManagedScalingStatusEnabled = "ENABLED" 18266 18267 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 18268 ManagedScalingStatusDisabled = "DISABLED" 18269) 18270 18271const ( 18272 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 18273 ManagedTerminationProtectionEnabled = "ENABLED" 18274 18275 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 18276 ManagedTerminationProtectionDisabled = "DISABLED" 18277) 18278 18279const ( 18280 // NetworkModeBridge is a NetworkMode enum value 18281 NetworkModeBridge = "bridge" 18282 18283 // NetworkModeHost is a NetworkMode enum value 18284 NetworkModeHost = "host" 18285 18286 // NetworkModeAwsvpc is a NetworkMode enum value 18287 NetworkModeAwsvpc = "awsvpc" 18288 18289 // NetworkModeNone is a NetworkMode enum value 18290 NetworkModeNone = "none" 18291) 18292 18293const ( 18294 // PidModeHost is a PidMode enum value 18295 PidModeHost = "host" 18296 18297 // PidModeTask is a PidMode enum value 18298 PidModeTask = "task" 18299) 18300 18301const ( 18302 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 18303 PlacementConstraintTypeDistinctInstance = "distinctInstance" 18304 18305 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 18306 PlacementConstraintTypeMemberOf = "memberOf" 18307) 18308 18309const ( 18310 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 18311 PlacementStrategyTypeRandom = "random" 18312 18313 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 18314 PlacementStrategyTypeSpread = "spread" 18315 18316 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 18317 PlacementStrategyTypeBinpack = "binpack" 18318) 18319 18320const ( 18321 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 18322 PlatformDeviceTypeGpu = "GPU" 18323) 18324 18325const ( 18326 // PropagateTagsTaskDefinition is a PropagateTags enum value 18327 PropagateTagsTaskDefinition = "TASK_DEFINITION" 18328 18329 // PropagateTagsService is a PropagateTags enum value 18330 PropagateTagsService = "SERVICE" 18331) 18332 18333const ( 18334 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 18335 ProxyConfigurationTypeAppmesh = "APPMESH" 18336) 18337 18338const ( 18339 // ResourceTypeGpu is a ResourceType enum value 18340 ResourceTypeGpu = "GPU" 18341 18342 // ResourceTypeInferenceAccelerator is a ResourceType enum value 18343 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 18344) 18345 18346const ( 18347 // ScaleUnitPercent is a ScaleUnit enum value 18348 ScaleUnitPercent = "PERCENT" 18349) 18350 18351const ( 18352 // SchedulingStrategyReplica is a SchedulingStrategy enum value 18353 SchedulingStrategyReplica = "REPLICA" 18354 18355 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 18356 SchedulingStrategyDaemon = "DAEMON" 18357) 18358 18359const ( 18360 // ScopeTask is a Scope enum value 18361 ScopeTask = "task" 18362 18363 // ScopeShared is a Scope enum value 18364 ScopeShared = "shared" 18365) 18366 18367const ( 18368 // ServiceFieldTags is a ServiceField enum value 18369 ServiceFieldTags = "TAGS" 18370) 18371 18372const ( 18373 // SettingNameServiceLongArnFormat is a SettingName enum value 18374 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 18375 18376 // SettingNameTaskLongArnFormat is a SettingName enum value 18377 SettingNameTaskLongArnFormat = "taskLongArnFormat" 18378 18379 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 18380 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 18381 18382 // SettingNameAwsvpcTrunking is a SettingName enum value 18383 SettingNameAwsvpcTrunking = "awsvpcTrunking" 18384 18385 // SettingNameContainerInsights is a SettingName enum value 18386 SettingNameContainerInsights = "containerInsights" 18387) 18388 18389const ( 18390 // SortOrderAsc is a SortOrder enum value 18391 SortOrderAsc = "ASC" 18392 18393 // SortOrderDesc is a SortOrder enum value 18394 SortOrderDesc = "DESC" 18395) 18396 18397const ( 18398 // StabilityStatusSteadyState is a StabilityStatus enum value 18399 StabilityStatusSteadyState = "STEADY_STATE" 18400 18401 // StabilityStatusStabilizing is a StabilityStatus enum value 18402 StabilityStatusStabilizing = "STABILIZING" 18403) 18404 18405const ( 18406 // TargetTypeContainerInstance is a TargetType enum value 18407 TargetTypeContainerInstance = "container-instance" 18408) 18409 18410const ( 18411 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 18412 TaskDefinitionFamilyStatusActive = "ACTIVE" 18413 18414 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 18415 TaskDefinitionFamilyStatusInactive = "INACTIVE" 18416 18417 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 18418 TaskDefinitionFamilyStatusAll = "ALL" 18419) 18420 18421const ( 18422 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 18423 TaskDefinitionFieldTags = "TAGS" 18424) 18425 18426const ( 18427 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 18428 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 18429) 18430 18431const ( 18432 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 18433 TaskDefinitionStatusActive = "ACTIVE" 18434 18435 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 18436 TaskDefinitionStatusInactive = "INACTIVE" 18437) 18438 18439const ( 18440 // TaskFieldTags is a TaskField enum value 18441 TaskFieldTags = "TAGS" 18442) 18443 18444const ( 18445 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 18446 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 18447 18448 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 18449 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 18450 18451 // TaskStopCodeUserInitiated is a TaskStopCode enum value 18452 TaskStopCodeUserInitiated = "UserInitiated" 18453) 18454 18455const ( 18456 // TransportProtocolTcp is a TransportProtocol enum value 18457 TransportProtocolTcp = "tcp" 18458 18459 // TransportProtocolUdp is a TransportProtocol enum value 18460 TransportProtocolUdp = "udp" 18461) 18462 18463const ( 18464 // UlimitNameCore is a UlimitName enum value 18465 UlimitNameCore = "core" 18466 18467 // UlimitNameCpu is a UlimitName enum value 18468 UlimitNameCpu = "cpu" 18469 18470 // UlimitNameData is a UlimitName enum value 18471 UlimitNameData = "data" 18472 18473 // UlimitNameFsize is a UlimitName enum value 18474 UlimitNameFsize = "fsize" 18475 18476 // UlimitNameLocks is a UlimitName enum value 18477 UlimitNameLocks = "locks" 18478 18479 // UlimitNameMemlock is a UlimitName enum value 18480 UlimitNameMemlock = "memlock" 18481 18482 // UlimitNameMsgqueue is a UlimitName enum value 18483 UlimitNameMsgqueue = "msgqueue" 18484 18485 // UlimitNameNice is a UlimitName enum value 18486 UlimitNameNice = "nice" 18487 18488 // UlimitNameNofile is a UlimitName enum value 18489 UlimitNameNofile = "nofile" 18490 18491 // UlimitNameNproc is a UlimitName enum value 18492 UlimitNameNproc = "nproc" 18493 18494 // UlimitNameRss is a UlimitName enum value 18495 UlimitNameRss = "rss" 18496 18497 // UlimitNameRtprio is a UlimitName enum value 18498 UlimitNameRtprio = "rtprio" 18499 18500 // UlimitNameRttime is a UlimitName enum value 18501 UlimitNameRttime = "rttime" 18502 18503 // UlimitNameSigpending is a UlimitName enum value 18504 UlimitNameSigpending = "sigpending" 18505 18506 // UlimitNameStack is a UlimitName enum value 18507 UlimitNameStack = "stack" 18508) 18509