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 Types: 77// * ServerException 78// These errors are usually caused by a server issue. 79// 80// * 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// * InvalidParameterException 86// The specified parameter is invalid. Review the available parameters for the 87// API request. 88// 89// * 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 Types: 178// * ServerException 179// These errors are usually caused by a server issue. 180// 181// * 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// * 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 Types: 364// * ServerException 365// These errors are usually caused by a server issue. 366// 367// * 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// * InvalidParameterException 373// The specified parameter is invalid. Review the available parameters for the 374// API request. 375// 376// * 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// * UnsupportedFeatureException 381// The specified task is not supported in this Region. 382// 383// * PlatformUnknownException 384// The specified platform version does not exist. 385// 386// * PlatformTaskDefinitionIncompatibilityException 387// The specified platform version does not satisfy the task definition's required 388// capabilities. 389// 390// * 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 Types: 472// * ServerException 473// These errors are usually caused by a server issue. 474// 475// * 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// * InvalidParameterException 481// The specified parameter is invalid. Review the available parameters for the 482// API request. 483// 484// * 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// * UnsupportedFeatureException 489// The specified task is not supported in this Region. 490// 491// * PlatformUnknownException 492// The specified platform version does not exist. 493// 494// * PlatformTaskDefinitionIncompatibilityException 495// The specified platform version does not satisfy the task definition's required 496// capabilities. 497// 498// * AccessDeniedException 499// You do not have authorization to perform the requested action. 500// 501// * 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// * 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 Types: 586// * ServerException 587// These errors are usually caused by a server issue. 588// 589// * 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// * 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 Types: 674// * 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// * 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// * 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. The cluster will transition to the INACTIVE 754// state. Clusters with an INACTIVE status may remain discoverable in your account 755// for a period of time. However, this behavior is subject to change in the 756// future, so you should not rely on INACTIVE clusters persisting. 757// 758// You must deregister all container instances from this cluster before you 759// may delete it. You can list the container instances in a cluster with ListContainerInstances 760// and deregister them with DeregisterContainerInstance. 761// 762// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 763// with awserr.Error's Code and Message methods to get detailed information about 764// the error. 765// 766// See the AWS API reference guide for Amazon EC2 Container Service's 767// API operation DeleteCluster for usage and error information. 768// 769// Returned Error Types: 770// * ServerException 771// These errors are usually caused by a server issue. 772// 773// * ClientException 774// These errors are usually caused by a client action, such as using an action 775// or resource on behalf of a user that doesn't have permissions to use the 776// action or resource, or specifying an identifier that is not valid. 777// 778// * InvalidParameterException 779// The specified parameter is invalid. Review the available parameters for the 780// API request. 781// 782// * ClusterNotFoundException 783// The specified cluster could not be found. You can view your available clusters 784// with ListClusters. Amazon ECS clusters are Region-specific. 785// 786// * ClusterContainsContainerInstancesException 787// You cannot delete a cluster that has registered container instances. First, 788// deregister the container instances before you can delete the cluster. For 789// more information, see DeregisterContainerInstance. 790// 791// * ClusterContainsServicesException 792// You cannot delete a cluster that contains services. First, update the service 793// to reduce its desired task count to 0 and then delete the service. For more 794// information, see UpdateService and DeleteService. 795// 796// * ClusterContainsTasksException 797// You cannot delete a cluster that has active tasks. 798// 799// * UpdateInProgressException 800// There is already a current Amazon ECS container agent update in progress 801// on the specified container instance. If the container agent becomes disconnected 802// while it is in a transitional stage, such as PENDING or STAGING, the update 803// process can get stuck in that state. However, when the agent reconnects, 804// it resumes where it stopped previously. 805// 806// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 807func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 808 req, out := c.DeleteClusterRequest(input) 809 return out, req.Send() 810} 811 812// DeleteClusterWithContext is the same as DeleteCluster with the addition of 813// the ability to pass a context and additional request options. 814// 815// See DeleteCluster for details on how to use this API operation. 816// 817// The context must be non-nil and will be used for request cancellation. If 818// the context is nil a panic will occur. In the future the SDK may create 819// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 820// for more information on using Contexts. 821func (c *ECS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 822 req, out := c.DeleteClusterRequest(input) 823 req.SetContext(ctx) 824 req.ApplyOptions(opts...) 825 return out, req.Send() 826} 827 828const opDeleteService = "DeleteService" 829 830// DeleteServiceRequest generates a "aws/request.Request" representing the 831// client's request for the DeleteService operation. The "output" return 832// value will be populated with the request's response once the request completes 833// successfully. 834// 835// Use "Send" method on the returned Request to send the API call to the service. 836// the "output" return value is not valid until after Send returns without error. 837// 838// See DeleteService for more information on using the DeleteService 839// API call, and error handling. 840// 841// This method is useful when you want to inject custom logic or configuration 842// into the SDK's request lifecycle. Such as custom headers, or retry logic. 843// 844// 845// // Example sending a request using the DeleteServiceRequest method. 846// req, resp := client.DeleteServiceRequest(params) 847// 848// err := req.Send() 849// if err == nil { // resp is now filled 850// fmt.Println(resp) 851// } 852// 853// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 854func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 855 op := &request.Operation{ 856 Name: opDeleteService, 857 HTTPMethod: "POST", 858 HTTPPath: "/", 859 } 860 861 if input == nil { 862 input = &DeleteServiceInput{} 863 } 864 865 output = &DeleteServiceOutput{} 866 req = c.newRequest(op, input, output) 867 return 868} 869 870// DeleteService API operation for Amazon EC2 Container Service. 871// 872// Deletes a specified service within a cluster. You can delete a service if 873// you have no running tasks in it and the desired task count is zero. If the 874// service is actively maintaining tasks, you cannot delete it, and you must 875// update the service to a desired task count of zero. For more information, 876// see UpdateService. 877// 878// When you delete a service, if there are still running tasks that require 879// cleanup, the service status moves from ACTIVE to DRAINING, and the service 880// is no longer visible in the console or in the ListServices API operation. 881// After all tasks have transitioned to either STOPPING or STOPPED status, the 882// service status moves from DRAINING to INACTIVE. Services in the DRAINING 883// or INACTIVE status can still be viewed with the DescribeServices API operation. 884// However, in the future, INACTIVE services may be cleaned up and purged from 885// Amazon ECS record keeping, and DescribeServices calls on those services return 886// a ServiceNotFoundException error. 887// 888// If you attempt to create a new service with the same name as an existing 889// service in either ACTIVE or DRAINING status, you receive an error. 890// 891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 892// with awserr.Error's Code and Message methods to get detailed information about 893// the error. 894// 895// See the AWS API reference guide for Amazon EC2 Container Service's 896// API operation DeleteService for usage and error information. 897// 898// Returned Error Types: 899// * ServerException 900// These errors are usually caused by a server issue. 901// 902// * ClientException 903// These errors are usually caused by a client action, such as using an action 904// or resource on behalf of a user that doesn't have permissions to use the 905// action or resource, or specifying an identifier that is not valid. 906// 907// * InvalidParameterException 908// The specified parameter is invalid. Review the available parameters for the 909// API request. 910// 911// * ClusterNotFoundException 912// The specified cluster could not be found. You can view your available clusters 913// with ListClusters. Amazon ECS clusters are Region-specific. 914// 915// * ServiceNotFoundException 916// The specified service could not be found. You can view your available services 917// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 918// 919// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 920func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 921 req, out := c.DeleteServiceRequest(input) 922 return out, req.Send() 923} 924 925// DeleteServiceWithContext is the same as DeleteService with the addition of 926// the ability to pass a context and additional request options. 927// 928// See DeleteService for details on how to use this API operation. 929// 930// The context must be non-nil and will be used for request cancellation. If 931// the context is nil a panic will occur. In the future the SDK may create 932// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 933// for more information on using Contexts. 934func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 935 req, out := c.DeleteServiceRequest(input) 936 req.SetContext(ctx) 937 req.ApplyOptions(opts...) 938 return out, req.Send() 939} 940 941const opDeleteTaskSet = "DeleteTaskSet" 942 943// DeleteTaskSetRequest generates a "aws/request.Request" representing the 944// client's request for the DeleteTaskSet operation. The "output" return 945// value will be populated with the request's response once the request completes 946// successfully. 947// 948// Use "Send" method on the returned Request to send the API call to the service. 949// the "output" return value is not valid until after Send returns without error. 950// 951// See DeleteTaskSet for more information on using the DeleteTaskSet 952// API call, and error handling. 953// 954// This method is useful when you want to inject custom logic or configuration 955// into the SDK's request lifecycle. Such as custom headers, or retry logic. 956// 957// 958// // Example sending a request using the DeleteTaskSetRequest method. 959// req, resp := client.DeleteTaskSetRequest(params) 960// 961// err := req.Send() 962// if err == nil { // resp is now filled 963// fmt.Println(resp) 964// } 965// 966// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 967func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { 968 op := &request.Operation{ 969 Name: opDeleteTaskSet, 970 HTTPMethod: "POST", 971 HTTPPath: "/", 972 } 973 974 if input == nil { 975 input = &DeleteTaskSetInput{} 976 } 977 978 output = &DeleteTaskSetOutput{} 979 req = c.newRequest(op, input, output) 980 return 981} 982 983// DeleteTaskSet API operation for Amazon EC2 Container Service. 984// 985// Deletes a specified task set within a service. This is used when a service 986// uses the EXTERNAL deployment controller type. For more information, see Amazon 987// ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 988// in the Amazon Elastic Container Service Developer Guide. 989// 990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 991// with awserr.Error's Code and Message methods to get detailed information about 992// the error. 993// 994// See the AWS API reference guide for Amazon EC2 Container Service's 995// API operation DeleteTaskSet for usage and error information. 996// 997// Returned Error Types: 998// * ServerException 999// These errors are usually caused by a server issue. 1000// 1001// * ClientException 1002// These errors are usually caused by a client action, such as using an action 1003// or resource on behalf of a user that doesn't have permissions to use the 1004// action or resource, or specifying an identifier that is not valid. 1005// 1006// * InvalidParameterException 1007// The specified parameter is invalid. Review the available parameters for the 1008// API request. 1009// 1010// * ClusterNotFoundException 1011// The specified cluster could not be found. You can view your available clusters 1012// with ListClusters. Amazon ECS clusters are Region-specific. 1013// 1014// * UnsupportedFeatureException 1015// The specified task is not supported in this Region. 1016// 1017// * AccessDeniedException 1018// You do not have authorization to perform the requested action. 1019// 1020// * ServiceNotFoundException 1021// The specified service could not be found. You can view your available services 1022// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1023// 1024// * ServiceNotActiveException 1025// The specified service is not active. You can't update a service that is inactive. 1026// If you have previously deleted a service, you can re-create it with CreateService. 1027// 1028// * TaskSetNotFoundException 1029// The specified task set could not be found. You can view your available task 1030// sets with DescribeTaskSets. Task sets are specific to each cluster, service 1031// and Region. 1032// 1033// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 1034func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { 1035 req, out := c.DeleteTaskSetRequest(input) 1036 return out, req.Send() 1037} 1038 1039// DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of 1040// the ability to pass a context and additional request options. 1041// 1042// See DeleteTaskSet for details on how to use this API operation. 1043// 1044// The context must be non-nil and will be used for request cancellation. If 1045// the context is nil a panic will occur. In the future the SDK may create 1046// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1047// for more information on using Contexts. 1048func (c *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { 1049 req, out := c.DeleteTaskSetRequest(input) 1050 req.SetContext(ctx) 1051 req.ApplyOptions(opts...) 1052 return out, req.Send() 1053} 1054 1055const opDeregisterContainerInstance = "DeregisterContainerInstance" 1056 1057// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 1058// client's request for the DeregisterContainerInstance operation. The "output" return 1059// value will be populated with the request's response once the request completes 1060// successfully. 1061// 1062// Use "Send" method on the returned Request to send the API call to the service. 1063// the "output" return value is not valid until after Send returns without error. 1064// 1065// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 1066// API call, and error handling. 1067// 1068// This method is useful when you want to inject custom logic or configuration 1069// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1070// 1071// 1072// // Example sending a request using the DeregisterContainerInstanceRequest method. 1073// req, resp := client.DeregisterContainerInstanceRequest(params) 1074// 1075// err := req.Send() 1076// if err == nil { // resp is now filled 1077// fmt.Println(resp) 1078// } 1079// 1080// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1081func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 1082 op := &request.Operation{ 1083 Name: opDeregisterContainerInstance, 1084 HTTPMethod: "POST", 1085 HTTPPath: "/", 1086 } 1087 1088 if input == nil { 1089 input = &DeregisterContainerInstanceInput{} 1090 } 1091 1092 output = &DeregisterContainerInstanceOutput{} 1093 req = c.newRequest(op, input, output) 1094 return 1095} 1096 1097// DeregisterContainerInstance API operation for Amazon EC2 Container Service. 1098// 1099// Deregisters an Amazon ECS container instance from the specified cluster. 1100// This instance is no longer available to run tasks. 1101// 1102// If you intend to use the container instance for some other purpose after 1103// deregistration, you should stop all of the tasks running on the container 1104// instance before deregistration. That prevents any orphaned tasks from consuming 1105// resources. 1106// 1107// Deregistering a container instance removes the instance from a cluster, but 1108// it does not terminate the EC2 instance. If you are finished using the instance, 1109// be sure to terminate it in the Amazon EC2 console to stop billing. 1110// 1111// If you terminate a running container instance, Amazon ECS automatically deregisters 1112// the instance from your cluster (stopped container instances or instances 1113// with disconnected agents are not automatically deregistered when terminated). 1114// 1115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1116// with awserr.Error's Code and Message methods to get detailed information about 1117// the error. 1118// 1119// See the AWS API reference guide for Amazon EC2 Container Service's 1120// API operation DeregisterContainerInstance for usage and error information. 1121// 1122// Returned Error Types: 1123// * ServerException 1124// These errors are usually caused by a server issue. 1125// 1126// * ClientException 1127// These errors are usually caused by a client action, such as using an action 1128// or resource on behalf of a user that doesn't have permissions to use the 1129// action or resource, or specifying an identifier that is not valid. 1130// 1131// * InvalidParameterException 1132// The specified parameter is invalid. Review the available parameters for the 1133// API request. 1134// 1135// * ClusterNotFoundException 1136// The specified cluster could not be found. You can view your available clusters 1137// with ListClusters. Amazon ECS clusters are Region-specific. 1138// 1139// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1140func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 1141 req, out := c.DeregisterContainerInstanceRequest(input) 1142 return out, req.Send() 1143} 1144 1145// DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 1146// the ability to pass a context and additional request options. 1147// 1148// See DeregisterContainerInstance for details on how to use this API operation. 1149// 1150// The context must be non-nil and will be used for request cancellation. If 1151// the context is nil a panic will occur. In the future the SDK may create 1152// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1153// for more information on using Contexts. 1154func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 1155 req, out := c.DeregisterContainerInstanceRequest(input) 1156 req.SetContext(ctx) 1157 req.ApplyOptions(opts...) 1158 return out, req.Send() 1159} 1160 1161const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 1162 1163// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 1164// client's request for the DeregisterTaskDefinition operation. The "output" return 1165// value will be populated with the request's response once the request completes 1166// successfully. 1167// 1168// Use "Send" method on the returned Request to send the API call to the service. 1169// the "output" return value is not valid until after Send returns without error. 1170// 1171// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 1172// API call, and error handling. 1173// 1174// This method is useful when you want to inject custom logic or configuration 1175// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1176// 1177// 1178// // Example sending a request using the DeregisterTaskDefinitionRequest method. 1179// req, resp := client.DeregisterTaskDefinitionRequest(params) 1180// 1181// err := req.Send() 1182// if err == nil { // resp is now filled 1183// fmt.Println(resp) 1184// } 1185// 1186// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1187func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 1188 op := &request.Operation{ 1189 Name: opDeregisterTaskDefinition, 1190 HTTPMethod: "POST", 1191 HTTPPath: "/", 1192 } 1193 1194 if input == nil { 1195 input = &DeregisterTaskDefinitionInput{} 1196 } 1197 1198 output = &DeregisterTaskDefinitionOutput{} 1199 req = c.newRequest(op, input, output) 1200 return 1201} 1202 1203// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 1204// 1205// Deregisters the specified task definition by family and revision. Upon deregistration, 1206// the task definition is marked as INACTIVE. Existing tasks and services that 1207// reference an INACTIVE task definition continue to run without disruption. 1208// Existing services that reference an INACTIVE task definition can still scale 1209// up or down by modifying the service's desired count. 1210// 1211// You cannot use an INACTIVE task definition to run new tasks or create new 1212// services, and you cannot update an existing service to reference an INACTIVE 1213// task definition. However, there may be up to a 10-minute window following 1214// deregistration where these restrictions have not yet taken effect. 1215// 1216// At this time, INACTIVE task definitions remain discoverable in your account 1217// indefinitely. However, this behavior is subject to change in the future, 1218// so you should not rely on INACTIVE task definitions persisting beyond the 1219// lifecycle of any associated tasks and services. 1220// 1221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1222// with awserr.Error's Code and Message methods to get detailed information about 1223// the error. 1224// 1225// See the AWS API reference guide for Amazon EC2 Container Service's 1226// API operation DeregisterTaskDefinition for usage and error information. 1227// 1228// Returned Error Types: 1229// * ServerException 1230// These errors are usually caused by a server issue. 1231// 1232// * ClientException 1233// These errors are usually caused by a client action, such as using an action 1234// or resource on behalf of a user that doesn't have permissions to use the 1235// action or resource, or specifying an identifier that is not valid. 1236// 1237// * InvalidParameterException 1238// The specified parameter is invalid. Review the available parameters for the 1239// API request. 1240// 1241// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1242func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 1243 req, out := c.DeregisterTaskDefinitionRequest(input) 1244 return out, req.Send() 1245} 1246 1247// DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 1248// the ability to pass a context and additional request options. 1249// 1250// See DeregisterTaskDefinition for details on how to use this API operation. 1251// 1252// The context must be non-nil and will be used for request cancellation. If 1253// the context is nil a panic will occur. In the future the SDK may create 1254// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1255// for more information on using Contexts. 1256func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 1257 req, out := c.DeregisterTaskDefinitionRequest(input) 1258 req.SetContext(ctx) 1259 req.ApplyOptions(opts...) 1260 return out, req.Send() 1261} 1262 1263const opDescribeCapacityProviders = "DescribeCapacityProviders" 1264 1265// DescribeCapacityProvidersRequest generates a "aws/request.Request" representing the 1266// client's request for the DescribeCapacityProviders operation. The "output" return 1267// value will be populated with the request's response once the request completes 1268// successfully. 1269// 1270// Use "Send" method on the returned Request to send the API call to the service. 1271// the "output" return value is not valid until after Send returns without error. 1272// 1273// See DescribeCapacityProviders for more information on using the DescribeCapacityProviders 1274// API call, and error handling. 1275// 1276// This method is useful when you want to inject custom logic or configuration 1277// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1278// 1279// 1280// // Example sending a request using the DescribeCapacityProvidersRequest method. 1281// req, resp := client.DescribeCapacityProvidersRequest(params) 1282// 1283// err := req.Send() 1284// if err == nil { // resp is now filled 1285// fmt.Println(resp) 1286// } 1287// 1288// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1289func (c *ECS) DescribeCapacityProvidersRequest(input *DescribeCapacityProvidersInput) (req *request.Request, output *DescribeCapacityProvidersOutput) { 1290 op := &request.Operation{ 1291 Name: opDescribeCapacityProviders, 1292 HTTPMethod: "POST", 1293 HTTPPath: "/", 1294 } 1295 1296 if input == nil { 1297 input = &DescribeCapacityProvidersInput{} 1298 } 1299 1300 output = &DescribeCapacityProvidersOutput{} 1301 req = c.newRequest(op, input, output) 1302 return 1303} 1304 1305// DescribeCapacityProviders API operation for Amazon EC2 Container Service. 1306// 1307// Describes one or more of your capacity providers. 1308// 1309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1310// with awserr.Error's Code and Message methods to get detailed information about 1311// the error. 1312// 1313// See the AWS API reference guide for Amazon EC2 Container Service's 1314// API operation DescribeCapacityProviders for usage and error information. 1315// 1316// Returned Error Types: 1317// * ServerException 1318// These errors are usually caused by a server issue. 1319// 1320// * ClientException 1321// These errors are usually caused by a client action, such as using an action 1322// or resource on behalf of a user that doesn't have permissions to use the 1323// action or resource, or specifying an identifier that is not valid. 1324// 1325// * InvalidParameterException 1326// The specified parameter is invalid. Review the available parameters for the 1327// API request. 1328// 1329// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1330func (c *ECS) DescribeCapacityProviders(input *DescribeCapacityProvidersInput) (*DescribeCapacityProvidersOutput, error) { 1331 req, out := c.DescribeCapacityProvidersRequest(input) 1332 return out, req.Send() 1333} 1334 1335// DescribeCapacityProvidersWithContext is the same as DescribeCapacityProviders with the addition of 1336// the ability to pass a context and additional request options. 1337// 1338// See DescribeCapacityProviders for details on how to use this API operation. 1339// 1340// The context must be non-nil and will be used for request cancellation. If 1341// the context is nil a panic will occur. In the future the SDK may create 1342// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1343// for more information on using Contexts. 1344func (c *ECS) DescribeCapacityProvidersWithContext(ctx aws.Context, input *DescribeCapacityProvidersInput, opts ...request.Option) (*DescribeCapacityProvidersOutput, error) { 1345 req, out := c.DescribeCapacityProvidersRequest(input) 1346 req.SetContext(ctx) 1347 req.ApplyOptions(opts...) 1348 return out, req.Send() 1349} 1350 1351const opDescribeClusters = "DescribeClusters" 1352 1353// DescribeClustersRequest generates a "aws/request.Request" representing the 1354// client's request for the DescribeClusters operation. The "output" return 1355// value will be populated with the request's response once the request completes 1356// successfully. 1357// 1358// Use "Send" method on the returned Request to send the API call to the service. 1359// the "output" return value is not valid until after Send returns without error. 1360// 1361// See DescribeClusters for more information on using the DescribeClusters 1362// API call, and error handling. 1363// 1364// This method is useful when you want to inject custom logic or configuration 1365// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1366// 1367// 1368// // Example sending a request using the DescribeClustersRequest method. 1369// req, resp := client.DescribeClustersRequest(params) 1370// 1371// err := req.Send() 1372// if err == nil { // resp is now filled 1373// fmt.Println(resp) 1374// } 1375// 1376// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1377func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 1378 op := &request.Operation{ 1379 Name: opDescribeClusters, 1380 HTTPMethod: "POST", 1381 HTTPPath: "/", 1382 } 1383 1384 if input == nil { 1385 input = &DescribeClustersInput{} 1386 } 1387 1388 output = &DescribeClustersOutput{} 1389 req = c.newRequest(op, input, output) 1390 return 1391} 1392 1393// DescribeClusters API operation for Amazon EC2 Container Service. 1394// 1395// Describes one or more of your clusters. 1396// 1397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1398// with awserr.Error's Code and Message methods to get detailed information about 1399// the error. 1400// 1401// See the AWS API reference guide for Amazon EC2 Container Service's 1402// API operation DescribeClusters for usage and error information. 1403// 1404// Returned Error Types: 1405// * ServerException 1406// These errors are usually caused by a server issue. 1407// 1408// * ClientException 1409// These errors are usually caused by a client action, such as using an action 1410// or resource on behalf of a user that doesn't have permissions to use the 1411// action or resource, or specifying an identifier that is not valid. 1412// 1413// * InvalidParameterException 1414// The specified parameter is invalid. Review the available parameters for the 1415// API request. 1416// 1417// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1418func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 1419 req, out := c.DescribeClustersRequest(input) 1420 return out, req.Send() 1421} 1422 1423// DescribeClustersWithContext is the same as DescribeClusters with the addition of 1424// the ability to pass a context and additional request options. 1425// 1426// See DescribeClusters for details on how to use this API operation. 1427// 1428// The context must be non-nil and will be used for request cancellation. If 1429// the context is nil a panic will occur. In the future the SDK may create 1430// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1431// for more information on using Contexts. 1432func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 1433 req, out := c.DescribeClustersRequest(input) 1434 req.SetContext(ctx) 1435 req.ApplyOptions(opts...) 1436 return out, req.Send() 1437} 1438 1439const opDescribeContainerInstances = "DescribeContainerInstances" 1440 1441// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 1442// client's request for the DescribeContainerInstances operation. The "output" return 1443// value will be populated with the request's response once the request completes 1444// successfully. 1445// 1446// Use "Send" method on the returned Request to send the API call to the service. 1447// the "output" return value is not valid until after Send returns without error. 1448// 1449// See DescribeContainerInstances for more information on using the DescribeContainerInstances 1450// API call, and error handling. 1451// 1452// This method is useful when you want to inject custom logic or configuration 1453// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1454// 1455// 1456// // Example sending a request using the DescribeContainerInstancesRequest method. 1457// req, resp := client.DescribeContainerInstancesRequest(params) 1458// 1459// err := req.Send() 1460// if err == nil { // resp is now filled 1461// fmt.Println(resp) 1462// } 1463// 1464// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1465func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 1466 op := &request.Operation{ 1467 Name: opDescribeContainerInstances, 1468 HTTPMethod: "POST", 1469 HTTPPath: "/", 1470 } 1471 1472 if input == nil { 1473 input = &DescribeContainerInstancesInput{} 1474 } 1475 1476 output = &DescribeContainerInstancesOutput{} 1477 req = c.newRequest(op, input, output) 1478 return 1479} 1480 1481// DescribeContainerInstances API operation for Amazon EC2 Container Service. 1482// 1483// Describes Amazon Elastic Container Service container instances. Returns metadata 1484// about registered and remaining resources on each container instance requested. 1485// 1486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1487// with awserr.Error's Code and Message methods to get detailed information about 1488// the error. 1489// 1490// See the AWS API reference guide for Amazon EC2 Container Service's 1491// API operation DescribeContainerInstances for usage and error information. 1492// 1493// Returned Error Types: 1494// * ServerException 1495// These errors are usually caused by a server issue. 1496// 1497// * ClientException 1498// These errors are usually caused by a client action, such as using an action 1499// or resource on behalf of a user that doesn't have permissions to use the 1500// action or resource, or specifying an identifier that is not valid. 1501// 1502// * InvalidParameterException 1503// The specified parameter is invalid. Review the available parameters for the 1504// API request. 1505// 1506// * ClusterNotFoundException 1507// The specified cluster could not be found. You can view your available clusters 1508// with ListClusters. Amazon ECS clusters are Region-specific. 1509// 1510// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1511func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 1512 req, out := c.DescribeContainerInstancesRequest(input) 1513 return out, req.Send() 1514} 1515 1516// DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 1517// the ability to pass a context and additional request options. 1518// 1519// See DescribeContainerInstances for details on how to use this API operation. 1520// 1521// The context must be non-nil and will be used for request cancellation. If 1522// the context is nil a panic will occur. In the future the SDK may create 1523// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1524// for more information on using Contexts. 1525func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 1526 req, out := c.DescribeContainerInstancesRequest(input) 1527 req.SetContext(ctx) 1528 req.ApplyOptions(opts...) 1529 return out, req.Send() 1530} 1531 1532const opDescribeServices = "DescribeServices" 1533 1534// DescribeServicesRequest generates a "aws/request.Request" representing the 1535// client's request for the DescribeServices operation. The "output" return 1536// value will be populated with the request's response once the request completes 1537// successfully. 1538// 1539// Use "Send" method on the returned Request to send the API call to the service. 1540// the "output" return value is not valid until after Send returns without error. 1541// 1542// See DescribeServices for more information on using the DescribeServices 1543// API call, and error handling. 1544// 1545// This method is useful when you want to inject custom logic or configuration 1546// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1547// 1548// 1549// // Example sending a request using the DescribeServicesRequest method. 1550// req, resp := client.DescribeServicesRequest(params) 1551// 1552// err := req.Send() 1553// if err == nil { // resp is now filled 1554// fmt.Println(resp) 1555// } 1556// 1557// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1558func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 1559 op := &request.Operation{ 1560 Name: opDescribeServices, 1561 HTTPMethod: "POST", 1562 HTTPPath: "/", 1563 } 1564 1565 if input == nil { 1566 input = &DescribeServicesInput{} 1567 } 1568 1569 output = &DescribeServicesOutput{} 1570 req = c.newRequest(op, input, output) 1571 return 1572} 1573 1574// DescribeServices API operation for Amazon EC2 Container Service. 1575// 1576// Describes the specified services running in your cluster. 1577// 1578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1579// with awserr.Error's Code and Message methods to get detailed information about 1580// the error. 1581// 1582// See the AWS API reference guide for Amazon EC2 Container Service's 1583// API operation DescribeServices for usage and error information. 1584// 1585// Returned Error Types: 1586// * ServerException 1587// These errors are usually caused by a server issue. 1588// 1589// * ClientException 1590// These errors are usually caused by a client action, such as using an action 1591// or resource on behalf of a user that doesn't have permissions to use the 1592// action or resource, or specifying an identifier that is not valid. 1593// 1594// * InvalidParameterException 1595// The specified parameter is invalid. Review the available parameters for the 1596// API request. 1597// 1598// * ClusterNotFoundException 1599// The specified cluster could not be found. You can view your available clusters 1600// with ListClusters. Amazon ECS clusters are Region-specific. 1601// 1602// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1603func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1604 req, out := c.DescribeServicesRequest(input) 1605 return out, req.Send() 1606} 1607 1608// DescribeServicesWithContext is the same as DescribeServices with the addition of 1609// the ability to pass a context and additional request options. 1610// 1611// See DescribeServices for details on how to use this API operation. 1612// 1613// The context must be non-nil and will be used for request cancellation. If 1614// the context is nil a panic will occur. In the future the SDK may create 1615// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1616// for more information on using Contexts. 1617func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1618 req, out := c.DescribeServicesRequest(input) 1619 req.SetContext(ctx) 1620 req.ApplyOptions(opts...) 1621 return out, req.Send() 1622} 1623 1624const opDescribeTaskDefinition = "DescribeTaskDefinition" 1625 1626// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1627// client's request for the DescribeTaskDefinition operation. The "output" return 1628// value will be populated with the request's response once the request completes 1629// successfully. 1630// 1631// Use "Send" method on the returned Request to send the API call to the service. 1632// the "output" return value is not valid until after Send returns without error. 1633// 1634// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1635// API call, and error handling. 1636// 1637// This method is useful when you want to inject custom logic or configuration 1638// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1639// 1640// 1641// // Example sending a request using the DescribeTaskDefinitionRequest method. 1642// req, resp := client.DescribeTaskDefinitionRequest(params) 1643// 1644// err := req.Send() 1645// if err == nil { // resp is now filled 1646// fmt.Println(resp) 1647// } 1648// 1649// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1650func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1651 op := &request.Operation{ 1652 Name: opDescribeTaskDefinition, 1653 HTTPMethod: "POST", 1654 HTTPPath: "/", 1655 } 1656 1657 if input == nil { 1658 input = &DescribeTaskDefinitionInput{} 1659 } 1660 1661 output = &DescribeTaskDefinitionOutput{} 1662 req = c.newRequest(op, input, output) 1663 return 1664} 1665 1666// DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1667// 1668// Describes a task definition. You can specify a family and revision to find 1669// information about a specific task definition, or you can simply specify the 1670// family to find the latest ACTIVE revision in that family. 1671// 1672// You can only describe INACTIVE task definitions while an active task or service 1673// references them. 1674// 1675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1676// with awserr.Error's Code and Message methods to get detailed information about 1677// the error. 1678// 1679// See the AWS API reference guide for Amazon EC2 Container Service's 1680// API operation DescribeTaskDefinition for usage and error information. 1681// 1682// Returned Error Types: 1683// * ServerException 1684// These errors are usually caused by a server issue. 1685// 1686// * ClientException 1687// These errors are usually caused by a client action, such as using an action 1688// or resource on behalf of a user that doesn't have permissions to use the 1689// action or resource, or specifying an identifier that is not valid. 1690// 1691// * InvalidParameterException 1692// The specified parameter is invalid. Review the available parameters for the 1693// API request. 1694// 1695// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1696func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1697 req, out := c.DescribeTaskDefinitionRequest(input) 1698 return out, req.Send() 1699} 1700 1701// DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1702// the ability to pass a context and additional request options. 1703// 1704// See DescribeTaskDefinition for details on how to use this API operation. 1705// 1706// The context must be non-nil and will be used for request cancellation. If 1707// the context is nil a panic will occur. In the future the SDK may create 1708// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1709// for more information on using Contexts. 1710func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1711 req, out := c.DescribeTaskDefinitionRequest(input) 1712 req.SetContext(ctx) 1713 req.ApplyOptions(opts...) 1714 return out, req.Send() 1715} 1716 1717const opDescribeTaskSets = "DescribeTaskSets" 1718 1719// DescribeTaskSetsRequest generates a "aws/request.Request" representing the 1720// client's request for the DescribeTaskSets operation. The "output" return 1721// value will be populated with the request's response once the request completes 1722// successfully. 1723// 1724// Use "Send" method on the returned Request to send the API call to the service. 1725// the "output" return value is not valid until after Send returns without error. 1726// 1727// See DescribeTaskSets for more information on using the DescribeTaskSets 1728// API call, and error handling. 1729// 1730// This method is useful when you want to inject custom logic or configuration 1731// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1732// 1733// 1734// // Example sending a request using the DescribeTaskSetsRequest method. 1735// req, resp := client.DescribeTaskSetsRequest(params) 1736// 1737// err := req.Send() 1738// if err == nil { // resp is now filled 1739// fmt.Println(resp) 1740// } 1741// 1742// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1743func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { 1744 op := &request.Operation{ 1745 Name: opDescribeTaskSets, 1746 HTTPMethod: "POST", 1747 HTTPPath: "/", 1748 } 1749 1750 if input == nil { 1751 input = &DescribeTaskSetsInput{} 1752 } 1753 1754 output = &DescribeTaskSetsOutput{} 1755 req = c.newRequest(op, input, output) 1756 return 1757} 1758 1759// DescribeTaskSets API operation for Amazon EC2 Container Service. 1760// 1761// Describes the task sets in the specified cluster and service. This is used 1762// when a service uses the EXTERNAL deployment controller type. For more information, 1763// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1764// in the Amazon Elastic Container Service Developer Guide. 1765// 1766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1767// with awserr.Error's Code and Message methods to get detailed information about 1768// the error. 1769// 1770// See the AWS API reference guide for Amazon EC2 Container Service's 1771// API operation DescribeTaskSets for usage and error information. 1772// 1773// Returned Error Types: 1774// * ServerException 1775// These errors are usually caused by a server issue. 1776// 1777// * ClientException 1778// These errors are usually caused by a client action, such as using an action 1779// or resource on behalf of a user that doesn't have permissions to use the 1780// action or resource, or specifying an identifier that is not valid. 1781// 1782// * InvalidParameterException 1783// The specified parameter is invalid. Review the available parameters for the 1784// API request. 1785// 1786// * ClusterNotFoundException 1787// The specified cluster could not be found. You can view your available clusters 1788// with ListClusters. Amazon ECS clusters are Region-specific. 1789// 1790// * UnsupportedFeatureException 1791// The specified task is not supported in this Region. 1792// 1793// * AccessDeniedException 1794// You do not have authorization to perform the requested action. 1795// 1796// * ServiceNotFoundException 1797// The specified service could not be found. You can view your available services 1798// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1799// 1800// * ServiceNotActiveException 1801// The specified service is not active. You can't update a service that is inactive. 1802// If you have previously deleted a service, you can re-create it with CreateService. 1803// 1804// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1805func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { 1806 req, out := c.DescribeTaskSetsRequest(input) 1807 return out, req.Send() 1808} 1809 1810// DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of 1811// the ability to pass a context and additional request options. 1812// 1813// See DescribeTaskSets for details on how to use this API operation. 1814// 1815// The context must be non-nil and will be used for request cancellation. If 1816// the context is nil a panic will occur. In the future the SDK may create 1817// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1818// for more information on using Contexts. 1819func (c *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { 1820 req, out := c.DescribeTaskSetsRequest(input) 1821 req.SetContext(ctx) 1822 req.ApplyOptions(opts...) 1823 return out, req.Send() 1824} 1825 1826const opDescribeTasks = "DescribeTasks" 1827 1828// DescribeTasksRequest generates a "aws/request.Request" representing the 1829// client's request for the DescribeTasks operation. The "output" return 1830// value will be populated with the request's response once the request completes 1831// successfully. 1832// 1833// Use "Send" method on the returned Request to send the API call to the service. 1834// the "output" return value is not valid until after Send returns without error. 1835// 1836// See DescribeTasks for more information on using the DescribeTasks 1837// API call, and error handling. 1838// 1839// This method is useful when you want to inject custom logic or configuration 1840// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1841// 1842// 1843// // Example sending a request using the DescribeTasksRequest method. 1844// req, resp := client.DescribeTasksRequest(params) 1845// 1846// err := req.Send() 1847// if err == nil { // resp is now filled 1848// fmt.Println(resp) 1849// } 1850// 1851// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1852func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1853 op := &request.Operation{ 1854 Name: opDescribeTasks, 1855 HTTPMethod: "POST", 1856 HTTPPath: "/", 1857 } 1858 1859 if input == nil { 1860 input = &DescribeTasksInput{} 1861 } 1862 1863 output = &DescribeTasksOutput{} 1864 req = c.newRequest(op, input, output) 1865 return 1866} 1867 1868// DescribeTasks API operation for Amazon EC2 Container Service. 1869// 1870// Describes a specified task or tasks. 1871// 1872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1873// with awserr.Error's Code and Message methods to get detailed information about 1874// the error. 1875// 1876// See the AWS API reference guide for Amazon EC2 Container Service's 1877// API operation DescribeTasks for usage and error information. 1878// 1879// Returned Error Types: 1880// * ServerException 1881// These errors are usually caused by a server issue. 1882// 1883// * ClientException 1884// These errors are usually caused by a client action, such as using an action 1885// or resource on behalf of a user that doesn't have permissions to use the 1886// action or resource, or specifying an identifier that is not valid. 1887// 1888// * InvalidParameterException 1889// The specified parameter is invalid. Review the available parameters for the 1890// API request. 1891// 1892// * ClusterNotFoundException 1893// The specified cluster could not be found. You can view your available clusters 1894// with ListClusters. Amazon ECS clusters are Region-specific. 1895// 1896// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1897func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 1898 req, out := c.DescribeTasksRequest(input) 1899 return out, req.Send() 1900} 1901 1902// DescribeTasksWithContext is the same as DescribeTasks with the addition of 1903// the ability to pass a context and additional request options. 1904// 1905// See DescribeTasks for details on how to use this API operation. 1906// 1907// The context must be non-nil and will be used for request cancellation. If 1908// the context is nil a panic will occur. In the future the SDK may create 1909// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1910// for more information on using Contexts. 1911func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 1912 req, out := c.DescribeTasksRequest(input) 1913 req.SetContext(ctx) 1914 req.ApplyOptions(opts...) 1915 return out, req.Send() 1916} 1917 1918const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 1919 1920// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 1921// client's request for the DiscoverPollEndpoint operation. The "output" return 1922// value will be populated with the request's response once the request completes 1923// successfully. 1924// 1925// Use "Send" method on the returned Request to send the API call to the service. 1926// the "output" return value is not valid until after Send returns without error. 1927// 1928// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 1929// API call, and error handling. 1930// 1931// This method is useful when you want to inject custom logic or configuration 1932// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1933// 1934// 1935// // Example sending a request using the DiscoverPollEndpointRequest method. 1936// req, resp := client.DiscoverPollEndpointRequest(params) 1937// 1938// err := req.Send() 1939// if err == nil { // resp is now filled 1940// fmt.Println(resp) 1941// } 1942// 1943// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1944func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 1945 op := &request.Operation{ 1946 Name: opDiscoverPollEndpoint, 1947 HTTPMethod: "POST", 1948 HTTPPath: "/", 1949 } 1950 1951 if input == nil { 1952 input = &DiscoverPollEndpointInput{} 1953 } 1954 1955 output = &DiscoverPollEndpointOutput{} 1956 req = c.newRequest(op, input, output) 1957 return 1958} 1959 1960// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 1961// 1962// 1963// This action is only used by the Amazon ECS agent, and it is not intended 1964// for use outside of the agent. 1965// 1966// Returns an endpoint for the Amazon ECS agent to poll for updates. 1967// 1968// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1969// with awserr.Error's Code and Message methods to get detailed information about 1970// the error. 1971// 1972// See the AWS API reference guide for Amazon EC2 Container Service's 1973// API operation DiscoverPollEndpoint for usage and error information. 1974// 1975// Returned Error Types: 1976// * ServerException 1977// These errors are usually caused by a server issue. 1978// 1979// * ClientException 1980// These errors are usually caused by a client action, such as using an action 1981// or resource on behalf of a user that doesn't have permissions to use the 1982// action or resource, or specifying an identifier that is not valid. 1983// 1984// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1985func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 1986 req, out := c.DiscoverPollEndpointRequest(input) 1987 return out, req.Send() 1988} 1989 1990// DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 1991// the ability to pass a context and additional request options. 1992// 1993// See DiscoverPollEndpoint for details on how to use this API operation. 1994// 1995// The context must be non-nil and will be used for request cancellation. If 1996// the context is nil a panic will occur. In the future the SDK may create 1997// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1998// for more information on using Contexts. 1999func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 2000 req, out := c.DiscoverPollEndpointRequest(input) 2001 req.SetContext(ctx) 2002 req.ApplyOptions(opts...) 2003 return out, req.Send() 2004} 2005 2006const opListAccountSettings = "ListAccountSettings" 2007 2008// ListAccountSettingsRequest generates a "aws/request.Request" representing the 2009// client's request for the ListAccountSettings operation. The "output" return 2010// value will be populated with the request's response once the request completes 2011// successfully. 2012// 2013// Use "Send" method on the returned Request to send the API call to the service. 2014// the "output" return value is not valid until after Send returns without error. 2015// 2016// See ListAccountSettings for more information on using the ListAccountSettings 2017// API call, and error handling. 2018// 2019// This method is useful when you want to inject custom logic or configuration 2020// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2021// 2022// 2023// // Example sending a request using the ListAccountSettingsRequest method. 2024// req, resp := client.ListAccountSettingsRequest(params) 2025// 2026// err := req.Send() 2027// if err == nil { // resp is now filled 2028// fmt.Println(resp) 2029// } 2030// 2031// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2032func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 2033 op := &request.Operation{ 2034 Name: opListAccountSettings, 2035 HTTPMethod: "POST", 2036 HTTPPath: "/", 2037 Paginator: &request.Paginator{ 2038 InputTokens: []string{"nextToken"}, 2039 OutputTokens: []string{"nextToken"}, 2040 LimitToken: "maxResults", 2041 TruncationToken: "", 2042 }, 2043 } 2044 2045 if input == nil { 2046 input = &ListAccountSettingsInput{} 2047 } 2048 2049 output = &ListAccountSettingsOutput{} 2050 req = c.newRequest(op, input, output) 2051 return 2052} 2053 2054// ListAccountSettings API operation for Amazon EC2 Container Service. 2055// 2056// Lists the account settings for a specified principal. 2057// 2058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2059// with awserr.Error's Code and Message methods to get detailed information about 2060// the error. 2061// 2062// See the AWS API reference guide for Amazon EC2 Container Service's 2063// API operation ListAccountSettings for usage and error information. 2064// 2065// Returned Error Types: 2066// * ServerException 2067// These errors are usually caused by a server issue. 2068// 2069// * ClientException 2070// These errors are usually caused by a client action, such as using an action 2071// or resource on behalf of a user that doesn't have permissions to use the 2072// action or resource, or specifying an identifier that is not valid. 2073// 2074// * InvalidParameterException 2075// The specified parameter is invalid. Review the available parameters for the 2076// API request. 2077// 2078// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2079func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 2080 req, out := c.ListAccountSettingsRequest(input) 2081 return out, req.Send() 2082} 2083 2084// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 2085// the ability to pass a context and additional request options. 2086// 2087// See ListAccountSettings for details on how to use this API operation. 2088// 2089// The context must be non-nil and will be used for request cancellation. If 2090// the context is nil a panic will occur. In the future the SDK may create 2091// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2092// for more information on using Contexts. 2093func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 2094 req, out := c.ListAccountSettingsRequest(input) 2095 req.SetContext(ctx) 2096 req.ApplyOptions(opts...) 2097 return out, req.Send() 2098} 2099 2100// ListAccountSettingsPages iterates over the pages of a ListAccountSettings operation, 2101// calling the "fn" function with the response data for each page. To stop 2102// iterating, return false from the fn function. 2103// 2104// See ListAccountSettings method for more information on how to use this operation. 2105// 2106// Note: This operation can generate multiple requests to a service. 2107// 2108// // Example iterating over at most 3 pages of a ListAccountSettings operation. 2109// pageNum := 0 2110// err := client.ListAccountSettingsPages(params, 2111// func(page *ecs.ListAccountSettingsOutput, lastPage bool) bool { 2112// pageNum++ 2113// fmt.Println(page) 2114// return pageNum <= 3 2115// }) 2116// 2117func (c *ECS) ListAccountSettingsPages(input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool) error { 2118 return c.ListAccountSettingsPagesWithContext(aws.BackgroundContext(), input, fn) 2119} 2120 2121// ListAccountSettingsPagesWithContext same as ListAccountSettingsPages except 2122// it takes a Context and allows setting request options on the pages. 2123// 2124// The context must be non-nil and will be used for request cancellation. If 2125// the context is nil a panic will occur. In the future the SDK may create 2126// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2127// for more information on using Contexts. 2128func (c *ECS) ListAccountSettingsPagesWithContext(ctx aws.Context, input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool, opts ...request.Option) error { 2129 p := request.Pagination{ 2130 NewRequest: func() (*request.Request, error) { 2131 var inCpy *ListAccountSettingsInput 2132 if input != nil { 2133 tmp := *input 2134 inCpy = &tmp 2135 } 2136 req, _ := c.ListAccountSettingsRequest(inCpy) 2137 req.SetContext(ctx) 2138 req.ApplyOptions(opts...) 2139 return req, nil 2140 }, 2141 } 2142 2143 for p.Next() { 2144 if !fn(p.Page().(*ListAccountSettingsOutput), !p.HasNextPage()) { 2145 break 2146 } 2147 } 2148 2149 return p.Err() 2150} 2151 2152const opListAttributes = "ListAttributes" 2153 2154// ListAttributesRequest generates a "aws/request.Request" representing the 2155// client's request for the ListAttributes operation. The "output" return 2156// value will be populated with the request's response once the request completes 2157// successfully. 2158// 2159// Use "Send" method on the returned Request to send the API call to the service. 2160// the "output" return value is not valid until after Send returns without error. 2161// 2162// See ListAttributes for more information on using the ListAttributes 2163// API call, and error handling. 2164// 2165// This method is useful when you want to inject custom logic or configuration 2166// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2167// 2168// 2169// // Example sending a request using the ListAttributesRequest method. 2170// req, resp := client.ListAttributesRequest(params) 2171// 2172// err := req.Send() 2173// if err == nil { // resp is now filled 2174// fmt.Println(resp) 2175// } 2176// 2177// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2178func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 2179 op := &request.Operation{ 2180 Name: opListAttributes, 2181 HTTPMethod: "POST", 2182 HTTPPath: "/", 2183 Paginator: &request.Paginator{ 2184 InputTokens: []string{"nextToken"}, 2185 OutputTokens: []string{"nextToken"}, 2186 LimitToken: "maxResults", 2187 TruncationToken: "", 2188 }, 2189 } 2190 2191 if input == nil { 2192 input = &ListAttributesInput{} 2193 } 2194 2195 output = &ListAttributesOutput{} 2196 req = c.newRequest(op, input, output) 2197 return 2198} 2199 2200// ListAttributes API operation for Amazon EC2 Container Service. 2201// 2202// Lists the attributes for Amazon ECS resources within a specified target type 2203// and cluster. When you specify a target type and cluster, ListAttributes returns 2204// a list of attribute objects, one for each attribute on each resource. You 2205// can filter the list of results to a single attribute name to only return 2206// results that have that name. You can also filter the results by attribute 2207// name and value, for example, to see which container instances in a cluster 2208// are running a Linux AMI (ecs.os-type=linux). 2209// 2210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2211// with awserr.Error's Code and Message methods to get detailed information about 2212// the error. 2213// 2214// See the AWS API reference guide for Amazon EC2 Container Service's 2215// API operation ListAttributes for usage and error information. 2216// 2217// Returned Error Types: 2218// * ClusterNotFoundException 2219// The specified cluster could not be found. You can view your available clusters 2220// with ListClusters. Amazon ECS clusters are Region-specific. 2221// 2222// * InvalidParameterException 2223// The specified parameter is invalid. Review the available parameters for the 2224// API request. 2225// 2226// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2227func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 2228 req, out := c.ListAttributesRequest(input) 2229 return out, req.Send() 2230} 2231 2232// ListAttributesWithContext is the same as ListAttributes with the addition of 2233// the ability to pass a context and additional request options. 2234// 2235// See ListAttributes for details on how to use this API operation. 2236// 2237// The context must be non-nil and will be used for request cancellation. If 2238// the context is nil a panic will occur. In the future the SDK may create 2239// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2240// for more information on using Contexts. 2241func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 2242 req, out := c.ListAttributesRequest(input) 2243 req.SetContext(ctx) 2244 req.ApplyOptions(opts...) 2245 return out, req.Send() 2246} 2247 2248// ListAttributesPages iterates over the pages of a ListAttributes operation, 2249// calling the "fn" function with the response data for each page. To stop 2250// iterating, return false from the fn function. 2251// 2252// See ListAttributes method for more information on how to use this operation. 2253// 2254// Note: This operation can generate multiple requests to a service. 2255// 2256// // Example iterating over at most 3 pages of a ListAttributes operation. 2257// pageNum := 0 2258// err := client.ListAttributesPages(params, 2259// func(page *ecs.ListAttributesOutput, lastPage bool) bool { 2260// pageNum++ 2261// fmt.Println(page) 2262// return pageNum <= 3 2263// }) 2264// 2265func (c *ECS) ListAttributesPages(input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool) error { 2266 return c.ListAttributesPagesWithContext(aws.BackgroundContext(), input, fn) 2267} 2268 2269// ListAttributesPagesWithContext same as ListAttributesPages except 2270// it takes a Context and allows setting request options on the pages. 2271// 2272// The context must be non-nil and will be used for request cancellation. If 2273// the context is nil a panic will occur. In the future the SDK may create 2274// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2275// for more information on using Contexts. 2276func (c *ECS) ListAttributesPagesWithContext(ctx aws.Context, input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool, opts ...request.Option) error { 2277 p := request.Pagination{ 2278 NewRequest: func() (*request.Request, error) { 2279 var inCpy *ListAttributesInput 2280 if input != nil { 2281 tmp := *input 2282 inCpy = &tmp 2283 } 2284 req, _ := c.ListAttributesRequest(inCpy) 2285 req.SetContext(ctx) 2286 req.ApplyOptions(opts...) 2287 return req, nil 2288 }, 2289 } 2290 2291 for p.Next() { 2292 if !fn(p.Page().(*ListAttributesOutput), !p.HasNextPage()) { 2293 break 2294 } 2295 } 2296 2297 return p.Err() 2298} 2299 2300const opListClusters = "ListClusters" 2301 2302// ListClustersRequest generates a "aws/request.Request" representing the 2303// client's request for the ListClusters operation. The "output" return 2304// value will be populated with the request's response once the request completes 2305// successfully. 2306// 2307// Use "Send" method on the returned Request to send the API call to the service. 2308// the "output" return value is not valid until after Send returns without error. 2309// 2310// See ListClusters for more information on using the ListClusters 2311// API call, and error handling. 2312// 2313// This method is useful when you want to inject custom logic or configuration 2314// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2315// 2316// 2317// // Example sending a request using the ListClustersRequest method. 2318// req, resp := client.ListClustersRequest(params) 2319// 2320// err := req.Send() 2321// if err == nil { // resp is now filled 2322// fmt.Println(resp) 2323// } 2324// 2325// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2326func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2327 op := &request.Operation{ 2328 Name: opListClusters, 2329 HTTPMethod: "POST", 2330 HTTPPath: "/", 2331 Paginator: &request.Paginator{ 2332 InputTokens: []string{"nextToken"}, 2333 OutputTokens: []string{"nextToken"}, 2334 LimitToken: "maxResults", 2335 TruncationToken: "", 2336 }, 2337 } 2338 2339 if input == nil { 2340 input = &ListClustersInput{} 2341 } 2342 2343 output = &ListClustersOutput{} 2344 req = c.newRequest(op, input, output) 2345 return 2346} 2347 2348// ListClusters API operation for Amazon EC2 Container Service. 2349// 2350// Returns a list of existing clusters. 2351// 2352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2353// with awserr.Error's Code and Message methods to get detailed information about 2354// the error. 2355// 2356// See the AWS API reference guide for Amazon EC2 Container Service's 2357// API operation ListClusters for usage and error information. 2358// 2359// Returned Error Types: 2360// * ServerException 2361// These errors are usually caused by a server issue. 2362// 2363// * ClientException 2364// These errors are usually caused by a client action, such as using an action 2365// or resource on behalf of a user that doesn't have permissions to use the 2366// action or resource, or specifying an identifier that is not valid. 2367// 2368// * InvalidParameterException 2369// The specified parameter is invalid. Review the available parameters for the 2370// API request. 2371// 2372// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2373func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2374 req, out := c.ListClustersRequest(input) 2375 return out, req.Send() 2376} 2377 2378// ListClustersWithContext is the same as ListClusters with the addition of 2379// the ability to pass a context and additional request options. 2380// 2381// See ListClusters for details on how to use this API operation. 2382// 2383// The context must be non-nil and will be used for request cancellation. If 2384// the context is nil a panic will occur. In the future the SDK may create 2385// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2386// for more information on using Contexts. 2387func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2388 req, out := c.ListClustersRequest(input) 2389 req.SetContext(ctx) 2390 req.ApplyOptions(opts...) 2391 return out, req.Send() 2392} 2393 2394// ListClustersPages iterates over the pages of a ListClusters operation, 2395// calling the "fn" function with the response data for each page. To stop 2396// iterating, return false from the fn function. 2397// 2398// See ListClusters method for more information on how to use this operation. 2399// 2400// Note: This operation can generate multiple requests to a service. 2401// 2402// // Example iterating over at most 3 pages of a ListClusters operation. 2403// pageNum := 0 2404// err := client.ListClustersPages(params, 2405// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2406// pageNum++ 2407// fmt.Println(page) 2408// return pageNum <= 3 2409// }) 2410// 2411func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2412 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2413} 2414 2415// ListClustersPagesWithContext same as ListClustersPages except 2416// it takes a Context and allows setting request options on the pages. 2417// 2418// The context must be non-nil and will be used for request cancellation. If 2419// the context is nil a panic will occur. In the future the SDK may create 2420// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2421// for more information on using Contexts. 2422func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2423 p := request.Pagination{ 2424 NewRequest: func() (*request.Request, error) { 2425 var inCpy *ListClustersInput 2426 if input != nil { 2427 tmp := *input 2428 inCpy = &tmp 2429 } 2430 req, _ := c.ListClustersRequest(inCpy) 2431 req.SetContext(ctx) 2432 req.ApplyOptions(opts...) 2433 return req, nil 2434 }, 2435 } 2436 2437 for p.Next() { 2438 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2439 break 2440 } 2441 } 2442 2443 return p.Err() 2444} 2445 2446const opListContainerInstances = "ListContainerInstances" 2447 2448// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2449// client's request for the ListContainerInstances operation. The "output" return 2450// value will be populated with the request's response once the request completes 2451// successfully. 2452// 2453// Use "Send" method on the returned Request to send the API call to the service. 2454// the "output" return value is not valid until after Send returns without error. 2455// 2456// See ListContainerInstances for more information on using the ListContainerInstances 2457// API call, and error handling. 2458// 2459// This method is useful when you want to inject custom logic or configuration 2460// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2461// 2462// 2463// // Example sending a request using the ListContainerInstancesRequest method. 2464// req, resp := client.ListContainerInstancesRequest(params) 2465// 2466// err := req.Send() 2467// if err == nil { // resp is now filled 2468// fmt.Println(resp) 2469// } 2470// 2471// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2472func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2473 op := &request.Operation{ 2474 Name: opListContainerInstances, 2475 HTTPMethod: "POST", 2476 HTTPPath: "/", 2477 Paginator: &request.Paginator{ 2478 InputTokens: []string{"nextToken"}, 2479 OutputTokens: []string{"nextToken"}, 2480 LimitToken: "maxResults", 2481 TruncationToken: "", 2482 }, 2483 } 2484 2485 if input == nil { 2486 input = &ListContainerInstancesInput{} 2487 } 2488 2489 output = &ListContainerInstancesOutput{} 2490 req = c.newRequest(op, input, output) 2491 return 2492} 2493 2494// ListContainerInstances API operation for Amazon EC2 Container Service. 2495// 2496// Returns a list of container instances in a specified cluster. You can filter 2497// the results of a ListContainerInstances operation with cluster query language 2498// statements inside the filter parameter. For more information, see Cluster 2499// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2500// in the Amazon Elastic Container Service Developer Guide. 2501// 2502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2503// with awserr.Error's Code and Message methods to get detailed information about 2504// the error. 2505// 2506// See the AWS API reference guide for Amazon EC2 Container Service's 2507// API operation ListContainerInstances for usage and error information. 2508// 2509// Returned Error Types: 2510// * ServerException 2511// These errors are usually caused by a server issue. 2512// 2513// * ClientException 2514// These errors are usually caused by a client action, such as using an action 2515// or resource on behalf of a user that doesn't have permissions to use the 2516// action or resource, or specifying an identifier that is not valid. 2517// 2518// * InvalidParameterException 2519// The specified parameter is invalid. Review the available parameters for the 2520// API request. 2521// 2522// * ClusterNotFoundException 2523// The specified cluster could not be found. You can view your available clusters 2524// with ListClusters. Amazon ECS clusters are Region-specific. 2525// 2526// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2527func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2528 req, out := c.ListContainerInstancesRequest(input) 2529 return out, req.Send() 2530} 2531 2532// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2533// the ability to pass a context and additional request options. 2534// 2535// See ListContainerInstances for details on how to use this API operation. 2536// 2537// The context must be non-nil and will be used for request cancellation. If 2538// the context is nil a panic will occur. In the future the SDK may create 2539// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2540// for more information on using Contexts. 2541func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2542 req, out := c.ListContainerInstancesRequest(input) 2543 req.SetContext(ctx) 2544 req.ApplyOptions(opts...) 2545 return out, req.Send() 2546} 2547 2548// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2549// calling the "fn" function with the response data for each page. To stop 2550// iterating, return false from the fn function. 2551// 2552// See ListContainerInstances method for more information on how to use this operation. 2553// 2554// Note: This operation can generate multiple requests to a service. 2555// 2556// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2557// pageNum := 0 2558// err := client.ListContainerInstancesPages(params, 2559// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2560// pageNum++ 2561// fmt.Println(page) 2562// return pageNum <= 3 2563// }) 2564// 2565func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2566 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2567} 2568 2569// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2570// it takes a Context and allows setting request options on the pages. 2571// 2572// The context must be non-nil and will be used for request cancellation. If 2573// the context is nil a panic will occur. In the future the SDK may create 2574// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2575// for more information on using Contexts. 2576func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2577 p := request.Pagination{ 2578 NewRequest: func() (*request.Request, error) { 2579 var inCpy *ListContainerInstancesInput 2580 if input != nil { 2581 tmp := *input 2582 inCpy = &tmp 2583 } 2584 req, _ := c.ListContainerInstancesRequest(inCpy) 2585 req.SetContext(ctx) 2586 req.ApplyOptions(opts...) 2587 return req, nil 2588 }, 2589 } 2590 2591 for p.Next() { 2592 if !fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) { 2593 break 2594 } 2595 } 2596 2597 return p.Err() 2598} 2599 2600const opListServices = "ListServices" 2601 2602// ListServicesRequest generates a "aws/request.Request" representing the 2603// client's request for the ListServices operation. The "output" return 2604// value will be populated with the request's response once the request completes 2605// successfully. 2606// 2607// Use "Send" method on the returned Request to send the API call to the service. 2608// the "output" return value is not valid until after Send returns without error. 2609// 2610// See ListServices for more information on using the ListServices 2611// API call, and error handling. 2612// 2613// This method is useful when you want to inject custom logic or configuration 2614// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2615// 2616// 2617// // Example sending a request using the ListServicesRequest method. 2618// req, resp := client.ListServicesRequest(params) 2619// 2620// err := req.Send() 2621// if err == nil { // resp is now filled 2622// fmt.Println(resp) 2623// } 2624// 2625// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2626func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2627 op := &request.Operation{ 2628 Name: opListServices, 2629 HTTPMethod: "POST", 2630 HTTPPath: "/", 2631 Paginator: &request.Paginator{ 2632 InputTokens: []string{"nextToken"}, 2633 OutputTokens: []string{"nextToken"}, 2634 LimitToken: "maxResults", 2635 TruncationToken: "", 2636 }, 2637 } 2638 2639 if input == nil { 2640 input = &ListServicesInput{} 2641 } 2642 2643 output = &ListServicesOutput{} 2644 req = c.newRequest(op, input, output) 2645 return 2646} 2647 2648// ListServices API operation for Amazon EC2 Container Service. 2649// 2650// Lists the services that are running in a specified cluster. 2651// 2652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2653// with awserr.Error's Code and Message methods to get detailed information about 2654// the error. 2655// 2656// See the AWS API reference guide for Amazon EC2 Container Service's 2657// API operation ListServices for usage and error information. 2658// 2659// Returned Error Types: 2660// * ServerException 2661// These errors are usually caused by a server issue. 2662// 2663// * ClientException 2664// These errors are usually caused by a client action, such as using an action 2665// or resource on behalf of a user that doesn't have permissions to use the 2666// action or resource, or specifying an identifier that is not valid. 2667// 2668// * InvalidParameterException 2669// The specified parameter is invalid. Review the available parameters for the 2670// API request. 2671// 2672// * ClusterNotFoundException 2673// The specified cluster could not be found. You can view your available clusters 2674// with ListClusters. Amazon ECS clusters are Region-specific. 2675// 2676// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2677func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2678 req, out := c.ListServicesRequest(input) 2679 return out, req.Send() 2680} 2681 2682// ListServicesWithContext is the same as ListServices with the addition of 2683// the ability to pass a context and additional request options. 2684// 2685// See ListServices for details on how to use this API operation. 2686// 2687// The context must be non-nil and will be used for request cancellation. If 2688// the context is nil a panic will occur. In the future the SDK may create 2689// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2690// for more information on using Contexts. 2691func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2692 req, out := c.ListServicesRequest(input) 2693 req.SetContext(ctx) 2694 req.ApplyOptions(opts...) 2695 return out, req.Send() 2696} 2697 2698// ListServicesPages iterates over the pages of a ListServices operation, 2699// calling the "fn" function with the response data for each page. To stop 2700// iterating, return false from the fn function. 2701// 2702// See ListServices method for more information on how to use this operation. 2703// 2704// Note: This operation can generate multiple requests to a service. 2705// 2706// // Example iterating over at most 3 pages of a ListServices operation. 2707// pageNum := 0 2708// err := client.ListServicesPages(params, 2709// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2710// pageNum++ 2711// fmt.Println(page) 2712// return pageNum <= 3 2713// }) 2714// 2715func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2716 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2717} 2718 2719// ListServicesPagesWithContext same as ListServicesPages except 2720// it takes a Context and allows setting request options on the pages. 2721// 2722// The context must be non-nil and will be used for request cancellation. If 2723// the context is nil a panic will occur. In the future the SDK may create 2724// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2725// for more information on using Contexts. 2726func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2727 p := request.Pagination{ 2728 NewRequest: func() (*request.Request, error) { 2729 var inCpy *ListServicesInput 2730 if input != nil { 2731 tmp := *input 2732 inCpy = &tmp 2733 } 2734 req, _ := c.ListServicesRequest(inCpy) 2735 req.SetContext(ctx) 2736 req.ApplyOptions(opts...) 2737 return req, nil 2738 }, 2739 } 2740 2741 for p.Next() { 2742 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 2743 break 2744 } 2745 } 2746 2747 return p.Err() 2748} 2749 2750const opListTagsForResource = "ListTagsForResource" 2751 2752// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2753// client's request for the ListTagsForResource operation. The "output" return 2754// value will be populated with the request's response once the request completes 2755// successfully. 2756// 2757// Use "Send" method on the returned Request to send the API call to the service. 2758// the "output" return value is not valid until after Send returns without error. 2759// 2760// See ListTagsForResource for more information on using the ListTagsForResource 2761// API call, and error handling. 2762// 2763// This method is useful when you want to inject custom logic or configuration 2764// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2765// 2766// 2767// // Example sending a request using the ListTagsForResourceRequest method. 2768// req, resp := client.ListTagsForResourceRequest(params) 2769// 2770// err := req.Send() 2771// if err == nil { // resp is now filled 2772// fmt.Println(resp) 2773// } 2774// 2775// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2776func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2777 op := &request.Operation{ 2778 Name: opListTagsForResource, 2779 HTTPMethod: "POST", 2780 HTTPPath: "/", 2781 } 2782 2783 if input == nil { 2784 input = &ListTagsForResourceInput{} 2785 } 2786 2787 output = &ListTagsForResourceOutput{} 2788 req = c.newRequest(op, input, output) 2789 return 2790} 2791 2792// ListTagsForResource API operation for Amazon EC2 Container Service. 2793// 2794// List the tags for an Amazon ECS resource. 2795// 2796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2797// with awserr.Error's Code and Message methods to get detailed information about 2798// the error. 2799// 2800// See the AWS API reference guide for Amazon EC2 Container Service's 2801// API operation ListTagsForResource for usage and error information. 2802// 2803// Returned Error Types: 2804// * ServerException 2805// These errors are usually caused by a server issue. 2806// 2807// * ClientException 2808// These errors are usually caused by a client action, such as using an action 2809// or resource on behalf of a user that doesn't have permissions to use the 2810// action or resource, or specifying an identifier that is not valid. 2811// 2812// * ClusterNotFoundException 2813// The specified cluster could not be found. You can view your available clusters 2814// with ListClusters. Amazon ECS clusters are Region-specific. 2815// 2816// * InvalidParameterException 2817// The specified parameter is invalid. Review the available parameters for the 2818// API request. 2819// 2820// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2821func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2822 req, out := c.ListTagsForResourceRequest(input) 2823 return out, req.Send() 2824} 2825 2826// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2827// the ability to pass a context and additional request options. 2828// 2829// See ListTagsForResource for details on how to use this API operation. 2830// 2831// The context must be non-nil and will be used for request cancellation. If 2832// the context is nil a panic will occur. In the future the SDK may create 2833// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2834// for more information on using Contexts. 2835func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2836 req, out := c.ListTagsForResourceRequest(input) 2837 req.SetContext(ctx) 2838 req.ApplyOptions(opts...) 2839 return out, req.Send() 2840} 2841 2842const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 2843 2844// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 2845// client's request for the ListTaskDefinitionFamilies operation. The "output" return 2846// value will be populated with the request's response once the request completes 2847// successfully. 2848// 2849// Use "Send" method on the returned Request to send the API call to the service. 2850// the "output" return value is not valid until after Send returns without error. 2851// 2852// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 2853// API call, and error handling. 2854// 2855// This method is useful when you want to inject custom logic or configuration 2856// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2857// 2858// 2859// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 2860// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 2861// 2862// err := req.Send() 2863// if err == nil { // resp is now filled 2864// fmt.Println(resp) 2865// } 2866// 2867// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2868func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 2869 op := &request.Operation{ 2870 Name: opListTaskDefinitionFamilies, 2871 HTTPMethod: "POST", 2872 HTTPPath: "/", 2873 Paginator: &request.Paginator{ 2874 InputTokens: []string{"nextToken"}, 2875 OutputTokens: []string{"nextToken"}, 2876 LimitToken: "maxResults", 2877 TruncationToken: "", 2878 }, 2879 } 2880 2881 if input == nil { 2882 input = &ListTaskDefinitionFamiliesInput{} 2883 } 2884 2885 output = &ListTaskDefinitionFamiliesOutput{} 2886 req = c.newRequest(op, input, output) 2887 return 2888} 2889 2890// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 2891// 2892// Returns a list of task definition families that are registered to your account 2893// (which may include task definition families that no longer have any ACTIVE 2894// task definition revisions). 2895// 2896// You can filter out task definition families that do not contain any ACTIVE 2897// task definition revisions by setting the status parameter to ACTIVE. You 2898// can also filter the results with the familyPrefix parameter. 2899// 2900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2901// with awserr.Error's Code and Message methods to get detailed information about 2902// the error. 2903// 2904// See the AWS API reference guide for Amazon EC2 Container Service's 2905// API operation ListTaskDefinitionFamilies for usage and error information. 2906// 2907// Returned Error Types: 2908// * ServerException 2909// These errors are usually caused by a server issue. 2910// 2911// * ClientException 2912// These errors are usually caused by a client action, such as using an action 2913// or resource on behalf of a user that doesn't have permissions to use the 2914// action or resource, or specifying an identifier that is not valid. 2915// 2916// * InvalidParameterException 2917// The specified parameter is invalid. Review the available parameters for the 2918// API request. 2919// 2920// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2921func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 2922 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2923 return out, req.Send() 2924} 2925 2926// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 2927// the ability to pass a context and additional request options. 2928// 2929// See ListTaskDefinitionFamilies for details on how to use this API operation. 2930// 2931// The context must be non-nil and will be used for request cancellation. If 2932// the context is nil a panic will occur. In the future the SDK may create 2933// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2934// for more information on using Contexts. 2935func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 2936 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2937 req.SetContext(ctx) 2938 req.ApplyOptions(opts...) 2939 return out, req.Send() 2940} 2941 2942// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 2943// calling the "fn" function with the response data for each page. To stop 2944// iterating, return false from the fn function. 2945// 2946// See ListTaskDefinitionFamilies method for more information on how to use this operation. 2947// 2948// Note: This operation can generate multiple requests to a service. 2949// 2950// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 2951// pageNum := 0 2952// err := client.ListTaskDefinitionFamiliesPages(params, 2953// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 2954// pageNum++ 2955// fmt.Println(page) 2956// return pageNum <= 3 2957// }) 2958// 2959func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 2960 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 2961} 2962 2963// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 2964// it takes a Context and allows setting request options on the pages. 2965// 2966// The context must be non-nil and will be used for request cancellation. If 2967// the context is nil a panic will occur. In the future the SDK may create 2968// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2969// for more information on using Contexts. 2970func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 2971 p := request.Pagination{ 2972 NewRequest: func() (*request.Request, error) { 2973 var inCpy *ListTaskDefinitionFamiliesInput 2974 if input != nil { 2975 tmp := *input 2976 inCpy = &tmp 2977 } 2978 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 2979 req.SetContext(ctx) 2980 req.ApplyOptions(opts...) 2981 return req, nil 2982 }, 2983 } 2984 2985 for p.Next() { 2986 if !fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) { 2987 break 2988 } 2989 } 2990 2991 return p.Err() 2992} 2993 2994const opListTaskDefinitions = "ListTaskDefinitions" 2995 2996// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 2997// client's request for the ListTaskDefinitions operation. The "output" return 2998// value will be populated with the request's response once the request completes 2999// successfully. 3000// 3001// Use "Send" method on the returned Request to send the API call to the service. 3002// the "output" return value is not valid until after Send returns without error. 3003// 3004// See ListTaskDefinitions for more information on using the ListTaskDefinitions 3005// API call, and error handling. 3006// 3007// This method is useful when you want to inject custom logic or configuration 3008// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3009// 3010// 3011// // Example sending a request using the ListTaskDefinitionsRequest method. 3012// req, resp := client.ListTaskDefinitionsRequest(params) 3013// 3014// err := req.Send() 3015// if err == nil { // resp is now filled 3016// fmt.Println(resp) 3017// } 3018// 3019// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3020func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 3021 op := &request.Operation{ 3022 Name: opListTaskDefinitions, 3023 HTTPMethod: "POST", 3024 HTTPPath: "/", 3025 Paginator: &request.Paginator{ 3026 InputTokens: []string{"nextToken"}, 3027 OutputTokens: []string{"nextToken"}, 3028 LimitToken: "maxResults", 3029 TruncationToken: "", 3030 }, 3031 } 3032 3033 if input == nil { 3034 input = &ListTaskDefinitionsInput{} 3035 } 3036 3037 output = &ListTaskDefinitionsOutput{} 3038 req = c.newRequest(op, input, output) 3039 return 3040} 3041 3042// ListTaskDefinitions API operation for Amazon EC2 Container Service. 3043// 3044// Returns a list of task definitions that are registered to your account. You 3045// can filter the results by family name with the familyPrefix parameter or 3046// by status with the status parameter. 3047// 3048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3049// with awserr.Error's Code and Message methods to get detailed information about 3050// the error. 3051// 3052// See the AWS API reference guide for Amazon EC2 Container Service's 3053// API operation ListTaskDefinitions for usage and error information. 3054// 3055// Returned Error Types: 3056// * ServerException 3057// These errors are usually caused by a server issue. 3058// 3059// * ClientException 3060// These errors are usually caused by a client action, such as using an action 3061// or resource on behalf of a user that doesn't have permissions to use the 3062// action or resource, or specifying an identifier that is not valid. 3063// 3064// * InvalidParameterException 3065// The specified parameter is invalid. Review the available parameters for the 3066// API request. 3067// 3068// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3069func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 3070 req, out := c.ListTaskDefinitionsRequest(input) 3071 return out, req.Send() 3072} 3073 3074// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 3075// the ability to pass a context and additional request options. 3076// 3077// See ListTaskDefinitions for details on how to use this API operation. 3078// 3079// The context must be non-nil and will be used for request cancellation. If 3080// the context is nil a panic will occur. In the future the SDK may create 3081// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3082// for more information on using Contexts. 3083func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 3084 req, out := c.ListTaskDefinitionsRequest(input) 3085 req.SetContext(ctx) 3086 req.ApplyOptions(opts...) 3087 return out, req.Send() 3088} 3089 3090// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 3091// calling the "fn" function with the response data for each page. To stop 3092// iterating, return false from the fn function. 3093// 3094// See ListTaskDefinitions method for more information on how to use this operation. 3095// 3096// Note: This operation can generate multiple requests to a service. 3097// 3098// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 3099// pageNum := 0 3100// err := client.ListTaskDefinitionsPages(params, 3101// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 3102// pageNum++ 3103// fmt.Println(page) 3104// return pageNum <= 3 3105// }) 3106// 3107func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 3108 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 3109} 3110 3111// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 3112// it takes a Context and allows setting request options on the pages. 3113// 3114// The context must be non-nil and will be used for request cancellation. If 3115// the context is nil a panic will occur. In the future the SDK may create 3116// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3117// for more information on using Contexts. 3118func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 3119 p := request.Pagination{ 3120 NewRequest: func() (*request.Request, error) { 3121 var inCpy *ListTaskDefinitionsInput 3122 if input != nil { 3123 tmp := *input 3124 inCpy = &tmp 3125 } 3126 req, _ := c.ListTaskDefinitionsRequest(inCpy) 3127 req.SetContext(ctx) 3128 req.ApplyOptions(opts...) 3129 return req, nil 3130 }, 3131 } 3132 3133 for p.Next() { 3134 if !fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) { 3135 break 3136 } 3137 } 3138 3139 return p.Err() 3140} 3141 3142const opListTasks = "ListTasks" 3143 3144// ListTasksRequest generates a "aws/request.Request" representing the 3145// client's request for the ListTasks operation. The "output" return 3146// value will be populated with the request's response once the request completes 3147// successfully. 3148// 3149// Use "Send" method on the returned Request to send the API call to the service. 3150// the "output" return value is not valid until after Send returns without error. 3151// 3152// See ListTasks for more information on using the ListTasks 3153// API call, and error handling. 3154// 3155// This method is useful when you want to inject custom logic or configuration 3156// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3157// 3158// 3159// // Example sending a request using the ListTasksRequest method. 3160// req, resp := client.ListTasksRequest(params) 3161// 3162// err := req.Send() 3163// if err == nil { // resp is now filled 3164// fmt.Println(resp) 3165// } 3166// 3167// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3168func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 3169 op := &request.Operation{ 3170 Name: opListTasks, 3171 HTTPMethod: "POST", 3172 HTTPPath: "/", 3173 Paginator: &request.Paginator{ 3174 InputTokens: []string{"nextToken"}, 3175 OutputTokens: []string{"nextToken"}, 3176 LimitToken: "maxResults", 3177 TruncationToken: "", 3178 }, 3179 } 3180 3181 if input == nil { 3182 input = &ListTasksInput{} 3183 } 3184 3185 output = &ListTasksOutput{} 3186 req = c.newRequest(op, input, output) 3187 return 3188} 3189 3190// ListTasks API operation for Amazon EC2 Container Service. 3191// 3192// Returns a list of tasks for a specified cluster. You can filter the results 3193// by family name, by a particular container instance, or by the desired status 3194// of the task with the family, containerInstance, and desiredStatus parameters. 3195// 3196// Recently stopped tasks might appear in the returned results. Currently, stopped 3197// tasks appear in the returned results for at least one hour. 3198// 3199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3200// with awserr.Error's Code and Message methods to get detailed information about 3201// the error. 3202// 3203// See the AWS API reference guide for Amazon EC2 Container Service's 3204// API operation ListTasks for usage and error information. 3205// 3206// Returned Error Types: 3207// * ServerException 3208// These errors are usually caused by a server issue. 3209// 3210// * ClientException 3211// These errors are usually caused by a client action, such as using an action 3212// or resource on behalf of a user that doesn't have permissions to use the 3213// action or resource, or specifying an identifier that is not valid. 3214// 3215// * InvalidParameterException 3216// The specified parameter is invalid. Review the available parameters for the 3217// API request. 3218// 3219// * ClusterNotFoundException 3220// The specified cluster could not be found. You can view your available clusters 3221// with ListClusters. Amazon ECS clusters are Region-specific. 3222// 3223// * ServiceNotFoundException 3224// The specified service could not be found. You can view your available services 3225// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 3226// 3227// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3228func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 3229 req, out := c.ListTasksRequest(input) 3230 return out, req.Send() 3231} 3232 3233// ListTasksWithContext is the same as ListTasks with the addition of 3234// the ability to pass a context and additional request options. 3235// 3236// See ListTasks for details on how to use this API operation. 3237// 3238// The context must be non-nil and will be used for request cancellation. If 3239// the context is nil a panic will occur. In the future the SDK may create 3240// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3241// for more information on using Contexts. 3242func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 3243 req, out := c.ListTasksRequest(input) 3244 req.SetContext(ctx) 3245 req.ApplyOptions(opts...) 3246 return out, req.Send() 3247} 3248 3249// ListTasksPages iterates over the pages of a ListTasks operation, 3250// calling the "fn" function with the response data for each page. To stop 3251// iterating, return false from the fn function. 3252// 3253// See ListTasks method for more information on how to use this operation. 3254// 3255// Note: This operation can generate multiple requests to a service. 3256// 3257// // Example iterating over at most 3 pages of a ListTasks operation. 3258// pageNum := 0 3259// err := client.ListTasksPages(params, 3260// func(page *ecs.ListTasksOutput, lastPage bool) bool { 3261// pageNum++ 3262// fmt.Println(page) 3263// return pageNum <= 3 3264// }) 3265// 3266func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 3267 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 3268} 3269 3270// ListTasksPagesWithContext same as ListTasksPages except 3271// it takes a Context and allows setting request options on the pages. 3272// 3273// The context must be non-nil and will be used for request cancellation. If 3274// the context is nil a panic will occur. In the future the SDK may create 3275// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3276// for more information on using Contexts. 3277func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 3278 p := request.Pagination{ 3279 NewRequest: func() (*request.Request, error) { 3280 var inCpy *ListTasksInput 3281 if input != nil { 3282 tmp := *input 3283 inCpy = &tmp 3284 } 3285 req, _ := c.ListTasksRequest(inCpy) 3286 req.SetContext(ctx) 3287 req.ApplyOptions(opts...) 3288 return req, nil 3289 }, 3290 } 3291 3292 for p.Next() { 3293 if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { 3294 break 3295 } 3296 } 3297 3298 return p.Err() 3299} 3300 3301const opPutAccountSetting = "PutAccountSetting" 3302 3303// PutAccountSettingRequest generates a "aws/request.Request" representing the 3304// client's request for the PutAccountSetting operation. The "output" return 3305// value will be populated with the request's response once the request completes 3306// successfully. 3307// 3308// Use "Send" method on the returned Request to send the API call to the service. 3309// the "output" return value is not valid until after Send returns without error. 3310// 3311// See PutAccountSetting for more information on using the PutAccountSetting 3312// API call, and error handling. 3313// 3314// This method is useful when you want to inject custom logic or configuration 3315// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3316// 3317// 3318// // Example sending a request using the PutAccountSettingRequest method. 3319// req, resp := client.PutAccountSettingRequest(params) 3320// 3321// err := req.Send() 3322// if err == nil { // resp is now filled 3323// fmt.Println(resp) 3324// } 3325// 3326// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3327func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3328 op := &request.Operation{ 3329 Name: opPutAccountSetting, 3330 HTTPMethod: "POST", 3331 HTTPPath: "/", 3332 } 3333 3334 if input == nil { 3335 input = &PutAccountSettingInput{} 3336 } 3337 3338 output = &PutAccountSettingOutput{} 3339 req = c.newRequest(op, input, output) 3340 return 3341} 3342 3343// PutAccountSetting API operation for Amazon EC2 Container Service. 3344// 3345// Modifies an account setting. Account settings are set on a per-Region basis. 3346// 3347// If you change the account setting for the root user, the default settings 3348// for all of the IAM users and roles for which no individual account setting 3349// has been specified are reset. For more information, see Account Settings 3350// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3351// in the Amazon Elastic Container Service Developer Guide. 3352// 3353// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3354// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3355// resource type for a specified IAM user, IAM role, or the root user for an 3356// account is affected. The opt-in and opt-out account setting must be set for 3357// each Amazon ECS resource separately. The ARN and resource ID format of a 3358// resource will be defined by the opt-in status of the IAM user or role that 3359// created the resource. You must enable this setting to use Amazon ECS features 3360// such as resource tagging. 3361// 3362// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3363// for any new container instances that support the feature is changed. If awsvpcTrunking 3364// is enabled, any new container instances that support the feature are launched 3365// have the increased ENI limits available to them. For more information, see 3366// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3367// in the Amazon Elastic Container Service Developer Guide. 3368// 3369// When containerInsights is specified, the default setting indicating whether 3370// CloudWatch Container Insights is enabled for your clusters is changed. If 3371// containerInsights is enabled, any new clusters that are created will have 3372// Container Insights enabled unless you disable it during cluster creation. 3373// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3374// in the Amazon Elastic Container Service Developer Guide. 3375// 3376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3377// with awserr.Error's Code and Message methods to get detailed information about 3378// the error. 3379// 3380// See the AWS API reference guide for Amazon EC2 Container Service's 3381// API operation PutAccountSetting for usage and error information. 3382// 3383// Returned Error Types: 3384// * ServerException 3385// These errors are usually caused by a server issue. 3386// 3387// * ClientException 3388// These errors are usually caused by a client action, such as using an action 3389// or resource on behalf of a user that doesn't have permissions to use the 3390// action or resource, or specifying an identifier that is not valid. 3391// 3392// * InvalidParameterException 3393// The specified parameter is invalid. Review the available parameters for the 3394// API request. 3395// 3396// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3397func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3398 req, out := c.PutAccountSettingRequest(input) 3399 return out, req.Send() 3400} 3401 3402// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3403// the ability to pass a context and additional request options. 3404// 3405// See PutAccountSetting for details on how to use this API operation. 3406// 3407// The context must be non-nil and will be used for request cancellation. If 3408// the context is nil a panic will occur. In the future the SDK may create 3409// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3410// for more information on using Contexts. 3411func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3412 req, out := c.PutAccountSettingRequest(input) 3413 req.SetContext(ctx) 3414 req.ApplyOptions(opts...) 3415 return out, req.Send() 3416} 3417 3418const opPutAccountSettingDefault = "PutAccountSettingDefault" 3419 3420// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3421// client's request for the PutAccountSettingDefault operation. The "output" return 3422// value will be populated with the request's response once the request completes 3423// successfully. 3424// 3425// Use "Send" method on the returned Request to send the API call to the service. 3426// the "output" return value is not valid until after Send returns without error. 3427// 3428// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3429// API call, and error handling. 3430// 3431// This method is useful when you want to inject custom logic or configuration 3432// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3433// 3434// 3435// // Example sending a request using the PutAccountSettingDefaultRequest method. 3436// req, resp := client.PutAccountSettingDefaultRequest(params) 3437// 3438// err := req.Send() 3439// if err == nil { // resp is now filled 3440// fmt.Println(resp) 3441// } 3442// 3443// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3444func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3445 op := &request.Operation{ 3446 Name: opPutAccountSettingDefault, 3447 HTTPMethod: "POST", 3448 HTTPPath: "/", 3449 } 3450 3451 if input == nil { 3452 input = &PutAccountSettingDefaultInput{} 3453 } 3454 3455 output = &PutAccountSettingDefaultOutput{} 3456 req = c.newRequest(op, input, output) 3457 return 3458} 3459 3460// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3461// 3462// Modifies an account setting for all IAM users on an account for whom no individual 3463// account setting has been specified. Account settings are set on a per-Region 3464// basis. 3465// 3466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3467// with awserr.Error's Code and Message methods to get detailed information about 3468// the error. 3469// 3470// See the AWS API reference guide for Amazon EC2 Container Service's 3471// API operation PutAccountSettingDefault for usage and error information. 3472// 3473// Returned Error Types: 3474// * ServerException 3475// These errors are usually caused by a server issue. 3476// 3477// * ClientException 3478// These errors are usually caused by a client action, such as using an action 3479// or resource on behalf of a user that doesn't have permissions to use the 3480// action or resource, or specifying an identifier that is not valid. 3481// 3482// * InvalidParameterException 3483// The specified parameter is invalid. Review the available parameters for the 3484// API request. 3485// 3486// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3487func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3488 req, out := c.PutAccountSettingDefaultRequest(input) 3489 return out, req.Send() 3490} 3491 3492// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3493// the ability to pass a context and additional request options. 3494// 3495// See PutAccountSettingDefault for details on how to use this API operation. 3496// 3497// The context must be non-nil and will be used for request cancellation. If 3498// the context is nil a panic will occur. In the future the SDK may create 3499// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3500// for more information on using Contexts. 3501func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3502 req, out := c.PutAccountSettingDefaultRequest(input) 3503 req.SetContext(ctx) 3504 req.ApplyOptions(opts...) 3505 return out, req.Send() 3506} 3507 3508const opPutAttributes = "PutAttributes" 3509 3510// PutAttributesRequest generates a "aws/request.Request" representing the 3511// client's request for the PutAttributes operation. The "output" return 3512// value will be populated with the request's response once the request completes 3513// successfully. 3514// 3515// Use "Send" method on the returned Request to send the API call to the service. 3516// the "output" return value is not valid until after Send returns without error. 3517// 3518// See PutAttributes for more information on using the PutAttributes 3519// API call, and error handling. 3520// 3521// This method is useful when you want to inject custom logic or configuration 3522// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3523// 3524// 3525// // Example sending a request using the PutAttributesRequest method. 3526// req, resp := client.PutAttributesRequest(params) 3527// 3528// err := req.Send() 3529// if err == nil { // resp is now filled 3530// fmt.Println(resp) 3531// } 3532// 3533// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3534func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3535 op := &request.Operation{ 3536 Name: opPutAttributes, 3537 HTTPMethod: "POST", 3538 HTTPPath: "/", 3539 } 3540 3541 if input == nil { 3542 input = &PutAttributesInput{} 3543 } 3544 3545 output = &PutAttributesOutput{} 3546 req = c.newRequest(op, input, output) 3547 return 3548} 3549 3550// PutAttributes API operation for Amazon EC2 Container Service. 3551// 3552// Create or update an attribute on an Amazon ECS resource. If the attribute 3553// does not exist, it is created. If the attribute exists, its value is replaced 3554// with the specified value. To delete an attribute, use DeleteAttributes. For 3555// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3556// in the Amazon Elastic Container Service Developer Guide. 3557// 3558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3559// with awserr.Error's Code and Message methods to get detailed information about 3560// the error. 3561// 3562// See the AWS API reference guide for Amazon EC2 Container Service's 3563// API operation PutAttributes for usage and error information. 3564// 3565// Returned Error Types: 3566// * ClusterNotFoundException 3567// The specified cluster could not be found. You can view your available clusters 3568// with ListClusters. Amazon ECS clusters are Region-specific. 3569// 3570// * TargetNotFoundException 3571// The specified target could not be found. You can view your available container 3572// instances with ListContainerInstances. Amazon ECS container instances are 3573// cluster-specific and Region-specific. 3574// 3575// * AttributeLimitExceededException 3576// You can apply up to 10 custom attributes per resource. You can view the attributes 3577// of a resource with ListAttributes. You can remove existing attributes on 3578// a resource with DeleteAttributes. 3579// 3580// * InvalidParameterException 3581// The specified parameter is invalid. Review the available parameters for the 3582// API request. 3583// 3584// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3585func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3586 req, out := c.PutAttributesRequest(input) 3587 return out, req.Send() 3588} 3589 3590// PutAttributesWithContext is the same as PutAttributes with the addition of 3591// the ability to pass a context and additional request options. 3592// 3593// See PutAttributes for details on how to use this API operation. 3594// 3595// The context must be non-nil and will be used for request cancellation. If 3596// the context is nil a panic will occur. In the future the SDK may create 3597// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3598// for more information on using Contexts. 3599func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3600 req, out := c.PutAttributesRequest(input) 3601 req.SetContext(ctx) 3602 req.ApplyOptions(opts...) 3603 return out, req.Send() 3604} 3605 3606const opPutClusterCapacityProviders = "PutClusterCapacityProviders" 3607 3608// PutClusterCapacityProvidersRequest generates a "aws/request.Request" representing the 3609// client's request for the PutClusterCapacityProviders operation. The "output" return 3610// value will be populated with the request's response once the request completes 3611// successfully. 3612// 3613// Use "Send" method on the returned Request to send the API call to the service. 3614// the "output" return value is not valid until after Send returns without error. 3615// 3616// See PutClusterCapacityProviders for more information on using the PutClusterCapacityProviders 3617// API call, and error handling. 3618// 3619// This method is useful when you want to inject custom logic or configuration 3620// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3621// 3622// 3623// // Example sending a request using the PutClusterCapacityProvidersRequest method. 3624// req, resp := client.PutClusterCapacityProvidersRequest(params) 3625// 3626// err := req.Send() 3627// if err == nil { // resp is now filled 3628// fmt.Println(resp) 3629// } 3630// 3631// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3632func (c *ECS) PutClusterCapacityProvidersRequest(input *PutClusterCapacityProvidersInput) (req *request.Request, output *PutClusterCapacityProvidersOutput) { 3633 op := &request.Operation{ 3634 Name: opPutClusterCapacityProviders, 3635 HTTPMethod: "POST", 3636 HTTPPath: "/", 3637 } 3638 3639 if input == nil { 3640 input = &PutClusterCapacityProvidersInput{} 3641 } 3642 3643 output = &PutClusterCapacityProvidersOutput{} 3644 req = c.newRequest(op, input, output) 3645 return 3646} 3647 3648// PutClusterCapacityProviders API operation for Amazon EC2 Container Service. 3649// 3650// Modifies the available capacity providers and the default capacity provider 3651// strategy for a cluster. 3652// 3653// You must specify both the available capacity providers and a default capacity 3654// provider strategy for the cluster. If the specified cluster has existing 3655// capacity providers associated with it, you must specify all existing capacity 3656// providers in addition to any new ones you want to add. Any existing capacity 3657// providers associated with a cluster that are omitted from a PutClusterCapacityProviders 3658// API call will be disassociated with the cluster. You can only disassociate 3659// an existing capacity provider from a cluster if it's not being used by any 3660// existing tasks. 3661// 3662// When creating a service or running a task on a cluster, if no capacity provider 3663// or launch type is specified, then the cluster's default capacity provider 3664// strategy is used. It is recommended to define a default capacity provider 3665// strategy for your cluster, however you may specify an empty array ([]) to 3666// bypass defining a default strategy. 3667// 3668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3669// with awserr.Error's Code and Message methods to get detailed information about 3670// the error. 3671// 3672// See the AWS API reference guide for Amazon EC2 Container Service's 3673// API operation PutClusterCapacityProviders for usage and error information. 3674// 3675// Returned Error Types: 3676// * ServerException 3677// These errors are usually caused by a server issue. 3678// 3679// * ClientException 3680// These errors are usually caused by a client action, such as using an action 3681// or resource on behalf of a user that doesn't have permissions to use the 3682// action or resource, or specifying an identifier that is not valid. 3683// 3684// * InvalidParameterException 3685// The specified parameter is invalid. Review the available parameters for the 3686// API request. 3687// 3688// * ClusterNotFoundException 3689// The specified cluster could not be found. You can view your available clusters 3690// with ListClusters. Amazon ECS clusters are Region-specific. 3691// 3692// * ResourceInUseException 3693// The specified resource is in-use and cannot be removed. 3694// 3695// * UpdateInProgressException 3696// There is already a current Amazon ECS container agent update in progress 3697// on the specified container instance. If the container agent becomes disconnected 3698// while it is in a transitional stage, such as PENDING or STAGING, the update 3699// process can get stuck in that state. However, when the agent reconnects, 3700// it resumes where it stopped previously. 3701// 3702// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3703func (c *ECS) PutClusterCapacityProviders(input *PutClusterCapacityProvidersInput) (*PutClusterCapacityProvidersOutput, error) { 3704 req, out := c.PutClusterCapacityProvidersRequest(input) 3705 return out, req.Send() 3706} 3707 3708// PutClusterCapacityProvidersWithContext is the same as PutClusterCapacityProviders with the addition of 3709// the ability to pass a context and additional request options. 3710// 3711// See PutClusterCapacityProviders for details on how to use this API operation. 3712// 3713// The context must be non-nil and will be used for request cancellation. If 3714// the context is nil a panic will occur. In the future the SDK may create 3715// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3716// for more information on using Contexts. 3717func (c *ECS) PutClusterCapacityProvidersWithContext(ctx aws.Context, input *PutClusterCapacityProvidersInput, opts ...request.Option) (*PutClusterCapacityProvidersOutput, error) { 3718 req, out := c.PutClusterCapacityProvidersRequest(input) 3719 req.SetContext(ctx) 3720 req.ApplyOptions(opts...) 3721 return out, req.Send() 3722} 3723 3724const opRegisterContainerInstance = "RegisterContainerInstance" 3725 3726// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3727// client's request for the RegisterContainerInstance operation. The "output" return 3728// value will be populated with the request's response once the request completes 3729// successfully. 3730// 3731// Use "Send" method on the returned Request to send the API call to the service. 3732// the "output" return value is not valid until after Send returns without error. 3733// 3734// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3735// API call, and error handling. 3736// 3737// This method is useful when you want to inject custom logic or configuration 3738// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3739// 3740// 3741// // Example sending a request using the RegisterContainerInstanceRequest method. 3742// req, resp := client.RegisterContainerInstanceRequest(params) 3743// 3744// err := req.Send() 3745// if err == nil { // resp is now filled 3746// fmt.Println(resp) 3747// } 3748// 3749// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3750func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3751 op := &request.Operation{ 3752 Name: opRegisterContainerInstance, 3753 HTTPMethod: "POST", 3754 HTTPPath: "/", 3755 } 3756 3757 if input == nil { 3758 input = &RegisterContainerInstanceInput{} 3759 } 3760 3761 output = &RegisterContainerInstanceOutput{} 3762 req = c.newRequest(op, input, output) 3763 return 3764} 3765 3766// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3767// 3768// 3769// This action is only used by the Amazon ECS agent, and it is not intended 3770// for use outside of the agent. 3771// 3772// Registers an EC2 instance into the specified cluster. This instance becomes 3773// available to place containers on. 3774// 3775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3776// with awserr.Error's Code and Message methods to get detailed information about 3777// the error. 3778// 3779// See the AWS API reference guide for Amazon EC2 Container Service's 3780// API operation RegisterContainerInstance for usage and error information. 3781// 3782// Returned Error Types: 3783// * ServerException 3784// These errors are usually caused by a server issue. 3785// 3786// * ClientException 3787// These errors are usually caused by a client action, such as using an action 3788// or resource on behalf of a user that doesn't have permissions to use the 3789// action or resource, or specifying an identifier that is not valid. 3790// 3791// * InvalidParameterException 3792// The specified parameter is invalid. Review the available parameters for the 3793// API request. 3794// 3795// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3796func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 3797 req, out := c.RegisterContainerInstanceRequest(input) 3798 return out, req.Send() 3799} 3800 3801// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 3802// the ability to pass a context and additional request options. 3803// 3804// See RegisterContainerInstance for details on how to use this API operation. 3805// 3806// The context must be non-nil and will be used for request cancellation. If 3807// the context is nil a panic will occur. In the future the SDK may create 3808// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3809// for more information on using Contexts. 3810func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 3811 req, out := c.RegisterContainerInstanceRequest(input) 3812 req.SetContext(ctx) 3813 req.ApplyOptions(opts...) 3814 return out, req.Send() 3815} 3816 3817const opRegisterTaskDefinition = "RegisterTaskDefinition" 3818 3819// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 3820// client's request for the RegisterTaskDefinition operation. The "output" return 3821// value will be populated with the request's response once the request completes 3822// successfully. 3823// 3824// Use "Send" method on the returned Request to send the API call to the service. 3825// the "output" return value is not valid until after Send returns without error. 3826// 3827// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 3828// API call, and error handling. 3829// 3830// This method is useful when you want to inject custom logic or configuration 3831// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3832// 3833// 3834// // Example sending a request using the RegisterTaskDefinitionRequest method. 3835// req, resp := client.RegisterTaskDefinitionRequest(params) 3836// 3837// err := req.Send() 3838// if err == nil { // resp is now filled 3839// fmt.Println(resp) 3840// } 3841// 3842// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3843func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 3844 op := &request.Operation{ 3845 Name: opRegisterTaskDefinition, 3846 HTTPMethod: "POST", 3847 HTTPPath: "/", 3848 } 3849 3850 if input == nil { 3851 input = &RegisterTaskDefinitionInput{} 3852 } 3853 3854 output = &RegisterTaskDefinitionOutput{} 3855 req = c.newRequest(op, input, output) 3856 return 3857} 3858 3859// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 3860// 3861// Registers a new task definition from the supplied family and containerDefinitions. 3862// Optionally, you can add data volumes to your containers with the volumes 3863// parameter. For more information about task definition parameters and defaults, 3864// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 3865// in the Amazon Elastic Container Service Developer Guide. 3866// 3867// You can specify an IAM role for your task with the taskRoleArn parameter. 3868// When you specify an IAM role for a task, its containers can then use the 3869// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 3870// that are specified in the IAM policy associated with the role. For more information, 3871// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3872// in the Amazon Elastic Container Service Developer Guide. 3873// 3874// You can specify a Docker networking mode for the containers in your task 3875// definition with the networkMode parameter. The available network modes correspond 3876// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 3877// in the Docker run reference. If you specify the awsvpc network mode, the 3878// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 3879// when you create a service or run a task with the task definition. For more 3880// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 3881// in the Amazon Elastic Container Service Developer Guide. 3882// 3883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3884// with awserr.Error's Code and Message methods to get detailed information about 3885// the error. 3886// 3887// See the AWS API reference guide for Amazon EC2 Container Service's 3888// API operation RegisterTaskDefinition for usage and error information. 3889// 3890// Returned Error Types: 3891// * ServerException 3892// These errors are usually caused by a server issue. 3893// 3894// * ClientException 3895// These errors are usually caused by a client action, such as using an action 3896// or resource on behalf of a user that doesn't have permissions to use the 3897// action or resource, or specifying an identifier that is not valid. 3898// 3899// * InvalidParameterException 3900// The specified parameter is invalid. Review the available parameters for the 3901// API request. 3902// 3903// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3904func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 3905 req, out := c.RegisterTaskDefinitionRequest(input) 3906 return out, req.Send() 3907} 3908 3909// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 3910// the ability to pass a context and additional request options. 3911// 3912// See RegisterTaskDefinition for details on how to use this API operation. 3913// 3914// The context must be non-nil and will be used for request cancellation. If 3915// the context is nil a panic will occur. In the future the SDK may create 3916// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3917// for more information on using Contexts. 3918func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 3919 req, out := c.RegisterTaskDefinitionRequest(input) 3920 req.SetContext(ctx) 3921 req.ApplyOptions(opts...) 3922 return out, req.Send() 3923} 3924 3925const opRunTask = "RunTask" 3926 3927// RunTaskRequest generates a "aws/request.Request" representing the 3928// client's request for the RunTask operation. The "output" return 3929// value will be populated with the request's response once the request completes 3930// successfully. 3931// 3932// Use "Send" method on the returned Request to send the API call to the service. 3933// the "output" return value is not valid until after Send returns without error. 3934// 3935// See RunTask for more information on using the RunTask 3936// API call, and error handling. 3937// 3938// This method is useful when you want to inject custom logic or configuration 3939// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3940// 3941// 3942// // Example sending a request using the RunTaskRequest method. 3943// req, resp := client.RunTaskRequest(params) 3944// 3945// err := req.Send() 3946// if err == nil { // resp is now filled 3947// fmt.Println(resp) 3948// } 3949// 3950// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3951func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 3952 op := &request.Operation{ 3953 Name: opRunTask, 3954 HTTPMethod: "POST", 3955 HTTPPath: "/", 3956 } 3957 3958 if input == nil { 3959 input = &RunTaskInput{} 3960 } 3961 3962 output = &RunTaskOutput{} 3963 req = c.newRequest(op, input, output) 3964 return 3965} 3966 3967// RunTask API operation for Amazon EC2 Container Service. 3968// 3969// Starts a new task using the specified task definition. 3970// 3971// You can allow Amazon ECS to place tasks for you, or you can customize how 3972// Amazon ECS places tasks using placement constraints and placement strategies. 3973// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 3974// in the Amazon Elastic Container Service Developer Guide. 3975// 3976// Alternatively, you can use StartTask to use your own scheduler or place tasks 3977// manually on specific container instances. 3978// 3979// The Amazon ECS API follows an eventual consistency model, due to the distributed 3980// nature of the system supporting the API. This means that the result of an 3981// API command you run that affects your Amazon ECS resources might not be immediately 3982// visible to all subsequent commands you run. Keep this in mind when you carry 3983// out an API command that immediately follows a previous API command. 3984// 3985// To manage eventual consistency, you can do the following: 3986// 3987// * Confirm the state of the resource before you run a command to modify 3988// it. Run the DescribeTasks command using an exponential backoff algorithm 3989// to ensure that you allow enough time for the previous command to propagate 3990// through the system. To do this, run the DescribeTasks command repeatedly, 3991// starting with a couple of seconds of wait time and increasing gradually 3992// up to five minutes of wait time. 3993// 3994// * Add wait time between subsequent commands, even if the DescribeTasks 3995// command returns an accurate response. Apply an exponential backoff algorithm 3996// starting with a couple of seconds of wait time, and increase gradually 3997// up to about five minutes of wait time. 3998// 3999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4000// with awserr.Error's Code and Message methods to get detailed information about 4001// the error. 4002// 4003// See the AWS API reference guide for Amazon EC2 Container Service's 4004// API operation RunTask for usage and error information. 4005// 4006// Returned Error Types: 4007// * ServerException 4008// These errors are usually caused by a server issue. 4009// 4010// * ClientException 4011// These errors are usually caused by a client action, such as using an action 4012// or resource on behalf of a user that doesn't have permissions to use the 4013// action or resource, or specifying an identifier that is not valid. 4014// 4015// * InvalidParameterException 4016// The specified parameter is invalid. Review the available parameters for the 4017// API request. 4018// 4019// * ClusterNotFoundException 4020// The specified cluster could not be found. You can view your available clusters 4021// with ListClusters. Amazon ECS clusters are Region-specific. 4022// 4023// * UnsupportedFeatureException 4024// The specified task is not supported in this Region. 4025// 4026// * PlatformUnknownException 4027// The specified platform version does not exist. 4028// 4029// * PlatformTaskDefinitionIncompatibilityException 4030// The specified platform version does not satisfy the task definition's required 4031// capabilities. 4032// 4033// * AccessDeniedException 4034// You do not have authorization to perform the requested action. 4035// 4036// * BlockedException 4037// Your AWS account has been blocked. For more information, contact AWS Support 4038// (http://aws.amazon.com/contact-us/). 4039// 4040// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4041func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 4042 req, out := c.RunTaskRequest(input) 4043 return out, req.Send() 4044} 4045 4046// RunTaskWithContext is the same as RunTask with the addition of 4047// the ability to pass a context and additional request options. 4048// 4049// See RunTask for details on how to use this API operation. 4050// 4051// The context must be non-nil and will be used for request cancellation. If 4052// the context is nil a panic will occur. In the future the SDK may create 4053// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4054// for more information on using Contexts. 4055func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 4056 req, out := c.RunTaskRequest(input) 4057 req.SetContext(ctx) 4058 req.ApplyOptions(opts...) 4059 return out, req.Send() 4060} 4061 4062const opStartTask = "StartTask" 4063 4064// StartTaskRequest generates a "aws/request.Request" representing the 4065// client's request for the StartTask operation. The "output" return 4066// value will be populated with the request's response once the request completes 4067// successfully. 4068// 4069// Use "Send" method on the returned Request to send the API call to the service. 4070// the "output" return value is not valid until after Send returns without error. 4071// 4072// See StartTask for more information on using the StartTask 4073// API call, and error handling. 4074// 4075// This method is useful when you want to inject custom logic or configuration 4076// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4077// 4078// 4079// // Example sending a request using the StartTaskRequest method. 4080// req, resp := client.StartTaskRequest(params) 4081// 4082// err := req.Send() 4083// if err == nil { // resp is now filled 4084// fmt.Println(resp) 4085// } 4086// 4087// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4088func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 4089 op := &request.Operation{ 4090 Name: opStartTask, 4091 HTTPMethod: "POST", 4092 HTTPPath: "/", 4093 } 4094 4095 if input == nil { 4096 input = &StartTaskInput{} 4097 } 4098 4099 output = &StartTaskOutput{} 4100 req = c.newRequest(op, input, output) 4101 return 4102} 4103 4104// StartTask API operation for Amazon EC2 Container Service. 4105// 4106// Starts a new task from the specified task definition on the specified container 4107// instance or instances. 4108// 4109// Alternatively, you can use RunTask to place tasks for you. For more information, 4110// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4111// in the Amazon Elastic Container Service Developer Guide. 4112// 4113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4114// with awserr.Error's Code and Message methods to get detailed information about 4115// the error. 4116// 4117// See the AWS API reference guide for Amazon EC2 Container Service's 4118// API operation StartTask for usage and error information. 4119// 4120// Returned Error Types: 4121// * ServerException 4122// These errors are usually caused by a server issue. 4123// 4124// * ClientException 4125// These errors are usually caused by a client action, such as using an action 4126// or resource on behalf of a user that doesn't have permissions to use the 4127// action or resource, or specifying an identifier that is not valid. 4128// 4129// * InvalidParameterException 4130// The specified parameter is invalid. Review the available parameters for the 4131// API request. 4132// 4133// * ClusterNotFoundException 4134// The specified cluster could not be found. You can view your available clusters 4135// with ListClusters. Amazon ECS clusters are Region-specific. 4136// 4137// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4138func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 4139 req, out := c.StartTaskRequest(input) 4140 return out, req.Send() 4141} 4142 4143// StartTaskWithContext is the same as StartTask with the addition of 4144// the ability to pass a context and additional request options. 4145// 4146// See StartTask for details on how to use this API operation. 4147// 4148// The context must be non-nil and will be used for request cancellation. If 4149// the context is nil a panic will occur. In the future the SDK may create 4150// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4151// for more information on using Contexts. 4152func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 4153 req, out := c.StartTaskRequest(input) 4154 req.SetContext(ctx) 4155 req.ApplyOptions(opts...) 4156 return out, req.Send() 4157} 4158 4159const opStopTask = "StopTask" 4160 4161// StopTaskRequest generates a "aws/request.Request" representing the 4162// client's request for the StopTask operation. The "output" return 4163// value will be populated with the request's response once the request completes 4164// successfully. 4165// 4166// Use "Send" method on the returned Request to send the API call to the service. 4167// the "output" return value is not valid until after Send returns without error. 4168// 4169// See StopTask for more information on using the StopTask 4170// API call, and error handling. 4171// 4172// This method is useful when you want to inject custom logic or configuration 4173// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4174// 4175// 4176// // Example sending a request using the StopTaskRequest method. 4177// req, resp := client.StopTaskRequest(params) 4178// 4179// err := req.Send() 4180// if err == nil { // resp is now filled 4181// fmt.Println(resp) 4182// } 4183// 4184// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4185func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 4186 op := &request.Operation{ 4187 Name: opStopTask, 4188 HTTPMethod: "POST", 4189 HTTPPath: "/", 4190 } 4191 4192 if input == nil { 4193 input = &StopTaskInput{} 4194 } 4195 4196 output = &StopTaskOutput{} 4197 req = c.newRequest(op, input, output) 4198 return 4199} 4200 4201// StopTask API operation for Amazon EC2 Container Service. 4202// 4203// Stops a running task. Any tags associated with the task will be deleted. 4204// 4205// When StopTask is called on a task, the equivalent of docker stop is issued 4206// to the containers running in the task. This results in a SIGTERM value and 4207// a default 30-second timeout, after which the SIGKILL value is sent and the 4208// containers are forcibly stopped. If the container handles the SIGTERM value 4209// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 4210// is sent. 4211// 4212// The default 30-second timeout can be configured on the Amazon ECS container 4213// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 4214// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4215// in the Amazon Elastic Container Service Developer Guide. 4216// 4217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4218// with awserr.Error's Code and Message methods to get detailed information about 4219// the error. 4220// 4221// See the AWS API reference guide for Amazon EC2 Container Service's 4222// API operation StopTask for usage and error information. 4223// 4224// Returned Error Types: 4225// * ServerException 4226// These errors are usually caused by a server issue. 4227// 4228// * ClientException 4229// These errors are usually caused by a client action, such as using an action 4230// or resource on behalf of a user that doesn't have permissions to use the 4231// action or resource, or specifying an identifier that is not valid. 4232// 4233// * InvalidParameterException 4234// The specified parameter is invalid. Review the available parameters for the 4235// API request. 4236// 4237// * ClusterNotFoundException 4238// The specified cluster could not be found. You can view your available clusters 4239// with ListClusters. Amazon ECS clusters are Region-specific. 4240// 4241// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4242func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 4243 req, out := c.StopTaskRequest(input) 4244 return out, req.Send() 4245} 4246 4247// StopTaskWithContext is the same as StopTask with the addition of 4248// the ability to pass a context and additional request options. 4249// 4250// See StopTask for details on how to use this API operation. 4251// 4252// The context must be non-nil and will be used for request cancellation. If 4253// the context is nil a panic will occur. In the future the SDK may create 4254// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4255// for more information on using Contexts. 4256func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 4257 req, out := c.StopTaskRequest(input) 4258 req.SetContext(ctx) 4259 req.ApplyOptions(opts...) 4260 return out, req.Send() 4261} 4262 4263const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 4264 4265// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 4266// client's request for the SubmitAttachmentStateChanges operation. The "output" return 4267// value will be populated with the request's response once the request completes 4268// successfully. 4269// 4270// Use "Send" method on the returned Request to send the API call to the service. 4271// the "output" return value is not valid until after Send returns without error. 4272// 4273// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 4274// API call, and error handling. 4275// 4276// This method is useful when you want to inject custom logic or configuration 4277// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4278// 4279// 4280// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 4281// req, resp := client.SubmitAttachmentStateChangesRequest(params) 4282// 4283// err := req.Send() 4284// if err == nil { // resp is now filled 4285// fmt.Println(resp) 4286// } 4287// 4288// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4289func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 4290 op := &request.Operation{ 4291 Name: opSubmitAttachmentStateChanges, 4292 HTTPMethod: "POST", 4293 HTTPPath: "/", 4294 } 4295 4296 if input == nil { 4297 input = &SubmitAttachmentStateChangesInput{} 4298 } 4299 4300 output = &SubmitAttachmentStateChangesOutput{} 4301 req = c.newRequest(op, input, output) 4302 return 4303} 4304 4305// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 4306// 4307// 4308// This action is only used by the Amazon ECS agent, and it is not intended 4309// for use outside of the agent. 4310// 4311// Sent to acknowledge that an attachment changed states. 4312// 4313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4314// with awserr.Error's Code and Message methods to get detailed information about 4315// the error. 4316// 4317// See the AWS API reference guide for Amazon EC2 Container Service's 4318// API operation SubmitAttachmentStateChanges for usage and error information. 4319// 4320// Returned Error Types: 4321// * ServerException 4322// These errors are usually caused by a server issue. 4323// 4324// * ClientException 4325// These errors are usually caused by a client action, such as using an action 4326// or resource on behalf of a user that doesn't have permissions to use the 4327// action or resource, or specifying an identifier that is not valid. 4328// 4329// * AccessDeniedException 4330// You do not have authorization to perform the requested action. 4331// 4332// * InvalidParameterException 4333// The specified parameter is invalid. Review the available parameters for the 4334// API request. 4335// 4336// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4337func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 4338 req, out := c.SubmitAttachmentStateChangesRequest(input) 4339 return out, req.Send() 4340} 4341 4342// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 4343// the ability to pass a context and additional request options. 4344// 4345// See SubmitAttachmentStateChanges for details on how to use this API operation. 4346// 4347// The context must be non-nil and will be used for request cancellation. If 4348// the context is nil a panic will occur. In the future the SDK may create 4349// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4350// for more information on using Contexts. 4351func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 4352 req, out := c.SubmitAttachmentStateChangesRequest(input) 4353 req.SetContext(ctx) 4354 req.ApplyOptions(opts...) 4355 return out, req.Send() 4356} 4357 4358const opSubmitContainerStateChange = "SubmitContainerStateChange" 4359 4360// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 4361// client's request for the SubmitContainerStateChange operation. The "output" return 4362// value will be populated with the request's response once the request completes 4363// successfully. 4364// 4365// Use "Send" method on the returned Request to send the API call to the service. 4366// the "output" return value is not valid until after Send returns without error. 4367// 4368// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 4369// API call, and error handling. 4370// 4371// This method is useful when you want to inject custom logic or configuration 4372// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4373// 4374// 4375// // Example sending a request using the SubmitContainerStateChangeRequest method. 4376// req, resp := client.SubmitContainerStateChangeRequest(params) 4377// 4378// err := req.Send() 4379// if err == nil { // resp is now filled 4380// fmt.Println(resp) 4381// } 4382// 4383// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4384func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 4385 op := &request.Operation{ 4386 Name: opSubmitContainerStateChange, 4387 HTTPMethod: "POST", 4388 HTTPPath: "/", 4389 } 4390 4391 if input == nil { 4392 input = &SubmitContainerStateChangeInput{} 4393 } 4394 4395 output = &SubmitContainerStateChangeOutput{} 4396 req = c.newRequest(op, input, output) 4397 return 4398} 4399 4400// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 4401// 4402// 4403// This action is only used by the Amazon ECS agent, and it is not intended 4404// for use outside of the agent. 4405// 4406// Sent to acknowledge that a container changed states. 4407// 4408// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4409// with awserr.Error's Code and Message methods to get detailed information about 4410// the error. 4411// 4412// See the AWS API reference guide for Amazon EC2 Container Service's 4413// API operation SubmitContainerStateChange for usage and error information. 4414// 4415// Returned Error Types: 4416// * ServerException 4417// These errors are usually caused by a server issue. 4418// 4419// * ClientException 4420// These errors are usually caused by a client action, such as using an action 4421// or resource on behalf of a user that doesn't have permissions to use the 4422// action or resource, or specifying an identifier that is not valid. 4423// 4424// * AccessDeniedException 4425// You do not have authorization to perform the requested action. 4426// 4427// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4428func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 4429 req, out := c.SubmitContainerStateChangeRequest(input) 4430 return out, req.Send() 4431} 4432 4433// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 4434// the ability to pass a context and additional request options. 4435// 4436// See SubmitContainerStateChange for details on how to use this API operation. 4437// 4438// The context must be non-nil and will be used for request cancellation. If 4439// the context is nil a panic will occur. In the future the SDK may create 4440// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4441// for more information on using Contexts. 4442func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 4443 req, out := c.SubmitContainerStateChangeRequest(input) 4444 req.SetContext(ctx) 4445 req.ApplyOptions(opts...) 4446 return out, req.Send() 4447} 4448 4449const opSubmitTaskStateChange = "SubmitTaskStateChange" 4450 4451// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4452// client's request for the SubmitTaskStateChange operation. The "output" return 4453// value will be populated with the request's response once the request completes 4454// successfully. 4455// 4456// Use "Send" method on the returned Request to send the API call to the service. 4457// the "output" return value is not valid until after Send returns without error. 4458// 4459// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4460// API call, and error handling. 4461// 4462// This method is useful when you want to inject custom logic or configuration 4463// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4464// 4465// 4466// // Example sending a request using the SubmitTaskStateChangeRequest method. 4467// req, resp := client.SubmitTaskStateChangeRequest(params) 4468// 4469// err := req.Send() 4470// if err == nil { // resp is now filled 4471// fmt.Println(resp) 4472// } 4473// 4474// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4475func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4476 op := &request.Operation{ 4477 Name: opSubmitTaskStateChange, 4478 HTTPMethod: "POST", 4479 HTTPPath: "/", 4480 } 4481 4482 if input == nil { 4483 input = &SubmitTaskStateChangeInput{} 4484 } 4485 4486 output = &SubmitTaskStateChangeOutput{} 4487 req = c.newRequest(op, input, output) 4488 return 4489} 4490 4491// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4492// 4493// 4494// This action is only used by the Amazon ECS agent, and it is not intended 4495// for use outside of the agent. 4496// 4497// Sent to acknowledge that a task changed states. 4498// 4499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4500// with awserr.Error's Code and Message methods to get detailed information about 4501// the error. 4502// 4503// See the AWS API reference guide for Amazon EC2 Container Service's 4504// API operation SubmitTaskStateChange for usage and error information. 4505// 4506// Returned Error Types: 4507// * ServerException 4508// These errors are usually caused by a server issue. 4509// 4510// * ClientException 4511// These errors are usually caused by a client action, such as using an action 4512// or resource on behalf of a user that doesn't have permissions to use the 4513// action or resource, or specifying an identifier that is not valid. 4514// 4515// * AccessDeniedException 4516// You do not have authorization to perform the requested action. 4517// 4518// * InvalidParameterException 4519// The specified parameter is invalid. Review the available parameters for the 4520// API request. 4521// 4522// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4523func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4524 req, out := c.SubmitTaskStateChangeRequest(input) 4525 return out, req.Send() 4526} 4527 4528// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4529// the ability to pass a context and additional request options. 4530// 4531// See SubmitTaskStateChange for details on how to use this API operation. 4532// 4533// The context must be non-nil and will be used for request cancellation. If 4534// the context is nil a panic will occur. In the future the SDK may create 4535// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4536// for more information on using Contexts. 4537func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4538 req, out := c.SubmitTaskStateChangeRequest(input) 4539 req.SetContext(ctx) 4540 req.ApplyOptions(opts...) 4541 return out, req.Send() 4542} 4543 4544const opTagResource = "TagResource" 4545 4546// TagResourceRequest generates a "aws/request.Request" representing the 4547// client's request for the TagResource operation. The "output" return 4548// value will be populated with the request's response once the request completes 4549// successfully. 4550// 4551// Use "Send" method on the returned Request to send the API call to the service. 4552// the "output" return value is not valid until after Send returns without error. 4553// 4554// See TagResource for more information on using the TagResource 4555// API call, and error handling. 4556// 4557// This method is useful when you want to inject custom logic or configuration 4558// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4559// 4560// 4561// // Example sending a request using the TagResourceRequest method. 4562// req, resp := client.TagResourceRequest(params) 4563// 4564// err := req.Send() 4565// if err == nil { // resp is now filled 4566// fmt.Println(resp) 4567// } 4568// 4569// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4570func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4571 op := &request.Operation{ 4572 Name: opTagResource, 4573 HTTPMethod: "POST", 4574 HTTPPath: "/", 4575 } 4576 4577 if input == nil { 4578 input = &TagResourceInput{} 4579 } 4580 4581 output = &TagResourceOutput{} 4582 req = c.newRequest(op, input, output) 4583 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4584 return 4585} 4586 4587// TagResource API operation for Amazon EC2 Container Service. 4588// 4589// Associates the specified tags to a resource with the specified resourceArn. 4590// If existing tags on a resource are not specified in the request parameters, 4591// they are not changed. When a resource is deleted, the tags associated with 4592// that resource are deleted as well. 4593// 4594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4595// with awserr.Error's Code and Message methods to get detailed information about 4596// the error. 4597// 4598// See the AWS API reference guide for Amazon EC2 Container Service's 4599// API operation TagResource for usage and error information. 4600// 4601// Returned Error Types: 4602// * ServerException 4603// These errors are usually caused by a server issue. 4604// 4605// * ClientException 4606// These errors are usually caused by a client action, such as using an action 4607// or resource on behalf of a user that doesn't have permissions to use the 4608// action or resource, or specifying an identifier that is not valid. 4609// 4610// * ClusterNotFoundException 4611// The specified cluster could not be found. You can view your available clusters 4612// with ListClusters. Amazon ECS clusters are Region-specific. 4613// 4614// * ResourceNotFoundException 4615// The specified resource could not be found. 4616// 4617// * InvalidParameterException 4618// The specified parameter is invalid. Review the available parameters for the 4619// API request. 4620// 4621// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4622func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4623 req, out := c.TagResourceRequest(input) 4624 return out, req.Send() 4625} 4626 4627// TagResourceWithContext is the same as TagResource with the addition of 4628// the ability to pass a context and additional request options. 4629// 4630// See TagResource for details on how to use this API operation. 4631// 4632// The context must be non-nil and will be used for request cancellation. If 4633// the context is nil a panic will occur. In the future the SDK may create 4634// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4635// for more information on using Contexts. 4636func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4637 req, out := c.TagResourceRequest(input) 4638 req.SetContext(ctx) 4639 req.ApplyOptions(opts...) 4640 return out, req.Send() 4641} 4642 4643const opUntagResource = "UntagResource" 4644 4645// UntagResourceRequest generates a "aws/request.Request" representing the 4646// client's request for the UntagResource operation. The "output" return 4647// value will be populated with the request's response once the request completes 4648// successfully. 4649// 4650// Use "Send" method on the returned Request to send the API call to the service. 4651// the "output" return value is not valid until after Send returns without error. 4652// 4653// See UntagResource for more information on using the UntagResource 4654// API call, and error handling. 4655// 4656// This method is useful when you want to inject custom logic or configuration 4657// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4658// 4659// 4660// // Example sending a request using the UntagResourceRequest method. 4661// req, resp := client.UntagResourceRequest(params) 4662// 4663// err := req.Send() 4664// if err == nil { // resp is now filled 4665// fmt.Println(resp) 4666// } 4667// 4668// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4669func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4670 op := &request.Operation{ 4671 Name: opUntagResource, 4672 HTTPMethod: "POST", 4673 HTTPPath: "/", 4674 } 4675 4676 if input == nil { 4677 input = &UntagResourceInput{} 4678 } 4679 4680 output = &UntagResourceOutput{} 4681 req = c.newRequest(op, input, output) 4682 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4683 return 4684} 4685 4686// UntagResource API operation for Amazon EC2 Container Service. 4687// 4688// Deletes specified tags from a resource. 4689// 4690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4691// with awserr.Error's Code and Message methods to get detailed information about 4692// the error. 4693// 4694// See the AWS API reference guide for Amazon EC2 Container Service's 4695// API operation UntagResource for usage and error information. 4696// 4697// Returned Error Types: 4698// * ServerException 4699// These errors are usually caused by a server issue. 4700// 4701// * ClientException 4702// These errors are usually caused by a client action, such as using an action 4703// or resource on behalf of a user that doesn't have permissions to use the 4704// action or resource, or specifying an identifier that is not valid. 4705// 4706// * ClusterNotFoundException 4707// The specified cluster could not be found. You can view your available clusters 4708// with ListClusters. Amazon ECS clusters are Region-specific. 4709// 4710// * ResourceNotFoundException 4711// The specified resource could not be found. 4712// 4713// * InvalidParameterException 4714// The specified parameter is invalid. Review the available parameters for the 4715// API request. 4716// 4717// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4718func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4719 req, out := c.UntagResourceRequest(input) 4720 return out, req.Send() 4721} 4722 4723// UntagResourceWithContext is the same as UntagResource with the addition of 4724// the ability to pass a context and additional request options. 4725// 4726// See UntagResource for details on how to use this API operation. 4727// 4728// The context must be non-nil and will be used for request cancellation. If 4729// the context is nil a panic will occur. In the future the SDK may create 4730// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4731// for more information on using Contexts. 4732func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4733 req, out := c.UntagResourceRequest(input) 4734 req.SetContext(ctx) 4735 req.ApplyOptions(opts...) 4736 return out, req.Send() 4737} 4738 4739const opUpdateClusterSettings = "UpdateClusterSettings" 4740 4741// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 4742// client's request for the UpdateClusterSettings operation. The "output" return 4743// value will be populated with the request's response once the request completes 4744// successfully. 4745// 4746// Use "Send" method on the returned Request to send the API call to the service. 4747// the "output" return value is not valid until after Send returns without error. 4748// 4749// See UpdateClusterSettings for more information on using the UpdateClusterSettings 4750// API call, and error handling. 4751// 4752// This method is useful when you want to inject custom logic or configuration 4753// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4754// 4755// 4756// // Example sending a request using the UpdateClusterSettingsRequest method. 4757// req, resp := client.UpdateClusterSettingsRequest(params) 4758// 4759// err := req.Send() 4760// if err == nil { // resp is now filled 4761// fmt.Println(resp) 4762// } 4763// 4764// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4765func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 4766 op := &request.Operation{ 4767 Name: opUpdateClusterSettings, 4768 HTTPMethod: "POST", 4769 HTTPPath: "/", 4770 } 4771 4772 if input == nil { 4773 input = &UpdateClusterSettingsInput{} 4774 } 4775 4776 output = &UpdateClusterSettingsOutput{} 4777 req = c.newRequest(op, input, output) 4778 return 4779} 4780 4781// UpdateClusterSettings API operation for Amazon EC2 Container Service. 4782// 4783// Modifies the settings to use for a cluster. 4784// 4785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4786// with awserr.Error's Code and Message methods to get detailed information about 4787// the error. 4788// 4789// See the AWS API reference guide for Amazon EC2 Container Service's 4790// API operation UpdateClusterSettings for usage and error information. 4791// 4792// Returned Error Types: 4793// * ServerException 4794// These errors are usually caused by a server issue. 4795// 4796// * ClientException 4797// These errors are usually caused by a client action, such as using an action 4798// or resource on behalf of a user that doesn't have permissions to use the 4799// action or resource, or specifying an identifier that is not valid. 4800// 4801// * ClusterNotFoundException 4802// The specified cluster could not be found. You can view your available clusters 4803// with ListClusters. Amazon ECS clusters are Region-specific. 4804// 4805// * InvalidParameterException 4806// The specified parameter is invalid. Review the available parameters for the 4807// API request. 4808// 4809// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4810func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 4811 req, out := c.UpdateClusterSettingsRequest(input) 4812 return out, req.Send() 4813} 4814 4815// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 4816// the ability to pass a context and additional request options. 4817// 4818// See UpdateClusterSettings for details on how to use this API operation. 4819// 4820// The context must be non-nil and will be used for request cancellation. If 4821// the context is nil a panic will occur. In the future the SDK may create 4822// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4823// for more information on using Contexts. 4824func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 4825 req, out := c.UpdateClusterSettingsRequest(input) 4826 req.SetContext(ctx) 4827 req.ApplyOptions(opts...) 4828 return out, req.Send() 4829} 4830 4831const opUpdateContainerAgent = "UpdateContainerAgent" 4832 4833// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 4834// client's request for the UpdateContainerAgent operation. The "output" return 4835// value will be populated with the request's response once the request completes 4836// successfully. 4837// 4838// Use "Send" method on the returned Request to send the API call to the service. 4839// the "output" return value is not valid until after Send returns without error. 4840// 4841// See UpdateContainerAgent for more information on using the UpdateContainerAgent 4842// API call, and error handling. 4843// 4844// This method is useful when you want to inject custom logic or configuration 4845// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4846// 4847// 4848// // Example sending a request using the UpdateContainerAgentRequest method. 4849// req, resp := client.UpdateContainerAgentRequest(params) 4850// 4851// err := req.Send() 4852// if err == nil { // resp is now filled 4853// fmt.Println(resp) 4854// } 4855// 4856// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4857func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 4858 op := &request.Operation{ 4859 Name: opUpdateContainerAgent, 4860 HTTPMethod: "POST", 4861 HTTPPath: "/", 4862 } 4863 4864 if input == nil { 4865 input = &UpdateContainerAgentInput{} 4866 } 4867 4868 output = &UpdateContainerAgentOutput{} 4869 req = c.newRequest(op, input, output) 4870 return 4871} 4872 4873// UpdateContainerAgent API operation for Amazon EC2 Container Service. 4874// 4875// Updates the Amazon ECS container agent on a specified container instance. 4876// Updating the Amazon ECS container agent does not interrupt running tasks 4877// or services on the container instance. The process for updating the agent 4878// differs depending on whether your container instance was launched with the 4879// Amazon ECS-optimized AMI or another operating system. 4880// 4881// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 4882// with the ecs-init service installed and running. For help updating the Amazon 4883// ECS container agent on other operating systems, see Manually Updating the 4884// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 4885// in the Amazon Elastic Container Service Developer Guide. 4886// 4887// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4888// with awserr.Error's Code and Message methods to get detailed information about 4889// the error. 4890// 4891// See the AWS API reference guide for Amazon EC2 Container Service's 4892// API operation UpdateContainerAgent for usage and error information. 4893// 4894// Returned Error Types: 4895// * ServerException 4896// These errors are usually caused by a server issue. 4897// 4898// * ClientException 4899// These errors are usually caused by a client action, such as using an action 4900// or resource on behalf of a user that doesn't have permissions to use the 4901// action or resource, or specifying an identifier that is not valid. 4902// 4903// * InvalidParameterException 4904// The specified parameter is invalid. Review the available parameters for the 4905// API request. 4906// 4907// * ClusterNotFoundException 4908// The specified cluster could not be found. You can view your available clusters 4909// with ListClusters. Amazon ECS clusters are Region-specific. 4910// 4911// * UpdateInProgressException 4912// There is already a current Amazon ECS container agent update in progress 4913// on the specified container instance. If the container agent becomes disconnected 4914// while it is in a transitional stage, such as PENDING or STAGING, the update 4915// process can get stuck in that state. However, when the agent reconnects, 4916// it resumes where it stopped previously. 4917// 4918// * NoUpdateAvailableException 4919// There is no update available for this Amazon ECS container agent. This could 4920// be because the agent is already running the latest version, or it is so old 4921// that there is no update path to the current version. 4922// 4923// * MissingVersionException 4924// Amazon ECS is unable to determine the current version of the Amazon ECS container 4925// agent on the container instance and does not have enough information to proceed 4926// with an update. This could be because the agent running on the container 4927// instance is an older or custom version that does not use our version information. 4928// 4929// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4930func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 4931 req, out := c.UpdateContainerAgentRequest(input) 4932 return out, req.Send() 4933} 4934 4935// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 4936// the ability to pass a context and additional request options. 4937// 4938// See UpdateContainerAgent for details on how to use this API operation. 4939// 4940// The context must be non-nil and will be used for request cancellation. If 4941// the context is nil a panic will occur. In the future the SDK may create 4942// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4943// for more information on using Contexts. 4944func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 4945 req, out := c.UpdateContainerAgentRequest(input) 4946 req.SetContext(ctx) 4947 req.ApplyOptions(opts...) 4948 return out, req.Send() 4949} 4950 4951const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 4952 4953// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 4954// client's request for the UpdateContainerInstancesState operation. The "output" return 4955// value will be populated with the request's response once the request completes 4956// successfully. 4957// 4958// Use "Send" method on the returned Request to send the API call to the service. 4959// the "output" return value is not valid until after Send returns without error. 4960// 4961// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 4962// API call, and error handling. 4963// 4964// This method is useful when you want to inject custom logic or configuration 4965// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4966// 4967// 4968// // Example sending a request using the UpdateContainerInstancesStateRequest method. 4969// req, resp := client.UpdateContainerInstancesStateRequest(params) 4970// 4971// err := req.Send() 4972// if err == nil { // resp is now filled 4973// fmt.Println(resp) 4974// } 4975// 4976// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 4977func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 4978 op := &request.Operation{ 4979 Name: opUpdateContainerInstancesState, 4980 HTTPMethod: "POST", 4981 HTTPPath: "/", 4982 } 4983 4984 if input == nil { 4985 input = &UpdateContainerInstancesStateInput{} 4986 } 4987 4988 output = &UpdateContainerInstancesStateOutput{} 4989 req = c.newRequest(op, input, output) 4990 return 4991} 4992 4993// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 4994// 4995// Modifies the status of an Amazon ECS container instance. 4996// 4997// Once a container instance has reached an ACTIVE state, you can change the 4998// status of a container instance to DRAINING to manually remove an instance 4999// from a cluster, for example to perform system updates, update the Docker 5000// daemon, or scale down the cluster size. 5001// 5002// A container instance cannot be changed to DRAINING until it has reached an 5003// ACTIVE status. If the instance is in any other status, an error will be received. 5004// 5005// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 5006// from being scheduled for placement on the container instance and replacement 5007// service tasks are started on other container instances in the cluster if 5008// the resources are available. Service tasks on the container instance that 5009// are in the PENDING state are stopped immediately. 5010// 5011// Service tasks on the container instance that are in the RUNNING state are 5012// stopped and replaced according to the service's deployment configuration 5013// parameters, minimumHealthyPercent and maximumPercent. You can change the 5014// deployment configuration of your service using UpdateService. 5015// 5016// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5017// temporarily during task replacement. For example, desiredCount is four 5018// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5019// before starting two new tasks. If the minimum is 100%, the service scheduler 5020// can't remove existing tasks until the replacement tasks are considered 5021// healthy. Tasks for services that do not use a load balancer are considered 5022// healthy if they are in the RUNNING state. Tasks for services that use 5023// a load balancer are considered healthy if they are in the RUNNING state 5024// and the container instance they are hosted on is reported as healthy by 5025// the load balancer. 5026// 5027// * The maximumPercent parameter represents an upper limit on the number 5028// of running tasks during task replacement, which enables you to define 5029// the replacement batch size. For example, if desiredCount is four tasks, 5030// a maximum of 200% starts four new tasks before stopping the four tasks 5031// to be drained, provided that the cluster resources required to do this 5032// are available. If the maximum is 100%, then replacement tasks can't start 5033// until the draining tasks have stopped. 5034// 5035// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 5036// You must wait for them to finish or stop them manually. 5037// 5038// A container instance has completed draining when it has no more RUNNING tasks. 5039// You can verify this using ListTasks. 5040// 5041// When a container instance has been drained, you can set a container instance 5042// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 5043// can begin scheduling tasks on the instance again. 5044// 5045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5046// with awserr.Error's Code and Message methods to get detailed information about 5047// the error. 5048// 5049// See the AWS API reference guide for Amazon EC2 Container Service's 5050// API operation UpdateContainerInstancesState for usage and error information. 5051// 5052// Returned Error Types: 5053// * ServerException 5054// These errors are usually caused by a server issue. 5055// 5056// * ClientException 5057// These errors are usually caused by a client action, such as using an action 5058// or resource on behalf of a user that doesn't have permissions to use the 5059// action or resource, or specifying an identifier that is not valid. 5060// 5061// * InvalidParameterException 5062// The specified parameter is invalid. Review the available parameters for the 5063// API request. 5064// 5065// * ClusterNotFoundException 5066// The specified cluster could not be found. You can view your available clusters 5067// with ListClusters. Amazon ECS clusters are Region-specific. 5068// 5069// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5070func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5071 req, out := c.UpdateContainerInstancesStateRequest(input) 5072 return out, req.Send() 5073} 5074 5075// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5076// the ability to pass a context and additional request options. 5077// 5078// See UpdateContainerInstancesState for details on how to use this API operation. 5079// 5080// The context must be non-nil and will be used for request cancellation. If 5081// the context is nil a panic will occur. In the future the SDK may create 5082// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5083// for more information on using Contexts. 5084func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5085 req, out := c.UpdateContainerInstancesStateRequest(input) 5086 req.SetContext(ctx) 5087 req.ApplyOptions(opts...) 5088 return out, req.Send() 5089} 5090 5091const opUpdateService = "UpdateService" 5092 5093// UpdateServiceRequest generates a "aws/request.Request" representing the 5094// client's request for the UpdateService operation. The "output" return 5095// value will be populated with the request's response once the request completes 5096// successfully. 5097// 5098// Use "Send" method on the returned Request to send the API call to the service. 5099// the "output" return value is not valid until after Send returns without error. 5100// 5101// See UpdateService for more information on using the UpdateService 5102// API call, and error handling. 5103// 5104// This method is useful when you want to inject custom logic or configuration 5105// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5106// 5107// 5108// // Example sending a request using the UpdateServiceRequest method. 5109// req, resp := client.UpdateServiceRequest(params) 5110// 5111// err := req.Send() 5112// if err == nil { // resp is now filled 5113// fmt.Println(resp) 5114// } 5115// 5116// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5117func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5118 op := &request.Operation{ 5119 Name: opUpdateService, 5120 HTTPMethod: "POST", 5121 HTTPPath: "/", 5122 } 5123 5124 if input == nil { 5125 input = &UpdateServiceInput{} 5126 } 5127 5128 output = &UpdateServiceOutput{} 5129 req = c.newRequest(op, input, output) 5130 return 5131} 5132 5133// UpdateService API operation for Amazon EC2 Container Service. 5134// 5135// Modifies the parameters of a service. 5136// 5137// For services using the rolling update (ECS) deployment controller, the desired 5138// count, deployment configuration, network configuration, or task definition 5139// used can be updated. 5140// 5141// For services using the blue/green (CODE_DEPLOY) deployment controller, only 5142// the desired count, deployment configuration, and health check grace period 5143// can be updated using this API. If the network configuration, platform version, 5144// or task definition need to be updated, a new AWS CodeDeploy deployment should 5145// be created. For more information, see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5146// in the AWS CodeDeploy API Reference. 5147// 5148// For services using an external deployment controller, you can update only 5149// the desired count and health check grace period using this API. If the launch 5150// type, load balancer, network configuration, platform version, or task definition 5151// need to be updated, you should create a new task set. For more information, 5152// see CreateTaskSet. 5153// 5154// You can add to or subtract from the number of instantiations of a task definition 5155// in a service by specifying the cluster that the service is running in and 5156// a new desiredCount parameter. 5157// 5158// If you have updated the Docker image of your application, you can create 5159// a new task definition with that image and deploy it to your service. The 5160// service scheduler uses the minimum healthy percent and maximum percent parameters 5161// (in the service's deployment configuration) to determine the deployment strategy. 5162// 5163// If your updated Docker image uses the same tag as what is in the existing 5164// task definition for your service (for example, my_image:latest), you do not 5165// need to create a new revision of your task definition. You can update the 5166// service using the forceNewDeployment option. The new tasks launched by the 5167// deployment pull the current image/tag combination from your repository when 5168// they start. 5169// 5170// You can also update the deployment configuration of a service. When a deployment 5171// is triggered by updating the task definition of a service, the service scheduler 5172// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5173// to determine the deployment strategy. 5174// 5175// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5176// temporarily during a deployment. For example, if desiredCount is four 5177// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5178// before starting two new tasks. Tasks for services that do not use a load 5179// balancer are considered healthy if they are in the RUNNING state. Tasks 5180// for services that use a load balancer are considered healthy if they are 5181// in the RUNNING state and the container instance they are hosted on is 5182// reported as healthy by the load balancer. 5183// 5184// * The maximumPercent parameter represents an upper limit on the number 5185// of running tasks during a deployment, which enables you to define the 5186// deployment batch size. For example, if desiredCount is four tasks, a maximum 5187// of 200% starts four new tasks before stopping the four older tasks (provided 5188// that the cluster resources required to do this are available). 5189// 5190// When UpdateService stops a task during a deployment, the equivalent of docker 5191// stop is issued to the containers running in the task. This results in a SIGTERM 5192// and a 30-second timeout, after which SIGKILL is sent and the containers are 5193// forcibly stopped. If the container handles the SIGTERM gracefully and exits 5194// within 30 seconds from receiving it, no SIGKILL is sent. 5195// 5196// When the service scheduler launches new tasks, it determines task placement 5197// in your cluster with the following logic: 5198// 5199// * Determine which of the container instances in your cluster can support 5200// your service's task definition (for example, they have the required CPU, 5201// memory, ports, and container instance attributes). 5202// 5203// * By default, the service scheduler attempts to balance tasks across Availability 5204// Zones in this manner (although you can choose a different placement strategy): 5205// Sort the valid container instances by the fewest number of running tasks 5206// for this service in the same Availability Zone as the instance. For example, 5207// if zone A has one running service task and zones B and C each have zero, 5208// valid container instances in either zone B or C are considered optimal 5209// for placement. Place the new service task on a valid container instance 5210// in an optimal Availability Zone (based on the previous steps), favoring 5211// container instances with the fewest number of running tasks for this service. 5212// 5213// When the service scheduler stops running tasks, it attempts to maintain balance 5214// across the Availability Zones in your cluster using the following logic: 5215// 5216// * Sort the container instances by the largest number of running tasks 5217// for this service in the same Availability Zone as the instance. For example, 5218// if zone A has one running service task and zones B and C each have two, 5219// container instances in either zone B or C are considered optimal for termination. 5220// 5221// * Stop the task on a container instance in an optimal Availability Zone 5222// (based on the previous steps), favoring container instances with the largest 5223// number of running tasks for this service. 5224// 5225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5226// with awserr.Error's Code and Message methods to get detailed information about 5227// the error. 5228// 5229// See the AWS API reference guide for Amazon EC2 Container Service's 5230// API operation UpdateService for usage and error information. 5231// 5232// Returned Error Types: 5233// * ServerException 5234// These errors are usually caused by a server issue. 5235// 5236// * ClientException 5237// These errors are usually caused by a client action, such as using an action 5238// or resource on behalf of a user that doesn't have permissions to use the 5239// action or resource, or specifying an identifier that is not valid. 5240// 5241// * InvalidParameterException 5242// The specified parameter is invalid. Review the available parameters for the 5243// API request. 5244// 5245// * ClusterNotFoundException 5246// The specified cluster could not be found. You can view your available clusters 5247// with ListClusters. Amazon ECS clusters are Region-specific. 5248// 5249// * ServiceNotFoundException 5250// The specified service could not be found. You can view your available services 5251// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5252// 5253// * ServiceNotActiveException 5254// The specified service is not active. You can't update a service that is inactive. 5255// If you have previously deleted a service, you can re-create it with CreateService. 5256// 5257// * PlatformUnknownException 5258// The specified platform version does not exist. 5259// 5260// * PlatformTaskDefinitionIncompatibilityException 5261// The specified platform version does not satisfy the task definition's required 5262// capabilities. 5263// 5264// * AccessDeniedException 5265// You do not have authorization to perform the requested action. 5266// 5267// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5268func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5269 req, out := c.UpdateServiceRequest(input) 5270 return out, req.Send() 5271} 5272 5273// UpdateServiceWithContext is the same as UpdateService with the addition of 5274// the ability to pass a context and additional request options. 5275// 5276// See UpdateService for details on how to use this API operation. 5277// 5278// The context must be non-nil and will be used for request cancellation. If 5279// the context is nil a panic will occur. In the future the SDK may create 5280// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5281// for more information on using Contexts. 5282func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5283 req, out := c.UpdateServiceRequest(input) 5284 req.SetContext(ctx) 5285 req.ApplyOptions(opts...) 5286 return out, req.Send() 5287} 5288 5289const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5290 5291// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5292// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5293// value will be populated with the request's response once the request completes 5294// successfully. 5295// 5296// Use "Send" method on the returned Request to send the API call to the service. 5297// the "output" return value is not valid until after Send returns without error. 5298// 5299// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5300// API call, and error handling. 5301// 5302// This method is useful when you want to inject custom logic or configuration 5303// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5304// 5305// 5306// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5307// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5308// 5309// err := req.Send() 5310// if err == nil { // resp is now filled 5311// fmt.Println(resp) 5312// } 5313// 5314// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5315func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5316 op := &request.Operation{ 5317 Name: opUpdateServicePrimaryTaskSet, 5318 HTTPMethod: "POST", 5319 HTTPPath: "/", 5320 } 5321 5322 if input == nil { 5323 input = &UpdateServicePrimaryTaskSetInput{} 5324 } 5325 5326 output = &UpdateServicePrimaryTaskSetOutput{} 5327 req = c.newRequest(op, input, output) 5328 return 5329} 5330 5331// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5332// 5333// Modifies which task set in a service is the primary task set. Any parameters 5334// that are updated on the primary task set in a service will transition to 5335// the service. This is used when a service uses the EXTERNAL deployment controller 5336// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5337// in the Amazon Elastic Container Service Developer Guide. 5338// 5339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5340// with awserr.Error's Code and Message methods to get detailed information about 5341// the error. 5342// 5343// See the AWS API reference guide for Amazon EC2 Container Service's 5344// API operation UpdateServicePrimaryTaskSet for usage and error information. 5345// 5346// Returned Error Types: 5347// * ServerException 5348// These errors are usually caused by a server issue. 5349// 5350// * ClientException 5351// These errors are usually caused by a client action, such as using an action 5352// or resource on behalf of a user that doesn't have permissions to use the 5353// action or resource, or specifying an identifier that is not valid. 5354// 5355// * InvalidParameterException 5356// The specified parameter is invalid. Review the available parameters for the 5357// API request. 5358// 5359// * ClusterNotFoundException 5360// The specified cluster could not be found. You can view your available clusters 5361// with ListClusters. Amazon ECS clusters are Region-specific. 5362// 5363// * UnsupportedFeatureException 5364// The specified task is not supported in this Region. 5365// 5366// * ServiceNotFoundException 5367// The specified service could not be found. You can view your available services 5368// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5369// 5370// * ServiceNotActiveException 5371// The specified service is not active. You can't update a service that is inactive. 5372// If you have previously deleted a service, you can re-create it with CreateService. 5373// 5374// * TaskSetNotFoundException 5375// The specified task set could not be found. You can view your available task 5376// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5377// and Region. 5378// 5379// * AccessDeniedException 5380// You do not have authorization to perform the requested action. 5381// 5382// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5383func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5384 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5385 return out, req.Send() 5386} 5387 5388// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5389// the ability to pass a context and additional request options. 5390// 5391// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5392// 5393// The context must be non-nil and will be used for request cancellation. If 5394// the context is nil a panic will occur. In the future the SDK may create 5395// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5396// for more information on using Contexts. 5397func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5398 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5399 req.SetContext(ctx) 5400 req.ApplyOptions(opts...) 5401 return out, req.Send() 5402} 5403 5404const opUpdateTaskSet = "UpdateTaskSet" 5405 5406// UpdateTaskSetRequest generates a "aws/request.Request" representing the 5407// client's request for the UpdateTaskSet operation. The "output" return 5408// value will be populated with the request's response once the request completes 5409// successfully. 5410// 5411// Use "Send" method on the returned Request to send the API call to the service. 5412// the "output" return value is not valid until after Send returns without error. 5413// 5414// See UpdateTaskSet for more information on using the UpdateTaskSet 5415// API call, and error handling. 5416// 5417// This method is useful when you want to inject custom logic or configuration 5418// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5419// 5420// 5421// // Example sending a request using the UpdateTaskSetRequest method. 5422// req, resp := client.UpdateTaskSetRequest(params) 5423// 5424// err := req.Send() 5425// if err == nil { // resp is now filled 5426// fmt.Println(resp) 5427// } 5428// 5429// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5430func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5431 op := &request.Operation{ 5432 Name: opUpdateTaskSet, 5433 HTTPMethod: "POST", 5434 HTTPPath: "/", 5435 } 5436 5437 if input == nil { 5438 input = &UpdateTaskSetInput{} 5439 } 5440 5441 output = &UpdateTaskSetOutput{} 5442 req = c.newRequest(op, input, output) 5443 return 5444} 5445 5446// UpdateTaskSet API operation for Amazon EC2 Container Service. 5447// 5448// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5449// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5450// in the Amazon Elastic Container Service Developer Guide. 5451// 5452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5453// with awserr.Error's Code and Message methods to get detailed information about 5454// the error. 5455// 5456// See the AWS API reference guide for Amazon EC2 Container Service's 5457// API operation UpdateTaskSet for usage and error information. 5458// 5459// Returned Error Types: 5460// * ServerException 5461// These errors are usually caused by a server issue. 5462// 5463// * ClientException 5464// These errors are usually caused by a client action, such as using an action 5465// or resource on behalf of a user that doesn't have permissions to use the 5466// action or resource, or specifying an identifier that is not valid. 5467// 5468// * InvalidParameterException 5469// The specified parameter is invalid. Review the available parameters for the 5470// API request. 5471// 5472// * ClusterNotFoundException 5473// The specified cluster could not be found. You can view your available clusters 5474// with ListClusters. Amazon ECS clusters are Region-specific. 5475// 5476// * UnsupportedFeatureException 5477// The specified task is not supported in this Region. 5478// 5479// * AccessDeniedException 5480// You do not have authorization to perform the requested action. 5481// 5482// * ServiceNotFoundException 5483// The specified service could not be found. You can view your available services 5484// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5485// 5486// * ServiceNotActiveException 5487// The specified service is not active. You can't update a service that is inactive. 5488// If you have previously deleted a service, you can re-create it with CreateService. 5489// 5490// * TaskSetNotFoundException 5491// The specified task set could not be found. You can view your available task 5492// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5493// and Region. 5494// 5495// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5496func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5497 req, out := c.UpdateTaskSetRequest(input) 5498 return out, req.Send() 5499} 5500 5501// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5502// the ability to pass a context and additional request options. 5503// 5504// See UpdateTaskSet for details on how to use this API operation. 5505// 5506// The context must be non-nil and will be used for request cancellation. If 5507// the context is nil a panic will occur. In the future the SDK may create 5508// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5509// for more information on using Contexts. 5510func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5511 req, out := c.UpdateTaskSetRequest(input) 5512 req.SetContext(ctx) 5513 req.ApplyOptions(opts...) 5514 return out, req.Send() 5515} 5516 5517// You do not have authorization to perform the requested action. 5518type AccessDeniedException struct { 5519 _ struct{} `type:"structure"` 5520 respMetadata protocol.ResponseMetadata 5521 5522 Message_ *string `locationName:"message" type:"string"` 5523} 5524 5525// String returns the string representation 5526func (s AccessDeniedException) String() string { 5527 return awsutil.Prettify(s) 5528} 5529 5530// GoString returns the string representation 5531func (s AccessDeniedException) GoString() string { 5532 return s.String() 5533} 5534 5535func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 5536 return &AccessDeniedException{ 5537 respMetadata: v, 5538 } 5539} 5540 5541// Code returns the exception type name. 5542func (s AccessDeniedException) Code() string { 5543 return "AccessDeniedException" 5544} 5545 5546// Message returns the exception's message. 5547func (s AccessDeniedException) Message() string { 5548 if s.Message_ != nil { 5549 return *s.Message_ 5550 } 5551 return "" 5552} 5553 5554// OrigErr always returns nil, satisfies awserr.Error interface. 5555func (s AccessDeniedException) OrigErr() error { 5556 return nil 5557} 5558 5559func (s AccessDeniedException) Error() string { 5560 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5561} 5562 5563// Status code returns the HTTP status code for the request's response error. 5564func (s AccessDeniedException) StatusCode() int { 5565 return s.respMetadata.StatusCode 5566} 5567 5568// RequestID returns the service's response RequestID for request. 5569func (s AccessDeniedException) RequestID() string { 5570 return s.respMetadata.RequestID 5571} 5572 5573// An object representing a container instance or task attachment. 5574type Attachment struct { 5575 _ struct{} `type:"structure"` 5576 5577 // Details of the attachment. For elastic network interfaces, this includes 5578 // the network interface ID, the MAC address, the subnet ID, and the private 5579 // IPv4 address. 5580 Details []*KeyValuePair `locationName:"details" type:"list"` 5581 5582 // The unique identifier for the attachment. 5583 Id *string `locationName:"id" type:"string"` 5584 5585 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5586 // ATTACHED, DETACHING, DETACHED, and DELETED. 5587 Status *string `locationName:"status" type:"string"` 5588 5589 // The type of the attachment, such as ElasticNetworkInterface. 5590 Type *string `locationName:"type" type:"string"` 5591} 5592 5593// String returns the string representation 5594func (s Attachment) String() string { 5595 return awsutil.Prettify(s) 5596} 5597 5598// GoString returns the string representation 5599func (s Attachment) GoString() string { 5600 return s.String() 5601} 5602 5603// SetDetails sets the Details field's value. 5604func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5605 s.Details = v 5606 return s 5607} 5608 5609// SetId sets the Id field's value. 5610func (s *Attachment) SetId(v string) *Attachment { 5611 s.Id = &v 5612 return s 5613} 5614 5615// SetStatus sets the Status field's value. 5616func (s *Attachment) SetStatus(v string) *Attachment { 5617 s.Status = &v 5618 return s 5619} 5620 5621// SetType sets the Type field's value. 5622func (s *Attachment) SetType(v string) *Attachment { 5623 s.Type = &v 5624 return s 5625} 5626 5627// An object representing a change in state for a task attachment. 5628type AttachmentStateChange struct { 5629 _ struct{} `type:"structure"` 5630 5631 // The Amazon Resource Name (ARN) of the attachment. 5632 // 5633 // AttachmentArn is a required field 5634 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5635 5636 // The status of the attachment. 5637 // 5638 // Status is a required field 5639 Status *string `locationName:"status" type:"string" required:"true"` 5640} 5641 5642// String returns the string representation 5643func (s AttachmentStateChange) String() string { 5644 return awsutil.Prettify(s) 5645} 5646 5647// GoString returns the string representation 5648func (s AttachmentStateChange) GoString() string { 5649 return s.String() 5650} 5651 5652// Validate inspects the fields of the type to determine if they are valid. 5653func (s *AttachmentStateChange) Validate() error { 5654 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5655 if s.AttachmentArn == nil { 5656 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5657 } 5658 if s.Status == nil { 5659 invalidParams.Add(request.NewErrParamRequired("Status")) 5660 } 5661 5662 if invalidParams.Len() > 0 { 5663 return invalidParams 5664 } 5665 return nil 5666} 5667 5668// SetAttachmentArn sets the AttachmentArn field's value. 5669func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5670 s.AttachmentArn = &v 5671 return s 5672} 5673 5674// SetStatus sets the Status field's value. 5675func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5676 s.Status = &v 5677 return s 5678} 5679 5680// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5681// enable you to extend the Amazon ECS data model by adding custom metadata 5682// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5683// in the Amazon Elastic Container Service Developer Guide. 5684type Attribute struct { 5685 _ struct{} `type:"structure"` 5686 5687 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 5688 // hyphens, underscores, and periods are allowed. 5689 // 5690 // Name is a required field 5691 Name *string `locationName:"name" type:"string" required:"true"` 5692 5693 // The ID of the target. You can specify the short form ID for a resource or 5694 // the full Amazon Resource Name (ARN). 5695 TargetId *string `locationName:"targetId" type:"string"` 5696 5697 // The type of the target with which to attach the attribute. This parameter 5698 // is required if you use the short form ID for a resource instead of the full 5699 // ARN. 5700 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5701 5702 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 5703 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 5704 // and spaces are allowed. 5705 Value *string `locationName:"value" type:"string"` 5706} 5707 5708// String returns the string representation 5709func (s Attribute) String() string { 5710 return awsutil.Prettify(s) 5711} 5712 5713// GoString returns the string representation 5714func (s Attribute) GoString() string { 5715 return s.String() 5716} 5717 5718// Validate inspects the fields of the type to determine if they are valid. 5719func (s *Attribute) Validate() error { 5720 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5721 if s.Name == nil { 5722 invalidParams.Add(request.NewErrParamRequired("Name")) 5723 } 5724 5725 if invalidParams.Len() > 0 { 5726 return invalidParams 5727 } 5728 return nil 5729} 5730 5731// SetName sets the Name field's value. 5732func (s *Attribute) SetName(v string) *Attribute { 5733 s.Name = &v 5734 return s 5735} 5736 5737// SetTargetId sets the TargetId field's value. 5738func (s *Attribute) SetTargetId(v string) *Attribute { 5739 s.TargetId = &v 5740 return s 5741} 5742 5743// SetTargetType sets the TargetType field's value. 5744func (s *Attribute) SetTargetType(v string) *Attribute { 5745 s.TargetType = &v 5746 return s 5747} 5748 5749// SetValue sets the Value field's value. 5750func (s *Attribute) SetValue(v string) *Attribute { 5751 s.Value = &v 5752 return s 5753} 5754 5755// You can apply up to 10 custom attributes per resource. You can view the attributes 5756// of a resource with ListAttributes. You can remove existing attributes on 5757// a resource with DeleteAttributes. 5758type AttributeLimitExceededException struct { 5759 _ struct{} `type:"structure"` 5760 respMetadata protocol.ResponseMetadata 5761 5762 Message_ *string `locationName:"message" type:"string"` 5763} 5764 5765// String returns the string representation 5766func (s AttributeLimitExceededException) String() string { 5767 return awsutil.Prettify(s) 5768} 5769 5770// GoString returns the string representation 5771func (s AttributeLimitExceededException) GoString() string { 5772 return s.String() 5773} 5774 5775func newErrorAttributeLimitExceededException(v protocol.ResponseMetadata) error { 5776 return &AttributeLimitExceededException{ 5777 respMetadata: v, 5778 } 5779} 5780 5781// Code returns the exception type name. 5782func (s AttributeLimitExceededException) Code() string { 5783 return "AttributeLimitExceededException" 5784} 5785 5786// Message returns the exception's message. 5787func (s AttributeLimitExceededException) Message() string { 5788 if s.Message_ != nil { 5789 return *s.Message_ 5790 } 5791 return "" 5792} 5793 5794// OrigErr always returns nil, satisfies awserr.Error interface. 5795func (s AttributeLimitExceededException) OrigErr() error { 5796 return nil 5797} 5798 5799func (s AttributeLimitExceededException) Error() string { 5800 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5801} 5802 5803// Status code returns the HTTP status code for the request's response error. 5804func (s AttributeLimitExceededException) StatusCode() int { 5805 return s.respMetadata.StatusCode 5806} 5807 5808// RequestID returns the service's response RequestID for request. 5809func (s AttributeLimitExceededException) RequestID() string { 5810 return s.respMetadata.RequestID 5811} 5812 5813// The details of the Auto Scaling group for the capacity provider. 5814type AutoScalingGroupProvider struct { 5815 _ struct{} `type:"structure"` 5816 5817 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 5818 // 5819 // AutoScalingGroupArn is a required field 5820 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 5821 5822 // The managed scaling settings for the Auto Scaling group capacity provider. 5823 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 5824 5825 // The managed termination protection setting to use for the Auto Scaling group 5826 // capacity provider. This determines whether the Auto Scaling group has managed 5827 // termination protection. 5828 // 5829 // When using managed termination protection, managed scaling must also be used 5830 // otherwise managed termination protection will not work. 5831 // 5832 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 5833 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 5834 // during a scale-in action. The Auto Scaling group and each instance in the 5835 // Auto Scaling group must have instance protection from scale-in actions enabled 5836 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 5837 // in the AWS Auto Scaling User Guide. 5838 // 5839 // When managed termination protection is disabled, your Amazon EC2 instances 5840 // are not protected from termination when the Auto Scaling group scales in. 5841 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 5842} 5843 5844// String returns the string representation 5845func (s AutoScalingGroupProvider) String() string { 5846 return awsutil.Prettify(s) 5847} 5848 5849// GoString returns the string representation 5850func (s AutoScalingGroupProvider) GoString() string { 5851 return s.String() 5852} 5853 5854// Validate inspects the fields of the type to determine if they are valid. 5855func (s *AutoScalingGroupProvider) Validate() error { 5856 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 5857 if s.AutoScalingGroupArn == nil { 5858 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 5859 } 5860 if s.ManagedScaling != nil { 5861 if err := s.ManagedScaling.Validate(); err != nil { 5862 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 5863 } 5864 } 5865 5866 if invalidParams.Len() > 0 { 5867 return invalidParams 5868 } 5869 return nil 5870} 5871 5872// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 5873func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 5874 s.AutoScalingGroupArn = &v 5875 return s 5876} 5877 5878// SetManagedScaling sets the ManagedScaling field's value. 5879func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 5880 s.ManagedScaling = v 5881 return s 5882} 5883 5884// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 5885func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 5886 s.ManagedTerminationProtection = &v 5887 return s 5888} 5889 5890// An object representing the networking details for a task or service. 5891type AwsVpcConfiguration struct { 5892 _ struct{} `type:"structure"` 5893 5894 // Whether the task's elastic network interface receives a public IP address. 5895 // The default value is DISABLED. 5896 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 5897 5898 // The security groups associated with the task or service. If you do not specify 5899 // a security group, the default security group for the VPC is used. There is 5900 // a limit of 5 security groups that can be specified per AwsVpcConfiguration. 5901 // 5902 // All specified security groups must be from the same VPC. 5903 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 5904 5905 // The subnets associated with the task or service. There is a limit of 16 subnets 5906 // that can be specified per AwsVpcConfiguration. 5907 // 5908 // All specified subnets must be from the same VPC. 5909 // 5910 // Subnets is a required field 5911 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 5912} 5913 5914// String returns the string representation 5915func (s AwsVpcConfiguration) String() string { 5916 return awsutil.Prettify(s) 5917} 5918 5919// GoString returns the string representation 5920func (s AwsVpcConfiguration) GoString() string { 5921 return s.String() 5922} 5923 5924// Validate inspects the fields of the type to determine if they are valid. 5925func (s *AwsVpcConfiguration) Validate() error { 5926 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 5927 if s.Subnets == nil { 5928 invalidParams.Add(request.NewErrParamRequired("Subnets")) 5929 } 5930 5931 if invalidParams.Len() > 0 { 5932 return invalidParams 5933 } 5934 return nil 5935} 5936 5937// SetAssignPublicIp sets the AssignPublicIp field's value. 5938func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 5939 s.AssignPublicIp = &v 5940 return s 5941} 5942 5943// SetSecurityGroups sets the SecurityGroups field's value. 5944func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 5945 s.SecurityGroups = v 5946 return s 5947} 5948 5949// SetSubnets sets the Subnets field's value. 5950func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 5951 s.Subnets = v 5952 return s 5953} 5954 5955// Your AWS account has been blocked. For more information, contact AWS Support 5956// (http://aws.amazon.com/contact-us/). 5957type BlockedException struct { 5958 _ struct{} `type:"structure"` 5959 respMetadata protocol.ResponseMetadata 5960 5961 Message_ *string `locationName:"message" type:"string"` 5962} 5963 5964// String returns the string representation 5965func (s BlockedException) String() string { 5966 return awsutil.Prettify(s) 5967} 5968 5969// GoString returns the string representation 5970func (s BlockedException) GoString() string { 5971 return s.String() 5972} 5973 5974func newErrorBlockedException(v protocol.ResponseMetadata) error { 5975 return &BlockedException{ 5976 respMetadata: v, 5977 } 5978} 5979 5980// Code returns the exception type name. 5981func (s BlockedException) Code() string { 5982 return "BlockedException" 5983} 5984 5985// Message returns the exception's message. 5986func (s BlockedException) Message() string { 5987 if s.Message_ != nil { 5988 return *s.Message_ 5989 } 5990 return "" 5991} 5992 5993// OrigErr always returns nil, satisfies awserr.Error interface. 5994func (s BlockedException) OrigErr() error { 5995 return nil 5996} 5997 5998func (s BlockedException) Error() string { 5999 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6000} 6001 6002// Status code returns the HTTP status code for the request's response error. 6003func (s BlockedException) StatusCode() int { 6004 return s.respMetadata.StatusCode 6005} 6006 6007// RequestID returns the service's response RequestID for request. 6008func (s BlockedException) RequestID() string { 6009 return s.respMetadata.RequestID 6010} 6011 6012// The details of a capacity provider. 6013type CapacityProvider struct { 6014 _ struct{} `type:"structure"` 6015 6016 // The Auto Scaling group settings for the capacity provider. 6017 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 6018 6019 // The Amazon Resource Name (ARN) that identifies the capacity provider. 6020 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 6021 6022 // The name of the capacity provider. 6023 Name *string `locationName:"name" type:"string"` 6024 6025 // The current status of the capacity provider. Only capacity providers in an 6026 // ACTIVE state can be used in a cluster. 6027 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 6028 6029 // The metadata that you apply to the capacity provider to help you categorize 6030 // and organize it. Each tag consists of a key and an optional value, both of 6031 // which you define. 6032 // 6033 // The following basic restrictions apply to tags: 6034 // 6035 // * Maximum number of tags per resource - 50 6036 // 6037 // * For each resource, each tag key must be unique, and each tag key can 6038 // have only one value. 6039 // 6040 // * Maximum key length - 128 Unicode characters in UTF-8 6041 // 6042 // * Maximum value length - 256 Unicode characters in UTF-8 6043 // 6044 // * If your tagging schema is used across multiple services and resources, 6045 // remember that other services may have restrictions on allowed characters. 6046 // Generally allowed characters are: letters, numbers, and spaces representable 6047 // in UTF-8, and the following characters: + - = . _ : / @. 6048 // 6049 // * Tag keys and values are case-sensitive. 6050 // 6051 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6052 // as a prefix for either keys or values as it is reserved for AWS use. You 6053 // cannot edit or delete tag keys or values with this prefix. Tags with this 6054 // prefix do not count against your tags per resource limit. 6055 Tags []*Tag `locationName:"tags" type:"list"` 6056} 6057 6058// String returns the string representation 6059func (s CapacityProvider) String() string { 6060 return awsutil.Prettify(s) 6061} 6062 6063// GoString returns the string representation 6064func (s CapacityProvider) GoString() string { 6065 return s.String() 6066} 6067 6068// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 6069func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 6070 s.AutoScalingGroupProvider = v 6071 return s 6072} 6073 6074// SetCapacityProviderArn sets the CapacityProviderArn field's value. 6075func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 6076 s.CapacityProviderArn = &v 6077 return s 6078} 6079 6080// SetName sets the Name field's value. 6081func (s *CapacityProvider) SetName(v string) *CapacityProvider { 6082 s.Name = &v 6083 return s 6084} 6085 6086// SetStatus sets the Status field's value. 6087func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 6088 s.Status = &v 6089 return s 6090} 6091 6092// SetTags sets the Tags field's value. 6093func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 6094 s.Tags = v 6095 return s 6096} 6097 6098// The details of a capacity provider strategy. 6099type CapacityProviderStrategyItem struct { 6100 _ struct{} `type:"structure"` 6101 6102 // The base value designates how many tasks, at a minimum, to run on the specified 6103 // capacity provider. Only one capacity provider in a capacity provider strategy 6104 // can have a base defined. 6105 Base *int64 `locationName:"base" type:"integer"` 6106 6107 // The short name or full Amazon Resource Name (ARN) of the capacity provider. 6108 // 6109 // CapacityProvider is a required field 6110 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 6111 6112 // The weight value designates the relative percentage of the total number of 6113 // tasks launched that should use the specified capacity provider. 6114 // 6115 // For example, if you have a strategy that contains two capacity providers 6116 // and both have a weight of 1, then when the base is satisfied, the tasks will 6117 // be split evenly across the two capacity providers. Using that same logic, 6118 // if you specify a weight of 1 for capacityProviderA and a weight of 4 for 6119 // capacityProviderB, then for every one task that is run using capacityProviderA, 6120 // four tasks would use capacityProviderB. 6121 Weight *int64 `locationName:"weight" type:"integer"` 6122} 6123 6124// String returns the string representation 6125func (s CapacityProviderStrategyItem) String() string { 6126 return awsutil.Prettify(s) 6127} 6128 6129// GoString returns the string representation 6130func (s CapacityProviderStrategyItem) GoString() string { 6131 return s.String() 6132} 6133 6134// Validate inspects the fields of the type to determine if they are valid. 6135func (s *CapacityProviderStrategyItem) Validate() error { 6136 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 6137 if s.CapacityProvider == nil { 6138 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 6139 } 6140 6141 if invalidParams.Len() > 0 { 6142 return invalidParams 6143 } 6144 return nil 6145} 6146 6147// SetBase sets the Base field's value. 6148func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 6149 s.Base = &v 6150 return s 6151} 6152 6153// SetCapacityProvider sets the CapacityProvider field's value. 6154func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 6155 s.CapacityProvider = &v 6156 return s 6157} 6158 6159// SetWeight sets the Weight field's value. 6160func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 6161 s.Weight = &v 6162 return s 6163} 6164 6165// These errors are usually caused by a client action, such as using an action 6166// or resource on behalf of a user that doesn't have permissions to use the 6167// action or resource, or specifying an identifier that is not valid. 6168type ClientException struct { 6169 _ struct{} `type:"structure"` 6170 respMetadata protocol.ResponseMetadata 6171 6172 Message_ *string `locationName:"message" type:"string"` 6173} 6174 6175// String returns the string representation 6176func (s ClientException) String() string { 6177 return awsutil.Prettify(s) 6178} 6179 6180// GoString returns the string representation 6181func (s ClientException) GoString() string { 6182 return s.String() 6183} 6184 6185func newErrorClientException(v protocol.ResponseMetadata) error { 6186 return &ClientException{ 6187 respMetadata: v, 6188 } 6189} 6190 6191// Code returns the exception type name. 6192func (s ClientException) Code() string { 6193 return "ClientException" 6194} 6195 6196// Message returns the exception's message. 6197func (s ClientException) Message() string { 6198 if s.Message_ != nil { 6199 return *s.Message_ 6200 } 6201 return "" 6202} 6203 6204// OrigErr always returns nil, satisfies awserr.Error interface. 6205func (s ClientException) OrigErr() error { 6206 return nil 6207} 6208 6209func (s ClientException) Error() string { 6210 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6211} 6212 6213// Status code returns the HTTP status code for the request's response error. 6214func (s ClientException) StatusCode() int { 6215 return s.respMetadata.StatusCode 6216} 6217 6218// RequestID returns the service's response RequestID for request. 6219func (s ClientException) RequestID() string { 6220 return s.respMetadata.RequestID 6221} 6222 6223// A regional grouping of one or more container instances on which you can run 6224// task requests. Each account receives a default cluster the first time you 6225// use the Amazon ECS service, but you may also create other clusters. Clusters 6226// may contain more than one instance type simultaneously. 6227type Cluster struct { 6228 _ struct{} `type:"structure"` 6229 6230 // The number of services that are running on the cluster in an ACTIVE state. 6231 // You can view these services with ListServices. 6232 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 6233 6234 // The resources attached to a cluster. When using a capacity provider with 6235 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 6236 // attachment. 6237 Attachments []*Attachment `locationName:"attachments" type:"list"` 6238 6239 // The status of the capacity providers associated with the cluster. The following 6240 // are the states that will be returned: 6241 // 6242 // UPDATE_IN_PROGRESS 6243 // 6244 // The available capacity providers for the cluster are updating. This occurs 6245 // when the Auto Scaling plan is provisioning or deprovisioning. 6246 // 6247 // UPDATE_COMPLETE 6248 // 6249 // The capacity providers have successfully updated. 6250 // 6251 // UPDATE_FAILED 6252 // 6253 // The capacity provider updates failed. 6254 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 6255 6256 // The capacity providers associated with the cluster. 6257 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 6258 6259 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 6260 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 6261 // account ID of the cluster owner, the cluster namespace, and then the cluster 6262 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 6263 ClusterArn *string `locationName:"clusterArn" type:"string"` 6264 6265 // A user-generated string that you use to identify your cluster. 6266 ClusterName *string `locationName:"clusterName" type:"string"` 6267 6268 // The default capacity provider strategy for the cluster. When services or 6269 // tasks are run in the cluster with no launch type or capacity provider strategy 6270 // specified, the default capacity provider strategy is used. 6271 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 6272 6273 // The number of tasks in the cluster that are in the PENDING state. 6274 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6275 6276 // The number of container instances registered into the cluster. This includes 6277 // container instances in both ACTIVE and DRAINING status. 6278 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 6279 6280 // The number of tasks in the cluster that are in the RUNNING state. 6281 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6282 6283 // The settings for the cluster. This parameter indicates whether CloudWatch 6284 // Container Insights is enabled or disabled for a cluster. 6285 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6286 6287 // Additional information about your clusters that are separated by launch type, 6288 // including: 6289 // 6290 // * runningEC2TasksCount 6291 // 6292 // * RunningFargateTasksCount 6293 // 6294 // * pendingEC2TasksCount 6295 // 6296 // * pendingFargateTasksCount 6297 // 6298 // * activeEC2ServiceCount 6299 // 6300 // * activeFargateServiceCount 6301 // 6302 // * drainingEC2ServiceCount 6303 // 6304 // * drainingFargateServiceCount 6305 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6306 6307 // The status of the cluster. The following are the possible states that will 6308 // be returned. 6309 // 6310 // ACTIVE 6311 // 6312 // The cluster is ready to accept tasks and if applicable you can register container 6313 // instances with the cluster. 6314 // 6315 // PROVISIONING 6316 // 6317 // The cluster has capacity providers associated with it and the resources needed 6318 // for the capacity provider are being created. 6319 // 6320 // DEPROVISIONING 6321 // 6322 // The cluster has capacity providers associated with it and the resources needed 6323 // for the capacity provider are being deleted. 6324 // 6325 // FAILED 6326 // 6327 // The cluster has capacity providers associated with it and the resources needed 6328 // for the capacity provider have failed to create. 6329 // 6330 // INACTIVE 6331 // 6332 // The cluster has been deleted. Clusters with an INACTIVE status may remain 6333 // discoverable in your account for a period of time. However, this behavior 6334 // is subject to change in the future, so you should not rely on INACTIVE clusters 6335 // persisting. 6336 Status *string `locationName:"status" type:"string"` 6337 6338 // The metadata that you apply to the cluster to help you categorize and organize 6339 // them. Each tag consists of a key and an optional value, both of which you 6340 // define. 6341 // 6342 // The following basic restrictions apply to tags: 6343 // 6344 // * Maximum number of tags per resource - 50 6345 // 6346 // * For each resource, each tag key must be unique, and each tag key can 6347 // have only one value. 6348 // 6349 // * Maximum key length - 128 Unicode characters in UTF-8 6350 // 6351 // * Maximum value length - 256 Unicode characters in UTF-8 6352 // 6353 // * If your tagging schema is used across multiple services and resources, 6354 // remember that other services may have restrictions on allowed characters. 6355 // Generally allowed characters are: letters, numbers, and spaces representable 6356 // in UTF-8, and the following characters: + - = . _ : / @. 6357 // 6358 // * Tag keys and values are case-sensitive. 6359 // 6360 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6361 // as a prefix for either keys or values as it is reserved for AWS use. You 6362 // cannot edit or delete tag keys or values with this prefix. Tags with this 6363 // prefix do not count against your tags per resource limit. 6364 Tags []*Tag `locationName:"tags" type:"list"` 6365} 6366 6367// String returns the string representation 6368func (s Cluster) String() string { 6369 return awsutil.Prettify(s) 6370} 6371 6372// GoString returns the string representation 6373func (s Cluster) GoString() string { 6374 return s.String() 6375} 6376 6377// SetActiveServicesCount sets the ActiveServicesCount field's value. 6378func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 6379 s.ActiveServicesCount = &v 6380 return s 6381} 6382 6383// SetAttachments sets the Attachments field's value. 6384func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 6385 s.Attachments = v 6386 return s 6387} 6388 6389// SetAttachmentsStatus sets the AttachmentsStatus field's value. 6390func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 6391 s.AttachmentsStatus = &v 6392 return s 6393} 6394 6395// SetCapacityProviders sets the CapacityProviders field's value. 6396func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 6397 s.CapacityProviders = v 6398 return s 6399} 6400 6401// SetClusterArn sets the ClusterArn field's value. 6402func (s *Cluster) SetClusterArn(v string) *Cluster { 6403 s.ClusterArn = &v 6404 return s 6405} 6406 6407// SetClusterName sets the ClusterName field's value. 6408func (s *Cluster) SetClusterName(v string) *Cluster { 6409 s.ClusterName = &v 6410 return s 6411} 6412 6413// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 6414func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 6415 s.DefaultCapacityProviderStrategy = v 6416 return s 6417} 6418 6419// SetPendingTasksCount sets the PendingTasksCount field's value. 6420func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 6421 s.PendingTasksCount = &v 6422 return s 6423} 6424 6425// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 6426func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 6427 s.RegisteredContainerInstancesCount = &v 6428 return s 6429} 6430 6431// SetRunningTasksCount sets the RunningTasksCount field's value. 6432func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 6433 s.RunningTasksCount = &v 6434 return s 6435} 6436 6437// SetSettings sets the Settings field's value. 6438func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 6439 s.Settings = v 6440 return s 6441} 6442 6443// SetStatistics sets the Statistics field's value. 6444func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 6445 s.Statistics = v 6446 return s 6447} 6448 6449// SetStatus sets the Status field's value. 6450func (s *Cluster) SetStatus(v string) *Cluster { 6451 s.Status = &v 6452 return s 6453} 6454 6455// SetTags sets the Tags field's value. 6456func (s *Cluster) SetTags(v []*Tag) *Cluster { 6457 s.Tags = v 6458 return s 6459} 6460 6461// You cannot delete a cluster that has registered container instances. First, 6462// deregister the container instances before you can delete the cluster. For 6463// more information, see DeregisterContainerInstance. 6464type ClusterContainsContainerInstancesException struct { 6465 _ struct{} `type:"structure"` 6466 respMetadata protocol.ResponseMetadata 6467 6468 Message_ *string `locationName:"message" type:"string"` 6469} 6470 6471// String returns the string representation 6472func (s ClusterContainsContainerInstancesException) String() string { 6473 return awsutil.Prettify(s) 6474} 6475 6476// GoString returns the string representation 6477func (s ClusterContainsContainerInstancesException) GoString() string { 6478 return s.String() 6479} 6480 6481func newErrorClusterContainsContainerInstancesException(v protocol.ResponseMetadata) error { 6482 return &ClusterContainsContainerInstancesException{ 6483 respMetadata: v, 6484 } 6485} 6486 6487// Code returns the exception type name. 6488func (s ClusterContainsContainerInstancesException) Code() string { 6489 return "ClusterContainsContainerInstancesException" 6490} 6491 6492// Message returns the exception's message. 6493func (s ClusterContainsContainerInstancesException) Message() string { 6494 if s.Message_ != nil { 6495 return *s.Message_ 6496 } 6497 return "" 6498} 6499 6500// OrigErr always returns nil, satisfies awserr.Error interface. 6501func (s ClusterContainsContainerInstancesException) OrigErr() error { 6502 return nil 6503} 6504 6505func (s ClusterContainsContainerInstancesException) Error() string { 6506 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6507} 6508 6509// Status code returns the HTTP status code for the request's response error. 6510func (s ClusterContainsContainerInstancesException) StatusCode() int { 6511 return s.respMetadata.StatusCode 6512} 6513 6514// RequestID returns the service's response RequestID for request. 6515func (s ClusterContainsContainerInstancesException) RequestID() string { 6516 return s.respMetadata.RequestID 6517} 6518 6519// You cannot delete a cluster that contains services. First, update the service 6520// to reduce its desired task count to 0 and then delete the service. For more 6521// information, see UpdateService and DeleteService. 6522type ClusterContainsServicesException struct { 6523 _ struct{} `type:"structure"` 6524 respMetadata protocol.ResponseMetadata 6525 6526 Message_ *string `locationName:"message" type:"string"` 6527} 6528 6529// String returns the string representation 6530func (s ClusterContainsServicesException) String() string { 6531 return awsutil.Prettify(s) 6532} 6533 6534// GoString returns the string representation 6535func (s ClusterContainsServicesException) GoString() string { 6536 return s.String() 6537} 6538 6539func newErrorClusterContainsServicesException(v protocol.ResponseMetadata) error { 6540 return &ClusterContainsServicesException{ 6541 respMetadata: v, 6542 } 6543} 6544 6545// Code returns the exception type name. 6546func (s ClusterContainsServicesException) Code() string { 6547 return "ClusterContainsServicesException" 6548} 6549 6550// Message returns the exception's message. 6551func (s ClusterContainsServicesException) Message() string { 6552 if s.Message_ != nil { 6553 return *s.Message_ 6554 } 6555 return "" 6556} 6557 6558// OrigErr always returns nil, satisfies awserr.Error interface. 6559func (s ClusterContainsServicesException) OrigErr() error { 6560 return nil 6561} 6562 6563func (s ClusterContainsServicesException) Error() string { 6564 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6565} 6566 6567// Status code returns the HTTP status code for the request's response error. 6568func (s ClusterContainsServicesException) StatusCode() int { 6569 return s.respMetadata.StatusCode 6570} 6571 6572// RequestID returns the service's response RequestID for request. 6573func (s ClusterContainsServicesException) RequestID() string { 6574 return s.respMetadata.RequestID 6575} 6576 6577// You cannot delete a cluster that has active tasks. 6578type ClusterContainsTasksException struct { 6579 _ struct{} `type:"structure"` 6580 respMetadata protocol.ResponseMetadata 6581 6582 Message_ *string `locationName:"message" type:"string"` 6583} 6584 6585// String returns the string representation 6586func (s ClusterContainsTasksException) String() string { 6587 return awsutil.Prettify(s) 6588} 6589 6590// GoString returns the string representation 6591func (s ClusterContainsTasksException) GoString() string { 6592 return s.String() 6593} 6594 6595func newErrorClusterContainsTasksException(v protocol.ResponseMetadata) error { 6596 return &ClusterContainsTasksException{ 6597 respMetadata: v, 6598 } 6599} 6600 6601// Code returns the exception type name. 6602func (s ClusterContainsTasksException) Code() string { 6603 return "ClusterContainsTasksException" 6604} 6605 6606// Message returns the exception's message. 6607func (s ClusterContainsTasksException) Message() string { 6608 if s.Message_ != nil { 6609 return *s.Message_ 6610 } 6611 return "" 6612} 6613 6614// OrigErr always returns nil, satisfies awserr.Error interface. 6615func (s ClusterContainsTasksException) OrigErr() error { 6616 return nil 6617} 6618 6619func (s ClusterContainsTasksException) Error() string { 6620 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6621} 6622 6623// Status code returns the HTTP status code for the request's response error. 6624func (s ClusterContainsTasksException) StatusCode() int { 6625 return s.respMetadata.StatusCode 6626} 6627 6628// RequestID returns the service's response RequestID for request. 6629func (s ClusterContainsTasksException) RequestID() string { 6630 return s.respMetadata.RequestID 6631} 6632 6633// The specified cluster could not be found. You can view your available clusters 6634// with ListClusters. Amazon ECS clusters are Region-specific. 6635type ClusterNotFoundException struct { 6636 _ struct{} `type:"structure"` 6637 respMetadata protocol.ResponseMetadata 6638 6639 Message_ *string `locationName:"message" type:"string"` 6640} 6641 6642// String returns the string representation 6643func (s ClusterNotFoundException) String() string { 6644 return awsutil.Prettify(s) 6645} 6646 6647// GoString returns the string representation 6648func (s ClusterNotFoundException) GoString() string { 6649 return s.String() 6650} 6651 6652func newErrorClusterNotFoundException(v protocol.ResponseMetadata) error { 6653 return &ClusterNotFoundException{ 6654 respMetadata: v, 6655 } 6656} 6657 6658// Code returns the exception type name. 6659func (s ClusterNotFoundException) Code() string { 6660 return "ClusterNotFoundException" 6661} 6662 6663// Message returns the exception's message. 6664func (s ClusterNotFoundException) Message() string { 6665 if s.Message_ != nil { 6666 return *s.Message_ 6667 } 6668 return "" 6669} 6670 6671// OrigErr always returns nil, satisfies awserr.Error interface. 6672func (s ClusterNotFoundException) OrigErr() error { 6673 return nil 6674} 6675 6676func (s ClusterNotFoundException) Error() string { 6677 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6678} 6679 6680// Status code returns the HTTP status code for the request's response error. 6681func (s ClusterNotFoundException) StatusCode() int { 6682 return s.respMetadata.StatusCode 6683} 6684 6685// RequestID returns the service's response RequestID for request. 6686func (s ClusterNotFoundException) RequestID() string { 6687 return s.respMetadata.RequestID 6688} 6689 6690// The settings to use when creating a cluster. This parameter is used to enable 6691// CloudWatch Container Insights for a cluster. 6692type ClusterSetting struct { 6693 _ struct{} `type:"structure"` 6694 6695 // The name of the cluster setting. The only supported value is containerInsights. 6696 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 6697 6698 // The value to set for the cluster setting. The supported values are enabled 6699 // and disabled. If enabled is specified, CloudWatch Container Insights will 6700 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 6701 // account setting is enabled. If a cluster value is specified, it will override 6702 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 6703 Value *string `locationName:"value" type:"string"` 6704} 6705 6706// String returns the string representation 6707func (s ClusterSetting) String() string { 6708 return awsutil.Prettify(s) 6709} 6710 6711// GoString returns the string representation 6712func (s ClusterSetting) GoString() string { 6713 return s.String() 6714} 6715 6716// SetName sets the Name field's value. 6717func (s *ClusterSetting) SetName(v string) *ClusterSetting { 6718 s.Name = &v 6719 return s 6720} 6721 6722// SetValue sets the Value field's value. 6723func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 6724 s.Value = &v 6725 return s 6726} 6727 6728// A Docker container that is part of a task. 6729type Container struct { 6730 _ struct{} `type:"structure"` 6731 6732 // The Amazon Resource Name (ARN) of the container. 6733 ContainerArn *string `locationName:"containerArn" type:"string"` 6734 6735 // The number of CPU units set for the container. The value will be 0 if no 6736 // value was specified in the container definition when the task definition 6737 // was registered. 6738 Cpu *string `locationName:"cpu" type:"string"` 6739 6740 // The exit code returned from the container. 6741 ExitCode *int64 `locationName:"exitCode" type:"integer"` 6742 6743 // The IDs of each GPU assigned to the container. 6744 GpuIds []*string `locationName:"gpuIds" type:"list"` 6745 6746 // The health status of the container. If health checks are not configured for 6747 // this container in its task definition, then it reports the health status 6748 // as UNKNOWN. 6749 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 6750 6751 // The image used for the container. 6752 Image *string `locationName:"image" type:"string"` 6753 6754 // The container image manifest digest. 6755 // 6756 // The imageDigest is only returned if the container is using an image hosted 6757 // in Amazon ECR, otherwise it is omitted. 6758 ImageDigest *string `locationName:"imageDigest" type:"string"` 6759 6760 // The last known status of the container. 6761 LastStatus *string `locationName:"lastStatus" type:"string"` 6762 6763 // The hard limit (in MiB) of memory set for the container. 6764 Memory *string `locationName:"memory" type:"string"` 6765 6766 // The soft limit (in MiB) of memory set for the container. 6767 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 6768 6769 // The name of the container. 6770 Name *string `locationName:"name" type:"string"` 6771 6772 // The network bindings associated with the container. 6773 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 6774 6775 // The network interfaces associated with the container. 6776 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 6777 6778 // A short (255 max characters) human-readable string to provide additional 6779 // details about a running or stopped container. 6780 Reason *string `locationName:"reason" type:"string"` 6781 6782 // The ID of the Docker container. 6783 RuntimeId *string `locationName:"runtimeId" type:"string"` 6784 6785 // The ARN of the task. 6786 TaskArn *string `locationName:"taskArn" type:"string"` 6787} 6788 6789// String returns the string representation 6790func (s Container) String() string { 6791 return awsutil.Prettify(s) 6792} 6793 6794// GoString returns the string representation 6795func (s Container) GoString() string { 6796 return s.String() 6797} 6798 6799// SetContainerArn sets the ContainerArn field's value. 6800func (s *Container) SetContainerArn(v string) *Container { 6801 s.ContainerArn = &v 6802 return s 6803} 6804 6805// SetCpu sets the Cpu field's value. 6806func (s *Container) SetCpu(v string) *Container { 6807 s.Cpu = &v 6808 return s 6809} 6810 6811// SetExitCode sets the ExitCode field's value. 6812func (s *Container) SetExitCode(v int64) *Container { 6813 s.ExitCode = &v 6814 return s 6815} 6816 6817// SetGpuIds sets the GpuIds field's value. 6818func (s *Container) SetGpuIds(v []*string) *Container { 6819 s.GpuIds = v 6820 return s 6821} 6822 6823// SetHealthStatus sets the HealthStatus field's value. 6824func (s *Container) SetHealthStatus(v string) *Container { 6825 s.HealthStatus = &v 6826 return s 6827} 6828 6829// SetImage sets the Image field's value. 6830func (s *Container) SetImage(v string) *Container { 6831 s.Image = &v 6832 return s 6833} 6834 6835// SetImageDigest sets the ImageDigest field's value. 6836func (s *Container) SetImageDigest(v string) *Container { 6837 s.ImageDigest = &v 6838 return s 6839} 6840 6841// SetLastStatus sets the LastStatus field's value. 6842func (s *Container) SetLastStatus(v string) *Container { 6843 s.LastStatus = &v 6844 return s 6845} 6846 6847// SetMemory sets the Memory field's value. 6848func (s *Container) SetMemory(v string) *Container { 6849 s.Memory = &v 6850 return s 6851} 6852 6853// SetMemoryReservation sets the MemoryReservation field's value. 6854func (s *Container) SetMemoryReservation(v string) *Container { 6855 s.MemoryReservation = &v 6856 return s 6857} 6858 6859// SetName sets the Name field's value. 6860func (s *Container) SetName(v string) *Container { 6861 s.Name = &v 6862 return s 6863} 6864 6865// SetNetworkBindings sets the NetworkBindings field's value. 6866func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 6867 s.NetworkBindings = v 6868 return s 6869} 6870 6871// SetNetworkInterfaces sets the NetworkInterfaces field's value. 6872func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 6873 s.NetworkInterfaces = v 6874 return s 6875} 6876 6877// SetReason sets the Reason field's value. 6878func (s *Container) SetReason(v string) *Container { 6879 s.Reason = &v 6880 return s 6881} 6882 6883// SetRuntimeId sets the RuntimeId field's value. 6884func (s *Container) SetRuntimeId(v string) *Container { 6885 s.RuntimeId = &v 6886 return s 6887} 6888 6889// SetTaskArn sets the TaskArn field's value. 6890func (s *Container) SetTaskArn(v string) *Container { 6891 s.TaskArn = &v 6892 return s 6893} 6894 6895// Container definitions are used in task definitions to describe the different 6896// containers that are launched as part of a task. 6897type ContainerDefinition struct { 6898 _ struct{} `type:"structure"` 6899 6900 // The command that is passed to the container. This parameter maps to Cmd in 6901 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6902 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6903 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 6904 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 6905 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 6906 // arguments, each argument should be a separated string in the array. 6907 Command []*string `locationName:"command" type:"list"` 6908 6909 // The number of cpu units reserved for the container. This parameter maps to 6910 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6911 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6912 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 6913 // 6914 // This field is optional for tasks using the Fargate launch type, and the only 6915 // requirement is that the total amount of CPU reserved for all containers within 6916 // a task be lower than the task-level cpu value. 6917 // 6918 // You can determine the number of CPU units that are available per EC2 instance 6919 // type by multiplying the vCPUs listed for that instance type on the Amazon 6920 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 6921 // 1,024. 6922 // 6923 // Linux containers share unallocated CPU units with other containers on the 6924 // container instance with the same ratio as their allocated amount. For example, 6925 // if you run a single-container task on a single-core instance type with 512 6926 // CPU units specified for that container, and that is the only task running 6927 // on the container instance, that container could use the full 1,024 CPU unit 6928 // share at any given time. However, if you launched another copy of the same 6929 // task on that container instance, each task would be guaranteed a minimum 6930 // of 512 CPU units when needed, and each container could float to higher CPU 6931 // usage if the other container was not using it, but if both tasks were 100% 6932 // active all of the time, they would be limited to 512 CPU units. 6933 // 6934 // On Linux container instances, the Docker daemon on the container instance 6935 // uses the CPU value to calculate the relative CPU share ratios for running 6936 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 6937 // in the Docker documentation. The minimum valid CPU share value that the Linux 6938 // kernel allows is 2. However, the CPU parameter is not required, and you can 6939 // use CPU values below 2 in your container definitions. For CPU values below 6940 // 2 (including null), the behavior varies based on your Amazon ECS container 6941 // agent version: 6942 // 6943 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 6944 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 6945 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 6946 // to two CPU shares. 6947 // 6948 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 6949 // of 1 are passed to Docker as 2. 6950 // 6951 // On Windows container instances, the CPU limit is enforced as an absolute 6952 // limit, or a quota. Windows containers only have access to the specified amount 6953 // of CPU that is described in the task definition. 6954 Cpu *int64 `locationName:"cpu" type:"integer"` 6955 6956 // The dependencies defined for container startup and shutdown. A container 6957 // can contain multiple dependencies. When a dependency is defined for container 6958 // startup, for container shutdown it is reversed. 6959 // 6960 // For tasks using the EC2 launch type, the container instances require at least 6961 // version 1.26.0 of the container agent to enable container dependencies. However, 6962 // we recommend using the latest container agent version. For information about 6963 // checking your agent version and updating to the latest version, see Updating 6964 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6965 // in the Amazon Elastic Container Service Developer Guide. If you are using 6966 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6967 // of the ecs-init package. If your container instances are launched from version 6968 // 20190301 or later, then they contain the required versions of the container 6969 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6970 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6971 // in the Amazon Elastic Container Service Developer Guide. 6972 // 6973 // For tasks using the Fargate launch type, the task or service requires platform 6974 // version 1.3.0 or later. 6975 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 6976 6977 // When this parameter is true, networking is disabled within the container. 6978 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6979 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 6980 // 6981 // This parameter is not supported for Windows containers. 6982 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 6983 6984 // A list of DNS search domains that are presented to the container. This parameter 6985 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6986 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6987 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 6988 // 6989 // This parameter is not supported for Windows containers. 6990 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 6991 6992 // A list of DNS servers that are presented to the container. This parameter 6993 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6994 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6995 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 6996 // 6997 // This parameter is not supported for Windows containers. 6998 DnsServers []*string `locationName:"dnsServers" type:"list"` 6999 7000 // A key/value map of labels to add to the container. This parameter maps to 7001 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7002 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7003 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 7004 // This parameter requires version 1.18 of the Docker Remote API or greater 7005 // on your container instance. To check the Docker Remote API version on your 7006 // container instance, log in to your container instance and run the following 7007 // command: sudo docker version --format '{{.Server.APIVersion}}' 7008 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 7009 7010 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 7011 // security systems. This field is not valid for containers in tasks using the 7012 // Fargate launch type. 7013 // 7014 // With Windows containers, this parameter can be used to reference a credential 7015 // spec file when configuring a container for Active Directory authentication. 7016 // For more information, see Using gMSAs for Windows Containers (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) 7017 // in the Amazon Elastic Container Service Developer Guide. 7018 // 7019 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7020 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7021 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 7022 // 7023 // The Amazon ECS container agent running on a container instance must register 7024 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 7025 // variables before containers placed on that instance can use these security 7026 // options. For more information, see Amazon ECS Container Agent Configuration 7027 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7028 // in the Amazon Elastic Container Service Developer Guide. 7029 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 7030 7031 // 7032 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 7033 // parameters. If you have problems using entryPoint, update your container 7034 // agent or enter your commands and arguments as command array items instead. 7035 // 7036 // The entry point that is passed to the container. This parameter maps to Entrypoint 7037 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7038 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7039 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 7040 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 7041 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 7042 EntryPoint []*string `locationName:"entryPoint" type:"list"` 7043 7044 // The environment variables to pass to a container. This parameter maps to 7045 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7046 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7047 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 7048 // 7049 // We do not recommend using plaintext environment variables for sensitive information, 7050 // such as credential data. 7051 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7052 7053 // If the essential parameter of a container is marked as true, and that container 7054 // fails or stops for any reason, all other containers that are part of the 7055 // task are stopped. If the essential parameter of a container is marked as 7056 // false, then its failure does not affect the rest of the containers in a task. 7057 // If this parameter is omitted, a container is assumed to be essential. 7058 // 7059 // All tasks must have at least one essential container. If you have an application 7060 // that is composed of multiple containers, you should group containers that 7061 // are used for a common purpose into components, and separate the different 7062 // components into multiple task definitions. For more information, see Application 7063 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 7064 // in the Amazon Elastic Container Service Developer Guide. 7065 Essential *bool `locationName:"essential" type:"boolean"` 7066 7067 // A list of hostnames and IP address mappings to append to the /etc/hosts file 7068 // on the container. This parameter maps to ExtraHosts in the Create a container 7069 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7070 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7071 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 7072 // 7073 // This parameter is not supported for Windows containers or tasks that use 7074 // the awsvpc network mode. 7075 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 7076 7077 // The FireLens configuration for the container. This is used to specify and 7078 // configure a log router for container logs. For more information, see Custom 7079 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 7080 // in the Amazon Elastic Container Service Developer Guide. 7081 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 7082 7083 // The health check command and associated configuration parameters for the 7084 // container. This parameter maps to HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7085 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7086 // and the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/). 7087 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 7088 7089 // The hostname to use for your container. This parameter maps to Hostname in 7090 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7091 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7092 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 7093 // 7094 // The hostname parameter is not supported if you are using the awsvpc network 7095 // mode. 7096 Hostname *string `locationName:"hostname" type:"string"` 7097 7098 // The image used to start a container. This string is passed directly to the 7099 // Docker daemon. Images in the Docker Hub registry are available by default. 7100 // Other repositories are specified with either repository-url/image:tag or 7101 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 7102 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 7103 // signs are allowed. This parameter maps to Image in the Create a container 7104 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7105 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7106 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 7107 // 7108 // * When a new task starts, the Amazon ECS container agent pulls the latest 7109 // version of the specified image and tag for the container to use. However, 7110 // subsequent updates to a repository image are not propagated to already 7111 // running tasks. 7112 // 7113 // * Images in Amazon ECR repositories can be specified by either using the 7114 // full registry/repository:tag or registry/repository@digest. For example, 7115 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 7116 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 7117 // 7118 // * Images in official repositories on Docker Hub use a single name (for 7119 // example, ubuntu or mongo). 7120 // 7121 // * Images in other repositories on Docker Hub are qualified with an organization 7122 // name (for example, amazon/amazon-ecs-agent). 7123 // 7124 // * Images in other online repositories are qualified further by a domain 7125 // name (for example, quay.io/assemblyline/ubuntu). 7126 Image *string `locationName:"image" type:"string"` 7127 7128 // When this parameter is true, this allows you to deploy containerized applications 7129 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 7130 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7131 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7132 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/). 7133 Interactive *bool `locationName:"interactive" type:"boolean"` 7134 7135 // The links parameter allows containers to communicate with each other without 7136 // the need for port mappings. This parameter is only supported if the network 7137 // mode of a task definition is bridge. The name:internalName construct is analogous 7138 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 7139 // numbers, and hyphens are allowed. For more information about linking Docker 7140 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 7141 // in the Docker documentation. This parameter maps to Links in the Create a 7142 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7143 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7144 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 7145 // 7146 // This parameter is not supported for Windows containers. 7147 // 7148 // Containers that are collocated on a single container instance may be able 7149 // to communicate with each other without requiring links or host port mappings. 7150 // Network isolation is achieved on the container instance using security groups 7151 // and VPC settings. 7152 Links []*string `locationName:"links" type:"list"` 7153 7154 // Linux-specific modifications that are applied to the container, such as Linux 7155 // kernel capabilities. For more information see KernelCapabilities. 7156 // 7157 // This parameter is not supported for Windows containers. 7158 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 7159 7160 // The log configuration specification for the container. 7161 // 7162 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7163 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7164 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 7165 // By default, containers use the same logging driver that the Docker daemon 7166 // uses. However the container may use a different logging driver than the Docker 7167 // daemon by specifying a log driver with this parameter in the container definition. 7168 // To use a different logging driver for a container, the log system must be 7169 // configured properly on the container instance (or on a different log server 7170 // for remote logging options). For more information on the options for different 7171 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 7172 // in the Docker documentation. 7173 // 7174 // Amazon ECS currently supports a subset of the logging drivers available to 7175 // the Docker daemon (shown in the LogConfiguration data type). Additional log 7176 // drivers may be available in future releases of the Amazon ECS container agent. 7177 // 7178 // This parameter requires version 1.18 of the Docker Remote API or greater 7179 // on your container instance. To check the Docker Remote API version on your 7180 // container instance, log in to your container instance and run the following 7181 // command: sudo docker version --format '{{.Server.APIVersion}}' 7182 // 7183 // The Amazon ECS container agent running on a container instance must register 7184 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 7185 // environment variable before containers placed on that instance can use these 7186 // log configuration options. For more information, see Amazon ECS Container 7187 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7188 // in the Amazon Elastic Container Service Developer Guide. 7189 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 7190 7191 // The amount (in MiB) of memory to present to the container. If your container 7192 // attempts to exceed the memory specified here, the container is killed. The 7193 // total amount of memory reserved for all containers within a task must be 7194 // lower than the task memory value, if one is specified. This parameter maps 7195 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7196 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7197 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7198 // 7199 // If using the Fargate launch type, this parameter is optional. 7200 // 7201 // If using the EC2 launch type, you must specify either a task-level memory 7202 // value or a container-level memory value. If you specify both a container-level 7203 // memory and memoryReservation value, memory must be greater than memoryReservation. 7204 // If you specify memoryReservation, then that value is subtracted from the 7205 // available memory resources for the container instance on which the container 7206 // is placed. Otherwise, the value of memory is used. 7207 // 7208 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7209 // so you should not specify fewer than 4 MiB of memory for your containers. 7210 Memory *int64 `locationName:"memory" type:"integer"` 7211 7212 // The soft limit (in MiB) of memory to reserve for the container. When system 7213 // memory is under heavy contention, Docker attempts to keep the container memory 7214 // to this soft limit. However, your container can consume more memory when 7215 // it needs to, up to either the hard limit specified with the memory parameter 7216 // (if applicable), or all of the available memory on the container instance, 7217 // whichever comes first. This parameter maps to MemoryReservation in the Create 7218 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7219 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7220 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 7221 // 7222 // If a task-level memory value is not specified, you must specify a non-zero 7223 // integer for one or both of memory or memoryReservation in a container definition. 7224 // If you specify both, memory must be greater than memoryReservation. If you 7225 // specify memoryReservation, then that value is subtracted from the available 7226 // memory resources for the container instance on which the container is placed. 7227 // Otherwise, the value of memory is used. 7228 // 7229 // For example, if your container normally uses 128 MiB of memory, but occasionally 7230 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 7231 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 7232 // allow the container to only reserve 128 MiB of memory from the remaining 7233 // resources on the container instance, but also allow the container to consume 7234 // more memory resources when needed. 7235 // 7236 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7237 // so you should not specify fewer than 4 MiB of memory for your containers. 7238 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 7239 7240 // The mount points for data volumes in your container. 7241 // 7242 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7243 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7244 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 7245 // 7246 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 7247 // Windows containers cannot mount directories on a different drive, and mount 7248 // point cannot be across drives. 7249 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 7250 7251 // The name of a container. If you are linking multiple containers together 7252 // in a task definition, the name of one container can be entered in the links 7253 // of another container to connect the containers. Up to 255 letters (uppercase 7254 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 7255 // name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7256 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7257 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/). 7258 Name *string `locationName:"name" type:"string"` 7259 7260 // The list of port mappings for the container. Port mappings allow containers 7261 // to access ports on the host container instance to send or receive traffic. 7262 // 7263 // For task definitions that use the awsvpc network mode, you should only specify 7264 // the containerPort. The hostPort can be left blank or it must be the same 7265 // value as the containerPort. 7266 // 7267 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 7268 // There is no loopback for port mappings on Windows, so you cannot access a 7269 // container's mapped port from the host itself. 7270 // 7271 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7272 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7273 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 7274 // If the network mode of a task definition is set to none, then you can't specify 7275 // port mappings. If the network mode of a task definition is set to host, then 7276 // host ports must either be undefined or they must match the container port 7277 // in the port mapping. 7278 // 7279 // After a task reaches the RUNNING status, manual and automatic host and container 7280 // port assignments are visible in the Network Bindings section of a container 7281 // description for a selected task in the Amazon ECS console. The assignments 7282 // are also visible in the networkBindings section DescribeTasks responses. 7283 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 7284 7285 // When this parameter is true, the container is given elevated privileges on 7286 // the host container instance (similar to the root user). This parameter maps 7287 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7288 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7289 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 7290 // 7291 // This parameter is not supported for Windows containers or tasks using the 7292 // Fargate launch type. 7293 Privileged *bool `locationName:"privileged" type:"boolean"` 7294 7295 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 7296 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7297 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7298 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/). 7299 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 7300 7301 // When this parameter is true, the container is given read-only access to its 7302 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 7303 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7304 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7305 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/). 7306 // 7307 // This parameter is not supported for Windows containers. 7308 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 7309 7310 // The private repository authentication credentials to use. 7311 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 7312 7313 // The type and amount of a resource to assign to a container. The only supported 7314 // resource is a GPU. 7315 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 7316 7317 // The secrets to pass to the container. For more information, see Specifying 7318 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 7319 // in the Amazon Elastic Container Service Developer Guide. 7320 Secrets []*Secret `locationName:"secrets" type:"list"` 7321 7322 // Time duration (in seconds) to wait before giving up on resolving dependencies 7323 // for a container. For example, you specify two containers in a task definition 7324 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 7325 // or HEALTHY status. If a startTimeout value is specified for containerB and 7326 // it does not reach the desired status within that time then containerA will 7327 // give up and not start. This results in the task transitioning to a STOPPED 7328 // state. 7329 // 7330 // For tasks using the EC2 launch type, the container instances require at least 7331 // version 1.26.0 of the container agent to enable a container start timeout 7332 // value. However, we recommend using the latest container agent version. For 7333 // information about checking your agent version and updating to the latest 7334 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7335 // in the Amazon Elastic Container Service Developer Guide. If you are using 7336 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7337 // of the ecs-init package. If your container instances are launched from version 7338 // 20190301 or later, then they contain the required versions of the container 7339 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7340 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7341 // in the Amazon Elastic Container Service Developer Guide. 7342 // 7343 // For tasks using the Fargate launch type, the task or service requires platform 7344 // version 1.3.0 or later. 7345 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 7346 7347 // Time duration (in seconds) to wait before the container is forcefully killed 7348 // if it doesn't exit normally on its own. 7349 // 7350 // For tasks using the Fargate launch type, the max stopTimeout value is 2 minutes 7351 // and the task or service requires platform version 1.3.0 or later. 7352 // 7353 // For tasks using the EC2 launch type, the stop timeout value for the container 7354 // takes precedence over the ECS_CONTAINER_STOP_TIMEOUT container agent configuration 7355 // parameter, if used. Container instances require at least version 1.26.0 of 7356 // the container agent to enable a container stop timeout value. However, we 7357 // recommend using the latest container agent version. For information about 7358 // checking your agent version and updating to the latest version, see Updating 7359 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7360 // in the Amazon Elastic Container Service Developer Guide. If you are using 7361 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7362 // of the ecs-init package. If your container instances are launched from version 7363 // 20190301 or later, then they contain the required versions of the container 7364 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7365 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7366 // in the Amazon Elastic Container Service Developer Guide. 7367 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 7368 7369 // A list of namespaced kernel parameters to set in the container. This parameter 7370 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7371 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7372 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 7373 // 7374 // It is not recommended that you specify network-related systemControls parameters 7375 // for multiple containers in a single task that also uses either the awsvpc 7376 // or host network modes. For tasks that use the awsvpc network mode, the container 7377 // that is started last determines which systemControls parameters take effect. 7378 // For tasks that use the host network mode, it changes the container instance's 7379 // namespaced kernel parameters as well as the containers. 7380 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 7381 7382 // A list of ulimits to set in the container. This parameter maps to Ulimits 7383 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7384 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7385 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 7386 // Valid naming values are displayed in the Ulimit data type. This parameter 7387 // requires version 1.18 of the Docker Remote API or greater on your container 7388 // instance. To check the Docker Remote API version on your container instance, 7389 // log in to your container instance and run the following command: sudo docker 7390 // version --format '{{.Server.APIVersion}}' 7391 // 7392 // This parameter is not supported for Windows containers. 7393 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 7394 7395 // The user name to use inside the container. This parameter maps to User in 7396 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7397 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7398 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 7399 // 7400 // You can use the following formats. If specifying a UID or GID, you must specify 7401 // it as a positive integer. 7402 // 7403 // * user 7404 // 7405 // * user:group 7406 // 7407 // * uid 7408 // 7409 // * uid:gid 7410 // 7411 // * user:gid 7412 // 7413 // * uid:group 7414 // 7415 // This parameter is not supported for Windows containers. 7416 User *string `locationName:"user" type:"string"` 7417 7418 // Data volumes to mount from another container. This parameter maps to VolumesFrom 7419 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7420 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7421 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 7422 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 7423 7424 // The working directory in which to run commands inside the container. This 7425 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7426 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7427 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 7428 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 7429} 7430 7431// String returns the string representation 7432func (s ContainerDefinition) String() string { 7433 return awsutil.Prettify(s) 7434} 7435 7436// GoString returns the string representation 7437func (s ContainerDefinition) GoString() string { 7438 return s.String() 7439} 7440 7441// Validate inspects the fields of the type to determine if they are valid. 7442func (s *ContainerDefinition) Validate() error { 7443 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 7444 if s.DependsOn != nil { 7445 for i, v := range s.DependsOn { 7446 if v == nil { 7447 continue 7448 } 7449 if err := v.Validate(); err != nil { 7450 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 7451 } 7452 } 7453 } 7454 if s.ExtraHosts != nil { 7455 for i, v := range s.ExtraHosts { 7456 if v == nil { 7457 continue 7458 } 7459 if err := v.Validate(); err != nil { 7460 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 7461 } 7462 } 7463 } 7464 if s.FirelensConfiguration != nil { 7465 if err := s.FirelensConfiguration.Validate(); err != nil { 7466 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 7467 } 7468 } 7469 if s.HealthCheck != nil { 7470 if err := s.HealthCheck.Validate(); err != nil { 7471 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 7472 } 7473 } 7474 if s.LinuxParameters != nil { 7475 if err := s.LinuxParameters.Validate(); err != nil { 7476 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 7477 } 7478 } 7479 if s.LogConfiguration != nil { 7480 if err := s.LogConfiguration.Validate(); err != nil { 7481 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 7482 } 7483 } 7484 if s.RepositoryCredentials != nil { 7485 if err := s.RepositoryCredentials.Validate(); err != nil { 7486 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 7487 } 7488 } 7489 if s.ResourceRequirements != nil { 7490 for i, v := range s.ResourceRequirements { 7491 if v == nil { 7492 continue 7493 } 7494 if err := v.Validate(); err != nil { 7495 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 7496 } 7497 } 7498 } 7499 if s.Secrets != nil { 7500 for i, v := range s.Secrets { 7501 if v == nil { 7502 continue 7503 } 7504 if err := v.Validate(); err != nil { 7505 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 7506 } 7507 } 7508 } 7509 if s.Ulimits != nil { 7510 for i, v := range s.Ulimits { 7511 if v == nil { 7512 continue 7513 } 7514 if err := v.Validate(); err != nil { 7515 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 7516 } 7517 } 7518 } 7519 7520 if invalidParams.Len() > 0 { 7521 return invalidParams 7522 } 7523 return nil 7524} 7525 7526// SetCommand sets the Command field's value. 7527func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 7528 s.Command = v 7529 return s 7530} 7531 7532// SetCpu sets the Cpu field's value. 7533func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 7534 s.Cpu = &v 7535 return s 7536} 7537 7538// SetDependsOn sets the DependsOn field's value. 7539func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 7540 s.DependsOn = v 7541 return s 7542} 7543 7544// SetDisableNetworking sets the DisableNetworking field's value. 7545func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 7546 s.DisableNetworking = &v 7547 return s 7548} 7549 7550// SetDnsSearchDomains sets the DnsSearchDomains field's value. 7551func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 7552 s.DnsSearchDomains = v 7553 return s 7554} 7555 7556// SetDnsServers sets the DnsServers field's value. 7557func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 7558 s.DnsServers = v 7559 return s 7560} 7561 7562// SetDockerLabels sets the DockerLabels field's value. 7563func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 7564 s.DockerLabels = v 7565 return s 7566} 7567 7568// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 7569func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 7570 s.DockerSecurityOptions = v 7571 return s 7572} 7573 7574// SetEntryPoint sets the EntryPoint field's value. 7575func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 7576 s.EntryPoint = v 7577 return s 7578} 7579 7580// SetEnvironment sets the Environment field's value. 7581func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 7582 s.Environment = v 7583 return s 7584} 7585 7586// SetEssential sets the Essential field's value. 7587func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 7588 s.Essential = &v 7589 return s 7590} 7591 7592// SetExtraHosts sets the ExtraHosts field's value. 7593func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 7594 s.ExtraHosts = v 7595 return s 7596} 7597 7598// SetFirelensConfiguration sets the FirelensConfiguration field's value. 7599func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 7600 s.FirelensConfiguration = v 7601 return s 7602} 7603 7604// SetHealthCheck sets the HealthCheck field's value. 7605func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 7606 s.HealthCheck = v 7607 return s 7608} 7609 7610// SetHostname sets the Hostname field's value. 7611func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 7612 s.Hostname = &v 7613 return s 7614} 7615 7616// SetImage sets the Image field's value. 7617func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 7618 s.Image = &v 7619 return s 7620} 7621 7622// SetInteractive sets the Interactive field's value. 7623func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 7624 s.Interactive = &v 7625 return s 7626} 7627 7628// SetLinks sets the Links field's value. 7629func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 7630 s.Links = v 7631 return s 7632} 7633 7634// SetLinuxParameters sets the LinuxParameters field's value. 7635func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 7636 s.LinuxParameters = v 7637 return s 7638} 7639 7640// SetLogConfiguration sets the LogConfiguration field's value. 7641func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 7642 s.LogConfiguration = v 7643 return s 7644} 7645 7646// SetMemory sets the Memory field's value. 7647func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 7648 s.Memory = &v 7649 return s 7650} 7651 7652// SetMemoryReservation sets the MemoryReservation field's value. 7653func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 7654 s.MemoryReservation = &v 7655 return s 7656} 7657 7658// SetMountPoints sets the MountPoints field's value. 7659func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 7660 s.MountPoints = v 7661 return s 7662} 7663 7664// SetName sets the Name field's value. 7665func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 7666 s.Name = &v 7667 return s 7668} 7669 7670// SetPortMappings sets the PortMappings field's value. 7671func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 7672 s.PortMappings = v 7673 return s 7674} 7675 7676// SetPrivileged sets the Privileged field's value. 7677func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 7678 s.Privileged = &v 7679 return s 7680} 7681 7682// SetPseudoTerminal sets the PseudoTerminal field's value. 7683func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 7684 s.PseudoTerminal = &v 7685 return s 7686} 7687 7688// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 7689func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 7690 s.ReadonlyRootFilesystem = &v 7691 return s 7692} 7693 7694// SetRepositoryCredentials sets the RepositoryCredentials field's value. 7695func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 7696 s.RepositoryCredentials = v 7697 return s 7698} 7699 7700// SetResourceRequirements sets the ResourceRequirements field's value. 7701func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 7702 s.ResourceRequirements = v 7703 return s 7704} 7705 7706// SetSecrets sets the Secrets field's value. 7707func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 7708 s.Secrets = v 7709 return s 7710} 7711 7712// SetStartTimeout sets the StartTimeout field's value. 7713func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 7714 s.StartTimeout = &v 7715 return s 7716} 7717 7718// SetStopTimeout sets the StopTimeout field's value. 7719func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 7720 s.StopTimeout = &v 7721 return s 7722} 7723 7724// SetSystemControls sets the SystemControls field's value. 7725func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 7726 s.SystemControls = v 7727 return s 7728} 7729 7730// SetUlimits sets the Ulimits field's value. 7731func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 7732 s.Ulimits = v 7733 return s 7734} 7735 7736// SetUser sets the User field's value. 7737func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 7738 s.User = &v 7739 return s 7740} 7741 7742// SetVolumesFrom sets the VolumesFrom field's value. 7743func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 7744 s.VolumesFrom = v 7745 return s 7746} 7747 7748// SetWorkingDirectory sets the WorkingDirectory field's value. 7749func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 7750 s.WorkingDirectory = &v 7751 return s 7752} 7753 7754// The dependencies defined for container startup and shutdown. A container 7755// can contain multiple dependencies. When a dependency is defined for container 7756// startup, for container shutdown it is reversed. 7757// 7758// Your Amazon ECS container instances require at least version 1.26.0 of the 7759// container agent to enable container dependencies. However, we recommend using 7760// the latest container agent version. For information about checking your agent 7761// version and updating to the latest version, see Updating the Amazon ECS Container 7762// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7763// in the Amazon Elastic Container Service Developer Guide. If you are using 7764// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7765// of the ecs-init package. If your container instances are launched from version 7766// 20190301 or later, then they contain the required versions of the container 7767// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7768// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7769// in the Amazon Elastic Container Service Developer Guide. 7770// 7771// For tasks using the Fargate launch type, this parameter requires that the 7772// task or service uses platform version 1.3.0 or later. 7773type ContainerDependency struct { 7774 _ struct{} `type:"structure"` 7775 7776 // The dependency condition of the container. The following are the available 7777 // conditions and their behavior: 7778 // 7779 // * START - This condition emulates the behavior of links and volumes today. 7780 // It validates that a dependent container is started before permitting other 7781 // containers to start. 7782 // 7783 // * COMPLETE - This condition validates that a dependent container runs 7784 // to completion (exits) before permitting other containers to start. This 7785 // can be useful for nonessential containers that run a script and then exit. 7786 // 7787 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 7788 // that the container exits with a zero status. 7789 // 7790 // * HEALTHY - This condition validates that the dependent container passes 7791 // its Docker health check before permitting other containers to start. This 7792 // requires that the dependent container has health checks configured. This 7793 // condition is confirmed only at task startup. 7794 // 7795 // Condition is a required field 7796 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 7797 7798 // The name of a container. 7799 // 7800 // ContainerName is a required field 7801 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 7802} 7803 7804// String returns the string representation 7805func (s ContainerDependency) String() string { 7806 return awsutil.Prettify(s) 7807} 7808 7809// GoString returns the string representation 7810func (s ContainerDependency) GoString() string { 7811 return s.String() 7812} 7813 7814// Validate inspects the fields of the type to determine if they are valid. 7815func (s *ContainerDependency) Validate() error { 7816 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 7817 if s.Condition == nil { 7818 invalidParams.Add(request.NewErrParamRequired("Condition")) 7819 } 7820 if s.ContainerName == nil { 7821 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 7822 } 7823 7824 if invalidParams.Len() > 0 { 7825 return invalidParams 7826 } 7827 return nil 7828} 7829 7830// SetCondition sets the Condition field's value. 7831func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 7832 s.Condition = &v 7833 return s 7834} 7835 7836// SetContainerName sets the ContainerName field's value. 7837func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 7838 s.ContainerName = &v 7839 return s 7840} 7841 7842// An EC2 instance that is running the Amazon ECS agent and has been registered 7843// with a cluster. 7844type ContainerInstance struct { 7845 _ struct{} `type:"structure"` 7846 7847 // This parameter returns true if the agent is connected to Amazon ECS. Registered 7848 // instances with an agent that may be unhealthy or stopped return false. Only 7849 // instances connected to an agent can accept placement requests. 7850 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 7851 7852 // The status of the most recent agent update. If an update has never been requested, 7853 // this value is NULL. 7854 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 7855 7856 // The resources attached to a container instance, such as elastic network interfaces. 7857 Attachments []*Attachment `locationName:"attachments" type:"list"` 7858 7859 // The attributes set for the container instance, either by the Amazon ECS container 7860 // agent at instance registration or manually with the PutAttributes operation. 7861 Attributes []*Attribute `locationName:"attributes" type:"list"` 7862 7863 // The capacity provider associated with the container instance. 7864 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 7865 7866 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 7867 // the arn:aws:ecs namespace, followed by the Region of the container instance, 7868 // the AWS account ID of the container instance owner, the container-instance 7869 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 7870 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 7871 7872 // The EC2 instance ID of the container instance. 7873 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 7874 7875 // The number of tasks on the container instance that are in the PENDING status. 7876 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 7877 7878 // The Unix timestamp for when the container instance was registered. 7879 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 7880 7881 // For CPU and memory resource types, this parameter describes the amount of 7882 // each resource that was available on the container instance when the container 7883 // agent registered it with Amazon ECS. This value represents the total amount 7884 // of CPU and memory that can be allocated on this container instance to tasks. 7885 // For port resource types, this parameter describes the ports that were reserved 7886 // by the Amazon ECS container agent when it registered the container instance 7887 // with Amazon ECS. 7888 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 7889 7890 // For CPU and memory resource types, this parameter describes the remaining 7891 // CPU and memory that has not already been allocated to tasks and is therefore 7892 // available for new tasks. For port resource types, this parameter describes 7893 // the ports that were reserved by the Amazon ECS container agent (at instance 7894 // registration time) and any task containers that have reserved port mappings 7895 // on the host (with the host or bridge network mode). Any port that is not 7896 // specified here is available for new tasks. 7897 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 7898 7899 // The number of tasks on the container instance that are in the RUNNING status. 7900 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 7901 7902 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 7903 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 7904 // 7905 // If your account has opted in to the awsvpcTrunking account setting, then 7906 // any newly registered container instance will transition to a REGISTERING 7907 // status while the trunk elastic network interface is provisioned for the instance. 7908 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 7909 // status. You can describe the container instance and see the reason for failure 7910 // in the statusReason parameter. Once the container instance is terminated, 7911 // the instance transitions to a DEREGISTERING status while the trunk elastic 7912 // network interface is deprovisioned. The instance then transitions to an INACTIVE 7913 // status. 7914 // 7915 // The ACTIVE status indicates that the container instance can accept tasks. 7916 // The DRAINING indicates that new tasks are not placed on the container instance 7917 // and any service tasks running on the container instance are removed if possible. 7918 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 7919 // in the Amazon Elastic Container Service Developer Guide. 7920 Status *string `locationName:"status" type:"string"` 7921 7922 // The reason that the container instance reached its current status. 7923 StatusReason *string `locationName:"statusReason" type:"string"` 7924 7925 // The metadata that you apply to the container instance to help you categorize 7926 // and organize them. Each tag consists of a key and an optional value, both 7927 // of which you define. 7928 // 7929 // The following basic restrictions apply to tags: 7930 // 7931 // * Maximum number of tags per resource - 50 7932 // 7933 // * For each resource, each tag key must be unique, and each tag key can 7934 // have only one value. 7935 // 7936 // * Maximum key length - 128 Unicode characters in UTF-8 7937 // 7938 // * Maximum value length - 256 Unicode characters in UTF-8 7939 // 7940 // * If your tagging schema is used across multiple services and resources, 7941 // remember that other services may have restrictions on allowed characters. 7942 // Generally allowed characters are: letters, numbers, and spaces representable 7943 // in UTF-8, and the following characters: + - = . _ : / @. 7944 // 7945 // * Tag keys and values are case-sensitive. 7946 // 7947 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 7948 // as a prefix for either keys or values as it is reserved for AWS use. You 7949 // cannot edit or delete tag keys or values with this prefix. Tags with this 7950 // prefix do not count against your tags per resource limit. 7951 Tags []*Tag `locationName:"tags" type:"list"` 7952 7953 // The version counter for the container instance. Every time a container instance 7954 // experiences a change that triggers a CloudWatch event, the version counter 7955 // is incremented. If you are replicating your Amazon ECS container instance 7956 // state with CloudWatch Events, you can compare the version of a container 7957 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 7958 // Events for the container instance (inside the detail object) to verify that 7959 // the version in your event stream is current. 7960 Version *int64 `locationName:"version" type:"long"` 7961 7962 // The version information for the Amazon ECS container agent and Docker daemon 7963 // running on the container instance. 7964 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 7965} 7966 7967// String returns the string representation 7968func (s ContainerInstance) String() string { 7969 return awsutil.Prettify(s) 7970} 7971 7972// GoString returns the string representation 7973func (s ContainerInstance) GoString() string { 7974 return s.String() 7975} 7976 7977// SetAgentConnected sets the AgentConnected field's value. 7978func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 7979 s.AgentConnected = &v 7980 return s 7981} 7982 7983// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 7984func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 7985 s.AgentUpdateStatus = &v 7986 return s 7987} 7988 7989// SetAttachments sets the Attachments field's value. 7990func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 7991 s.Attachments = v 7992 return s 7993} 7994 7995// SetAttributes sets the Attributes field's value. 7996func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 7997 s.Attributes = v 7998 return s 7999} 8000 8001// SetCapacityProviderName sets the CapacityProviderName field's value. 8002func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 8003 s.CapacityProviderName = &v 8004 return s 8005} 8006 8007// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8008func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 8009 s.ContainerInstanceArn = &v 8010 return s 8011} 8012 8013// SetEc2InstanceId sets the Ec2InstanceId field's value. 8014func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 8015 s.Ec2InstanceId = &v 8016 return s 8017} 8018 8019// SetPendingTasksCount sets the PendingTasksCount field's value. 8020func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 8021 s.PendingTasksCount = &v 8022 return s 8023} 8024 8025// SetRegisteredAt sets the RegisteredAt field's value. 8026func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 8027 s.RegisteredAt = &v 8028 return s 8029} 8030 8031// SetRegisteredResources sets the RegisteredResources field's value. 8032func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 8033 s.RegisteredResources = v 8034 return s 8035} 8036 8037// SetRemainingResources sets the RemainingResources field's value. 8038func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 8039 s.RemainingResources = v 8040 return s 8041} 8042 8043// SetRunningTasksCount sets the RunningTasksCount field's value. 8044func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 8045 s.RunningTasksCount = &v 8046 return s 8047} 8048 8049// SetStatus sets the Status field's value. 8050func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 8051 s.Status = &v 8052 return s 8053} 8054 8055// SetStatusReason sets the StatusReason field's value. 8056func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 8057 s.StatusReason = &v 8058 return s 8059} 8060 8061// SetTags sets the Tags field's value. 8062func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 8063 s.Tags = v 8064 return s 8065} 8066 8067// SetVersion sets the Version field's value. 8068func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 8069 s.Version = &v 8070 return s 8071} 8072 8073// SetVersionInfo sets the VersionInfo field's value. 8074func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 8075 s.VersionInfo = v 8076 return s 8077} 8078 8079// The overrides that should be sent to a container. An empty container override 8080// can be passed in. An example of an empty container override would be {"containerOverrides": 8081// [ ] }. If a non-empty container override is specified, the name parameter 8082// must be included. 8083type ContainerOverride struct { 8084 _ struct{} `type:"structure"` 8085 8086 // The command to send to the container that overrides the default command from 8087 // the Docker image or the task definition. You must also specify a container 8088 // name. 8089 Command []*string `locationName:"command" type:"list"` 8090 8091 // The number of cpu units reserved for the container, instead of the default 8092 // value from the task definition. You must also specify a container name. 8093 Cpu *int64 `locationName:"cpu" type:"integer"` 8094 8095 // The environment variables to send to the container. You can add new environment 8096 // variables, which are added to the container at launch, or you can override 8097 // the existing environment variables from the Docker image or the task definition. 8098 // You must also specify a container name. 8099 Environment []*KeyValuePair `locationName:"environment" type:"list"` 8100 8101 // The hard limit (in MiB) of memory to present to the container, instead of 8102 // the default value from the task definition. If your container attempts to 8103 // exceed the memory specified here, the container is killed. You must also 8104 // specify a container name. 8105 Memory *int64 `locationName:"memory" type:"integer"` 8106 8107 // The soft limit (in MiB) of memory to reserve for the container, instead of 8108 // the default value from the task definition. You must also specify a container 8109 // name. 8110 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8111 8112 // The name of the container that receives the override. This parameter is required 8113 // if any override is specified. 8114 Name *string `locationName:"name" type:"string"` 8115 8116 // The type and amount of a resource to assign to a container, instead of the 8117 // default value from the task definition. The only supported resource is a 8118 // GPU. 8119 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8120} 8121 8122// String returns the string representation 8123func (s ContainerOverride) String() string { 8124 return awsutil.Prettify(s) 8125} 8126 8127// GoString returns the string representation 8128func (s ContainerOverride) GoString() string { 8129 return s.String() 8130} 8131 8132// Validate inspects the fields of the type to determine if they are valid. 8133func (s *ContainerOverride) Validate() error { 8134 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 8135 if s.ResourceRequirements != nil { 8136 for i, v := range s.ResourceRequirements { 8137 if v == nil { 8138 continue 8139 } 8140 if err := v.Validate(); err != nil { 8141 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8142 } 8143 } 8144 } 8145 8146 if invalidParams.Len() > 0 { 8147 return invalidParams 8148 } 8149 return nil 8150} 8151 8152// SetCommand sets the Command field's value. 8153func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 8154 s.Command = v 8155 return s 8156} 8157 8158// SetCpu sets the Cpu field's value. 8159func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 8160 s.Cpu = &v 8161 return s 8162} 8163 8164// SetEnvironment sets the Environment field's value. 8165func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 8166 s.Environment = v 8167 return s 8168} 8169 8170// SetMemory sets the Memory field's value. 8171func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 8172 s.Memory = &v 8173 return s 8174} 8175 8176// SetMemoryReservation sets the MemoryReservation field's value. 8177func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 8178 s.MemoryReservation = &v 8179 return s 8180} 8181 8182// SetName sets the Name field's value. 8183func (s *ContainerOverride) SetName(v string) *ContainerOverride { 8184 s.Name = &v 8185 return s 8186} 8187 8188// SetResourceRequirements sets the ResourceRequirements field's value. 8189func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 8190 s.ResourceRequirements = v 8191 return s 8192} 8193 8194// An object representing a change in state for a container. 8195type ContainerStateChange struct { 8196 _ struct{} `type:"structure"` 8197 8198 // The name of the container. 8199 ContainerName *string `locationName:"containerName" type:"string"` 8200 8201 // The exit code for the container, if the state change is a result of the container 8202 // exiting. 8203 ExitCode *int64 `locationName:"exitCode" type:"integer"` 8204 8205 // The container image SHA 256 digest. 8206 ImageDigest *string `locationName:"imageDigest" type:"string"` 8207 8208 // Any network bindings associated with the container. 8209 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 8210 8211 // The reason for the state change. 8212 Reason *string `locationName:"reason" type:"string"` 8213 8214 // The ID of the Docker container. 8215 RuntimeId *string `locationName:"runtimeId" type:"string"` 8216 8217 // The status of the container. 8218 Status *string `locationName:"status" type:"string"` 8219} 8220 8221// String returns the string representation 8222func (s ContainerStateChange) String() string { 8223 return awsutil.Prettify(s) 8224} 8225 8226// GoString returns the string representation 8227func (s ContainerStateChange) GoString() string { 8228 return s.String() 8229} 8230 8231// SetContainerName sets the ContainerName field's value. 8232func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 8233 s.ContainerName = &v 8234 return s 8235} 8236 8237// SetExitCode sets the ExitCode field's value. 8238func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 8239 s.ExitCode = &v 8240 return s 8241} 8242 8243// SetImageDigest sets the ImageDigest field's value. 8244func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 8245 s.ImageDigest = &v 8246 return s 8247} 8248 8249// SetNetworkBindings sets the NetworkBindings field's value. 8250func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 8251 s.NetworkBindings = v 8252 return s 8253} 8254 8255// SetReason sets the Reason field's value. 8256func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 8257 s.Reason = &v 8258 return s 8259} 8260 8261// SetRuntimeId sets the RuntimeId field's value. 8262func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 8263 s.RuntimeId = &v 8264 return s 8265} 8266 8267// SetStatus sets the Status field's value. 8268func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 8269 s.Status = &v 8270 return s 8271} 8272 8273type CreateCapacityProviderInput struct { 8274 _ struct{} `type:"structure"` 8275 8276 // The details of the Auto Scaling group for the capacity provider. 8277 // 8278 // AutoScalingGroupProvider is a required field 8279 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 8280 8281 // The name of the capacity provider. Up to 255 characters are allowed, including 8282 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 8283 // cannot be prefixed with "aws", "ecs", or "fargate". 8284 // 8285 // Name is a required field 8286 Name *string `locationName:"name" type:"string" required:"true"` 8287 8288 // The metadata that you apply to the capacity provider to help you categorize 8289 // and organize them. Each tag consists of a key and an optional value, both 8290 // of which you define. 8291 // 8292 // The following basic restrictions apply to tags: 8293 // 8294 // * Maximum number of tags per resource - 50 8295 // 8296 // * For each resource, each tag key must be unique, and each tag key can 8297 // have only one value. 8298 // 8299 // * Maximum key length - 128 Unicode characters in UTF-8 8300 // 8301 // * Maximum value length - 256 Unicode characters in UTF-8 8302 // 8303 // * If your tagging schema is used across multiple services and resources, 8304 // remember that other services may have restrictions on allowed characters. 8305 // Generally allowed characters are: letters, numbers, and spaces representable 8306 // in UTF-8, and the following characters: + - = . _ : / @. 8307 // 8308 // * Tag keys and values are case-sensitive. 8309 // 8310 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8311 // as a prefix for either keys or values as it is reserved for AWS use. You 8312 // cannot edit or delete tag keys or values with this prefix. Tags with this 8313 // prefix do not count against your tags per resource limit. 8314 Tags []*Tag `locationName:"tags" type:"list"` 8315} 8316 8317// String returns the string representation 8318func (s CreateCapacityProviderInput) String() string { 8319 return awsutil.Prettify(s) 8320} 8321 8322// GoString returns the string representation 8323func (s CreateCapacityProviderInput) GoString() string { 8324 return s.String() 8325} 8326 8327// Validate inspects the fields of the type to determine if they are valid. 8328func (s *CreateCapacityProviderInput) Validate() error { 8329 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 8330 if s.AutoScalingGroupProvider == nil { 8331 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 8332 } 8333 if s.Name == nil { 8334 invalidParams.Add(request.NewErrParamRequired("Name")) 8335 } 8336 if s.AutoScalingGroupProvider != nil { 8337 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 8338 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 8339 } 8340 } 8341 if s.Tags != nil { 8342 for i, v := range s.Tags { 8343 if v == nil { 8344 continue 8345 } 8346 if err := v.Validate(); err != nil { 8347 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8348 } 8349 } 8350 } 8351 8352 if invalidParams.Len() > 0 { 8353 return invalidParams 8354 } 8355 return nil 8356} 8357 8358// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 8359func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 8360 s.AutoScalingGroupProvider = v 8361 return s 8362} 8363 8364// SetName sets the Name field's value. 8365func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 8366 s.Name = &v 8367 return s 8368} 8369 8370// SetTags sets the Tags field's value. 8371func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 8372 s.Tags = v 8373 return s 8374} 8375 8376type CreateCapacityProviderOutput struct { 8377 _ struct{} `type:"structure"` 8378 8379 // The full description of the new capacity provider. 8380 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 8381} 8382 8383// String returns the string representation 8384func (s CreateCapacityProviderOutput) String() string { 8385 return awsutil.Prettify(s) 8386} 8387 8388// GoString returns the string representation 8389func (s CreateCapacityProviderOutput) GoString() string { 8390 return s.String() 8391} 8392 8393// SetCapacityProvider sets the CapacityProvider field's value. 8394func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 8395 s.CapacityProvider = v 8396 return s 8397} 8398 8399type CreateClusterInput struct { 8400 _ struct{} `type:"structure"` 8401 8402 // The short name or full Amazon Resource Name (ARN) of one or more capacity 8403 // providers to associate with the cluster. 8404 // 8405 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8406 // provider must already be created and not already associated with another 8407 // cluster. New capacity providers can be created with the CreateCapacityProvider 8408 // API operation. 8409 // 8410 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8411 // capacity providers. The AWS Fargate capacity providers are available to all 8412 // accounts and only need to be associated with a cluster to be used. 8413 // 8414 // The PutClusterCapacityProviders API operation is used to update the list 8415 // of available capacity providers for a cluster after the cluster is created. 8416 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 8417 8418 // The name of your cluster. If you do not specify a name for your cluster, 8419 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 8420 // numbers, and hyphens are allowed. 8421 ClusterName *string `locationName:"clusterName" type:"string"` 8422 8423 // The capacity provider strategy to use by default for the cluster. 8424 // 8425 // When creating a service or running a task on a cluster, if no capacity provider 8426 // or launch type is specified then the default capacity provider strategy for 8427 // the cluster is used. 8428 // 8429 // A capacity provider strategy consists of one or more capacity providers along 8430 // with the base and weight to assign to them. A capacity provider must be associated 8431 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8432 // API is used to associate a capacity provider with a cluster. Only capacity 8433 // providers with an ACTIVE or UPDATING status can be used. 8434 // 8435 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8436 // provider must already be created. New capacity providers can be created with 8437 // the CreateCapacityProvider API operation. 8438 // 8439 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8440 // capacity providers. The AWS Fargate capacity providers are available to all 8441 // accounts and only need to be associated with a cluster to be used. 8442 // 8443 // If a default capacity provider strategy is not defined for a cluster during 8444 // creation, it can be defined later with the PutClusterCapacityProviders API 8445 // operation. 8446 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 8447 8448 // The setting to use when creating a cluster. This parameter is used to enable 8449 // CloudWatch Container Insights for a cluster. If this value is specified, 8450 // it will override the containerInsights value set with PutAccountSetting or 8451 // PutAccountSettingDefault. 8452 Settings []*ClusterSetting `locationName:"settings" type:"list"` 8453 8454 // The metadata that you apply to the cluster to help you categorize and organize 8455 // them. Each tag consists of a key and an optional value, both of which you 8456 // define. 8457 // 8458 // The following basic restrictions apply to tags: 8459 // 8460 // * Maximum number of tags per resource - 50 8461 // 8462 // * For each resource, each tag key must be unique, and each tag key can 8463 // have only one value. 8464 // 8465 // * Maximum key length - 128 Unicode characters in UTF-8 8466 // 8467 // * Maximum value length - 256 Unicode characters in UTF-8 8468 // 8469 // * If your tagging schema is used across multiple services and resources, 8470 // remember that other services may have restrictions on allowed characters. 8471 // Generally allowed characters are: letters, numbers, and spaces representable 8472 // in UTF-8, and the following characters: + - = . _ : / @. 8473 // 8474 // * Tag keys and values are case-sensitive. 8475 // 8476 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8477 // as a prefix for either keys or values as it is reserved for AWS use. You 8478 // cannot edit or delete tag keys or values with this prefix. Tags with this 8479 // prefix do not count against your tags per resource limit. 8480 Tags []*Tag `locationName:"tags" type:"list"` 8481} 8482 8483// String returns the string representation 8484func (s CreateClusterInput) String() string { 8485 return awsutil.Prettify(s) 8486} 8487 8488// GoString returns the string representation 8489func (s CreateClusterInput) GoString() string { 8490 return s.String() 8491} 8492 8493// Validate inspects the fields of the type to determine if they are valid. 8494func (s *CreateClusterInput) Validate() error { 8495 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 8496 if s.DefaultCapacityProviderStrategy != nil { 8497 for i, v := range s.DefaultCapacityProviderStrategy { 8498 if v == nil { 8499 continue 8500 } 8501 if err := v.Validate(); err != nil { 8502 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8503 } 8504 } 8505 } 8506 if s.Tags != nil { 8507 for i, v := range s.Tags { 8508 if v == nil { 8509 continue 8510 } 8511 if err := v.Validate(); err != nil { 8512 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8513 } 8514 } 8515 } 8516 8517 if invalidParams.Len() > 0 { 8518 return invalidParams 8519 } 8520 return nil 8521} 8522 8523// SetCapacityProviders sets the CapacityProviders field's value. 8524func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 8525 s.CapacityProviders = v 8526 return s 8527} 8528 8529// SetClusterName sets the ClusterName field's value. 8530func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 8531 s.ClusterName = &v 8532 return s 8533} 8534 8535// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 8536func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 8537 s.DefaultCapacityProviderStrategy = v 8538 return s 8539} 8540 8541// SetSettings sets the Settings field's value. 8542func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 8543 s.Settings = v 8544 return s 8545} 8546 8547// SetTags sets the Tags field's value. 8548func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 8549 s.Tags = v 8550 return s 8551} 8552 8553type CreateClusterOutput struct { 8554 _ struct{} `type:"structure"` 8555 8556 // The full description of your new cluster. 8557 Cluster *Cluster `locationName:"cluster" type:"structure"` 8558} 8559 8560// String returns the string representation 8561func (s CreateClusterOutput) String() string { 8562 return awsutil.Prettify(s) 8563} 8564 8565// GoString returns the string representation 8566func (s CreateClusterOutput) GoString() string { 8567 return s.String() 8568} 8569 8570// SetCluster sets the Cluster field's value. 8571func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 8572 s.Cluster = v 8573 return s 8574} 8575 8576type CreateServiceInput struct { 8577 _ struct{} `type:"structure"` 8578 8579 // The capacity provider strategy to use for the service. 8580 // 8581 // A capacity provider strategy consists of one or more capacity providers along 8582 // with the base and weight to assign to them. A capacity provider must be associated 8583 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8584 // API is used to associate a capacity provider with a cluster. Only capacity 8585 // providers with an ACTIVE or UPDATING status can be used. 8586 // 8587 // If a capacityProviderStrategy is specified, the launchType parameter must 8588 // be omitted. If no capacityProviderStrategy or launchType is specified, the 8589 // defaultCapacityProviderStrategy for the cluster is used. 8590 // 8591 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8592 // provider must already be created. New capacity providers can be created with 8593 // the CreateCapacityProvider API operation. 8594 // 8595 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8596 // capacity providers. The AWS Fargate capacity providers are available to all 8597 // accounts and only need to be associated with a cluster to be used. 8598 // 8599 // The PutClusterCapacityProviders API operation is used to update the list 8600 // of available capacity providers for a cluster after the cluster is created. 8601 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 8602 8603 // Unique, case-sensitive identifier that you provide to ensure the idempotency 8604 // of the request. Up to 32 ASCII characters are allowed. 8605 ClientToken *string `locationName:"clientToken" type:"string"` 8606 8607 // The short name or full Amazon Resource Name (ARN) of the cluster on which 8608 // to run your service. If you do not specify a cluster, the default cluster 8609 // is assumed. 8610 Cluster *string `locationName:"cluster" type:"string"` 8611 8612 // Optional deployment parameters that control how many tasks run during the 8613 // deployment and the ordering of stopping and starting tasks. 8614 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 8615 8616 // The deployment controller to use for the service. 8617 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 8618 8619 // The number of instantiations of the specified task definition to place and 8620 // keep running on your cluster. 8621 // 8622 // This is required if schedulingStrategy is REPLICA or is not specified. If 8623 // schedulingStrategy is DAEMON then this is not required. 8624 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 8625 8626 // Specifies whether to enable Amazon ECS managed tags for the tasks within 8627 // the service. For more information, see Tagging Your Amazon ECS Resources 8628 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 8629 // in the Amazon Elastic Container Service Developer Guide. 8630 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 8631 8632 // The period of time, in seconds, that the Amazon ECS service scheduler should 8633 // ignore unhealthy Elastic Load Balancing target health checks after a task 8634 // has first started. This is only valid if your service is configured to use 8635 // a load balancer. If your service's tasks take a while to start and respond 8636 // to Elastic Load Balancing health checks, you can specify a health check grace 8637 // period of up to 2,147,483,647 seconds. During that time, the ECS service 8638 // scheduler ignores health check status. This grace period can prevent the 8639 // ECS service scheduler from marking tasks as unhealthy and stopping them before 8640 // they have time to come up. 8641 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 8642 8643 // The launch type on which to run your service. For more information, see Amazon 8644 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 8645 // in the Amazon Elastic Container Service Developer Guide. 8646 // 8647 // If a launchType is specified, the capacityProviderStrategy parameter must 8648 // be omitted. 8649 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 8650 8651 // A load balancer object representing the load balancers to use with your service. 8652 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 8653 // in the Amazon Elastic Container Service Developer Guide. 8654 // 8655 // If the service is using the rolling update (ECS) deployment controller and 8656 // using either an Application Load Balancer or Network Load Balancer, you can 8657 // specify multiple target groups to attach to the service. The service-linked 8658 // role is required for services that make use of multiple target groups. For 8659 // more information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8660 // in the Amazon Elastic Container Service Developer Guide. 8661 // 8662 // If the service is using the CODE_DEPLOY deployment controller, the service 8663 // is required to use either an Application Load Balancer or Network Load Balancer. 8664 // When creating an AWS CodeDeploy deployment group, you specify two target 8665 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 8666 // determines which task set in your service has the status PRIMARY and associates 8667 // one target group with it, and then associates the other target group with 8668 // the replacement task set. The load balancer can also have up to two listeners: 8669 // a required listener for production traffic and an optional listener that 8670 // allows you perform validation tests with Lambda functions before routing 8671 // production traffic to it. 8672 // 8673 // After you create a service using the ECS deployment controller, the load 8674 // balancer name or target group ARN, container name, and container port specified 8675 // in the service definition are immutable. If you are using the CODE_DEPLOY 8676 // deployment controller, these values can be changed when updating the service. 8677 // 8678 // For Application Load Balancers and Network Load Balancers, this object must 8679 // contain the load balancer target group ARN, the container name (as it appears 8680 // in a container definition), and the container port to access from the load 8681 // balancer. When a task from this service is placed on a container instance, 8682 // the container instance and port combination is registered as a target in 8683 // the target group specified here. 8684 // 8685 // For Classic Load Balancers, this object must contain the load balancer name, 8686 // the container name (as it appears in a container definition), and the container 8687 // port to access from the load balancer. When a task from this service is placed 8688 // on a container instance, the container instance is registered with the load 8689 // balancer specified here. 8690 // 8691 // Services with tasks that use the awsvpc network mode (for example, those 8692 // with the Fargate launch type) only support Application Load Balancers and 8693 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 8694 // you create any target groups for these services, you must choose ip as the 8695 // target type, not instance, because tasks that use the awsvpc network mode 8696 // are associated with an elastic network interface, not an Amazon EC2 instance. 8697 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 8698 8699 // The network configuration for the service. This parameter is required for 8700 // task definitions that use the awsvpc network mode to receive their own elastic 8701 // network interface, and it is not supported for other network modes. For more 8702 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 8703 // in the Amazon Elastic Container Service Developer Guide. 8704 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 8705 8706 // An array of placement constraint objects to use for tasks in your service. 8707 // You can specify a maximum of 10 constraints per task (this limit includes 8708 // constraints in the task definition and those specified at runtime). 8709 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 8710 8711 // The placement strategy objects to use for tasks in your service. You can 8712 // specify a maximum of five strategy rules per service. 8713 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 8714 8715 // The platform version that your tasks in the service are running on. A platform 8716 // version is specified only for tasks using the Fargate launch type. If one 8717 // isn't specified, the LATEST platform version is used by default. For more 8718 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 8719 // in the Amazon Elastic Container Service Developer Guide. 8720 PlatformVersion *string `locationName:"platformVersion" type:"string"` 8721 8722 // Specifies whether to propagate the tags from the task definition or the service 8723 // to the tasks in the service. If no value is specified, the tags are not propagated. 8724 // Tags can only be propagated to the tasks within the service during service 8725 // creation. To add tags to a task after service creation, use the TagResource 8726 // API action. 8727 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 8728 8729 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 8730 // ECS to make calls to your load balancer on your behalf. This parameter is 8731 // only permitted if you are using a load balancer with your service and your 8732 // task definition does not use the awsvpc network mode. If you specify the 8733 // role parameter, you must also specify a load balancer object with the loadBalancers 8734 // parameter. 8735 // 8736 // If your account has already created the Amazon ECS service-linked role, that 8737 // role is used by default for your service unless you specify a role here. 8738 // The service-linked role is required if your task definition uses the awsvpc 8739 // network mode or if the service is configured to use service discovery, an 8740 // external deployment controller, multiple target groups, or Elastic Inference 8741 // accelerators in which case you should not specify a role here. For more information, 8742 // see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8743 // in the Amazon Elastic Container Service Developer Guide. 8744 // 8745 // If your specified role has a path other than /, then you must either specify 8746 // the full role ARN (this is recommended) or prefix the role name with the 8747 // path. For example, if a role with the name bar has a path of /foo/ then you 8748 // would specify /foo/bar as the role name. For more information, see Friendly 8749 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 8750 // in the IAM User Guide. 8751 Role *string `locationName:"role" type:"string"` 8752 8753 // The scheduling strategy to use for the service. For more information, see 8754 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 8755 // 8756 // There are two service scheduler strategies available: 8757 // 8758 // * REPLICA-The replica scheduling strategy places and maintains the desired 8759 // number of tasks across your cluster. By default, the service scheduler 8760 // spreads tasks across Availability Zones. You can use task placement strategies 8761 // and constraints to customize task placement decisions. This scheduler 8762 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 8763 // deployment controller types. 8764 // 8765 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 8766 // active container instance that meets all of the task placement constraints 8767 // that you specify in your cluster. When you're using this strategy, you 8768 // don't need to specify a desired number of tasks, a task placement strategy, 8769 // or use Service Auto Scaling policies. Tasks using the Fargate launch type 8770 // or the CODE_DEPLOY or EXTERNAL deployment controller types don't support 8771 // the DAEMON scheduling strategy. 8772 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 8773 8774 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 8775 // and hyphens are allowed. Service names must be unique within a cluster, but 8776 // you can have similarly named services in multiple clusters within a Region 8777 // or across multiple Regions. 8778 // 8779 // ServiceName is a required field 8780 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 8781 8782 // The details of the service discovery registries to assign to this service. 8783 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 8784 // 8785 // Service discovery is supported for Fargate tasks if you are using platform 8786 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 8787 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 8788 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 8789 8790 // The metadata that you apply to the service to help you categorize and organize 8791 // them. Each tag consists of a key and an optional value, both of which you 8792 // define. When a service is deleted, the tags are deleted as well. 8793 // 8794 // The following basic restrictions apply to tags: 8795 // 8796 // * Maximum number of tags per resource - 50 8797 // 8798 // * For each resource, each tag key must be unique, and each tag key can 8799 // have only one value. 8800 // 8801 // * Maximum key length - 128 Unicode characters in UTF-8 8802 // 8803 // * Maximum value length - 256 Unicode characters in UTF-8 8804 // 8805 // * If your tagging schema is used across multiple services and resources, 8806 // remember that other services may have restrictions on allowed characters. 8807 // Generally allowed characters are: letters, numbers, and spaces representable 8808 // in UTF-8, and the following characters: + - = . _ : / @. 8809 // 8810 // * Tag keys and values are case-sensitive. 8811 // 8812 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8813 // as a prefix for either keys or values as it is reserved for AWS use. You 8814 // cannot edit or delete tag keys or values with this prefix. Tags with this 8815 // prefix do not count against your tags per resource limit. 8816 Tags []*Tag `locationName:"tags" type:"list"` 8817 8818 // The family and revision (family:revision) or full ARN of the task definition 8819 // to run in your service. If a revision is not specified, the latest ACTIVE 8820 // revision is used. 8821 // 8822 // A task definition must be specified if the service is using the ECS deployment 8823 // controller. 8824 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 8825} 8826 8827// String returns the string representation 8828func (s CreateServiceInput) String() string { 8829 return awsutil.Prettify(s) 8830} 8831 8832// GoString returns the string representation 8833func (s CreateServiceInput) GoString() string { 8834 return s.String() 8835} 8836 8837// Validate inspects the fields of the type to determine if they are valid. 8838func (s *CreateServiceInput) Validate() error { 8839 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 8840 if s.ServiceName == nil { 8841 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 8842 } 8843 if s.CapacityProviderStrategy != nil { 8844 for i, v := range s.CapacityProviderStrategy { 8845 if v == nil { 8846 continue 8847 } 8848 if err := v.Validate(); err != nil { 8849 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8850 } 8851 } 8852 } 8853 if s.DeploymentController != nil { 8854 if err := s.DeploymentController.Validate(); err != nil { 8855 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 8856 } 8857 } 8858 if s.NetworkConfiguration != nil { 8859 if err := s.NetworkConfiguration.Validate(); err != nil { 8860 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 8861 } 8862 } 8863 if s.Tags != nil { 8864 for i, v := range s.Tags { 8865 if v == nil { 8866 continue 8867 } 8868 if err := v.Validate(); err != nil { 8869 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8870 } 8871 } 8872 } 8873 8874 if invalidParams.Len() > 0 { 8875 return invalidParams 8876 } 8877 return nil 8878} 8879 8880// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 8881func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 8882 s.CapacityProviderStrategy = v 8883 return s 8884} 8885 8886// SetClientToken sets the ClientToken field's value. 8887func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 8888 s.ClientToken = &v 8889 return s 8890} 8891 8892// SetCluster sets the Cluster field's value. 8893func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 8894 s.Cluster = &v 8895 return s 8896} 8897 8898// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 8899func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 8900 s.DeploymentConfiguration = v 8901 return s 8902} 8903 8904// SetDeploymentController sets the DeploymentController field's value. 8905func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 8906 s.DeploymentController = v 8907 return s 8908} 8909 8910// SetDesiredCount sets the DesiredCount field's value. 8911func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 8912 s.DesiredCount = &v 8913 return s 8914} 8915 8916// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 8917func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 8918 s.EnableECSManagedTags = &v 8919 return s 8920} 8921 8922// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 8923func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 8924 s.HealthCheckGracePeriodSeconds = &v 8925 return s 8926} 8927 8928// SetLaunchType sets the LaunchType field's value. 8929func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 8930 s.LaunchType = &v 8931 return s 8932} 8933 8934// SetLoadBalancers sets the LoadBalancers field's value. 8935func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 8936 s.LoadBalancers = v 8937 return s 8938} 8939 8940// SetNetworkConfiguration sets the NetworkConfiguration field's value. 8941func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 8942 s.NetworkConfiguration = v 8943 return s 8944} 8945 8946// SetPlacementConstraints sets the PlacementConstraints field's value. 8947func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 8948 s.PlacementConstraints = v 8949 return s 8950} 8951 8952// SetPlacementStrategy sets the PlacementStrategy field's value. 8953func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 8954 s.PlacementStrategy = v 8955 return s 8956} 8957 8958// SetPlatformVersion sets the PlatformVersion field's value. 8959func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 8960 s.PlatformVersion = &v 8961 return s 8962} 8963 8964// SetPropagateTags sets the PropagateTags field's value. 8965func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 8966 s.PropagateTags = &v 8967 return s 8968} 8969 8970// SetRole sets the Role field's value. 8971func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 8972 s.Role = &v 8973 return s 8974} 8975 8976// SetSchedulingStrategy sets the SchedulingStrategy field's value. 8977func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 8978 s.SchedulingStrategy = &v 8979 return s 8980} 8981 8982// SetServiceName sets the ServiceName field's value. 8983func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 8984 s.ServiceName = &v 8985 return s 8986} 8987 8988// SetServiceRegistries sets the ServiceRegistries field's value. 8989func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 8990 s.ServiceRegistries = v 8991 return s 8992} 8993 8994// SetTags sets the Tags field's value. 8995func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 8996 s.Tags = v 8997 return s 8998} 8999 9000// SetTaskDefinition sets the TaskDefinition field's value. 9001func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 9002 s.TaskDefinition = &v 9003 return s 9004} 9005 9006type CreateServiceOutput struct { 9007 _ struct{} `type:"structure"` 9008 9009 // The full description of your service following the create call. 9010 // 9011 // If a service is using the ECS deployment controller, the deploymentController 9012 // and taskSets parameters will not be returned. 9013 // 9014 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 9015 // taskSets and deployments parameters will be returned, however the deployments 9016 // parameter will be an empty list. 9017 Service *Service `locationName:"service" type:"structure"` 9018} 9019 9020// String returns the string representation 9021func (s CreateServiceOutput) String() string { 9022 return awsutil.Prettify(s) 9023} 9024 9025// GoString returns the string representation 9026func (s CreateServiceOutput) GoString() string { 9027 return s.String() 9028} 9029 9030// SetService sets the Service field's value. 9031func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 9032 s.Service = v 9033 return s 9034} 9035 9036type CreateTaskSetInput struct { 9037 _ struct{} `type:"structure"` 9038 9039 // The capacity provider strategy to use for the task set. 9040 // 9041 // A capacity provider strategy consists of one or more capacity providers along 9042 // with the base and weight to assign to them. A capacity provider must be associated 9043 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 9044 // API is used to associate a capacity provider with a cluster. Only capacity 9045 // providers with an ACTIVE or UPDATING status can be used. 9046 // 9047 // If a capacityProviderStrategy is specified, the launchType parameter must 9048 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9049 // defaultCapacityProviderStrategy for the cluster is used. 9050 // 9051 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9052 // provider must already be created. New capacity providers can be created with 9053 // the CreateCapacityProvider API operation. 9054 // 9055 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9056 // capacity providers. The AWS Fargate capacity providers are available to all 9057 // accounts and only need to be associated with a cluster to be used. 9058 // 9059 // The PutClusterCapacityProviders API operation is used to update the list 9060 // of available capacity providers for a cluster after the cluster is created. 9061 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9062 9063 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9064 // of the request. Up to 32 ASCII characters are allowed. 9065 ClientToken *string `locationName:"clientToken" type:"string"` 9066 9067 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9068 // the service to create the task set in. 9069 // 9070 // Cluster is a required field 9071 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9072 9073 // An optional non-unique tag that identifies this task set in external systems. 9074 // If the task set is associated with a service discovery registry, the tasks 9075 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 9076 // set to the provided value. 9077 ExternalId *string `locationName:"externalId" type:"string"` 9078 9079 // The launch type that new tasks in the task set will use. For more information, 9080 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9081 // in the Amazon Elastic Container Service Developer Guide. 9082 // 9083 // If a launchType is specified, the capacityProviderStrategy parameter must 9084 // be omitted. 9085 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9086 9087 // A load balancer object representing the load balancer to use with the task 9088 // set. The supported load balancer types are either an Application Load Balancer 9089 // or a Network Load Balancer. 9090 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9091 9092 // An object representing the network configuration for a task or service. 9093 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9094 9095 // The platform version that the tasks in the task set should use. A platform 9096 // version is specified only for tasks using the Fargate launch type. If one 9097 // isn't specified, the LATEST platform version is used by default. 9098 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9099 9100 // A floating-point percentage of the desired number of tasks to place and keep 9101 // running in the task set. 9102 Scale *Scale `locationName:"scale" type:"structure"` 9103 9104 // The short name or full Amazon Resource Name (ARN) of the service to create 9105 // the task set in. 9106 // 9107 // Service is a required field 9108 Service *string `locationName:"service" type:"string" required:"true"` 9109 9110 // The details of the service discovery registries to assign to this task set. 9111 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9112 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9113 9114 // The metadata that you apply to the task set to help you categorize and organize 9115 // them. Each tag consists of a key and an optional value, both of which you 9116 // define. When a service is deleted, the tags are deleted as well. 9117 // 9118 // The following basic restrictions apply to tags: 9119 // 9120 // * Maximum number of tags per resource - 50 9121 // 9122 // * For each resource, each tag key must be unique, and each tag key can 9123 // have only one value. 9124 // 9125 // * Maximum key length - 128 Unicode characters in UTF-8 9126 // 9127 // * Maximum value length - 256 Unicode characters in UTF-8 9128 // 9129 // * If your tagging schema is used across multiple services and resources, 9130 // remember that other services may have restrictions on allowed characters. 9131 // Generally allowed characters are: letters, numbers, and spaces representable 9132 // in UTF-8, and the following characters: + - = . _ : / @. 9133 // 9134 // * Tag keys and values are case-sensitive. 9135 // 9136 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9137 // as a prefix for either keys or values as it is reserved for AWS use. You 9138 // cannot edit or delete tag keys or values with this prefix. Tags with this 9139 // prefix do not count against your tags per resource limit. 9140 Tags []*Tag `locationName:"tags" type:"list"` 9141 9142 // The task definition for the tasks in the task set to use. 9143 // 9144 // TaskDefinition is a required field 9145 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9146} 9147 9148// String returns the string representation 9149func (s CreateTaskSetInput) String() string { 9150 return awsutil.Prettify(s) 9151} 9152 9153// GoString returns the string representation 9154func (s CreateTaskSetInput) GoString() string { 9155 return s.String() 9156} 9157 9158// Validate inspects the fields of the type to determine if they are valid. 9159func (s *CreateTaskSetInput) Validate() error { 9160 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 9161 if s.Cluster == nil { 9162 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9163 } 9164 if s.Service == nil { 9165 invalidParams.Add(request.NewErrParamRequired("Service")) 9166 } 9167 if s.TaskDefinition == nil { 9168 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9169 } 9170 if s.CapacityProviderStrategy != nil { 9171 for i, v := range s.CapacityProviderStrategy { 9172 if v == nil { 9173 continue 9174 } 9175 if err := v.Validate(); err != nil { 9176 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9177 } 9178 } 9179 } 9180 if s.NetworkConfiguration != nil { 9181 if err := s.NetworkConfiguration.Validate(); err != nil { 9182 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9183 } 9184 } 9185 if s.Tags != nil { 9186 for i, v := range s.Tags { 9187 if v == nil { 9188 continue 9189 } 9190 if err := v.Validate(); err != nil { 9191 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9192 } 9193 } 9194 } 9195 9196 if invalidParams.Len() > 0 { 9197 return invalidParams 9198 } 9199 return nil 9200} 9201 9202// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9203func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 9204 s.CapacityProviderStrategy = v 9205 return s 9206} 9207 9208// SetClientToken sets the ClientToken field's value. 9209func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 9210 s.ClientToken = &v 9211 return s 9212} 9213 9214// SetCluster sets the Cluster field's value. 9215func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 9216 s.Cluster = &v 9217 return s 9218} 9219 9220// SetExternalId sets the ExternalId field's value. 9221func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 9222 s.ExternalId = &v 9223 return s 9224} 9225 9226// SetLaunchType sets the LaunchType field's value. 9227func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 9228 s.LaunchType = &v 9229 return s 9230} 9231 9232// SetLoadBalancers sets the LoadBalancers field's value. 9233func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 9234 s.LoadBalancers = v 9235 return s 9236} 9237 9238// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9239func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 9240 s.NetworkConfiguration = v 9241 return s 9242} 9243 9244// SetPlatformVersion sets the PlatformVersion field's value. 9245func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 9246 s.PlatformVersion = &v 9247 return s 9248} 9249 9250// SetScale sets the Scale field's value. 9251func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 9252 s.Scale = v 9253 return s 9254} 9255 9256// SetService sets the Service field's value. 9257func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 9258 s.Service = &v 9259 return s 9260} 9261 9262// SetServiceRegistries sets the ServiceRegistries field's value. 9263func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 9264 s.ServiceRegistries = v 9265 return s 9266} 9267 9268// SetTags sets the Tags field's value. 9269func (s *CreateTaskSetInput) SetTags(v []*Tag) *CreateTaskSetInput { 9270 s.Tags = v 9271 return s 9272} 9273 9274// SetTaskDefinition sets the TaskDefinition field's value. 9275func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 9276 s.TaskDefinition = &v 9277 return s 9278} 9279 9280type CreateTaskSetOutput struct { 9281 _ struct{} `type:"structure"` 9282 9283 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9284 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9285 // desired number of tasks, how many tasks are running, and whether the task 9286 // set serves production traffic. 9287 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9288} 9289 9290// String returns the string representation 9291func (s CreateTaskSetOutput) String() string { 9292 return awsutil.Prettify(s) 9293} 9294 9295// GoString returns the string representation 9296func (s CreateTaskSetOutput) GoString() string { 9297 return s.String() 9298} 9299 9300// SetTaskSet sets the TaskSet field's value. 9301func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 9302 s.TaskSet = v 9303 return s 9304} 9305 9306type DeleteAccountSettingInput struct { 9307 _ struct{} `type:"structure"` 9308 9309 // The resource name for which to disable the account setting. If serviceLongArnFormat 9310 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 9311 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 9312 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 9313 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 9314 // the ENI limit for your Amazon ECS container instances is affected. 9315 // 9316 // Name is a required field 9317 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 9318 9319 // The ARN of the principal, which can be an IAM user, IAM role, or the root 9320 // user. If you specify the root user, it disables the account setting for all 9321 // IAM users, IAM roles, and the root user of the account unless an IAM user 9322 // or role explicitly overrides these settings. If this field is omitted, the 9323 // setting is changed only for the authenticated user. 9324 PrincipalArn *string `locationName:"principalArn" type:"string"` 9325} 9326 9327// String returns the string representation 9328func (s DeleteAccountSettingInput) String() string { 9329 return awsutil.Prettify(s) 9330} 9331 9332// GoString returns the string representation 9333func (s DeleteAccountSettingInput) GoString() string { 9334 return s.String() 9335} 9336 9337// Validate inspects the fields of the type to determine if they are valid. 9338func (s *DeleteAccountSettingInput) Validate() error { 9339 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 9340 if s.Name == nil { 9341 invalidParams.Add(request.NewErrParamRequired("Name")) 9342 } 9343 9344 if invalidParams.Len() > 0 { 9345 return invalidParams 9346 } 9347 return nil 9348} 9349 9350// SetName sets the Name field's value. 9351func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 9352 s.Name = &v 9353 return s 9354} 9355 9356// SetPrincipalArn sets the PrincipalArn field's value. 9357func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 9358 s.PrincipalArn = &v 9359 return s 9360} 9361 9362type DeleteAccountSettingOutput struct { 9363 _ struct{} `type:"structure"` 9364 9365 // The account setting for the specified principal ARN. 9366 Setting *Setting `locationName:"setting" type:"structure"` 9367} 9368 9369// String returns the string representation 9370func (s DeleteAccountSettingOutput) String() string { 9371 return awsutil.Prettify(s) 9372} 9373 9374// GoString returns the string representation 9375func (s DeleteAccountSettingOutput) GoString() string { 9376 return s.String() 9377} 9378 9379// SetSetting sets the Setting field's value. 9380func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 9381 s.Setting = v 9382 return s 9383} 9384 9385type DeleteAttributesInput struct { 9386 _ struct{} `type:"structure"` 9387 9388 // The attributes to delete from your resource. You can specify up to 10 attributes 9389 // per request. For custom attributes, specify the attribute name and target 9390 // ID, but do not specify the value. If you specify the target ID using the 9391 // short form, you must also specify the target type. 9392 // 9393 // Attributes is a required field 9394 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 9395 9396 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 9397 // the resource to delete attributes. If you do not specify a cluster, the default 9398 // cluster is assumed. 9399 Cluster *string `locationName:"cluster" type:"string"` 9400} 9401 9402// String returns the string representation 9403func (s DeleteAttributesInput) String() string { 9404 return awsutil.Prettify(s) 9405} 9406 9407// GoString returns the string representation 9408func (s DeleteAttributesInput) GoString() string { 9409 return s.String() 9410} 9411 9412// Validate inspects the fields of the type to determine if they are valid. 9413func (s *DeleteAttributesInput) Validate() error { 9414 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 9415 if s.Attributes == nil { 9416 invalidParams.Add(request.NewErrParamRequired("Attributes")) 9417 } 9418 if s.Attributes != nil { 9419 for i, v := range s.Attributes { 9420 if v == nil { 9421 continue 9422 } 9423 if err := v.Validate(); err != nil { 9424 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 9425 } 9426 } 9427 } 9428 9429 if invalidParams.Len() > 0 { 9430 return invalidParams 9431 } 9432 return nil 9433} 9434 9435// SetAttributes sets the Attributes field's value. 9436func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 9437 s.Attributes = v 9438 return s 9439} 9440 9441// SetCluster sets the Cluster field's value. 9442func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 9443 s.Cluster = &v 9444 return s 9445} 9446 9447type DeleteAttributesOutput struct { 9448 _ struct{} `type:"structure"` 9449 9450 // A list of attribute objects that were successfully deleted from your resource. 9451 Attributes []*Attribute `locationName:"attributes" type:"list"` 9452} 9453 9454// String returns the string representation 9455func (s DeleteAttributesOutput) String() string { 9456 return awsutil.Prettify(s) 9457} 9458 9459// GoString returns the string representation 9460func (s DeleteAttributesOutput) GoString() string { 9461 return s.String() 9462} 9463 9464// SetAttributes sets the Attributes field's value. 9465func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 9466 s.Attributes = v 9467 return s 9468} 9469 9470type DeleteClusterInput struct { 9471 _ struct{} `type:"structure"` 9472 9473 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 9474 // 9475 // Cluster is a required field 9476 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9477} 9478 9479// String returns the string representation 9480func (s DeleteClusterInput) String() string { 9481 return awsutil.Prettify(s) 9482} 9483 9484// GoString returns the string representation 9485func (s DeleteClusterInput) GoString() string { 9486 return s.String() 9487} 9488 9489// Validate inspects the fields of the type to determine if they are valid. 9490func (s *DeleteClusterInput) Validate() error { 9491 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 9492 if s.Cluster == nil { 9493 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9494 } 9495 9496 if invalidParams.Len() > 0 { 9497 return invalidParams 9498 } 9499 return nil 9500} 9501 9502// SetCluster sets the Cluster field's value. 9503func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 9504 s.Cluster = &v 9505 return s 9506} 9507 9508type DeleteClusterOutput struct { 9509 _ struct{} `type:"structure"` 9510 9511 // The full description of the deleted cluster. 9512 Cluster *Cluster `locationName:"cluster" type:"structure"` 9513} 9514 9515// String returns the string representation 9516func (s DeleteClusterOutput) String() string { 9517 return awsutil.Prettify(s) 9518} 9519 9520// GoString returns the string representation 9521func (s DeleteClusterOutput) GoString() string { 9522 return s.String() 9523} 9524 9525// SetCluster sets the Cluster field's value. 9526func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 9527 s.Cluster = v 9528 return s 9529} 9530 9531type DeleteServiceInput struct { 9532 _ struct{} `type:"structure"` 9533 9534 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9535 // the service to delete. If you do not specify a cluster, the default cluster 9536 // is assumed. 9537 Cluster *string `locationName:"cluster" type:"string"` 9538 9539 // If true, allows you to delete a service even if it has not been scaled down 9540 // to zero tasks. It is only necessary to use this if the service is using the 9541 // REPLICA scheduling strategy. 9542 Force *bool `locationName:"force" type:"boolean"` 9543 9544 // The name of the service to delete. 9545 // 9546 // Service is a required field 9547 Service *string `locationName:"service" type:"string" required:"true"` 9548} 9549 9550// String returns the string representation 9551func (s DeleteServiceInput) String() string { 9552 return awsutil.Prettify(s) 9553} 9554 9555// GoString returns the string representation 9556func (s DeleteServiceInput) GoString() string { 9557 return s.String() 9558} 9559 9560// Validate inspects the fields of the type to determine if they are valid. 9561func (s *DeleteServiceInput) Validate() error { 9562 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 9563 if s.Service == nil { 9564 invalidParams.Add(request.NewErrParamRequired("Service")) 9565 } 9566 9567 if invalidParams.Len() > 0 { 9568 return invalidParams 9569 } 9570 return nil 9571} 9572 9573// SetCluster sets the Cluster field's value. 9574func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 9575 s.Cluster = &v 9576 return s 9577} 9578 9579// SetForce sets the Force field's value. 9580func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 9581 s.Force = &v 9582 return s 9583} 9584 9585// SetService sets the Service field's value. 9586func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 9587 s.Service = &v 9588 return s 9589} 9590 9591type DeleteServiceOutput struct { 9592 _ struct{} `type:"structure"` 9593 9594 // The full description of the deleted service. 9595 Service *Service `locationName:"service" type:"structure"` 9596} 9597 9598// String returns the string representation 9599func (s DeleteServiceOutput) String() string { 9600 return awsutil.Prettify(s) 9601} 9602 9603// GoString returns the string representation 9604func (s DeleteServiceOutput) GoString() string { 9605 return s.String() 9606} 9607 9608// SetService sets the Service field's value. 9609func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 9610 s.Service = v 9611 return s 9612} 9613 9614type DeleteTaskSetInput struct { 9615 _ struct{} `type:"structure"` 9616 9617 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9618 // the service that the task set exists in to delete. 9619 // 9620 // Cluster is a required field 9621 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9622 9623 // If true, this allows you to delete a task set even if it hasn't been scaled 9624 // down to zero. 9625 Force *bool `locationName:"force" type:"boolean"` 9626 9627 // The short name or full Amazon Resource Name (ARN) of the service that hosts 9628 // the task set to delete. 9629 // 9630 // Service is a required field 9631 Service *string `locationName:"service" type:"string" required:"true"` 9632 9633 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 9634 // 9635 // TaskSet is a required field 9636 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 9637} 9638 9639// String returns the string representation 9640func (s DeleteTaskSetInput) String() string { 9641 return awsutil.Prettify(s) 9642} 9643 9644// GoString returns the string representation 9645func (s DeleteTaskSetInput) GoString() string { 9646 return s.String() 9647} 9648 9649// Validate inspects the fields of the type to determine if they are valid. 9650func (s *DeleteTaskSetInput) Validate() error { 9651 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 9652 if s.Cluster == nil { 9653 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9654 } 9655 if s.Service == nil { 9656 invalidParams.Add(request.NewErrParamRequired("Service")) 9657 } 9658 if s.TaskSet == nil { 9659 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 9660 } 9661 9662 if invalidParams.Len() > 0 { 9663 return invalidParams 9664 } 9665 return nil 9666} 9667 9668// SetCluster sets the Cluster field's value. 9669func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 9670 s.Cluster = &v 9671 return s 9672} 9673 9674// SetForce sets the Force field's value. 9675func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 9676 s.Force = &v 9677 return s 9678} 9679 9680// SetService sets the Service field's value. 9681func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 9682 s.Service = &v 9683 return s 9684} 9685 9686// SetTaskSet sets the TaskSet field's value. 9687func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 9688 s.TaskSet = &v 9689 return s 9690} 9691 9692type DeleteTaskSetOutput struct { 9693 _ struct{} `type:"structure"` 9694 9695 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9696 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9697 // desired number of tasks, how many tasks are running, and whether the task 9698 // set serves production traffic. 9699 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9700} 9701 9702// String returns the string representation 9703func (s DeleteTaskSetOutput) String() string { 9704 return awsutil.Prettify(s) 9705} 9706 9707// GoString returns the string representation 9708func (s DeleteTaskSetOutput) GoString() string { 9709 return s.String() 9710} 9711 9712// SetTaskSet sets the TaskSet field's value. 9713func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 9714 s.TaskSet = v 9715 return s 9716} 9717 9718// The details of an Amazon ECS service deployment. This is used only when a 9719// service uses the ECS deployment controller type. 9720type Deployment struct { 9721 _ struct{} `type:"structure"` 9722 9723 // The capacity provider strategy that the deployment is using. 9724 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9725 9726 // The Unix timestamp for when the service deployment was created. 9727 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 9728 9729 // The most recent desired count of tasks that was specified for the service 9730 // to deploy or maintain. 9731 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 9732 9733 // The ID of the deployment. 9734 Id *string `locationName:"id" type:"string"` 9735 9736 // The launch type the tasks in the service are using. For more information, 9737 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9738 // in the Amazon Elastic Container Service Developer Guide. 9739 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9740 9741 // The VPC subnet and security group configuration for tasks that receive their 9742 // own elastic network interface by using the awsvpc networking mode. 9743 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9744 9745 // The number of tasks in the deployment that are in the PENDING status. 9746 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 9747 9748 // The platform version on which your tasks in the service are running. A platform 9749 // version is only specified for tasks using the Fargate launch type. If one 9750 // is not specified, the LATEST platform version is used by default. For more 9751 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 9752 // in the Amazon Elastic Container Service Developer Guide. 9753 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9754 9755 // The number of tasks in the deployment that are in the RUNNING status. 9756 RunningCount *int64 `locationName:"runningCount" type:"integer"` 9757 9758 // The status of the deployment. The following describes each state: 9759 // 9760 // PRIMARY 9761 // 9762 // The most recent deployment of a service. 9763 // 9764 // ACTIVE 9765 // 9766 // A service deployment that still has running tasks, but are in the process 9767 // of being replaced with a new PRIMARY deployment. 9768 // 9769 // INACTIVE 9770 // 9771 // A deployment that has been completely replaced. 9772 Status *string `locationName:"status" type:"string"` 9773 9774 // The most recent task definition that was specified for the tasks in the service 9775 // to use. 9776 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9777 9778 // The Unix timestamp for when the service deployment was last updated. 9779 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 9780} 9781 9782// String returns the string representation 9783func (s Deployment) String() string { 9784 return awsutil.Prettify(s) 9785} 9786 9787// GoString returns the string representation 9788func (s Deployment) GoString() string { 9789 return s.String() 9790} 9791 9792// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9793func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 9794 s.CapacityProviderStrategy = v 9795 return s 9796} 9797 9798// SetCreatedAt sets the CreatedAt field's value. 9799func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 9800 s.CreatedAt = &v 9801 return s 9802} 9803 9804// SetDesiredCount sets the DesiredCount field's value. 9805func (s *Deployment) SetDesiredCount(v int64) *Deployment { 9806 s.DesiredCount = &v 9807 return s 9808} 9809 9810// SetId sets the Id field's value. 9811func (s *Deployment) SetId(v string) *Deployment { 9812 s.Id = &v 9813 return s 9814} 9815 9816// SetLaunchType sets the LaunchType field's value. 9817func (s *Deployment) SetLaunchType(v string) *Deployment { 9818 s.LaunchType = &v 9819 return s 9820} 9821 9822// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9823func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 9824 s.NetworkConfiguration = v 9825 return s 9826} 9827 9828// SetPendingCount sets the PendingCount field's value. 9829func (s *Deployment) SetPendingCount(v int64) *Deployment { 9830 s.PendingCount = &v 9831 return s 9832} 9833 9834// SetPlatformVersion sets the PlatformVersion field's value. 9835func (s *Deployment) SetPlatformVersion(v string) *Deployment { 9836 s.PlatformVersion = &v 9837 return s 9838} 9839 9840// SetRunningCount sets the RunningCount field's value. 9841func (s *Deployment) SetRunningCount(v int64) *Deployment { 9842 s.RunningCount = &v 9843 return s 9844} 9845 9846// SetStatus sets the Status field's value. 9847func (s *Deployment) SetStatus(v string) *Deployment { 9848 s.Status = &v 9849 return s 9850} 9851 9852// SetTaskDefinition sets the TaskDefinition field's value. 9853func (s *Deployment) SetTaskDefinition(v string) *Deployment { 9854 s.TaskDefinition = &v 9855 return s 9856} 9857 9858// SetUpdatedAt sets the UpdatedAt field's value. 9859func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 9860 s.UpdatedAt = &v 9861 return s 9862} 9863 9864// Optional deployment parameters that control how many tasks run during a deployment 9865// and the ordering of stopping and starting tasks. 9866type DeploymentConfiguration struct { 9867 _ struct{} `type:"structure"` 9868 9869 // If a service is using the rolling update (ECS) deployment type, the maximum 9870 // percent parameter represents an upper limit on the number of tasks in a service 9871 // that are allowed in the RUNNING or PENDING state during a deployment, as 9872 // a percentage of the desired number of tasks (rounded down to the nearest 9873 // integer), and while any container instances are in the DRAINING state if 9874 // the service contains tasks using the EC2 launch type. This parameter enables 9875 // you to define the deployment batch size. For example, if your service has 9876 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 9877 // may start four new tasks before stopping the four older tasks (provided that 9878 // the cluster resources required to do this are available). The default value 9879 // for maximum percent is 200%. 9880 // 9881 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 9882 // types and tasks that use the EC2 launch type, the maximum percent value is 9883 // set to the default value and is used to define the upper limit on the number 9884 // of the tasks in the service that remain in the RUNNING state while the container 9885 // instances are in the DRAINING state. If the tasks in the service use the 9886 // Fargate launch type, the maximum percent value is not used, although it is 9887 // returned when describing your service. 9888 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 9889 9890 // If a service is using the rolling update (ECS) deployment type, the minimum 9891 // healthy percent represents a lower limit on the number of tasks in a service 9892 // that must remain in the RUNNING state during a deployment, as a percentage 9893 // of the desired number of tasks (rounded up to the nearest integer), and while 9894 // any container instances are in the DRAINING state if the service contains 9895 // tasks using the EC2 launch type. This parameter enables you to deploy without 9896 // using additional cluster capacity. For example, if your service has a desired 9897 // number of four tasks and a minimum healthy percent of 50%, the scheduler 9898 // may stop two existing tasks to free up cluster capacity before starting two 9899 // new tasks. Tasks for services that do not use a load balancer are considered 9900 // healthy if they are in the RUNNING state; tasks for services that do use 9901 // a load balancer are considered healthy if they are in the RUNNING state and 9902 // they are reported as healthy by the load balancer. The default value for 9903 // minimum healthy percent is 100%. 9904 // 9905 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 9906 // types and tasks that use the EC2 launch type, the minimum healthy percent 9907 // value is set to the default value and is used to define the lower limit on 9908 // the number of the tasks in the service that remain in the RUNNING state while 9909 // the container instances are in the DRAINING state. If the tasks in the service 9910 // use the Fargate launch type, the minimum healthy percent value is not used, 9911 // although it is returned when describing your service. 9912 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 9913} 9914 9915// String returns the string representation 9916func (s DeploymentConfiguration) String() string { 9917 return awsutil.Prettify(s) 9918} 9919 9920// GoString returns the string representation 9921func (s DeploymentConfiguration) GoString() string { 9922 return s.String() 9923} 9924 9925// SetMaximumPercent sets the MaximumPercent field's value. 9926func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 9927 s.MaximumPercent = &v 9928 return s 9929} 9930 9931// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 9932func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 9933 s.MinimumHealthyPercent = &v 9934 return s 9935} 9936 9937// The deployment controller to use for the service. For more information, see 9938// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 9939// in the Amazon Elastic Container Service Developer Guide. 9940type DeploymentController struct { 9941 _ struct{} `type:"structure"` 9942 9943 // The deployment controller type to use. 9944 // 9945 // There are three deployment controller types available: 9946 // 9947 // ECS 9948 // 9949 // The rolling update (ECS) deployment type involves replacing the current running 9950 // version of the container with the latest version. The number of containers 9951 // Amazon ECS adds or removes from the service during a rolling update is controlled 9952 // by adjusting the minimum and maximum number of healthy tasks allowed during 9953 // a service deployment, as specified in the DeploymentConfiguration. 9954 // 9955 // CODE_DEPLOY 9956 // 9957 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 9958 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 9959 // of a service before sending production traffic to it. 9960 // 9961 // EXTERNAL 9962 // 9963 // The external (EXTERNAL) deployment type enables you to use any third-party 9964 // deployment controller for full control over the deployment process for an 9965 // Amazon ECS service. 9966 // 9967 // Type is a required field 9968 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 9969} 9970 9971// String returns the string representation 9972func (s DeploymentController) String() string { 9973 return awsutil.Prettify(s) 9974} 9975 9976// GoString returns the string representation 9977func (s DeploymentController) GoString() string { 9978 return s.String() 9979} 9980 9981// Validate inspects the fields of the type to determine if they are valid. 9982func (s *DeploymentController) Validate() error { 9983 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 9984 if s.Type == nil { 9985 invalidParams.Add(request.NewErrParamRequired("Type")) 9986 } 9987 9988 if invalidParams.Len() > 0 { 9989 return invalidParams 9990 } 9991 return nil 9992} 9993 9994// SetType sets the Type field's value. 9995func (s *DeploymentController) SetType(v string) *DeploymentController { 9996 s.Type = &v 9997 return s 9998} 9999 10000type DeregisterContainerInstanceInput struct { 10001 _ struct{} `type:"structure"` 10002 10003 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10004 // the container instance to deregister. If you do not specify a cluster, the 10005 // default cluster is assumed. 10006 Cluster *string `locationName:"cluster" type:"string"` 10007 10008 // The container instance ID or full ARN of the container instance to deregister. 10009 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 10010 // container instance, the AWS account ID of the container instance owner, the 10011 // container-instance namespace, and then the container instance ID. For example, 10012 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10013 // 10014 // ContainerInstance is a required field 10015 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 10016 10017 // Forces the deregistration of the container instance. If you have tasks running 10018 // on the container instance when you deregister it with the force option, these 10019 // tasks remain running until you terminate the instance or the tasks stop through 10020 // some other means, but they are orphaned (no longer monitored or accounted 10021 // for by Amazon ECS). If an orphaned task on your container instance is part 10022 // of an Amazon ECS service, then the service scheduler starts another copy 10023 // of that task, on a different container instance if possible. 10024 // 10025 // Any containers in orphaned service tasks that are registered with a Classic 10026 // Load Balancer or an Application Load Balancer target group are deregistered. 10027 // They begin connection draining according to the settings on the load balancer 10028 // or target group. 10029 Force *bool `locationName:"force" type:"boolean"` 10030} 10031 10032// String returns the string representation 10033func (s DeregisterContainerInstanceInput) String() string { 10034 return awsutil.Prettify(s) 10035} 10036 10037// GoString returns the string representation 10038func (s DeregisterContainerInstanceInput) GoString() string { 10039 return s.String() 10040} 10041 10042// Validate inspects the fields of the type to determine if they are valid. 10043func (s *DeregisterContainerInstanceInput) Validate() error { 10044 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 10045 if s.ContainerInstance == nil { 10046 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 10047 } 10048 10049 if invalidParams.Len() > 0 { 10050 return invalidParams 10051 } 10052 return nil 10053} 10054 10055// SetCluster sets the Cluster field's value. 10056func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 10057 s.Cluster = &v 10058 return s 10059} 10060 10061// SetContainerInstance sets the ContainerInstance field's value. 10062func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 10063 s.ContainerInstance = &v 10064 return s 10065} 10066 10067// SetForce sets the Force field's value. 10068func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 10069 s.Force = &v 10070 return s 10071} 10072 10073type DeregisterContainerInstanceOutput struct { 10074 _ struct{} `type:"structure"` 10075 10076 // The container instance that was deregistered. 10077 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 10078} 10079 10080// String returns the string representation 10081func (s DeregisterContainerInstanceOutput) String() string { 10082 return awsutil.Prettify(s) 10083} 10084 10085// GoString returns the string representation 10086func (s DeregisterContainerInstanceOutput) GoString() string { 10087 return s.String() 10088} 10089 10090// SetContainerInstance sets the ContainerInstance field's value. 10091func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 10092 s.ContainerInstance = v 10093 return s 10094} 10095 10096type DeregisterTaskDefinitionInput struct { 10097 _ struct{} `type:"structure"` 10098 10099 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 10100 // of the task definition to deregister. You must specify a revision. 10101 // 10102 // TaskDefinition is a required field 10103 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10104} 10105 10106// String returns the string representation 10107func (s DeregisterTaskDefinitionInput) String() string { 10108 return awsutil.Prettify(s) 10109} 10110 10111// GoString returns the string representation 10112func (s DeregisterTaskDefinitionInput) GoString() string { 10113 return s.String() 10114} 10115 10116// Validate inspects the fields of the type to determine if they are valid. 10117func (s *DeregisterTaskDefinitionInput) Validate() error { 10118 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 10119 if s.TaskDefinition == nil { 10120 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10121 } 10122 10123 if invalidParams.Len() > 0 { 10124 return invalidParams 10125 } 10126 return nil 10127} 10128 10129// SetTaskDefinition sets the TaskDefinition field's value. 10130func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 10131 s.TaskDefinition = &v 10132 return s 10133} 10134 10135type DeregisterTaskDefinitionOutput struct { 10136 _ struct{} `type:"structure"` 10137 10138 // The full description of the deregistered task. 10139 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10140} 10141 10142// String returns the string representation 10143func (s DeregisterTaskDefinitionOutput) String() string { 10144 return awsutil.Prettify(s) 10145} 10146 10147// GoString returns the string representation 10148func (s DeregisterTaskDefinitionOutput) GoString() string { 10149 return s.String() 10150} 10151 10152// SetTaskDefinition sets the TaskDefinition field's value. 10153func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 10154 s.TaskDefinition = v 10155 return s 10156} 10157 10158type DescribeCapacityProvidersInput struct { 10159 _ struct{} `type:"structure"` 10160 10161 // The short name or full Amazon Resource Name (ARN) of one or more capacity 10162 // providers. Up to 100 capacity providers can be described in an action. 10163 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 10164 10165 // Specifies whether or not you want to see the resource tags for the capacity 10166 // provider. If TAGS is specified, the tags are included in the response. If 10167 // this field is omitted, tags are not included in the response. 10168 Include []*string `locationName:"include" type:"list"` 10169 10170 // The maximum number of account setting results returned by DescribeCapacityProviders 10171 // in paginated output. When this parameter is used, DescribeCapacityProviders 10172 // only returns maxResults results in a single page along with a nextToken response 10173 // element. The remaining results of the initial request can be seen by sending 10174 // another DescribeCapacityProviders request with the returned nextToken value. 10175 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 10176 // returns up to 10 results and a nextToken value if applicable. 10177 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10178 10179 // The nextToken value returned from a previous paginated DescribeCapacityProviders 10180 // request where maxResults was used and the results exceeded the value of that 10181 // parameter. Pagination continues from the end of the previous results that 10182 // returned the nextToken value. 10183 // 10184 // This token should be treated as an opaque identifier that is only used to 10185 // retrieve the next items in a list and not for other programmatic purposes. 10186 NextToken *string `locationName:"nextToken" type:"string"` 10187} 10188 10189// String returns the string representation 10190func (s DescribeCapacityProvidersInput) String() string { 10191 return awsutil.Prettify(s) 10192} 10193 10194// GoString returns the string representation 10195func (s DescribeCapacityProvidersInput) GoString() string { 10196 return s.String() 10197} 10198 10199// SetCapacityProviders sets the CapacityProviders field's value. 10200func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 10201 s.CapacityProviders = v 10202 return s 10203} 10204 10205// SetInclude sets the Include field's value. 10206func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 10207 s.Include = v 10208 return s 10209} 10210 10211// SetMaxResults sets the MaxResults field's value. 10212func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 10213 s.MaxResults = &v 10214 return s 10215} 10216 10217// SetNextToken sets the NextToken field's value. 10218func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 10219 s.NextToken = &v 10220 return s 10221} 10222 10223type DescribeCapacityProvidersOutput struct { 10224 _ struct{} `type:"structure"` 10225 10226 // The list of capacity providers. 10227 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 10228 10229 // Any failures associated with the call. 10230 Failures []*Failure `locationName:"failures" type:"list"` 10231 10232 // The nextToken value to include in a future DescribeCapacityProviders request. 10233 // When the results of a DescribeCapacityProviders request exceed maxResults, 10234 // this value can be used to retrieve the next page of results. This value is 10235 // null when there are no more results to return. 10236 NextToken *string `locationName:"nextToken" type:"string"` 10237} 10238 10239// String returns the string representation 10240func (s DescribeCapacityProvidersOutput) String() string { 10241 return awsutil.Prettify(s) 10242} 10243 10244// GoString returns the string representation 10245func (s DescribeCapacityProvidersOutput) GoString() string { 10246 return s.String() 10247} 10248 10249// SetCapacityProviders sets the CapacityProviders field's value. 10250func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 10251 s.CapacityProviders = v 10252 return s 10253} 10254 10255// SetFailures sets the Failures field's value. 10256func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 10257 s.Failures = v 10258 return s 10259} 10260 10261// SetNextToken sets the NextToken field's value. 10262func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 10263 s.NextToken = &v 10264 return s 10265} 10266 10267type DescribeClustersInput struct { 10268 _ struct{} `type:"structure"` 10269 10270 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 10271 // entries. If you do not specify a cluster, the default cluster is assumed. 10272 Clusters []*string `locationName:"clusters" type:"list"` 10273 10274 // Whether to include additional information about your clusters in the response. 10275 // If this field is omitted, the attachments, statistics, and tags are not included. 10276 // 10277 // If ATTACHMENTS is specified, the attachments for the container instances 10278 // or tasks within the cluster are included. 10279 // 10280 // If SETTINGS is specified, the settings for the cluster are included. 10281 // 10282 // If STATISTICS is specified, the following additional information, separated 10283 // by launch type, is included: 10284 // 10285 // * runningEC2TasksCount 10286 // 10287 // * runningFargateTasksCount 10288 // 10289 // * pendingEC2TasksCount 10290 // 10291 // * pendingFargateTasksCount 10292 // 10293 // * activeEC2ServiceCount 10294 // 10295 // * activeFargateServiceCount 10296 // 10297 // * drainingEC2ServiceCount 10298 // 10299 // * drainingFargateServiceCount 10300 // 10301 // If TAGS is specified, the metadata tags associated with the cluster are included. 10302 Include []*string `locationName:"include" type:"list"` 10303} 10304 10305// String returns the string representation 10306func (s DescribeClustersInput) String() string { 10307 return awsutil.Prettify(s) 10308} 10309 10310// GoString returns the string representation 10311func (s DescribeClustersInput) GoString() string { 10312 return s.String() 10313} 10314 10315// SetClusters sets the Clusters field's value. 10316func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 10317 s.Clusters = v 10318 return s 10319} 10320 10321// SetInclude sets the Include field's value. 10322func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 10323 s.Include = v 10324 return s 10325} 10326 10327type DescribeClustersOutput struct { 10328 _ struct{} `type:"structure"` 10329 10330 // The list of clusters. 10331 Clusters []*Cluster `locationName:"clusters" type:"list"` 10332 10333 // Any failures associated with the call. 10334 Failures []*Failure `locationName:"failures" type:"list"` 10335} 10336 10337// String returns the string representation 10338func (s DescribeClustersOutput) String() string { 10339 return awsutil.Prettify(s) 10340} 10341 10342// GoString returns the string representation 10343func (s DescribeClustersOutput) GoString() string { 10344 return s.String() 10345} 10346 10347// SetClusters sets the Clusters field's value. 10348func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 10349 s.Clusters = v 10350 return s 10351} 10352 10353// SetFailures sets the Failures field's value. 10354func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 10355 s.Failures = v 10356 return s 10357} 10358 10359type DescribeContainerInstancesInput struct { 10360 _ struct{} `type:"structure"` 10361 10362 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10363 // the container instances to describe. If you do not specify a cluster, the 10364 // default cluster is assumed. This parameter is required if the container instance 10365 // or container instances you are describing were launched in any cluster other 10366 // than the default cluster. 10367 Cluster *string `locationName:"cluster" type:"string"` 10368 10369 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 10370 // entries. 10371 // 10372 // ContainerInstances is a required field 10373 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 10374 10375 // Specifies whether you want to see the resource tags for the container instance. 10376 // If TAGS is specified, the tags are included in the response. If this field 10377 // is omitted, tags are not included in the response. 10378 Include []*string `locationName:"include" type:"list"` 10379} 10380 10381// String returns the string representation 10382func (s DescribeContainerInstancesInput) String() string { 10383 return awsutil.Prettify(s) 10384} 10385 10386// GoString returns the string representation 10387func (s DescribeContainerInstancesInput) GoString() string { 10388 return s.String() 10389} 10390 10391// Validate inspects the fields of the type to determine if they are valid. 10392func (s *DescribeContainerInstancesInput) Validate() error { 10393 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 10394 if s.ContainerInstances == nil { 10395 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 10396 } 10397 10398 if invalidParams.Len() > 0 { 10399 return invalidParams 10400 } 10401 return nil 10402} 10403 10404// SetCluster sets the Cluster field's value. 10405func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 10406 s.Cluster = &v 10407 return s 10408} 10409 10410// SetContainerInstances sets the ContainerInstances field's value. 10411func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 10412 s.ContainerInstances = v 10413 return s 10414} 10415 10416// SetInclude sets the Include field's value. 10417func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 10418 s.Include = v 10419 return s 10420} 10421 10422type DescribeContainerInstancesOutput struct { 10423 _ struct{} `type:"structure"` 10424 10425 // The list of container instances. 10426 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 10427 10428 // Any failures associated with the call. 10429 Failures []*Failure `locationName:"failures" type:"list"` 10430} 10431 10432// String returns the string representation 10433func (s DescribeContainerInstancesOutput) String() string { 10434 return awsutil.Prettify(s) 10435} 10436 10437// GoString returns the string representation 10438func (s DescribeContainerInstancesOutput) GoString() string { 10439 return s.String() 10440} 10441 10442// SetContainerInstances sets the ContainerInstances field's value. 10443func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 10444 s.ContainerInstances = v 10445 return s 10446} 10447 10448// SetFailures sets the Failures field's value. 10449func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 10450 s.Failures = v 10451 return s 10452} 10453 10454type DescribeServicesInput struct { 10455 _ struct{} `type:"structure"` 10456 10457 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 10458 // service to describe. If you do not specify a cluster, the default cluster 10459 // is assumed. This parameter is required if the service or services you are 10460 // describing were launched in any cluster other than the default cluster. 10461 Cluster *string `locationName:"cluster" type:"string"` 10462 10463 // Specifies whether you want to see the resource tags for the service. If TAGS 10464 // is specified, the tags are included in the response. If this field is omitted, 10465 // tags are not included in the response. 10466 Include []*string `locationName:"include" type:"list"` 10467 10468 // A list of services to describe. You may specify up to 10 services to describe 10469 // in a single operation. 10470 // 10471 // Services is a required field 10472 Services []*string `locationName:"services" type:"list" required:"true"` 10473} 10474 10475// String returns the string representation 10476func (s DescribeServicesInput) String() string { 10477 return awsutil.Prettify(s) 10478} 10479 10480// GoString returns the string representation 10481func (s DescribeServicesInput) GoString() string { 10482 return s.String() 10483} 10484 10485// Validate inspects the fields of the type to determine if they are valid. 10486func (s *DescribeServicesInput) Validate() error { 10487 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 10488 if s.Services == nil { 10489 invalidParams.Add(request.NewErrParamRequired("Services")) 10490 } 10491 10492 if invalidParams.Len() > 0 { 10493 return invalidParams 10494 } 10495 return nil 10496} 10497 10498// SetCluster sets the Cluster field's value. 10499func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 10500 s.Cluster = &v 10501 return s 10502} 10503 10504// SetInclude sets the Include field's value. 10505func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 10506 s.Include = v 10507 return s 10508} 10509 10510// SetServices sets the Services field's value. 10511func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 10512 s.Services = v 10513 return s 10514} 10515 10516type DescribeServicesOutput struct { 10517 _ struct{} `type:"structure"` 10518 10519 // Any failures associated with the call. 10520 Failures []*Failure `locationName:"failures" type:"list"` 10521 10522 // The list of services described. 10523 Services []*Service `locationName:"services" type:"list"` 10524} 10525 10526// String returns the string representation 10527func (s DescribeServicesOutput) String() string { 10528 return awsutil.Prettify(s) 10529} 10530 10531// GoString returns the string representation 10532func (s DescribeServicesOutput) GoString() string { 10533 return s.String() 10534} 10535 10536// SetFailures sets the Failures field's value. 10537func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 10538 s.Failures = v 10539 return s 10540} 10541 10542// SetServices sets the Services field's value. 10543func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 10544 s.Services = v 10545 return s 10546} 10547 10548type DescribeTaskDefinitionInput struct { 10549 _ struct{} `type:"structure"` 10550 10551 // Specifies whether to see the resource tags for the task definition. If TAGS 10552 // is specified, the tags are included in the response. If this field is omitted, 10553 // tags are not included in the response. 10554 Include []*string `locationName:"include" type:"list"` 10555 10556 // The family for the latest ACTIVE revision, family and revision (family:revision) 10557 // for a specific revision in the family, or full Amazon Resource Name (ARN) 10558 // of the task definition to describe. 10559 // 10560 // TaskDefinition is a required field 10561 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10562} 10563 10564// String returns the string representation 10565func (s DescribeTaskDefinitionInput) String() string { 10566 return awsutil.Prettify(s) 10567} 10568 10569// GoString returns the string representation 10570func (s DescribeTaskDefinitionInput) GoString() string { 10571 return s.String() 10572} 10573 10574// Validate inspects the fields of the type to determine if they are valid. 10575func (s *DescribeTaskDefinitionInput) Validate() error { 10576 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 10577 if s.TaskDefinition == nil { 10578 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10579 } 10580 10581 if invalidParams.Len() > 0 { 10582 return invalidParams 10583 } 10584 return nil 10585} 10586 10587// SetInclude sets the Include field's value. 10588func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 10589 s.Include = v 10590 return s 10591} 10592 10593// SetTaskDefinition sets the TaskDefinition field's value. 10594func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 10595 s.TaskDefinition = &v 10596 return s 10597} 10598 10599type DescribeTaskDefinitionOutput struct { 10600 _ struct{} `type:"structure"` 10601 10602 // The metadata that is applied to the task definition to help you categorize 10603 // and organize them. Each tag consists of a key and an optional value, both 10604 // of which you define. 10605 // 10606 // The following basic restrictions apply to tags: 10607 // 10608 // * Maximum number of tags per resource - 50 10609 // 10610 // * For each resource, each tag key must be unique, and each tag key can 10611 // have only one value. 10612 // 10613 // * Maximum key length - 128 Unicode characters in UTF-8 10614 // 10615 // * Maximum value length - 256 Unicode characters in UTF-8 10616 // 10617 // * If your tagging schema is used across multiple services and resources, 10618 // remember that other services may have restrictions on allowed characters. 10619 // Generally allowed characters are: letters, numbers, and spaces representable 10620 // in UTF-8, and the following characters: + - = . _ : / @. 10621 // 10622 // * Tag keys and values are case-sensitive. 10623 // 10624 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 10625 // as a prefix for either keys or values as it is reserved for AWS use. You 10626 // cannot edit or delete tag keys or values with this prefix. Tags with this 10627 // prefix do not count against your tags per resource limit. 10628 Tags []*Tag `locationName:"tags" type:"list"` 10629 10630 // The full task definition description. 10631 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10632} 10633 10634// String returns the string representation 10635func (s DescribeTaskDefinitionOutput) String() string { 10636 return awsutil.Prettify(s) 10637} 10638 10639// GoString returns the string representation 10640func (s DescribeTaskDefinitionOutput) GoString() string { 10641 return s.String() 10642} 10643 10644// SetTags sets the Tags field's value. 10645func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 10646 s.Tags = v 10647 return s 10648} 10649 10650// SetTaskDefinition sets the TaskDefinition field's value. 10651func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 10652 s.TaskDefinition = v 10653 return s 10654} 10655 10656type DescribeTaskSetsInput struct { 10657 _ struct{} `type:"structure"` 10658 10659 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10660 // the service that the task sets exist in. 10661 // 10662 // Cluster is a required field 10663 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10664 10665 // Specifies whether to see the resource tags for the task set. If TAGS is specified, 10666 // the tags are included in the response. If this field is omitted, tags are 10667 // not included in the response. 10668 Include []*string `locationName:"include" type:"list"` 10669 10670 // The short name or full Amazon Resource Name (ARN) of the service that the 10671 // task sets exist in. 10672 // 10673 // Service is a required field 10674 Service *string `locationName:"service" type:"string" required:"true"` 10675 10676 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 10677 TaskSets []*string `locationName:"taskSets" type:"list"` 10678} 10679 10680// String returns the string representation 10681func (s DescribeTaskSetsInput) String() string { 10682 return awsutil.Prettify(s) 10683} 10684 10685// GoString returns the string representation 10686func (s DescribeTaskSetsInput) GoString() string { 10687 return s.String() 10688} 10689 10690// Validate inspects the fields of the type to determine if they are valid. 10691func (s *DescribeTaskSetsInput) Validate() error { 10692 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 10693 if s.Cluster == nil { 10694 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10695 } 10696 if s.Service == nil { 10697 invalidParams.Add(request.NewErrParamRequired("Service")) 10698 } 10699 10700 if invalidParams.Len() > 0 { 10701 return invalidParams 10702 } 10703 return nil 10704} 10705 10706// SetCluster sets the Cluster field's value. 10707func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 10708 s.Cluster = &v 10709 return s 10710} 10711 10712// SetInclude sets the Include field's value. 10713func (s *DescribeTaskSetsInput) SetInclude(v []*string) *DescribeTaskSetsInput { 10714 s.Include = v 10715 return s 10716} 10717 10718// SetService sets the Service field's value. 10719func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 10720 s.Service = &v 10721 return s 10722} 10723 10724// SetTaskSets sets the TaskSets field's value. 10725func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 10726 s.TaskSets = v 10727 return s 10728} 10729 10730type DescribeTaskSetsOutput struct { 10731 _ struct{} `type:"structure"` 10732 10733 // Any failures associated with the call. 10734 Failures []*Failure `locationName:"failures" type:"list"` 10735 10736 // The list of task sets described. 10737 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 10738} 10739 10740// String returns the string representation 10741func (s DescribeTaskSetsOutput) String() string { 10742 return awsutil.Prettify(s) 10743} 10744 10745// GoString returns the string representation 10746func (s DescribeTaskSetsOutput) GoString() string { 10747 return s.String() 10748} 10749 10750// SetFailures sets the Failures field's value. 10751func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 10752 s.Failures = v 10753 return s 10754} 10755 10756// SetTaskSets sets the TaskSets field's value. 10757func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 10758 s.TaskSets = v 10759 return s 10760} 10761 10762type DescribeTasksInput struct { 10763 _ struct{} `type:"structure"` 10764 10765 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10766 // the task or tasks to describe. If you do not specify a cluster, the default 10767 // cluster is assumed. This parameter is required if the task or tasks you are 10768 // describing were launched in any cluster other than the default cluster. 10769 Cluster *string `locationName:"cluster" type:"string"` 10770 10771 // Specifies whether you want to see the resource tags for the task. If TAGS 10772 // is specified, the tags are included in the response. If this field is omitted, 10773 // tags are not included in the response. 10774 Include []*string `locationName:"include" type:"list"` 10775 10776 // A list of up to 100 task IDs or full ARN entries. 10777 // 10778 // Tasks is a required field 10779 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 10780} 10781 10782// String returns the string representation 10783func (s DescribeTasksInput) String() string { 10784 return awsutil.Prettify(s) 10785} 10786 10787// GoString returns the string representation 10788func (s DescribeTasksInput) GoString() string { 10789 return s.String() 10790} 10791 10792// Validate inspects the fields of the type to determine if they are valid. 10793func (s *DescribeTasksInput) Validate() error { 10794 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 10795 if s.Tasks == nil { 10796 invalidParams.Add(request.NewErrParamRequired("Tasks")) 10797 } 10798 10799 if invalidParams.Len() > 0 { 10800 return invalidParams 10801 } 10802 return nil 10803} 10804 10805// SetCluster sets the Cluster field's value. 10806func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 10807 s.Cluster = &v 10808 return s 10809} 10810 10811// SetInclude sets the Include field's value. 10812func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 10813 s.Include = v 10814 return s 10815} 10816 10817// SetTasks sets the Tasks field's value. 10818func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 10819 s.Tasks = v 10820 return s 10821} 10822 10823type DescribeTasksOutput struct { 10824 _ struct{} `type:"structure"` 10825 10826 // Any failures associated with the call. 10827 Failures []*Failure `locationName:"failures" type:"list"` 10828 10829 // The list of tasks. 10830 Tasks []*Task `locationName:"tasks" type:"list"` 10831} 10832 10833// String returns the string representation 10834func (s DescribeTasksOutput) String() string { 10835 return awsutil.Prettify(s) 10836} 10837 10838// GoString returns the string representation 10839func (s DescribeTasksOutput) GoString() string { 10840 return s.String() 10841} 10842 10843// SetFailures sets the Failures field's value. 10844func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 10845 s.Failures = v 10846 return s 10847} 10848 10849// SetTasks sets the Tasks field's value. 10850func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 10851 s.Tasks = v 10852 return s 10853} 10854 10855// An object representing a container instance host device. 10856type Device struct { 10857 _ struct{} `type:"structure"` 10858 10859 // The path inside the container at which to expose the host device. 10860 ContainerPath *string `locationName:"containerPath" type:"string"` 10861 10862 // The path for the device on the host container instance. 10863 // 10864 // HostPath is a required field 10865 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 10866 10867 // The explicit permissions to provide to the container for the device. By default, 10868 // the container has permissions for read, write, and mknod for the device. 10869 Permissions []*string `locationName:"permissions" type:"list"` 10870} 10871 10872// String returns the string representation 10873func (s Device) String() string { 10874 return awsutil.Prettify(s) 10875} 10876 10877// GoString returns the string representation 10878func (s Device) GoString() string { 10879 return s.String() 10880} 10881 10882// Validate inspects the fields of the type to determine if they are valid. 10883func (s *Device) Validate() error { 10884 invalidParams := request.ErrInvalidParams{Context: "Device"} 10885 if s.HostPath == nil { 10886 invalidParams.Add(request.NewErrParamRequired("HostPath")) 10887 } 10888 10889 if invalidParams.Len() > 0 { 10890 return invalidParams 10891 } 10892 return nil 10893} 10894 10895// SetContainerPath sets the ContainerPath field's value. 10896func (s *Device) SetContainerPath(v string) *Device { 10897 s.ContainerPath = &v 10898 return s 10899} 10900 10901// SetHostPath sets the HostPath field's value. 10902func (s *Device) SetHostPath(v string) *Device { 10903 s.HostPath = &v 10904 return s 10905} 10906 10907// SetPermissions sets the Permissions field's value. 10908func (s *Device) SetPermissions(v []*string) *Device { 10909 s.Permissions = v 10910 return s 10911} 10912 10913type DiscoverPollEndpointInput struct { 10914 _ struct{} `type:"structure"` 10915 10916 // The short name or full Amazon Resource Name (ARN) of the cluster to which 10917 // the container instance belongs. 10918 Cluster *string `locationName:"cluster" type:"string"` 10919 10920 // The container instance ID or full ARN of the container instance. The ARN 10921 // contains the arn:aws:ecs namespace, followed by the Region of the container 10922 // instance, the AWS account ID of the container instance owner, the container-instance 10923 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10924 ContainerInstance *string `locationName:"containerInstance" type:"string"` 10925} 10926 10927// String returns the string representation 10928func (s DiscoverPollEndpointInput) String() string { 10929 return awsutil.Prettify(s) 10930} 10931 10932// GoString returns the string representation 10933func (s DiscoverPollEndpointInput) GoString() string { 10934 return s.String() 10935} 10936 10937// SetCluster sets the Cluster field's value. 10938func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 10939 s.Cluster = &v 10940 return s 10941} 10942 10943// SetContainerInstance sets the ContainerInstance field's value. 10944func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 10945 s.ContainerInstance = &v 10946 return s 10947} 10948 10949type DiscoverPollEndpointOutput struct { 10950 _ struct{} `type:"structure"` 10951 10952 // The endpoint for the Amazon ECS agent to poll. 10953 Endpoint *string `locationName:"endpoint" type:"string"` 10954 10955 // The telemetry endpoint for the Amazon ECS agent. 10956 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 10957} 10958 10959// String returns the string representation 10960func (s DiscoverPollEndpointOutput) String() string { 10961 return awsutil.Prettify(s) 10962} 10963 10964// GoString returns the string representation 10965func (s DiscoverPollEndpointOutput) GoString() string { 10966 return s.String() 10967} 10968 10969// SetEndpoint sets the Endpoint field's value. 10970func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 10971 s.Endpoint = &v 10972 return s 10973} 10974 10975// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 10976func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 10977 s.TelemetryEndpoint = &v 10978 return s 10979} 10980 10981// This parameter is specified when you are using Docker volumes. Docker volumes 10982// are only supported when you are using the EC2 launch type. Windows containers 10983// only support the use of the local driver. To use bind mounts, specify a host 10984// instead. 10985type DockerVolumeConfiguration struct { 10986 _ struct{} `type:"structure"` 10987 10988 // If this value is true, the Docker volume is created if it does not already 10989 // exist. 10990 // 10991 // This field is only used if the scope is shared. 10992 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 10993 10994 // The Docker volume driver to use. The driver value must match the driver name 10995 // provided by Docker because it is used for task placement. If the driver was 10996 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 10997 // driver name from your container instance. If the driver was installed using 10998 // another method, use Docker plugin discovery to retrieve the driver name. 10999 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 11000 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11001 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11002 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11003 Driver *string `locationName:"driver" type:"string"` 11004 11005 // A map of Docker driver-specific options passed through. This parameter maps 11006 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11007 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11008 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11009 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 11010 11011 // Custom metadata to add to your Docker volume. This parameter maps to Labels 11012 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11013 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11014 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11015 Labels map[string]*string `locationName:"labels" type:"map"` 11016 11017 // The scope for the Docker volume that determines its lifecycle. Docker volumes 11018 // that are scoped to a task are automatically provisioned when the task starts 11019 // and destroyed when the task stops. Docker volumes that are scoped as shared 11020 // persist after the task stops. 11021 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 11022} 11023 11024// String returns the string representation 11025func (s DockerVolumeConfiguration) String() string { 11026 return awsutil.Prettify(s) 11027} 11028 11029// GoString returns the string representation 11030func (s DockerVolumeConfiguration) GoString() string { 11031 return s.String() 11032} 11033 11034// SetAutoprovision sets the Autoprovision field's value. 11035func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 11036 s.Autoprovision = &v 11037 return s 11038} 11039 11040// SetDriver sets the Driver field's value. 11041func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 11042 s.Driver = &v 11043 return s 11044} 11045 11046// SetDriverOpts sets the DriverOpts field's value. 11047func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 11048 s.DriverOpts = v 11049 return s 11050} 11051 11052// SetLabels sets the Labels field's value. 11053func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 11054 s.Labels = v 11055 return s 11056} 11057 11058// SetScope sets the Scope field's value. 11059func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 11060 s.Scope = &v 11061 return s 11062} 11063 11064// This parameter is specified when you are using an Amazon Elastic File System 11065// (Amazon EFS) file storage. Amazon EFS file systems are only supported when 11066// you are using the EC2 launch type. 11067// 11068// EFSVolumeConfiguration remains in preview and is a Beta Service as defined 11069// by and subject to the Beta Service Participation Service Terms located at 11070// https://aws.amazon.com/service-terms (https://aws.amazon.com/service-terms) 11071// ("Beta Terms"). These Beta Terms apply to your participation in this preview 11072// of EFSVolumeConfiguration. 11073type EFSVolumeConfiguration struct { 11074 _ struct{} `type:"structure"` 11075 11076 // The Amazon EFS file system ID to use. 11077 // 11078 // FileSystemId is a required field 11079 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 11080 11081 // The directory within the Amazon EFS file system to mount as the root directory 11082 // inside the host. 11083 RootDirectory *string `locationName:"rootDirectory" type:"string"` 11084} 11085 11086// String returns the string representation 11087func (s EFSVolumeConfiguration) String() string { 11088 return awsutil.Prettify(s) 11089} 11090 11091// GoString returns the string representation 11092func (s EFSVolumeConfiguration) GoString() string { 11093 return s.String() 11094} 11095 11096// Validate inspects the fields of the type to determine if they are valid. 11097func (s *EFSVolumeConfiguration) Validate() error { 11098 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 11099 if s.FileSystemId == nil { 11100 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 11101 } 11102 11103 if invalidParams.Len() > 0 { 11104 return invalidParams 11105 } 11106 return nil 11107} 11108 11109// SetFileSystemId sets the FileSystemId field's value. 11110func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 11111 s.FileSystemId = &v 11112 return s 11113} 11114 11115// SetRootDirectory sets the RootDirectory field's value. 11116func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 11117 s.RootDirectory = &v 11118 return s 11119} 11120 11121// A failed resource. 11122type Failure struct { 11123 _ struct{} `type:"structure"` 11124 11125 // The Amazon Resource Name (ARN) of the failed resource. 11126 Arn *string `locationName:"arn" type:"string"` 11127 11128 // The details of the failure. 11129 Detail *string `locationName:"detail" type:"string"` 11130 11131 // The reason for the failure. 11132 Reason *string `locationName:"reason" type:"string"` 11133} 11134 11135// String returns the string representation 11136func (s Failure) String() string { 11137 return awsutil.Prettify(s) 11138} 11139 11140// GoString returns the string representation 11141func (s Failure) GoString() string { 11142 return s.String() 11143} 11144 11145// SetArn sets the Arn field's value. 11146func (s *Failure) SetArn(v string) *Failure { 11147 s.Arn = &v 11148 return s 11149} 11150 11151// SetDetail sets the Detail field's value. 11152func (s *Failure) SetDetail(v string) *Failure { 11153 s.Detail = &v 11154 return s 11155} 11156 11157// SetReason sets the Reason field's value. 11158func (s *Failure) SetReason(v string) *Failure { 11159 s.Reason = &v 11160 return s 11161} 11162 11163// The FireLens configuration for the container. This is used to specify and 11164// configure a log router for container logs. For more information, see Custom 11165// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 11166// in the Amazon Elastic Container Service Developer Guide. 11167type FirelensConfiguration struct { 11168 _ struct{} `type:"structure"` 11169 11170 // The options to use when configuring the log router. This field is optional 11171 // and can be used to specify a custom configuration file or to add additional 11172 // metadata, such as the task, task definition, cluster, and container instance 11173 // 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"}. 11174 // For more information, see Creating a Task Definition that Uses a FireLens 11175 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 11176 // in the Amazon Elastic Container Service Developer Guide. 11177 Options map[string]*string `locationName:"options" type:"map"` 11178 11179 // The log router to use. The valid values are fluentd or fluentbit. 11180 // 11181 // Type is a required field 11182 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 11183} 11184 11185// String returns the string representation 11186func (s FirelensConfiguration) String() string { 11187 return awsutil.Prettify(s) 11188} 11189 11190// GoString returns the string representation 11191func (s FirelensConfiguration) GoString() string { 11192 return s.String() 11193} 11194 11195// Validate inspects the fields of the type to determine if they are valid. 11196func (s *FirelensConfiguration) Validate() error { 11197 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 11198 if s.Type == nil { 11199 invalidParams.Add(request.NewErrParamRequired("Type")) 11200 } 11201 11202 if invalidParams.Len() > 0 { 11203 return invalidParams 11204 } 11205 return nil 11206} 11207 11208// SetOptions sets the Options field's value. 11209func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 11210 s.Options = v 11211 return s 11212} 11213 11214// SetType sets the Type field's value. 11215func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 11216 s.Type = &v 11217 return s 11218} 11219 11220// An object representing a container health check. Health check parameters 11221// that are specified in a container definition override any Docker health checks 11222// that exist in the container image (such as those specified in a parent image 11223// or from the image's Dockerfile). 11224// 11225// The following are notes about container health check support: 11226// 11227// * Container health checks require version 1.17.0 or greater of the Amazon 11228// ECS container agent. For more information, see Updating the Amazon ECS 11229// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 11230// 11231// * Container health checks are supported for Fargate tasks if you are using 11232// platform version 1.1.0 or greater. For more information, see AWS Fargate 11233// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 11234// 11235// * Container health checks are not supported for tasks that are part of 11236// a service that is configured to use a Classic Load Balancer. 11237type HealthCheck struct { 11238 _ struct{} `type:"structure"` 11239 11240 // A string array representing the command that the container runs to determine 11241 // if it is healthy. The string array must start with CMD to execute the command 11242 // arguments directly, or CMD-SHELL to run the command with the container's 11243 // default shell. For example: 11244 // 11245 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 11246 // 11247 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 11248 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11249 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 11250 // 11251 // Command is a required field 11252 Command []*string `locationName:"command" type:"list" required:"true"` 11253 11254 // The time period in seconds between each health check execution. You may specify 11255 // between 5 and 300 seconds. The default value is 30 seconds. 11256 Interval *int64 `locationName:"interval" type:"integer"` 11257 11258 // The number of times to retry a failed health check before the container is 11259 // considered unhealthy. You may specify between 1 and 10 retries. The default 11260 // value is 3. 11261 Retries *int64 `locationName:"retries" type:"integer"` 11262 11263 // The optional grace period within which to provide containers time to bootstrap 11264 // before failed health checks count towards the maximum number of retries. 11265 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 11266 // default. 11267 // 11268 // If a health check succeeds within the startPeriod, then the container is 11269 // considered healthy and any subsequent failures count toward the maximum number 11270 // of retries. 11271 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 11272 11273 // The time period in seconds to wait for a health check to succeed before it 11274 // is considered a failure. You may specify between 2 and 60 seconds. The default 11275 // value is 5. 11276 Timeout *int64 `locationName:"timeout" type:"integer"` 11277} 11278 11279// String returns the string representation 11280func (s HealthCheck) String() string { 11281 return awsutil.Prettify(s) 11282} 11283 11284// GoString returns the string representation 11285func (s HealthCheck) GoString() string { 11286 return s.String() 11287} 11288 11289// Validate inspects the fields of the type to determine if they are valid. 11290func (s *HealthCheck) Validate() error { 11291 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 11292 if s.Command == nil { 11293 invalidParams.Add(request.NewErrParamRequired("Command")) 11294 } 11295 11296 if invalidParams.Len() > 0 { 11297 return invalidParams 11298 } 11299 return nil 11300} 11301 11302// SetCommand sets the Command field's value. 11303func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 11304 s.Command = v 11305 return s 11306} 11307 11308// SetInterval sets the Interval field's value. 11309func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 11310 s.Interval = &v 11311 return s 11312} 11313 11314// SetRetries sets the Retries field's value. 11315func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 11316 s.Retries = &v 11317 return s 11318} 11319 11320// SetStartPeriod sets the StartPeriod field's value. 11321func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 11322 s.StartPeriod = &v 11323 return s 11324} 11325 11326// SetTimeout sets the Timeout field's value. 11327func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 11328 s.Timeout = &v 11329 return s 11330} 11331 11332// Hostnames and IP address entries that are added to the /etc/hosts file of 11333// a container via the extraHosts parameter of its ContainerDefinition. 11334type HostEntry struct { 11335 _ struct{} `type:"structure"` 11336 11337 // The hostname to use in the /etc/hosts entry. 11338 // 11339 // Hostname is a required field 11340 Hostname *string `locationName:"hostname" type:"string" required:"true"` 11341 11342 // The IP address to use in the /etc/hosts entry. 11343 // 11344 // IpAddress is a required field 11345 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 11346} 11347 11348// String returns the string representation 11349func (s HostEntry) String() string { 11350 return awsutil.Prettify(s) 11351} 11352 11353// GoString returns the string representation 11354func (s HostEntry) GoString() string { 11355 return s.String() 11356} 11357 11358// Validate inspects the fields of the type to determine if they are valid. 11359func (s *HostEntry) Validate() error { 11360 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 11361 if s.Hostname == nil { 11362 invalidParams.Add(request.NewErrParamRequired("Hostname")) 11363 } 11364 if s.IpAddress == nil { 11365 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 11366 } 11367 11368 if invalidParams.Len() > 0 { 11369 return invalidParams 11370 } 11371 return nil 11372} 11373 11374// SetHostname sets the Hostname field's value. 11375func (s *HostEntry) SetHostname(v string) *HostEntry { 11376 s.Hostname = &v 11377 return s 11378} 11379 11380// SetIpAddress sets the IpAddress field's value. 11381func (s *HostEntry) SetIpAddress(v string) *HostEntry { 11382 s.IpAddress = &v 11383 return s 11384} 11385 11386// Details on a container instance bind mount host volume. 11387type HostVolumeProperties struct { 11388 _ struct{} `type:"structure"` 11389 11390 // When the host parameter is used, specify a sourcePath to declare the path 11391 // on the host container instance that is presented to the container. If this 11392 // parameter is empty, then the Docker daemon has assigned a host path for you. 11393 // If the host parameter contains a sourcePath file location, then the data 11394 // volume persists at the specified location on the host container instance 11395 // until you delete it manually. If the sourcePath value does not exist on the 11396 // host container instance, the Docker daemon creates it. If the location does 11397 // exist, the contents of the source path folder are exported. 11398 // 11399 // If you are using the Fargate launch type, the sourcePath parameter is not 11400 // supported. 11401 SourcePath *string `locationName:"sourcePath" type:"string"` 11402} 11403 11404// String returns the string representation 11405func (s HostVolumeProperties) String() string { 11406 return awsutil.Prettify(s) 11407} 11408 11409// GoString returns the string representation 11410func (s HostVolumeProperties) GoString() string { 11411 return s.String() 11412} 11413 11414// SetSourcePath sets the SourcePath field's value. 11415func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 11416 s.SourcePath = &v 11417 return s 11418} 11419 11420// Details on a Elastic Inference accelerator. For more information, see Working 11421// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11422// in the Amazon Elastic Container Service Developer Guide. 11423type InferenceAccelerator struct { 11424 _ struct{} `type:"structure"` 11425 11426 // The Elastic Inference accelerator device name. The deviceName must also be 11427 // referenced in a container definition as a ResourceRequirement. 11428 // 11429 // DeviceName is a required field 11430 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 11431 11432 // The Elastic Inference accelerator type to use. 11433 // 11434 // DeviceType is a required field 11435 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 11436} 11437 11438// String returns the string representation 11439func (s InferenceAccelerator) String() string { 11440 return awsutil.Prettify(s) 11441} 11442 11443// GoString returns the string representation 11444func (s InferenceAccelerator) GoString() string { 11445 return s.String() 11446} 11447 11448// Validate inspects the fields of the type to determine if they are valid. 11449func (s *InferenceAccelerator) Validate() error { 11450 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 11451 if s.DeviceName == nil { 11452 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 11453 } 11454 if s.DeviceType == nil { 11455 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 11456 } 11457 11458 if invalidParams.Len() > 0 { 11459 return invalidParams 11460 } 11461 return nil 11462} 11463 11464// SetDeviceName sets the DeviceName field's value. 11465func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 11466 s.DeviceName = &v 11467 return s 11468} 11469 11470// SetDeviceType sets the DeviceType field's value. 11471func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 11472 s.DeviceType = &v 11473 return s 11474} 11475 11476// Details on an Elastic Inference accelerator task override. This parameter 11477// is used to override the Elastic Inference accelerator specified in the task 11478// definition. For more information, see Working with Amazon Elastic Inference 11479// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11480// in the Amazon Elastic Container Service Developer Guide. 11481type InferenceAcceleratorOverride struct { 11482 _ struct{} `type:"structure"` 11483 11484 // The Elastic Inference accelerator device name to override for the task. This 11485 // parameter must match a deviceName specified in the task definition. 11486 DeviceName *string `locationName:"deviceName" type:"string"` 11487 11488 // The Elastic Inference accelerator type to use. 11489 DeviceType *string `locationName:"deviceType" type:"string"` 11490} 11491 11492// String returns the string representation 11493func (s InferenceAcceleratorOverride) String() string { 11494 return awsutil.Prettify(s) 11495} 11496 11497// GoString returns the string representation 11498func (s InferenceAcceleratorOverride) GoString() string { 11499 return s.String() 11500} 11501 11502// SetDeviceName sets the DeviceName field's value. 11503func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 11504 s.DeviceName = &v 11505 return s 11506} 11507 11508// SetDeviceType sets the DeviceType field's value. 11509func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 11510 s.DeviceType = &v 11511 return s 11512} 11513 11514// The specified parameter is invalid. Review the available parameters for the 11515// API request. 11516type InvalidParameterException struct { 11517 _ struct{} `type:"structure"` 11518 respMetadata protocol.ResponseMetadata 11519 11520 Message_ *string `locationName:"message" type:"string"` 11521} 11522 11523// String returns the string representation 11524func (s InvalidParameterException) String() string { 11525 return awsutil.Prettify(s) 11526} 11527 11528// GoString returns the string representation 11529func (s InvalidParameterException) GoString() string { 11530 return s.String() 11531} 11532 11533func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 11534 return &InvalidParameterException{ 11535 respMetadata: v, 11536 } 11537} 11538 11539// Code returns the exception type name. 11540func (s InvalidParameterException) Code() string { 11541 return "InvalidParameterException" 11542} 11543 11544// Message returns the exception's message. 11545func (s InvalidParameterException) Message() string { 11546 if s.Message_ != nil { 11547 return *s.Message_ 11548 } 11549 return "" 11550} 11551 11552// OrigErr always returns nil, satisfies awserr.Error interface. 11553func (s InvalidParameterException) OrigErr() error { 11554 return nil 11555} 11556 11557func (s InvalidParameterException) Error() string { 11558 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11559} 11560 11561// Status code returns the HTTP status code for the request's response error. 11562func (s InvalidParameterException) StatusCode() int { 11563 return s.respMetadata.StatusCode 11564} 11565 11566// RequestID returns the service's response RequestID for request. 11567func (s InvalidParameterException) RequestID() string { 11568 return s.respMetadata.RequestID 11569} 11570 11571// The Linux capabilities for the container that are added to or dropped from 11572// the default configuration provided by Docker. For more information on the 11573// default capabilities and the non-default available capabilities, see Runtime 11574// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 11575// in the Docker run reference. For more detailed information on these Linux 11576// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 11577// Linux manual page. 11578type KernelCapabilities struct { 11579 _ struct{} `type:"structure"` 11580 11581 // The Linux capabilities for the container that have been added to the default 11582 // configuration provided by Docker. This parameter maps to CapAdd in the Create 11583 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11584 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11585 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 11586 // 11587 // If you are using tasks that use the Fargate launch type, the add parameter 11588 // is not supported. 11589 // 11590 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 11591 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 11592 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 11593 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 11594 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 11595 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 11596 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 11597 // "WAKE_ALARM" 11598 Add []*string `locationName:"add" type:"list"` 11599 11600 // The Linux capabilities for the container that have been removed from the 11601 // default configuration provided by Docker. This parameter maps to CapDrop 11602 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11603 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11604 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 11605 // 11606 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 11607 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 11608 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 11609 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 11610 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 11611 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 11612 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 11613 // "WAKE_ALARM" 11614 Drop []*string `locationName:"drop" type:"list"` 11615} 11616 11617// String returns the string representation 11618func (s KernelCapabilities) String() string { 11619 return awsutil.Prettify(s) 11620} 11621 11622// GoString returns the string representation 11623func (s KernelCapabilities) GoString() string { 11624 return s.String() 11625} 11626 11627// SetAdd sets the Add field's value. 11628func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 11629 s.Add = v 11630 return s 11631} 11632 11633// SetDrop sets the Drop field's value. 11634func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 11635 s.Drop = v 11636 return s 11637} 11638 11639// A key-value pair object. 11640type KeyValuePair struct { 11641 _ struct{} `type:"structure"` 11642 11643 // The name of the key-value pair. For environment variables, this is the name 11644 // of the environment variable. 11645 Name *string `locationName:"name" type:"string"` 11646 11647 // The value of the key-value pair. For environment variables, this is the value 11648 // of the environment variable. 11649 Value *string `locationName:"value" type:"string"` 11650} 11651 11652// String returns the string representation 11653func (s KeyValuePair) String() string { 11654 return awsutil.Prettify(s) 11655} 11656 11657// GoString returns the string representation 11658func (s KeyValuePair) GoString() string { 11659 return s.String() 11660} 11661 11662// SetName sets the Name field's value. 11663func (s *KeyValuePair) SetName(v string) *KeyValuePair { 11664 s.Name = &v 11665 return s 11666} 11667 11668// SetValue sets the Value field's value. 11669func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 11670 s.Value = &v 11671 return s 11672} 11673 11674// The limit for the resource has been exceeded. 11675type LimitExceededException struct { 11676 _ struct{} `type:"structure"` 11677 respMetadata protocol.ResponseMetadata 11678 11679 Message_ *string `locationName:"message" type:"string"` 11680} 11681 11682// String returns the string representation 11683func (s LimitExceededException) String() string { 11684 return awsutil.Prettify(s) 11685} 11686 11687// GoString returns the string representation 11688func (s LimitExceededException) GoString() string { 11689 return s.String() 11690} 11691 11692func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 11693 return &LimitExceededException{ 11694 respMetadata: v, 11695 } 11696} 11697 11698// Code returns the exception type name. 11699func (s LimitExceededException) Code() string { 11700 return "LimitExceededException" 11701} 11702 11703// Message returns the exception's message. 11704func (s LimitExceededException) Message() string { 11705 if s.Message_ != nil { 11706 return *s.Message_ 11707 } 11708 return "" 11709} 11710 11711// OrigErr always returns nil, satisfies awserr.Error interface. 11712func (s LimitExceededException) OrigErr() error { 11713 return nil 11714} 11715 11716func (s LimitExceededException) Error() string { 11717 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11718} 11719 11720// Status code returns the HTTP status code for the request's response error. 11721func (s LimitExceededException) StatusCode() int { 11722 return s.respMetadata.StatusCode 11723} 11724 11725// RequestID returns the service's response RequestID for request. 11726func (s LimitExceededException) RequestID() string { 11727 return s.respMetadata.RequestID 11728} 11729 11730// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 11731type LinuxParameters struct { 11732 _ struct{} `type:"structure"` 11733 11734 // The Linux capabilities for the container that are added to or dropped from 11735 // the default configuration provided by Docker. 11736 // 11737 // If you are using tasks that use the Fargate launch type, capabilities is 11738 // supported but the add parameter is not supported. 11739 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 11740 11741 // Any host devices to expose to the container. This parameter maps to Devices 11742 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11743 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11744 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 11745 // 11746 // If you are using tasks that use the Fargate launch type, the devices parameter 11747 // is not supported. 11748 Devices []*Device `locationName:"devices" type:"list"` 11749 11750 // Run an init process inside the container that forwards signals and reaps 11751 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 11752 // This parameter requires version 1.25 of the Docker Remote API or greater 11753 // on your container instance. To check the Docker Remote API version on your 11754 // container instance, log in to your container instance and run the following 11755 // command: sudo docker version --format '{{.Server.APIVersion}}' 11756 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 11757 11758 // The total amount of swap memory (in MiB) a container can use. This parameter 11759 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 11760 // where the value would be the sum of the container memory plus the maxSwap 11761 // value. 11762 // 11763 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 11764 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 11765 // the container will use the swap configuration for the container instance 11766 // it is running on. A maxSwap value must be set for the swappiness parameter 11767 // to be used. 11768 // 11769 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 11770 // is not supported. 11771 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 11772 11773 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 11774 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 11775 // 11776 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 11777 // parameter is not supported. 11778 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 11779 11780 // This allows you to tune a container's memory swappiness behavior. A swappiness 11781 // value of 0 will cause swapping to not happen unless absolutely necessary. 11782 // A swappiness value of 100 will cause pages to be swapped very aggressively. 11783 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 11784 // is not specified, a default value of 60 is used. If a value is not specified 11785 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 11786 // option to docker run (https://docs.docker.com/engine/reference/run/). 11787 // 11788 // If you are using tasks that use the Fargate launch type, the swappiness parameter 11789 // is not supported. 11790 Swappiness *int64 `locationName:"swappiness" type:"integer"` 11791 11792 // The container path, mount options, and size (in MiB) of the tmpfs mount. 11793 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 11794 // 11795 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 11796 // is not supported. 11797 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 11798} 11799 11800// String returns the string representation 11801func (s LinuxParameters) String() string { 11802 return awsutil.Prettify(s) 11803} 11804 11805// GoString returns the string representation 11806func (s LinuxParameters) GoString() string { 11807 return s.String() 11808} 11809 11810// Validate inspects the fields of the type to determine if they are valid. 11811func (s *LinuxParameters) Validate() error { 11812 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 11813 if s.Devices != nil { 11814 for i, v := range s.Devices { 11815 if v == nil { 11816 continue 11817 } 11818 if err := v.Validate(); err != nil { 11819 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 11820 } 11821 } 11822 } 11823 if s.Tmpfs != nil { 11824 for i, v := range s.Tmpfs { 11825 if v == nil { 11826 continue 11827 } 11828 if err := v.Validate(); err != nil { 11829 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 11830 } 11831 } 11832 } 11833 11834 if invalidParams.Len() > 0 { 11835 return invalidParams 11836 } 11837 return nil 11838} 11839 11840// SetCapabilities sets the Capabilities field's value. 11841func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 11842 s.Capabilities = v 11843 return s 11844} 11845 11846// SetDevices sets the Devices field's value. 11847func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 11848 s.Devices = v 11849 return s 11850} 11851 11852// SetInitProcessEnabled sets the InitProcessEnabled field's value. 11853func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 11854 s.InitProcessEnabled = &v 11855 return s 11856} 11857 11858// SetMaxSwap sets the MaxSwap field's value. 11859func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 11860 s.MaxSwap = &v 11861 return s 11862} 11863 11864// SetSharedMemorySize sets the SharedMemorySize field's value. 11865func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 11866 s.SharedMemorySize = &v 11867 return s 11868} 11869 11870// SetSwappiness sets the Swappiness field's value. 11871func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 11872 s.Swappiness = &v 11873 return s 11874} 11875 11876// SetTmpfs sets the Tmpfs field's value. 11877func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 11878 s.Tmpfs = v 11879 return s 11880} 11881 11882type ListAccountSettingsInput struct { 11883 _ struct{} `type:"structure"` 11884 11885 // Specifies whether to return the effective settings. If true, the account 11886 // settings for the root user or the default setting for the principalArn are 11887 // returned. If false, the account settings for the principalArn are returned 11888 // if they are set. Otherwise, no account settings are returned. 11889 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 11890 11891 // The maximum number of account setting results returned by ListAccountSettings 11892 // in paginated output. When this parameter is used, ListAccountSettings only 11893 // returns maxResults results in a single page along with a nextToken response 11894 // element. The remaining results of the initial request can be seen by sending 11895 // another ListAccountSettings request with the returned nextToken value. This 11896 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 11897 // returns up to 10 results and a nextToken value if applicable. 11898 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11899 11900 // The resource name you want to list the account settings for. 11901 Name *string `locationName:"name" type:"string" enum:"SettingName"` 11902 11903 // The nextToken value returned from a ListAccountSettings request indicating 11904 // that more results are available to fulfill the request and further calls 11905 // will be needed. If maxResults was provided, it is possible the number of 11906 // results to be fewer than maxResults. 11907 // 11908 // This token should be treated as an opaque identifier that is only used to 11909 // retrieve the next items in a list and not for other programmatic purposes. 11910 NextToken *string `locationName:"nextToken" type:"string"` 11911 11912 // The ARN of the principal, which can be an IAM user, IAM role, or the root 11913 // user. If this field is omitted, the account settings are listed only for 11914 // the authenticated user. 11915 PrincipalArn *string `locationName:"principalArn" type:"string"` 11916 11917 // The value of the account settings with which to filter results. You must 11918 // also specify an account setting name to use this parameter. 11919 Value *string `locationName:"value" type:"string"` 11920} 11921 11922// String returns the string representation 11923func (s ListAccountSettingsInput) String() string { 11924 return awsutil.Prettify(s) 11925} 11926 11927// GoString returns the string representation 11928func (s ListAccountSettingsInput) GoString() string { 11929 return s.String() 11930} 11931 11932// SetEffectiveSettings sets the EffectiveSettings field's value. 11933func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 11934 s.EffectiveSettings = &v 11935 return s 11936} 11937 11938// SetMaxResults sets the MaxResults field's value. 11939func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 11940 s.MaxResults = &v 11941 return s 11942} 11943 11944// SetName sets the Name field's value. 11945func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 11946 s.Name = &v 11947 return s 11948} 11949 11950// SetNextToken sets the NextToken field's value. 11951func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 11952 s.NextToken = &v 11953 return s 11954} 11955 11956// SetPrincipalArn sets the PrincipalArn field's value. 11957func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 11958 s.PrincipalArn = &v 11959 return s 11960} 11961 11962// SetValue sets the Value field's value. 11963func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 11964 s.Value = &v 11965 return s 11966} 11967 11968type ListAccountSettingsOutput struct { 11969 _ struct{} `type:"structure"` 11970 11971 // The nextToken value to include in a future ListAccountSettings request. When 11972 // the results of a ListAccountSettings request exceed maxResults, this value 11973 // can be used to retrieve the next page of results. This value is null when 11974 // there are no more results to return. 11975 NextToken *string `locationName:"nextToken" type:"string"` 11976 11977 // The account settings for the resource. 11978 Settings []*Setting `locationName:"settings" type:"list"` 11979} 11980 11981// String returns the string representation 11982func (s ListAccountSettingsOutput) String() string { 11983 return awsutil.Prettify(s) 11984} 11985 11986// GoString returns the string representation 11987func (s ListAccountSettingsOutput) GoString() string { 11988 return s.String() 11989} 11990 11991// SetNextToken sets the NextToken field's value. 11992func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 11993 s.NextToken = &v 11994 return s 11995} 11996 11997// SetSettings sets the Settings field's value. 11998func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 11999 s.Settings = v 12000 return s 12001} 12002 12003type ListAttributesInput struct { 12004 _ struct{} `type:"structure"` 12005 12006 // The name of the attribute with which to filter the results. 12007 AttributeName *string `locationName:"attributeName" type:"string"` 12008 12009 // The value of the attribute with which to filter results. You must also specify 12010 // an attribute name to use this parameter. 12011 AttributeValue *string `locationName:"attributeValue" type:"string"` 12012 12013 // The short name or full Amazon Resource Name (ARN) of the cluster to list 12014 // attributes. If you do not specify a cluster, the default cluster is assumed. 12015 Cluster *string `locationName:"cluster" type:"string"` 12016 12017 // The maximum number of cluster results returned by ListAttributes in paginated 12018 // output. When this parameter is used, ListAttributes only returns maxResults 12019 // results in a single page along with a nextToken response element. The remaining 12020 // results of the initial request can be seen by sending another ListAttributes 12021 // request with the returned nextToken value. This value can be between 1 and 12022 // 100. If this parameter is not used, then ListAttributes returns up to 100 12023 // results and a nextToken value if applicable. 12024 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12025 12026 // The nextToken value returned from a ListAttributes request indicating that 12027 // more results are available to fulfill the request and further calls will 12028 // be needed. If maxResults was provided, it is possible the number of results 12029 // to be fewer than maxResults. 12030 // 12031 // This token should be treated as an opaque identifier that is only used to 12032 // retrieve the next items in a list and not for other programmatic purposes. 12033 NextToken *string `locationName:"nextToken" type:"string"` 12034 12035 // The type of the target with which to list attributes. 12036 // 12037 // TargetType is a required field 12038 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 12039} 12040 12041// String returns the string representation 12042func (s ListAttributesInput) String() string { 12043 return awsutil.Prettify(s) 12044} 12045 12046// GoString returns the string representation 12047func (s ListAttributesInput) GoString() string { 12048 return s.String() 12049} 12050 12051// Validate inspects the fields of the type to determine if they are valid. 12052func (s *ListAttributesInput) Validate() error { 12053 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 12054 if s.TargetType == nil { 12055 invalidParams.Add(request.NewErrParamRequired("TargetType")) 12056 } 12057 12058 if invalidParams.Len() > 0 { 12059 return invalidParams 12060 } 12061 return nil 12062} 12063 12064// SetAttributeName sets the AttributeName field's value. 12065func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 12066 s.AttributeName = &v 12067 return s 12068} 12069 12070// SetAttributeValue sets the AttributeValue field's value. 12071func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 12072 s.AttributeValue = &v 12073 return s 12074} 12075 12076// SetCluster sets the Cluster field's value. 12077func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 12078 s.Cluster = &v 12079 return s 12080} 12081 12082// SetMaxResults sets the MaxResults field's value. 12083func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 12084 s.MaxResults = &v 12085 return s 12086} 12087 12088// SetNextToken sets the NextToken field's value. 12089func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 12090 s.NextToken = &v 12091 return s 12092} 12093 12094// SetTargetType sets the TargetType field's value. 12095func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 12096 s.TargetType = &v 12097 return s 12098} 12099 12100type ListAttributesOutput struct { 12101 _ struct{} `type:"structure"` 12102 12103 // A list of attribute objects that meet the criteria of the request. 12104 Attributes []*Attribute `locationName:"attributes" type:"list"` 12105 12106 // The nextToken value to include in a future ListAttributes request. When the 12107 // results of a ListAttributes request exceed maxResults, this value can be 12108 // used to retrieve the next page of results. This value is null when there 12109 // are no more results to return. 12110 NextToken *string `locationName:"nextToken" type:"string"` 12111} 12112 12113// String returns the string representation 12114func (s ListAttributesOutput) String() string { 12115 return awsutil.Prettify(s) 12116} 12117 12118// GoString returns the string representation 12119func (s ListAttributesOutput) GoString() string { 12120 return s.String() 12121} 12122 12123// SetAttributes sets the Attributes field's value. 12124func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 12125 s.Attributes = v 12126 return s 12127} 12128 12129// SetNextToken sets the NextToken field's value. 12130func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 12131 s.NextToken = &v 12132 return s 12133} 12134 12135type ListClustersInput struct { 12136 _ struct{} `type:"structure"` 12137 12138 // The maximum number of cluster results returned by ListClusters in paginated 12139 // output. When this parameter is used, ListClusters only returns maxResults 12140 // results in a single page along with a nextToken response element. The remaining 12141 // results of the initial request can be seen by sending another ListClusters 12142 // request with the returned nextToken value. This value can be between 1 and 12143 // 100. If this parameter is not used, then ListClusters returns up to 100 results 12144 // and a nextToken value if applicable. 12145 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12146 12147 // The nextToken value returned from a ListClusters request indicating that 12148 // more results are available to fulfill the request and further calls will 12149 // be needed. If maxResults was provided, it is possible the number of results 12150 // to be fewer than maxResults. 12151 // 12152 // This token should be treated as an opaque identifier that is only used to 12153 // retrieve the next items in a list and not for other programmatic purposes. 12154 NextToken *string `locationName:"nextToken" type:"string"` 12155} 12156 12157// String returns the string representation 12158func (s ListClustersInput) String() string { 12159 return awsutil.Prettify(s) 12160} 12161 12162// GoString returns the string representation 12163func (s ListClustersInput) GoString() string { 12164 return s.String() 12165} 12166 12167// SetMaxResults sets the MaxResults field's value. 12168func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 12169 s.MaxResults = &v 12170 return s 12171} 12172 12173// SetNextToken sets the NextToken field's value. 12174func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 12175 s.NextToken = &v 12176 return s 12177} 12178 12179type ListClustersOutput struct { 12180 _ struct{} `type:"structure"` 12181 12182 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 12183 // with your account. 12184 ClusterArns []*string `locationName:"clusterArns" type:"list"` 12185 12186 // The nextToken value to include in a future ListClusters request. When the 12187 // results of a ListClusters request exceed maxResults, this value can be used 12188 // to retrieve the next page of results. This value is null when there are no 12189 // more results to return. 12190 NextToken *string `locationName:"nextToken" type:"string"` 12191} 12192 12193// String returns the string representation 12194func (s ListClustersOutput) String() string { 12195 return awsutil.Prettify(s) 12196} 12197 12198// GoString returns the string representation 12199func (s ListClustersOutput) GoString() string { 12200 return s.String() 12201} 12202 12203// SetClusterArns sets the ClusterArns field's value. 12204func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 12205 s.ClusterArns = v 12206 return s 12207} 12208 12209// SetNextToken sets the NextToken field's value. 12210func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 12211 s.NextToken = &v 12212 return s 12213} 12214 12215type ListContainerInstancesInput struct { 12216 _ struct{} `type:"structure"` 12217 12218 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12219 // the container instances to list. If you do not specify a cluster, the default 12220 // cluster is assumed. 12221 Cluster *string `locationName:"cluster" type:"string"` 12222 12223 // You can filter the results of a ListContainerInstances operation with cluster 12224 // query language statements. For more information, see Cluster Query Language 12225 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 12226 // in the Amazon Elastic Container Service Developer Guide. 12227 Filter *string `locationName:"filter" type:"string"` 12228 12229 // The maximum number of container instance results returned by ListContainerInstances 12230 // in paginated output. When this parameter is used, ListContainerInstances 12231 // only returns maxResults results in a single page along with a nextToken response 12232 // element. The remaining results of the initial request can be seen by sending 12233 // another ListContainerInstances request with the returned nextToken value. 12234 // This value can be between 1 and 100. If this parameter is not used, then 12235 // ListContainerInstances returns up to 100 results and a nextToken value if 12236 // applicable. 12237 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12238 12239 // The nextToken value returned from a ListContainerInstances request indicating 12240 // that more results are available to fulfill the request and further calls 12241 // will be needed. If maxResults was provided, it is possible the number of 12242 // results to be fewer than maxResults. 12243 // 12244 // This token should be treated as an opaque identifier that is only used to 12245 // retrieve the next items in a list and not for other programmatic purposes. 12246 NextToken *string `locationName:"nextToken" type:"string"` 12247 12248 // Filters the container instances by status. For example, if you specify the 12249 // DRAINING status, the results include only container instances that have been 12250 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 12251 // this parameter, the default is to include container instances set to all 12252 // states other than INACTIVE. 12253 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 12254} 12255 12256// String returns the string representation 12257func (s ListContainerInstancesInput) String() string { 12258 return awsutil.Prettify(s) 12259} 12260 12261// GoString returns the string representation 12262func (s ListContainerInstancesInput) GoString() string { 12263 return s.String() 12264} 12265 12266// SetCluster sets the Cluster field's value. 12267func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 12268 s.Cluster = &v 12269 return s 12270} 12271 12272// SetFilter sets the Filter field's value. 12273func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 12274 s.Filter = &v 12275 return s 12276} 12277 12278// SetMaxResults sets the MaxResults field's value. 12279func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 12280 s.MaxResults = &v 12281 return s 12282} 12283 12284// SetNextToken sets the NextToken field's value. 12285func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 12286 s.NextToken = &v 12287 return s 12288} 12289 12290// SetStatus sets the Status field's value. 12291func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 12292 s.Status = &v 12293 return s 12294} 12295 12296type ListContainerInstancesOutput struct { 12297 _ struct{} `type:"structure"` 12298 12299 // The list of container instances with full ARN entries for each container 12300 // instance associated with the specified cluster. 12301 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 12302 12303 // The nextToken value to include in a future ListContainerInstances request. 12304 // When the results of a ListContainerInstances request exceed maxResults, this 12305 // value can be used to retrieve the next page of results. This value is null 12306 // when there are no more results to return. 12307 NextToken *string `locationName:"nextToken" type:"string"` 12308} 12309 12310// String returns the string representation 12311func (s ListContainerInstancesOutput) String() string { 12312 return awsutil.Prettify(s) 12313} 12314 12315// GoString returns the string representation 12316func (s ListContainerInstancesOutput) GoString() string { 12317 return s.String() 12318} 12319 12320// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 12321func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 12322 s.ContainerInstanceArns = v 12323 return s 12324} 12325 12326// SetNextToken sets the NextToken field's value. 12327func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 12328 s.NextToken = &v 12329 return s 12330} 12331 12332type ListServicesInput struct { 12333 _ struct{} `type:"structure"` 12334 12335 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12336 // the services to list. If you do not specify a cluster, the default cluster 12337 // is assumed. 12338 Cluster *string `locationName:"cluster" type:"string"` 12339 12340 // The launch type for the services to list. 12341 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12342 12343 // The maximum number of service results returned by ListServices in paginated 12344 // output. When this parameter is used, ListServices only returns maxResults 12345 // results in a single page along with a nextToken response element. The remaining 12346 // results of the initial request can be seen by sending another ListServices 12347 // request with the returned nextToken value. This value can be between 1 and 12348 // 100. If this parameter is not used, then ListServices returns up to 10 results 12349 // and a nextToken value if applicable. 12350 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12351 12352 // The nextToken value returned from a ListServices request indicating that 12353 // more results are available to fulfill the request and further calls will 12354 // be needed. If maxResults was provided, it is possible the number of results 12355 // to be fewer than maxResults. 12356 // 12357 // This token should be treated as an opaque identifier that is only used to 12358 // retrieve the next items in a list and not for other programmatic purposes. 12359 NextToken *string `locationName:"nextToken" type:"string"` 12360 12361 // The scheduling strategy for services to list. 12362 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 12363} 12364 12365// String returns the string representation 12366func (s ListServicesInput) String() string { 12367 return awsutil.Prettify(s) 12368} 12369 12370// GoString returns the string representation 12371func (s ListServicesInput) GoString() string { 12372 return s.String() 12373} 12374 12375// SetCluster sets the Cluster field's value. 12376func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 12377 s.Cluster = &v 12378 return s 12379} 12380 12381// SetLaunchType sets the LaunchType field's value. 12382func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 12383 s.LaunchType = &v 12384 return s 12385} 12386 12387// SetMaxResults sets the MaxResults field's value. 12388func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 12389 s.MaxResults = &v 12390 return s 12391} 12392 12393// SetNextToken sets the NextToken field's value. 12394func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 12395 s.NextToken = &v 12396 return s 12397} 12398 12399// SetSchedulingStrategy sets the SchedulingStrategy field's value. 12400func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 12401 s.SchedulingStrategy = &v 12402 return s 12403} 12404 12405type ListServicesOutput struct { 12406 _ struct{} `type:"structure"` 12407 12408 // The nextToken value to include in a future ListServices request. When the 12409 // results of a ListServices request exceed maxResults, this value can be used 12410 // to retrieve the next page of results. This value is null when there are no 12411 // more results to return. 12412 NextToken *string `locationName:"nextToken" type:"string"` 12413 12414 // The list of full ARN entries for each service associated with the specified 12415 // cluster. 12416 ServiceArns []*string `locationName:"serviceArns" type:"list"` 12417} 12418 12419// String returns the string representation 12420func (s ListServicesOutput) String() string { 12421 return awsutil.Prettify(s) 12422} 12423 12424// GoString returns the string representation 12425func (s ListServicesOutput) GoString() string { 12426 return s.String() 12427} 12428 12429// SetNextToken sets the NextToken field's value. 12430func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 12431 s.NextToken = &v 12432 return s 12433} 12434 12435// SetServiceArns sets the ServiceArns field's value. 12436func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 12437 s.ServiceArns = v 12438 return s 12439} 12440 12441type ListTagsForResourceInput struct { 12442 _ struct{} `type:"structure"` 12443 12444 // The Amazon Resource Name (ARN) that identifies the resource for which to 12445 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 12446 // task definitions, clusters, and container instances. 12447 // 12448 // ResourceArn is a required field 12449 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 12450} 12451 12452// String returns the string representation 12453func (s ListTagsForResourceInput) String() string { 12454 return awsutil.Prettify(s) 12455} 12456 12457// GoString returns the string representation 12458func (s ListTagsForResourceInput) GoString() string { 12459 return s.String() 12460} 12461 12462// Validate inspects the fields of the type to determine if they are valid. 12463func (s *ListTagsForResourceInput) Validate() error { 12464 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 12465 if s.ResourceArn == nil { 12466 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 12467 } 12468 12469 if invalidParams.Len() > 0 { 12470 return invalidParams 12471 } 12472 return nil 12473} 12474 12475// SetResourceArn sets the ResourceArn field's value. 12476func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 12477 s.ResourceArn = &v 12478 return s 12479} 12480 12481type ListTagsForResourceOutput struct { 12482 _ struct{} `type:"structure"` 12483 12484 // The tags for the resource. 12485 Tags []*Tag `locationName:"tags" type:"list"` 12486} 12487 12488// String returns the string representation 12489func (s ListTagsForResourceOutput) String() string { 12490 return awsutil.Prettify(s) 12491} 12492 12493// GoString returns the string representation 12494func (s ListTagsForResourceOutput) GoString() string { 12495 return s.String() 12496} 12497 12498// SetTags sets the Tags field's value. 12499func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 12500 s.Tags = v 12501 return s 12502} 12503 12504type ListTaskDefinitionFamiliesInput struct { 12505 _ struct{} `type:"structure"` 12506 12507 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 12508 // If you specify a familyPrefix, only task definition family names that begin 12509 // with the familyPrefix string are returned. 12510 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 12511 12512 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 12513 // in paginated output. When this parameter is used, ListTaskDefinitions only 12514 // returns maxResults results in a single page along with a nextToken response 12515 // element. The remaining results of the initial request can be seen by sending 12516 // another ListTaskDefinitionFamilies request with the returned nextToken value. 12517 // This value can be between 1 and 100. If this parameter is not used, then 12518 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 12519 // if applicable. 12520 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12521 12522 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 12523 // that more results are available to fulfill the request and further calls 12524 // will be needed. If maxResults was provided, it is possible the number of 12525 // results to be fewer than maxResults. 12526 // 12527 // This token should be treated as an opaque identifier that is only used to 12528 // retrieve the next items in a list and not for other programmatic purposes. 12529 NextToken *string `locationName:"nextToken" type:"string"` 12530 12531 // The task definition family status with which to filter the ListTaskDefinitionFamilies 12532 // results. By default, both ACTIVE and INACTIVE task definition families are 12533 // listed. If this parameter is set to ACTIVE, only task definition families 12534 // that have an ACTIVE task definition revision are returned. If this parameter 12535 // is set to INACTIVE, only task definition families that do not have any ACTIVE 12536 // task definition revisions are returned. If you paginate the resulting output, 12537 // be sure to keep the status value constant in each subsequent request. 12538 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 12539} 12540 12541// String returns the string representation 12542func (s ListTaskDefinitionFamiliesInput) String() string { 12543 return awsutil.Prettify(s) 12544} 12545 12546// GoString returns the string representation 12547func (s ListTaskDefinitionFamiliesInput) GoString() string { 12548 return s.String() 12549} 12550 12551// SetFamilyPrefix sets the FamilyPrefix field's value. 12552func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 12553 s.FamilyPrefix = &v 12554 return s 12555} 12556 12557// SetMaxResults sets the MaxResults field's value. 12558func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 12559 s.MaxResults = &v 12560 return s 12561} 12562 12563// SetNextToken sets the NextToken field's value. 12564func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 12565 s.NextToken = &v 12566 return s 12567} 12568 12569// SetStatus sets the Status field's value. 12570func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 12571 s.Status = &v 12572 return s 12573} 12574 12575type ListTaskDefinitionFamiliesOutput struct { 12576 _ struct{} `type:"structure"` 12577 12578 // The list of task definition family names that match the ListTaskDefinitionFamilies 12579 // request. 12580 Families []*string `locationName:"families" type:"list"` 12581 12582 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 12583 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 12584 // this value can be used to retrieve the next page of results. This value is 12585 // null when there are no more results to return. 12586 NextToken *string `locationName:"nextToken" type:"string"` 12587} 12588 12589// String returns the string representation 12590func (s ListTaskDefinitionFamiliesOutput) String() string { 12591 return awsutil.Prettify(s) 12592} 12593 12594// GoString returns the string representation 12595func (s ListTaskDefinitionFamiliesOutput) GoString() string { 12596 return s.String() 12597} 12598 12599// SetFamilies sets the Families field's value. 12600func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 12601 s.Families = v 12602 return s 12603} 12604 12605// SetNextToken sets the NextToken field's value. 12606func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 12607 s.NextToken = &v 12608 return s 12609} 12610 12611type ListTaskDefinitionsInput struct { 12612 _ struct{} `type:"structure"` 12613 12614 // The full family name with which to filter the ListTaskDefinitions results. 12615 // Specifying a familyPrefix limits the listed task definitions to task definition 12616 // revisions that belong to that family. 12617 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 12618 12619 // The maximum number of task definition results returned by ListTaskDefinitions 12620 // in paginated output. When this parameter is used, ListTaskDefinitions only 12621 // returns maxResults results in a single page along with a nextToken response 12622 // element. The remaining results of the initial request can be seen by sending 12623 // another ListTaskDefinitions request with the returned nextToken value. This 12624 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 12625 // returns up to 100 results and a nextToken value if applicable. 12626 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12627 12628 // The nextToken value returned from a ListTaskDefinitions request indicating 12629 // that more results are available to fulfill the request and further calls 12630 // will be needed. If maxResults was provided, it is possible the number of 12631 // results to be fewer than maxResults. 12632 // 12633 // This token should be treated as an opaque identifier that is only used to 12634 // retrieve the next items in a list and not for other programmatic purposes. 12635 NextToken *string `locationName:"nextToken" type:"string"` 12636 12637 // The order in which to sort the results. Valid values are ASC and DESC. By 12638 // default (ASC), task definitions are listed lexicographically by family name 12639 // and in ascending numerical order by revision so that the newest task definitions 12640 // in a family are listed last. Setting this parameter to DESC reverses the 12641 // sort order on family name and revision so that the newest task definitions 12642 // in a family are listed first. 12643 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 12644 12645 // The task definition status with which to filter the ListTaskDefinitions results. 12646 // By default, only ACTIVE task definitions are listed. By setting this parameter 12647 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 12648 // active task or service still references them. If you paginate the resulting 12649 // output, be sure to keep the status value constant in each subsequent request. 12650 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 12651} 12652 12653// String returns the string representation 12654func (s ListTaskDefinitionsInput) String() string { 12655 return awsutil.Prettify(s) 12656} 12657 12658// GoString returns the string representation 12659func (s ListTaskDefinitionsInput) GoString() string { 12660 return s.String() 12661} 12662 12663// SetFamilyPrefix sets the FamilyPrefix field's value. 12664func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 12665 s.FamilyPrefix = &v 12666 return s 12667} 12668 12669// SetMaxResults sets the MaxResults field's value. 12670func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 12671 s.MaxResults = &v 12672 return s 12673} 12674 12675// SetNextToken sets the NextToken field's value. 12676func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 12677 s.NextToken = &v 12678 return s 12679} 12680 12681// SetSort sets the Sort field's value. 12682func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 12683 s.Sort = &v 12684 return s 12685} 12686 12687// SetStatus sets the Status field's value. 12688func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 12689 s.Status = &v 12690 return s 12691} 12692 12693type ListTaskDefinitionsOutput struct { 12694 _ struct{} `type:"structure"` 12695 12696 // The nextToken value to include in a future ListTaskDefinitions request. When 12697 // the results of a ListTaskDefinitions request exceed maxResults, this value 12698 // can be used to retrieve the next page of results. This value is null when 12699 // there are no more results to return. 12700 NextToken *string `locationName:"nextToken" type:"string"` 12701 12702 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 12703 // request. 12704 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 12705} 12706 12707// String returns the string representation 12708func (s ListTaskDefinitionsOutput) String() string { 12709 return awsutil.Prettify(s) 12710} 12711 12712// GoString returns the string representation 12713func (s ListTaskDefinitionsOutput) GoString() string { 12714 return s.String() 12715} 12716 12717// SetNextToken sets the NextToken field's value. 12718func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 12719 s.NextToken = &v 12720 return s 12721} 12722 12723// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 12724func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 12725 s.TaskDefinitionArns = v 12726 return s 12727} 12728 12729type ListTasksInput struct { 12730 _ struct{} `type:"structure"` 12731 12732 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12733 // the tasks to list. If you do not specify a cluster, the default cluster is 12734 // assumed. 12735 Cluster *string `locationName:"cluster" type:"string"` 12736 12737 // The container instance ID or full ARN of the container instance with which 12738 // to filter the ListTasks results. Specifying a containerInstance limits the 12739 // results to tasks that belong to that container instance. 12740 ContainerInstance *string `locationName:"containerInstance" type:"string"` 12741 12742 // The task desired status with which to filter the ListTasks results. Specifying 12743 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 12744 // set the desired status to STOPPED. This can be useful for debugging tasks 12745 // that are not starting properly or have died or finished. The default status 12746 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 12747 // status to RUNNING. 12748 // 12749 // Although you can filter results based on a desired status of PENDING, this 12750 // does not return any results. Amazon ECS never sets the desired status of 12751 // a task to that value (only a task's lastStatus may have a value of PENDING). 12752 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 12753 12754 // The name of the family with which to filter the ListTasks results. Specifying 12755 // a family limits the results to tasks that belong to that family. 12756 Family *string `locationName:"family" type:"string"` 12757 12758 // The launch type for services to list. 12759 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12760 12761 // The maximum number of task results returned by ListTasks in paginated output. 12762 // When this parameter is used, ListTasks only returns maxResults results in 12763 // a single page along with a nextToken response element. The remaining results 12764 // of the initial request can be seen by sending another ListTasks request with 12765 // the returned nextToken value. This value can be between 1 and 100. If this 12766 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 12767 // value if applicable. 12768 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12769 12770 // The nextToken value returned from a ListTasks request indicating that more 12771 // results are available to fulfill the request and further calls will be needed. 12772 // If maxResults was provided, it is possible the number of results to be fewer 12773 // than maxResults. 12774 // 12775 // This token should be treated as an opaque identifier that is only used to 12776 // retrieve the next items in a list and not for other programmatic purposes. 12777 NextToken *string `locationName:"nextToken" type:"string"` 12778 12779 // The name of the service with which to filter the ListTasks results. Specifying 12780 // a serviceName limits the results to tasks that belong to that service. 12781 ServiceName *string `locationName:"serviceName" type:"string"` 12782 12783 // The startedBy value with which to filter the task results. Specifying a startedBy 12784 // value limits the results to tasks that were started with that value. 12785 StartedBy *string `locationName:"startedBy" type:"string"` 12786} 12787 12788// String returns the string representation 12789func (s ListTasksInput) String() string { 12790 return awsutil.Prettify(s) 12791} 12792 12793// GoString returns the string representation 12794func (s ListTasksInput) GoString() string { 12795 return s.String() 12796} 12797 12798// SetCluster sets the Cluster field's value. 12799func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 12800 s.Cluster = &v 12801 return s 12802} 12803 12804// SetContainerInstance sets the ContainerInstance field's value. 12805func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 12806 s.ContainerInstance = &v 12807 return s 12808} 12809 12810// SetDesiredStatus sets the DesiredStatus field's value. 12811func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 12812 s.DesiredStatus = &v 12813 return s 12814} 12815 12816// SetFamily sets the Family field's value. 12817func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 12818 s.Family = &v 12819 return s 12820} 12821 12822// SetLaunchType sets the LaunchType field's value. 12823func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 12824 s.LaunchType = &v 12825 return s 12826} 12827 12828// SetMaxResults sets the MaxResults field's value. 12829func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 12830 s.MaxResults = &v 12831 return s 12832} 12833 12834// SetNextToken sets the NextToken field's value. 12835func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 12836 s.NextToken = &v 12837 return s 12838} 12839 12840// SetServiceName sets the ServiceName field's value. 12841func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 12842 s.ServiceName = &v 12843 return s 12844} 12845 12846// SetStartedBy sets the StartedBy field's value. 12847func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 12848 s.StartedBy = &v 12849 return s 12850} 12851 12852type ListTasksOutput struct { 12853 _ struct{} `type:"structure"` 12854 12855 // The nextToken value to include in a future ListTasks request. When the results 12856 // of a ListTasks request exceed maxResults, this value can be used to retrieve 12857 // the next page of results. This value is null when there are no more results 12858 // to return. 12859 NextToken *string `locationName:"nextToken" type:"string"` 12860 12861 // The list of task ARN entries for the ListTasks request. 12862 TaskArns []*string `locationName:"taskArns" type:"list"` 12863} 12864 12865// String returns the string representation 12866func (s ListTasksOutput) String() string { 12867 return awsutil.Prettify(s) 12868} 12869 12870// GoString returns the string representation 12871func (s ListTasksOutput) GoString() string { 12872 return s.String() 12873} 12874 12875// SetNextToken sets the NextToken field's value. 12876func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 12877 s.NextToken = &v 12878 return s 12879} 12880 12881// SetTaskArns sets the TaskArns field's value. 12882func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 12883 s.TaskArns = v 12884 return s 12885} 12886 12887// Details on the load balancer or load balancers to use with a service or task 12888// set. 12889type LoadBalancer struct { 12890 _ struct{} `type:"structure"` 12891 12892 // The name of the container (as it appears in a container definition) to associate 12893 // with the load balancer. 12894 ContainerName *string `locationName:"containerName" type:"string"` 12895 12896 // The port on the container to associate with the load balancer. This port 12897 // must correspond to a containerPort in the task definition the tasks in the 12898 // service are using. For tasks that use the EC2 launch type, the container 12899 // instance they are launched on must allow ingress traffic on the hostPort 12900 // of the port mapping. 12901 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 12902 12903 // The name of the load balancer to associate with the Amazon ECS service or 12904 // task set. 12905 // 12906 // A load balancer name is only specified when using a Classic Load Balancer. 12907 // If you are using an Application Load Balancer or a Network Load Balancer 12908 // this should be omitted. 12909 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 12910 12911 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 12912 // group or groups associated with a service or task set. 12913 // 12914 // A target group ARN is only specified when using an Application Load Balancer 12915 // or Network Load Balancer. If you are using a Classic Load Balancer this should 12916 // be omitted. 12917 // 12918 // For services using the ECS deployment controller, you can specify one or 12919 // multiple target groups. For more information, see Registering Multiple Target 12920 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 12921 // in the Amazon Elastic Container Service Developer Guide. 12922 // 12923 // For services using the CODE_DEPLOY deployment controller, you are required 12924 // to define two target groups for the load balancer. For more information, 12925 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 12926 // in the Amazon Elastic Container Service Developer Guide. 12927 // 12928 // If your service's task definition uses the awsvpc network mode (which is 12929 // required for the Fargate launch type), you must choose ip as the target type, 12930 // not instance, when creating your target groups because tasks that use the 12931 // awsvpc network mode are associated with an elastic network interface, not 12932 // an Amazon EC2 instance. 12933 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 12934} 12935 12936// String returns the string representation 12937func (s LoadBalancer) String() string { 12938 return awsutil.Prettify(s) 12939} 12940 12941// GoString returns the string representation 12942func (s LoadBalancer) GoString() string { 12943 return s.String() 12944} 12945 12946// SetContainerName sets the ContainerName field's value. 12947func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 12948 s.ContainerName = &v 12949 return s 12950} 12951 12952// SetContainerPort sets the ContainerPort field's value. 12953func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 12954 s.ContainerPort = &v 12955 return s 12956} 12957 12958// SetLoadBalancerName sets the LoadBalancerName field's value. 12959func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 12960 s.LoadBalancerName = &v 12961 return s 12962} 12963 12964// SetTargetGroupArn sets the TargetGroupArn field's value. 12965func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 12966 s.TargetGroupArn = &v 12967 return s 12968} 12969 12970// The log configuration specification for the container. 12971// 12972// This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12973// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12974// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 12975// By default, containers use the same logging driver that the Docker daemon 12976// uses; however the container may use a different logging driver than the Docker 12977// daemon by specifying a log driver with this parameter in the container definition. 12978// To use a different logging driver for a container, the log system must be 12979// configured properly on the container instance (or on a different log server 12980// for remote logging options). For more information on the options for different 12981// supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 12982// in the Docker documentation. 12983// 12984// The following should be noted when specifying a log configuration for your 12985// containers: 12986// 12987// * Amazon ECS currently supports a subset of the logging drivers available 12988// to the Docker daemon (shown in the valid values below). Additional log 12989// drivers may be available in future releases of the Amazon ECS container 12990// agent. 12991// 12992// * This parameter requires version 1.18 of the Docker Remote API or greater 12993// on your container instance. 12994// 12995// * For tasks using the EC2 launch type, the Amazon ECS container agent 12996// running on a container instance must register the logging drivers available 12997// on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable 12998// before containers placed on that instance can use these log configuration 12999// options. For more information, see Amazon ECS Container Agent Configuration 13000// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 13001// in the Amazon Elastic Container Service Developer Guide. 13002// 13003// * For tasks using the Fargate launch type, because you do not have access 13004// to the underlying infrastructure your tasks are hosted on, any additional 13005// software needed will have to be installed outside of the task. For example, 13006// the Fluentd output aggregators or a remote host running Logstash to send 13007// Gelf logs to. 13008type LogConfiguration struct { 13009 _ struct{} `type:"structure"` 13010 13011 // The log driver to use for the container. The valid values listed earlier 13012 // are log drivers that the Amazon ECS container agent can communicate with 13013 // by default. 13014 // 13015 // For tasks using the Fargate launch type, the supported log drivers are awslogs, 13016 // splunk, and awsfirelens. 13017 // 13018 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 13019 // fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens. 13020 // 13021 // For more information about using the awslogs log driver, see Using the awslogs 13022 // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 13023 // in the Amazon Elastic Container Service Developer Guide. 13024 // 13025 // For more information about using the awsfirelens log driver, see Custom Log 13026 // Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 13027 // in the Amazon Elastic Container Service Developer Guide. 13028 // 13029 // If you have a custom driver that is not listed, you can fork the Amazon ECS 13030 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 13031 // and customize it to work with that driver. We encourage you to submit pull 13032 // requests for changes that you would like to have included. However, we do 13033 // not currently provide support for running modified copies of this software. 13034 // 13035 // LogDriver is a required field 13036 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 13037 13038 // The configuration options to send to the log driver. This parameter requires 13039 // version 1.19 of the Docker Remote API or greater on your container instance. 13040 // To check the Docker Remote API version on your container instance, log in 13041 // to your container instance and run the following command: sudo docker version 13042 // --format '{{.Server.APIVersion}}' 13043 Options map[string]*string `locationName:"options" type:"map"` 13044 13045 // The secrets to pass to the log configuration. For more information, see Specifying 13046 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 13047 // in the Amazon Elastic Container Service Developer Guide. 13048 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 13049} 13050 13051// String returns the string representation 13052func (s LogConfiguration) String() string { 13053 return awsutil.Prettify(s) 13054} 13055 13056// GoString returns the string representation 13057func (s LogConfiguration) GoString() string { 13058 return s.String() 13059} 13060 13061// Validate inspects the fields of the type to determine if they are valid. 13062func (s *LogConfiguration) Validate() error { 13063 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 13064 if s.LogDriver == nil { 13065 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 13066 } 13067 if s.SecretOptions != nil { 13068 for i, v := range s.SecretOptions { 13069 if v == nil { 13070 continue 13071 } 13072 if err := v.Validate(); err != nil { 13073 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 13074 } 13075 } 13076 } 13077 13078 if invalidParams.Len() > 0 { 13079 return invalidParams 13080 } 13081 return nil 13082} 13083 13084// SetLogDriver sets the LogDriver field's value. 13085func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 13086 s.LogDriver = &v 13087 return s 13088} 13089 13090// SetOptions sets the Options field's value. 13091func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 13092 s.Options = v 13093 return s 13094} 13095 13096// SetSecretOptions sets the SecretOptions field's value. 13097func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 13098 s.SecretOptions = v 13099 return s 13100} 13101 13102// The managed scaling settings for the Auto Scaling group capacity provider. 13103// 13104// When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 13105// actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 13106// policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 13107// value as the target value for the metric. For more information, see Using 13108// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 13109// in the Amazon Elastic Container Service Developer Guide. 13110// 13111// If managed scaling is disabled, the user must manage the scaling of the Auto 13112// Scaling group. 13113type ManagedScaling struct { 13114 _ struct{} `type:"structure"` 13115 13116 // The maximum number of container instances that Amazon ECS will scale in or 13117 // scale out at one time. If this parameter is omitted, the default value of 13118 // 10000 is used. 13119 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 13120 13121 // The minimum number of container instances that Amazon ECS will scale in or 13122 // scale out at one time. If this parameter is omitted, the default value of 13123 // 1 is used. 13124 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 13125 13126 // Whether or not to enable managed scaling for the capacity provider. 13127 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 13128 13129 // The target capacity value for the capacity provider. The specified value 13130 // must be greater than 0 and less than or equal to 100. A value of 100 will 13131 // result in the Amazon EC2 instances in your Auto Scaling group being completely 13132 // utilized. 13133 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 13134} 13135 13136// String returns the string representation 13137func (s ManagedScaling) String() string { 13138 return awsutil.Prettify(s) 13139} 13140 13141// GoString returns the string representation 13142func (s ManagedScaling) GoString() string { 13143 return s.String() 13144} 13145 13146// Validate inspects the fields of the type to determine if they are valid. 13147func (s *ManagedScaling) Validate() error { 13148 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 13149 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 13150 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 13151 } 13152 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 13153 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 13154 } 13155 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 13156 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 13157 } 13158 13159 if invalidParams.Len() > 0 { 13160 return invalidParams 13161 } 13162 return nil 13163} 13164 13165// SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 13166func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 13167 s.MaximumScalingStepSize = &v 13168 return s 13169} 13170 13171// SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 13172func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 13173 s.MinimumScalingStepSize = &v 13174 return s 13175} 13176 13177// SetStatus sets the Status field's value. 13178func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 13179 s.Status = &v 13180 return s 13181} 13182 13183// SetTargetCapacity sets the TargetCapacity field's value. 13184func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 13185 s.TargetCapacity = &v 13186 return s 13187} 13188 13189// Amazon ECS is unable to determine the current version of the Amazon ECS container 13190// agent on the container instance and does not have enough information to proceed 13191// with an update. This could be because the agent running on the container 13192// instance is an older or custom version that does not use our version information. 13193type MissingVersionException struct { 13194 _ struct{} `type:"structure"` 13195 respMetadata protocol.ResponseMetadata 13196 13197 Message_ *string `locationName:"message" type:"string"` 13198} 13199 13200// String returns the string representation 13201func (s MissingVersionException) String() string { 13202 return awsutil.Prettify(s) 13203} 13204 13205// GoString returns the string representation 13206func (s MissingVersionException) GoString() string { 13207 return s.String() 13208} 13209 13210func newErrorMissingVersionException(v protocol.ResponseMetadata) error { 13211 return &MissingVersionException{ 13212 respMetadata: v, 13213 } 13214} 13215 13216// Code returns the exception type name. 13217func (s MissingVersionException) Code() string { 13218 return "MissingVersionException" 13219} 13220 13221// Message returns the exception's message. 13222func (s MissingVersionException) Message() string { 13223 if s.Message_ != nil { 13224 return *s.Message_ 13225 } 13226 return "" 13227} 13228 13229// OrigErr always returns nil, satisfies awserr.Error interface. 13230func (s MissingVersionException) OrigErr() error { 13231 return nil 13232} 13233 13234func (s MissingVersionException) Error() string { 13235 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13236} 13237 13238// Status code returns the HTTP status code for the request's response error. 13239func (s MissingVersionException) StatusCode() int { 13240 return s.respMetadata.StatusCode 13241} 13242 13243// RequestID returns the service's response RequestID for request. 13244func (s MissingVersionException) RequestID() string { 13245 return s.respMetadata.RequestID 13246} 13247 13248// Details on a volume mount point that is used in a container definition. 13249type MountPoint struct { 13250 _ struct{} `type:"structure"` 13251 13252 // The path on the container to mount the host volume at. 13253 ContainerPath *string `locationName:"containerPath" type:"string"` 13254 13255 // If this value is true, the container has read-only access to the volume. 13256 // If this value is false, then the container can write to the volume. The default 13257 // value is false. 13258 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 13259 13260 // The name of the volume to mount. Must be a volume name referenced in the 13261 // name parameter of task definition volume. 13262 SourceVolume *string `locationName:"sourceVolume" type:"string"` 13263} 13264 13265// String returns the string representation 13266func (s MountPoint) String() string { 13267 return awsutil.Prettify(s) 13268} 13269 13270// GoString returns the string representation 13271func (s MountPoint) GoString() string { 13272 return s.String() 13273} 13274 13275// SetContainerPath sets the ContainerPath field's value. 13276func (s *MountPoint) SetContainerPath(v string) *MountPoint { 13277 s.ContainerPath = &v 13278 return s 13279} 13280 13281// SetReadOnly sets the ReadOnly field's value. 13282func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 13283 s.ReadOnly = &v 13284 return s 13285} 13286 13287// SetSourceVolume sets the SourceVolume field's value. 13288func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 13289 s.SourceVolume = &v 13290 return s 13291} 13292 13293// Details on the network bindings between a container and its host container 13294// instance. After a task reaches the RUNNING status, manual and automatic host 13295// and container port assignments are visible in the networkBindings section 13296// of DescribeTasks API responses. 13297type NetworkBinding struct { 13298 _ struct{} `type:"structure"` 13299 13300 // The IP address that the container is bound to on the container instance. 13301 BindIP *string `locationName:"bindIP" type:"string"` 13302 13303 // The port number on the container that is used with the network binding. 13304 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13305 13306 // The port number on the host that is used with the network binding. 13307 HostPort *int64 `locationName:"hostPort" type:"integer"` 13308 13309 // The protocol used for the network binding. 13310 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 13311} 13312 13313// String returns the string representation 13314func (s NetworkBinding) String() string { 13315 return awsutil.Prettify(s) 13316} 13317 13318// GoString returns the string representation 13319func (s NetworkBinding) GoString() string { 13320 return s.String() 13321} 13322 13323// SetBindIP sets the BindIP field's value. 13324func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 13325 s.BindIP = &v 13326 return s 13327} 13328 13329// SetContainerPort sets the ContainerPort field's value. 13330func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 13331 s.ContainerPort = &v 13332 return s 13333} 13334 13335// SetHostPort sets the HostPort field's value. 13336func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 13337 s.HostPort = &v 13338 return s 13339} 13340 13341// SetProtocol sets the Protocol field's value. 13342func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 13343 s.Protocol = &v 13344 return s 13345} 13346 13347// An object representing the network configuration for a task or service. 13348type NetworkConfiguration struct { 13349 _ struct{} `type:"structure"` 13350 13351 // The VPC subnets and security groups associated with a task. 13352 // 13353 // All specified subnets and security groups must be from the same VPC. 13354 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 13355} 13356 13357// String returns the string representation 13358func (s NetworkConfiguration) String() string { 13359 return awsutil.Prettify(s) 13360} 13361 13362// GoString returns the string representation 13363func (s NetworkConfiguration) GoString() string { 13364 return s.String() 13365} 13366 13367// Validate inspects the fields of the type to determine if they are valid. 13368func (s *NetworkConfiguration) Validate() error { 13369 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 13370 if s.AwsvpcConfiguration != nil { 13371 if err := s.AwsvpcConfiguration.Validate(); err != nil { 13372 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 13373 } 13374 } 13375 13376 if invalidParams.Len() > 0 { 13377 return invalidParams 13378 } 13379 return nil 13380} 13381 13382// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 13383func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 13384 s.AwsvpcConfiguration = v 13385 return s 13386} 13387 13388// An object representing the elastic network interface for tasks that use the 13389// awsvpc network mode. 13390type NetworkInterface struct { 13391 _ struct{} `type:"structure"` 13392 13393 // The attachment ID for the network interface. 13394 AttachmentId *string `locationName:"attachmentId" type:"string"` 13395 13396 // The private IPv6 address for the network interface. 13397 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 13398 13399 // The private IPv4 address for the network interface. 13400 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 13401} 13402 13403// String returns the string representation 13404func (s NetworkInterface) String() string { 13405 return awsutil.Prettify(s) 13406} 13407 13408// GoString returns the string representation 13409func (s NetworkInterface) GoString() string { 13410 return s.String() 13411} 13412 13413// SetAttachmentId sets the AttachmentId field's value. 13414func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 13415 s.AttachmentId = &v 13416 return s 13417} 13418 13419// SetIpv6Address sets the Ipv6Address field's value. 13420func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 13421 s.Ipv6Address = &v 13422 return s 13423} 13424 13425// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 13426func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 13427 s.PrivateIpv4Address = &v 13428 return s 13429} 13430 13431// There is no update available for this Amazon ECS container agent. This could 13432// be because the agent is already running the latest version, or it is so old 13433// that there is no update path to the current version. 13434type NoUpdateAvailableException struct { 13435 _ struct{} `type:"structure"` 13436 respMetadata protocol.ResponseMetadata 13437 13438 Message_ *string `locationName:"message" type:"string"` 13439} 13440 13441// String returns the string representation 13442func (s NoUpdateAvailableException) String() string { 13443 return awsutil.Prettify(s) 13444} 13445 13446// GoString returns the string representation 13447func (s NoUpdateAvailableException) GoString() string { 13448 return s.String() 13449} 13450 13451func newErrorNoUpdateAvailableException(v protocol.ResponseMetadata) error { 13452 return &NoUpdateAvailableException{ 13453 respMetadata: v, 13454 } 13455} 13456 13457// Code returns the exception type name. 13458func (s NoUpdateAvailableException) Code() string { 13459 return "NoUpdateAvailableException" 13460} 13461 13462// Message returns the exception's message. 13463func (s NoUpdateAvailableException) Message() string { 13464 if s.Message_ != nil { 13465 return *s.Message_ 13466 } 13467 return "" 13468} 13469 13470// OrigErr always returns nil, satisfies awserr.Error interface. 13471func (s NoUpdateAvailableException) OrigErr() error { 13472 return nil 13473} 13474 13475func (s NoUpdateAvailableException) Error() string { 13476 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13477} 13478 13479// Status code returns the HTTP status code for the request's response error. 13480func (s NoUpdateAvailableException) StatusCode() int { 13481 return s.respMetadata.StatusCode 13482} 13483 13484// RequestID returns the service's response RequestID for request. 13485func (s NoUpdateAvailableException) RequestID() string { 13486 return s.respMetadata.RequestID 13487} 13488 13489// An object representing a constraint on task placement. For more information, 13490// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 13491// in the Amazon Elastic Container Service Developer Guide. 13492// 13493// If you are using the Fargate launch type, task placement constraints are 13494// not supported. 13495type PlacementConstraint struct { 13496 _ struct{} `type:"structure"` 13497 13498 // A cluster query language expression to apply to the constraint. You cannot 13499 // specify an expression if the constraint type is distinctInstance. For more 13500 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 13501 // in the Amazon Elastic Container Service Developer Guide. 13502 Expression *string `locationName:"expression" type:"string"` 13503 13504 // The type of constraint. Use distinctInstance to ensure that each task in 13505 // a particular group is running on a different container instance. Use memberOf 13506 // to restrict the selection to a group of valid candidates. 13507 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 13508} 13509 13510// String returns the string representation 13511func (s PlacementConstraint) String() string { 13512 return awsutil.Prettify(s) 13513} 13514 13515// GoString returns the string representation 13516func (s PlacementConstraint) GoString() string { 13517 return s.String() 13518} 13519 13520// SetExpression sets the Expression field's value. 13521func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 13522 s.Expression = &v 13523 return s 13524} 13525 13526// SetType sets the Type field's value. 13527func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 13528 s.Type = &v 13529 return s 13530} 13531 13532// The task placement strategy for a task or service. For more information, 13533// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 13534// in the Amazon Elastic Container Service Developer Guide. 13535type PlacementStrategy struct { 13536 _ struct{} `type:"structure"` 13537 13538 // The field to apply the placement strategy against. For the spread placement 13539 // strategy, valid values are instanceId (or host, which has the same effect), 13540 // or any platform or custom attribute that is applied to a container instance, 13541 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 13542 // valid values are cpu and memory. For the random placement strategy, this 13543 // field is not used. 13544 Field *string `locationName:"field" type:"string"` 13545 13546 // The type of placement strategy. The random placement strategy randomly places 13547 // tasks on available candidates. The spread placement strategy spreads placement 13548 // across available candidates evenly based on the field parameter. The binpack 13549 // strategy places tasks on available candidates that have the least available 13550 // amount of the resource that is specified with the field parameter. For example, 13551 // if you binpack on memory, a task is placed on the instance with the least 13552 // amount of remaining memory (but still enough to run the task). 13553 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 13554} 13555 13556// String returns the string representation 13557func (s PlacementStrategy) String() string { 13558 return awsutil.Prettify(s) 13559} 13560 13561// GoString returns the string representation 13562func (s PlacementStrategy) GoString() string { 13563 return s.String() 13564} 13565 13566// SetField sets the Field field's value. 13567func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 13568 s.Field = &v 13569 return s 13570} 13571 13572// SetType sets the Type field's value. 13573func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 13574 s.Type = &v 13575 return s 13576} 13577 13578// The devices that are available on the container instance. The only supported 13579// device type is a GPU. 13580type PlatformDevice struct { 13581 _ struct{} `type:"structure"` 13582 13583 // The ID for the GPU(s) on the container instance. The available GPU IDs can 13584 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 13585 // file. 13586 // 13587 // Id is a required field 13588 Id *string `locationName:"id" type:"string" required:"true"` 13589 13590 // The type of device that is available on the container instance. The only 13591 // supported value is GPU. 13592 // 13593 // Type is a required field 13594 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 13595} 13596 13597// String returns the string representation 13598func (s PlatformDevice) String() string { 13599 return awsutil.Prettify(s) 13600} 13601 13602// GoString returns the string representation 13603func (s PlatformDevice) GoString() string { 13604 return s.String() 13605} 13606 13607// Validate inspects the fields of the type to determine if they are valid. 13608func (s *PlatformDevice) Validate() error { 13609 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 13610 if s.Id == nil { 13611 invalidParams.Add(request.NewErrParamRequired("Id")) 13612 } 13613 if s.Type == nil { 13614 invalidParams.Add(request.NewErrParamRequired("Type")) 13615 } 13616 13617 if invalidParams.Len() > 0 { 13618 return invalidParams 13619 } 13620 return nil 13621} 13622 13623// SetId sets the Id field's value. 13624func (s *PlatformDevice) SetId(v string) *PlatformDevice { 13625 s.Id = &v 13626 return s 13627} 13628 13629// SetType sets the Type field's value. 13630func (s *PlatformDevice) SetType(v string) *PlatformDevice { 13631 s.Type = &v 13632 return s 13633} 13634 13635// The specified platform version does not satisfy the task definition's required 13636// capabilities. 13637type PlatformTaskDefinitionIncompatibilityException struct { 13638 _ struct{} `type:"structure"` 13639 respMetadata protocol.ResponseMetadata 13640 13641 Message_ *string `locationName:"message" type:"string"` 13642} 13643 13644// String returns the string representation 13645func (s PlatformTaskDefinitionIncompatibilityException) String() string { 13646 return awsutil.Prettify(s) 13647} 13648 13649// GoString returns the string representation 13650func (s PlatformTaskDefinitionIncompatibilityException) GoString() string { 13651 return s.String() 13652} 13653 13654func newErrorPlatformTaskDefinitionIncompatibilityException(v protocol.ResponseMetadata) error { 13655 return &PlatformTaskDefinitionIncompatibilityException{ 13656 respMetadata: v, 13657 } 13658} 13659 13660// Code returns the exception type name. 13661func (s PlatformTaskDefinitionIncompatibilityException) Code() string { 13662 return "PlatformTaskDefinitionIncompatibilityException" 13663} 13664 13665// Message returns the exception's message. 13666func (s PlatformTaskDefinitionIncompatibilityException) Message() string { 13667 if s.Message_ != nil { 13668 return *s.Message_ 13669 } 13670 return "" 13671} 13672 13673// OrigErr always returns nil, satisfies awserr.Error interface. 13674func (s PlatformTaskDefinitionIncompatibilityException) OrigErr() error { 13675 return nil 13676} 13677 13678func (s PlatformTaskDefinitionIncompatibilityException) Error() string { 13679 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13680} 13681 13682// Status code returns the HTTP status code for the request's response error. 13683func (s PlatformTaskDefinitionIncompatibilityException) StatusCode() int { 13684 return s.respMetadata.StatusCode 13685} 13686 13687// RequestID returns the service's response RequestID for request. 13688func (s PlatformTaskDefinitionIncompatibilityException) RequestID() string { 13689 return s.respMetadata.RequestID 13690} 13691 13692// The specified platform version does not exist. 13693type PlatformUnknownException struct { 13694 _ struct{} `type:"structure"` 13695 respMetadata protocol.ResponseMetadata 13696 13697 Message_ *string `locationName:"message" type:"string"` 13698} 13699 13700// String returns the string representation 13701func (s PlatformUnknownException) String() string { 13702 return awsutil.Prettify(s) 13703} 13704 13705// GoString returns the string representation 13706func (s PlatformUnknownException) GoString() string { 13707 return s.String() 13708} 13709 13710func newErrorPlatformUnknownException(v protocol.ResponseMetadata) error { 13711 return &PlatformUnknownException{ 13712 respMetadata: v, 13713 } 13714} 13715 13716// Code returns the exception type name. 13717func (s PlatformUnknownException) Code() string { 13718 return "PlatformUnknownException" 13719} 13720 13721// Message returns the exception's message. 13722func (s PlatformUnknownException) Message() string { 13723 if s.Message_ != nil { 13724 return *s.Message_ 13725 } 13726 return "" 13727} 13728 13729// OrigErr always returns nil, satisfies awserr.Error interface. 13730func (s PlatformUnknownException) OrigErr() error { 13731 return nil 13732} 13733 13734func (s PlatformUnknownException) Error() string { 13735 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13736} 13737 13738// Status code returns the HTTP status code for the request's response error. 13739func (s PlatformUnknownException) StatusCode() int { 13740 return s.respMetadata.StatusCode 13741} 13742 13743// RequestID returns the service's response RequestID for request. 13744func (s PlatformUnknownException) RequestID() string { 13745 return s.respMetadata.RequestID 13746} 13747 13748// Port mappings allow containers to access ports on the host container instance 13749// to send or receive traffic. Port mappings are specified as part of the container 13750// definition. 13751// 13752// If you are using containers in a task with the awsvpc or host network mode, 13753// exposed ports should be specified using containerPort. The hostPort can be 13754// left blank or it must be the same value as the containerPort. 13755// 13756// After a task reaches the RUNNING status, manual and automatic host and container 13757// port assignments are visible in the networkBindings section of DescribeTasks 13758// API responses. 13759type PortMapping struct { 13760 _ struct{} `type:"structure"` 13761 13762 // The port number on the container that is bound to the user-specified or automatically 13763 // assigned host port. 13764 // 13765 // If you are using containers in a task with the awsvpc or host network mode, 13766 // exposed ports should be specified using containerPort. 13767 // 13768 // If you are using containers in a task with the bridge network mode and you 13769 // specify a container port and not a host port, your container automatically 13770 // receives a host port in the ephemeral port range. For more information, see 13771 // hostPort. Port mappings that are automatically assigned in this way do not 13772 // count toward the 100 reserved ports limit of a container instance. 13773 // 13774 // You cannot expose the same container port for multiple protocols. An error 13775 // will be returned if this is attempted. 13776 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13777 13778 // The port number on the container instance to reserve for your container. 13779 // 13780 // If you are using containers in a task with the awsvpc or host network mode, 13781 // the hostPort can either be left blank or set to the same value as the containerPort. 13782 // 13783 // If you are using containers in a task with the bridge network mode, you can 13784 // specify a non-reserved host port for your container port mapping, or you 13785 // can omit the hostPort (or set it to 0) while specifying a containerPort and 13786 // your container automatically receives a port in the ephemeral port range 13787 // for your container instance operating system and Docker version. 13788 // 13789 // The default ephemeral port range for Docker version 1.6.0 and later is listed 13790 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 13791 // parameter is unavailable, the default ephemeral port range from 49153 through 13792 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 13793 // range as these are reserved for automatic assignment. In general, ports below 13794 // 32768 are outside of the ephemeral port range. 13795 // 13796 // The default ephemeral port range from 49153 through 65535 is always used 13797 // for Docker versions before 1.6.0. 13798 // 13799 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 13800 // and the Amazon ECS container agent ports 51678-51680. Any host port that 13801 // was previously specified in a running task is also reserved while the task 13802 // is running (after a task stops, the host port is released). The current reserved 13803 // ports are displayed in the remainingResources of DescribeContainerInstances 13804 // output. A container instance can have up to 100 reserved ports at a time, 13805 // including the default reserved ports. Automatically assigned ports don't 13806 // count toward the 100 reserved ports limit. 13807 HostPort *int64 `locationName:"hostPort" type:"integer"` 13808 13809 // The protocol used for the port mapping. Valid values are tcp and udp. The 13810 // default is tcp. 13811 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 13812} 13813 13814// String returns the string representation 13815func (s PortMapping) String() string { 13816 return awsutil.Prettify(s) 13817} 13818 13819// GoString returns the string representation 13820func (s PortMapping) GoString() string { 13821 return s.String() 13822} 13823 13824// SetContainerPort sets the ContainerPort field's value. 13825func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 13826 s.ContainerPort = &v 13827 return s 13828} 13829 13830// SetHostPort sets the HostPort field's value. 13831func (s *PortMapping) SetHostPort(v int64) *PortMapping { 13832 s.HostPort = &v 13833 return s 13834} 13835 13836// SetProtocol sets the Protocol field's value. 13837func (s *PortMapping) SetProtocol(v string) *PortMapping { 13838 s.Protocol = &v 13839 return s 13840} 13841 13842// The configuration details for the App Mesh proxy. 13843// 13844// For tasks using the EC2 launch type, the container instances require at least 13845// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 13846// ecs-init package to enable a proxy configuration. If your container instances 13847// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 13848// then they contain the required versions of the container agent and ecs-init. 13849// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 13850// in the Amazon Elastic Container Service Developer Guide. 13851// 13852// For tasks using the Fargate launch type, the task or service requires platform 13853// version 1.3.0 or later. 13854type ProxyConfiguration struct { 13855 _ struct{} `type:"structure"` 13856 13857 // The name of the container that will serve as the App Mesh proxy. 13858 // 13859 // ContainerName is a required field 13860 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 13861 13862 // The set of network configuration parameters to provide the Container Network 13863 // Interface (CNI) plugin, specified as key-value pairs. 13864 // 13865 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 13866 // defined by the user parameter in a container definition. This is used 13867 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 13868 // this field can be empty. 13869 // 13870 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 13871 // defined by the user parameter in a container definition. This is used 13872 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 13873 // this field can be empty. 13874 // 13875 // * AppPorts - (Required) The list of ports that the application uses. Network 13876 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 13877 // 13878 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 13879 // to the AppPorts is directed to. 13880 // 13881 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 13882 // from the AppPorts is directed to. 13883 // 13884 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 13885 // ports is ignored and not redirected to the ProxyEgressPort. It can be 13886 // an empty list. 13887 // 13888 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 13889 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 13890 // can be an empty list. 13891 Properties []*KeyValuePair `locationName:"properties" type:"list"` 13892 13893 // The proxy type. The only supported value is APPMESH. 13894 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 13895} 13896 13897// String returns the string representation 13898func (s ProxyConfiguration) String() string { 13899 return awsutil.Prettify(s) 13900} 13901 13902// GoString returns the string representation 13903func (s ProxyConfiguration) GoString() string { 13904 return s.String() 13905} 13906 13907// Validate inspects the fields of the type to determine if they are valid. 13908func (s *ProxyConfiguration) Validate() error { 13909 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 13910 if s.ContainerName == nil { 13911 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 13912 } 13913 13914 if invalidParams.Len() > 0 { 13915 return invalidParams 13916 } 13917 return nil 13918} 13919 13920// SetContainerName sets the ContainerName field's value. 13921func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 13922 s.ContainerName = &v 13923 return s 13924} 13925 13926// SetProperties sets the Properties field's value. 13927func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 13928 s.Properties = v 13929 return s 13930} 13931 13932// SetType sets the Type field's value. 13933func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 13934 s.Type = &v 13935 return s 13936} 13937 13938type PutAccountSettingDefaultInput struct { 13939 _ struct{} `type:"structure"` 13940 13941 // The resource name for which to modify the account setting. If serviceLongArnFormat 13942 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 13943 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 13944 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 13945 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 13946 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 13947 // is specified, the default setting for CloudWatch Container Insights for your 13948 // clusters is affected. 13949 // 13950 // Name is a required field 13951 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 13952 13953 // The account setting value for the specified principal ARN. Accepted values 13954 // are enabled and disabled. 13955 // 13956 // Value is a required field 13957 Value *string `locationName:"value" type:"string" required:"true"` 13958} 13959 13960// String returns the string representation 13961func (s PutAccountSettingDefaultInput) String() string { 13962 return awsutil.Prettify(s) 13963} 13964 13965// GoString returns the string representation 13966func (s PutAccountSettingDefaultInput) GoString() string { 13967 return s.String() 13968} 13969 13970// Validate inspects the fields of the type to determine if they are valid. 13971func (s *PutAccountSettingDefaultInput) Validate() error { 13972 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 13973 if s.Name == nil { 13974 invalidParams.Add(request.NewErrParamRequired("Name")) 13975 } 13976 if s.Value == nil { 13977 invalidParams.Add(request.NewErrParamRequired("Value")) 13978 } 13979 13980 if invalidParams.Len() > 0 { 13981 return invalidParams 13982 } 13983 return nil 13984} 13985 13986// SetName sets the Name field's value. 13987func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 13988 s.Name = &v 13989 return s 13990} 13991 13992// SetValue sets the Value field's value. 13993func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 13994 s.Value = &v 13995 return s 13996} 13997 13998type PutAccountSettingDefaultOutput struct { 13999 _ struct{} `type:"structure"` 14000 14001 // The current account setting for a resource. 14002 Setting *Setting `locationName:"setting" type:"structure"` 14003} 14004 14005// String returns the string representation 14006func (s PutAccountSettingDefaultOutput) String() string { 14007 return awsutil.Prettify(s) 14008} 14009 14010// GoString returns the string representation 14011func (s PutAccountSettingDefaultOutput) GoString() string { 14012 return s.String() 14013} 14014 14015// SetSetting sets the Setting field's value. 14016func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 14017 s.Setting = v 14018 return s 14019} 14020 14021type PutAccountSettingInput struct { 14022 _ struct{} `type:"structure"` 14023 14024 // The Amazon ECS resource name for which to modify the account setting. If 14025 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 14026 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 14027 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 14028 // the ARN and resource ID for your Amazon ECS container instances is affected. 14029 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 14030 // for your Amazon ECS container instances is affected. If containerInsights 14031 // is specified, the default setting for CloudWatch Container Insights for your 14032 // clusters is affected. 14033 // 14034 // Name is a required field 14035 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14036 14037 // The ARN of the principal, which can be an IAM user, IAM role, or the root 14038 // user. If you specify the root user, it modifies the account setting for all 14039 // IAM users, IAM roles, and the root user of the account unless an IAM user 14040 // or role explicitly overrides these settings. If this field is omitted, the 14041 // setting is changed only for the authenticated user. 14042 PrincipalArn *string `locationName:"principalArn" type:"string"` 14043 14044 // The account setting value for the specified principal ARN. Accepted values 14045 // are enabled and disabled. 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 PutAccountSettingInput) String() string { 14053 return awsutil.Prettify(s) 14054} 14055 14056// GoString returns the string representation 14057func (s PutAccountSettingInput) GoString() string { 14058 return s.String() 14059} 14060 14061// Validate inspects the fields of the type to determine if they are valid. 14062func (s *PutAccountSettingInput) Validate() error { 14063 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 14064 if s.Name == nil { 14065 invalidParams.Add(request.NewErrParamRequired("Name")) 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// SetName sets the Name field's value. 14078func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 14079 s.Name = &v 14080 return s 14081} 14082 14083// SetPrincipalArn sets the PrincipalArn field's value. 14084func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 14085 s.PrincipalArn = &v 14086 return s 14087} 14088 14089// SetValue sets the Value field's value. 14090func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 14091 s.Value = &v 14092 return s 14093} 14094 14095type PutAccountSettingOutput struct { 14096 _ struct{} `type:"structure"` 14097 14098 // The current account setting for a resource. 14099 Setting *Setting `locationName:"setting" type:"structure"` 14100} 14101 14102// String returns the string representation 14103func (s PutAccountSettingOutput) String() string { 14104 return awsutil.Prettify(s) 14105} 14106 14107// GoString returns the string representation 14108func (s PutAccountSettingOutput) GoString() string { 14109 return s.String() 14110} 14111 14112// SetSetting sets the Setting field's value. 14113func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 14114 s.Setting = v 14115 return s 14116} 14117 14118type PutAttributesInput struct { 14119 _ struct{} `type:"structure"` 14120 14121 // The attributes to apply to your resource. You can specify up to 10 custom 14122 // attributes per resource. You can specify up to 10 attributes in a single 14123 // call. 14124 // 14125 // Attributes is a required field 14126 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 14127 14128 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 14129 // the resource to apply attributes. If you do not specify a cluster, the default 14130 // cluster is assumed. 14131 Cluster *string `locationName:"cluster" type:"string"` 14132} 14133 14134// String returns the string representation 14135func (s PutAttributesInput) String() string { 14136 return awsutil.Prettify(s) 14137} 14138 14139// GoString returns the string representation 14140func (s PutAttributesInput) GoString() string { 14141 return s.String() 14142} 14143 14144// Validate inspects the fields of the type to determine if they are valid. 14145func (s *PutAttributesInput) Validate() error { 14146 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 14147 if s.Attributes == nil { 14148 invalidParams.Add(request.NewErrParamRequired("Attributes")) 14149 } 14150 if s.Attributes != nil { 14151 for i, v := range s.Attributes { 14152 if v == nil { 14153 continue 14154 } 14155 if err := v.Validate(); err != nil { 14156 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14157 } 14158 } 14159 } 14160 14161 if invalidParams.Len() > 0 { 14162 return invalidParams 14163 } 14164 return nil 14165} 14166 14167// SetAttributes sets the Attributes field's value. 14168func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 14169 s.Attributes = v 14170 return s 14171} 14172 14173// SetCluster sets the Cluster field's value. 14174func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 14175 s.Cluster = &v 14176 return s 14177} 14178 14179type PutAttributesOutput struct { 14180 _ struct{} `type:"structure"` 14181 14182 // The attributes applied to your resource. 14183 Attributes []*Attribute `locationName:"attributes" type:"list"` 14184} 14185 14186// String returns the string representation 14187func (s PutAttributesOutput) String() string { 14188 return awsutil.Prettify(s) 14189} 14190 14191// GoString returns the string representation 14192func (s PutAttributesOutput) GoString() string { 14193 return s.String() 14194} 14195 14196// SetAttributes sets the Attributes field's value. 14197func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 14198 s.Attributes = v 14199 return s 14200} 14201 14202type PutClusterCapacityProvidersInput struct { 14203 _ struct{} `type:"structure"` 14204 14205 // The name of one or more capacity providers to associate with the cluster. 14206 // 14207 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14208 // provider must already be created. New capacity providers can be created with 14209 // the CreateCapacityProvider API operation. 14210 // 14211 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14212 // capacity providers. The AWS Fargate capacity providers are available to all 14213 // accounts and only need to be associated with a cluster to be used. 14214 // 14215 // CapacityProviders is a required field 14216 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 14217 14218 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 14219 // the capacity provider settings for. If you do not specify a cluster, the 14220 // default cluster is assumed. 14221 // 14222 // Cluster is a required field 14223 Cluster *string `locationName:"cluster" type:"string" required:"true"` 14224 14225 // The capacity provider strategy to use by default for the cluster. 14226 // 14227 // When creating a service or running a task on a cluster, if no capacity provider 14228 // or launch type is specified then the default capacity provider strategy for 14229 // the cluster is used. 14230 // 14231 // A capacity provider strategy consists of one or more capacity providers along 14232 // with the base and weight to assign to them. A capacity provider must be associated 14233 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 14234 // API is used to associate a capacity provider with a cluster. Only capacity 14235 // providers with an ACTIVE or UPDATING status can be used. 14236 // 14237 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14238 // provider must already be created. New capacity providers can be created with 14239 // the CreateCapacityProvider API operation. 14240 // 14241 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14242 // capacity providers. The AWS Fargate capacity providers are available to all 14243 // accounts and only need to be associated with a cluster to be used. 14244 // 14245 // DefaultCapacityProviderStrategy is a required field 14246 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 14247} 14248 14249// String returns the string representation 14250func (s PutClusterCapacityProvidersInput) String() string { 14251 return awsutil.Prettify(s) 14252} 14253 14254// GoString returns the string representation 14255func (s PutClusterCapacityProvidersInput) GoString() string { 14256 return s.String() 14257} 14258 14259// Validate inspects the fields of the type to determine if they are valid. 14260func (s *PutClusterCapacityProvidersInput) Validate() error { 14261 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 14262 if s.CapacityProviders == nil { 14263 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 14264 } 14265 if s.Cluster == nil { 14266 invalidParams.Add(request.NewErrParamRequired("Cluster")) 14267 } 14268 if s.DefaultCapacityProviderStrategy == nil { 14269 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 14270 } 14271 if s.DefaultCapacityProviderStrategy != nil { 14272 for i, v := range s.DefaultCapacityProviderStrategy { 14273 if v == nil { 14274 continue 14275 } 14276 if err := v.Validate(); err != nil { 14277 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 14278 } 14279 } 14280 } 14281 14282 if invalidParams.Len() > 0 { 14283 return invalidParams 14284 } 14285 return nil 14286} 14287 14288// SetCapacityProviders sets the CapacityProviders field's value. 14289func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 14290 s.CapacityProviders = v 14291 return s 14292} 14293 14294// SetCluster sets the Cluster field's value. 14295func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 14296 s.Cluster = &v 14297 return s 14298} 14299 14300// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 14301func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 14302 s.DefaultCapacityProviderStrategy = v 14303 return s 14304} 14305 14306type PutClusterCapacityProvidersOutput struct { 14307 _ struct{} `type:"structure"` 14308 14309 // A regional grouping of one or more container instances on which you can run 14310 // task requests. Each account receives a default cluster the first time you 14311 // use the Amazon ECS service, but you may also create other clusters. Clusters 14312 // may contain more than one instance type simultaneously. 14313 Cluster *Cluster `locationName:"cluster" type:"structure"` 14314} 14315 14316// String returns the string representation 14317func (s PutClusterCapacityProvidersOutput) String() string { 14318 return awsutil.Prettify(s) 14319} 14320 14321// GoString returns the string representation 14322func (s PutClusterCapacityProvidersOutput) GoString() string { 14323 return s.String() 14324} 14325 14326// SetCluster sets the Cluster field's value. 14327func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 14328 s.Cluster = v 14329 return s 14330} 14331 14332type RegisterContainerInstanceInput struct { 14333 _ struct{} `type:"structure"` 14334 14335 // The container instance attributes that this container instance supports. 14336 Attributes []*Attribute `locationName:"attributes" type:"list"` 14337 14338 // The short name or full Amazon Resource Name (ARN) of the cluster with which 14339 // to register your container instance. If you do not specify a cluster, the 14340 // default cluster is assumed. 14341 Cluster *string `locationName:"cluster" type:"string"` 14342 14343 // The ARN of the container instance (if it was previously registered). 14344 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 14345 14346 // The instance identity document for the EC2 instance to register. This document 14347 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 14348 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 14349 14350 // The instance identity document signature for the EC2 instance to register. 14351 // This signature can be found by running the following command from the instance: 14352 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 14353 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 14354 14355 // The devices that are available on the container instance. The only supported 14356 // device type is a GPU. 14357 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 14358 14359 // The metadata that you apply to the container instance to help you categorize 14360 // and organize them. Each tag consists of a key and an optional value, both 14361 // of which you define. 14362 // 14363 // The following basic restrictions apply to tags: 14364 // 14365 // * Maximum number of tags per resource - 50 14366 // 14367 // * For each resource, each tag key must be unique, and each tag key can 14368 // have only one value. 14369 // 14370 // * Maximum key length - 128 Unicode characters in UTF-8 14371 // 14372 // * Maximum value length - 256 Unicode characters in UTF-8 14373 // 14374 // * If your tagging schema is used across multiple services and resources, 14375 // remember that other services may have restrictions on allowed characters. 14376 // Generally allowed characters are: letters, numbers, and spaces representable 14377 // in UTF-8, and the following characters: + - = . _ : / @. 14378 // 14379 // * Tag keys and values are case-sensitive. 14380 // 14381 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14382 // as a prefix for either keys or values as it is reserved for AWS use. You 14383 // cannot edit or delete tag keys or values with this prefix. Tags with this 14384 // prefix do not count against your tags per resource limit. 14385 Tags []*Tag `locationName:"tags" type:"list"` 14386 14387 // The resources available on the instance. 14388 TotalResources []*Resource `locationName:"totalResources" type:"list"` 14389 14390 // The version information for the Amazon ECS container agent and Docker daemon 14391 // running on the container instance. 14392 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 14393} 14394 14395// String returns the string representation 14396func (s RegisterContainerInstanceInput) String() string { 14397 return awsutil.Prettify(s) 14398} 14399 14400// GoString returns the string representation 14401func (s RegisterContainerInstanceInput) GoString() string { 14402 return s.String() 14403} 14404 14405// Validate inspects the fields of the type to determine if they are valid. 14406func (s *RegisterContainerInstanceInput) Validate() error { 14407 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 14408 if s.Attributes != nil { 14409 for i, v := range s.Attributes { 14410 if v == nil { 14411 continue 14412 } 14413 if err := v.Validate(); err != nil { 14414 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14415 } 14416 } 14417 } 14418 if s.PlatformDevices != nil { 14419 for i, v := range s.PlatformDevices { 14420 if v == nil { 14421 continue 14422 } 14423 if err := v.Validate(); err != nil { 14424 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 14425 } 14426 } 14427 } 14428 if s.Tags != nil { 14429 for i, v := range s.Tags { 14430 if v == nil { 14431 continue 14432 } 14433 if err := v.Validate(); err != nil { 14434 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14435 } 14436 } 14437 } 14438 14439 if invalidParams.Len() > 0 { 14440 return invalidParams 14441 } 14442 return nil 14443} 14444 14445// SetAttributes sets the Attributes field's value. 14446func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 14447 s.Attributes = v 14448 return s 14449} 14450 14451// SetCluster sets the Cluster field's value. 14452func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 14453 s.Cluster = &v 14454 return s 14455} 14456 14457// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 14458func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 14459 s.ContainerInstanceArn = &v 14460 return s 14461} 14462 14463// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 14464func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 14465 s.InstanceIdentityDocument = &v 14466 return s 14467} 14468 14469// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 14470func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 14471 s.InstanceIdentityDocumentSignature = &v 14472 return s 14473} 14474 14475// SetPlatformDevices sets the PlatformDevices field's value. 14476func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 14477 s.PlatformDevices = v 14478 return s 14479} 14480 14481// SetTags sets the Tags field's value. 14482func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 14483 s.Tags = v 14484 return s 14485} 14486 14487// SetTotalResources sets the TotalResources field's value. 14488func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 14489 s.TotalResources = v 14490 return s 14491} 14492 14493// SetVersionInfo sets the VersionInfo field's value. 14494func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 14495 s.VersionInfo = v 14496 return s 14497} 14498 14499type RegisterContainerInstanceOutput struct { 14500 _ struct{} `type:"structure"` 14501 14502 // The container instance that was registered. 14503 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 14504} 14505 14506// String returns the string representation 14507func (s RegisterContainerInstanceOutput) String() string { 14508 return awsutil.Prettify(s) 14509} 14510 14511// GoString returns the string representation 14512func (s RegisterContainerInstanceOutput) GoString() string { 14513 return s.String() 14514} 14515 14516// SetContainerInstance sets the ContainerInstance field's value. 14517func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 14518 s.ContainerInstance = v 14519 return s 14520} 14521 14522type RegisterTaskDefinitionInput struct { 14523 _ struct{} `type:"structure"` 14524 14525 // A list of container definitions in JSON format that describe the different 14526 // containers that make up your task. 14527 // 14528 // ContainerDefinitions is a required field 14529 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 14530 14531 // The number of CPU units used by the task. It can be expressed as an integer 14532 // using CPU units, for example 1024, or as a string using vCPUs, for example 14533 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 14534 // integer indicating the CPU units when the task definition is registered. 14535 // 14536 // Task-level CPU and memory parameters are ignored for Windows containers. 14537 // We recommend specifying container-level resources for Windows containers. 14538 // 14539 // If you are using the EC2 launch type, this field is optional. Supported values 14540 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 14541 // 14542 // If you are using the Fargate launch type, this field is required and you 14543 // must use one of the following values, which determines your range of supported 14544 // values for the memory parameter: 14545 // 14546 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 14547 // 2048 (2 GB) 14548 // 14549 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 14550 // (3 GB), 4096 (4 GB) 14551 // 14552 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 14553 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 14554 // 14555 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 14556 // (16 GB) in increments of 1024 (1 GB) 14557 // 14558 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 14559 // (30 GB) in increments of 1024 (1 GB) 14560 Cpu *string `locationName:"cpu" type:"string"` 14561 14562 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 14563 // ECS container agent and the Docker daemon can assume. 14564 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 14565 14566 // You must specify a family for a task definition, which allows you to track 14567 // multiple versions of the same task definition. The family is used as a name 14568 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 14569 // and hyphens are allowed. 14570 // 14571 // Family is a required field 14572 Family *string `locationName:"family" type:"string" required:"true"` 14573 14574 // The Elastic Inference accelerators to use for the containers in the task. 14575 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 14576 14577 // The IPC resource namespace to use for the containers in the task. The valid 14578 // values are host, task, or none. If host is specified, then all containers 14579 // within the tasks that specified the host IPC mode on the same container instance 14580 // share the same IPC resources with the host Amazon EC2 instance. If task is 14581 // specified, all containers within the specified task share the same IPC resources. 14582 // If none is specified, then IPC resources within the containers of a task 14583 // are private and not shared with other containers in a task or on the container 14584 // instance. If no value is specified, then the IPC resource namespace sharing 14585 // depends on the Docker daemon setting on the container instance. For more 14586 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 14587 // in the Docker run reference. 14588 // 14589 // If the host IPC mode is used, be aware that there is a heightened risk of 14590 // undesired IPC namespace expose. For more information, see Docker security 14591 // (https://docs.docker.com/engine/security/security/). 14592 // 14593 // If you are setting namespaced kernel parameters using systemControls for 14594 // the containers in the task, the following will apply to your IPC resource 14595 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 14596 // in the Amazon Elastic Container Service Developer Guide. 14597 // 14598 // * For tasks that use the host IPC mode, IPC namespace related systemControls 14599 // are not supported. 14600 // 14601 // * For tasks that use the task IPC mode, IPC namespace related systemControls 14602 // will apply to all containers within a task. 14603 // 14604 // This parameter is not supported for Windows containers or tasks using the 14605 // Fargate launch type. 14606 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 14607 14608 // The amount of memory (in MiB) used by the task. It can be expressed as an 14609 // integer using MiB, for example 1024, or as a string using GB, for example 14610 // 1GB or 1 GB, in a task definition. String values are converted to an integer 14611 // indicating the MiB when the task definition is registered. 14612 // 14613 // Task-level CPU and memory parameters are ignored for Windows containers. 14614 // We recommend specifying container-level resources for Windows containers. 14615 // 14616 // If using the EC2 launch type, this field is optional. 14617 // 14618 // If using the Fargate launch type, this field is required and you must use 14619 // one of the following values, which determines your range of supported values 14620 // for the cpu parameter: 14621 // 14622 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 14623 // vCPU) 14624 // 14625 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 14626 // 512 (.5 vCPU) 14627 // 14628 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 14629 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 14630 // 14631 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 14632 // Available cpu values: 2048 (2 vCPU) 14633 // 14634 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 14635 // Available cpu values: 4096 (4 vCPU) 14636 Memory *string `locationName:"memory" type:"string"` 14637 14638 // The Docker networking mode to use for the containers in the task. The valid 14639 // values are none, bridge, awsvpc, and host. The default Docker network mode 14640 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 14641 // is required. If you are using the EC2 launch type, any network mode can be 14642 // used. If the network mode is set to none, you cannot specify port mappings 14643 // in your container definitions, and the tasks containers do not have external 14644 // connectivity. The host and awsvpc network modes offer the highest networking 14645 // performance for containers because they use the EC2 network stack instead 14646 // of the virtualized network stack provided by the bridge mode. 14647 // 14648 // With the host and awsvpc network modes, exposed container ports are mapped 14649 // directly to the corresponding host port (for the host network mode) or the 14650 // attached elastic network interface port (for the awsvpc network mode), so 14651 // you cannot take advantage of dynamic host port mappings. 14652 // 14653 // If the network mode is awsvpc, the task is allocated an elastic network interface, 14654 // and you must specify a NetworkConfiguration value when you create a service 14655 // or run a task with the task definition. For more information, see Task Networking 14656 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 14657 // in the Amazon Elastic Container Service Developer Guide. 14658 // 14659 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 14660 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 14661 // mode. 14662 // 14663 // If the network mode is host, you cannot run multiple instantiations of the 14664 // same task on a single container instance when port mappings are used. 14665 // 14666 // Docker for Windows uses different network modes than Docker for Linux. When 14667 // you register a task definition with Windows containers, you must not specify 14668 // a network mode. If you use the console to register a task definition with 14669 // Windows containers, you must choose the <default> network mode object. 14670 // 14671 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 14672 // in the Docker run reference. 14673 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 14674 14675 // The process namespace to use for the containers in the task. The valid values 14676 // are host or task. If host is specified, then all containers within the tasks 14677 // that specified the host PID mode on the same container instance share the 14678 // same process namespace with the host Amazon EC2 instance. If task is specified, 14679 // all containers within the specified task share the same process namespace. 14680 // If no value is specified, the default is a private namespace. For more information, 14681 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 14682 // in the Docker run reference. 14683 // 14684 // If the host PID mode is used, be aware that there is a heightened risk of 14685 // undesired process namespace expose. For more information, see Docker security 14686 // (https://docs.docker.com/engine/security/security/). 14687 // 14688 // This parameter is not supported for Windows containers or tasks using the 14689 // Fargate launch type. 14690 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 14691 14692 // An array of placement constraint objects to use for the task. You can specify 14693 // a maximum of 10 constraints per task (this limit includes constraints in 14694 // the task definition and those specified at runtime). 14695 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 14696 14697 // The configuration details for the App Mesh proxy. 14698 // 14699 // For tasks using the EC2 launch type, the container instances require at least 14700 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 14701 // ecs-init package to enable a proxy configuration. If your container instances 14702 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 14703 // then they contain the required versions of the container agent and ecs-init. 14704 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 14705 // in the Amazon Elastic Container Service Developer Guide. 14706 // 14707 // For tasks using the Fargate launch type, the task or service requires platform 14708 // version 1.3.0 or later. 14709 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 14710 14711 // The launch type required by the task. If no value is specified, it defaults 14712 // to EC2. 14713 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 14714 14715 // The metadata that you apply to the task definition to help you categorize 14716 // and organize them. Each tag consists of a key and an optional value, both 14717 // of which you define. 14718 // 14719 // The following basic restrictions apply to tags: 14720 // 14721 // * Maximum number of tags per resource - 50 14722 // 14723 // * For each resource, each tag key must be unique, and each tag key can 14724 // have only one value. 14725 // 14726 // * Maximum key length - 128 Unicode characters in UTF-8 14727 // 14728 // * Maximum value length - 256 Unicode characters in UTF-8 14729 // 14730 // * If your tagging schema is used across multiple services and resources, 14731 // remember that other services may have restrictions on allowed characters. 14732 // Generally allowed characters are: letters, numbers, and spaces representable 14733 // in UTF-8, and the following characters: + - = . _ : / @. 14734 // 14735 // * Tag keys and values are case-sensitive. 14736 // 14737 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14738 // as a prefix for either keys or values as it is reserved for AWS use. You 14739 // cannot edit or delete tag keys or values with this prefix. Tags with this 14740 // prefix do not count against your tags per resource limit. 14741 Tags []*Tag `locationName:"tags" type:"list"` 14742 14743 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 14744 // in this task can assume. All containers in this task are granted the permissions 14745 // that are specified in this role. For more information, see IAM Roles for 14746 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 14747 // in the Amazon Elastic Container Service Developer Guide. 14748 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 14749 14750 // A list of volume definitions in JSON format that containers in your task 14751 // may use. 14752 Volumes []*Volume `locationName:"volumes" type:"list"` 14753} 14754 14755// String returns the string representation 14756func (s RegisterTaskDefinitionInput) String() string { 14757 return awsutil.Prettify(s) 14758} 14759 14760// GoString returns the string representation 14761func (s RegisterTaskDefinitionInput) GoString() string { 14762 return s.String() 14763} 14764 14765// Validate inspects the fields of the type to determine if they are valid. 14766func (s *RegisterTaskDefinitionInput) Validate() error { 14767 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 14768 if s.ContainerDefinitions == nil { 14769 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 14770 } 14771 if s.Family == nil { 14772 invalidParams.Add(request.NewErrParamRequired("Family")) 14773 } 14774 if s.ContainerDefinitions != nil { 14775 for i, v := range s.ContainerDefinitions { 14776 if v == nil { 14777 continue 14778 } 14779 if err := v.Validate(); err != nil { 14780 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 14781 } 14782 } 14783 } 14784 if s.InferenceAccelerators != nil { 14785 for i, v := range s.InferenceAccelerators { 14786 if v == nil { 14787 continue 14788 } 14789 if err := v.Validate(); err != nil { 14790 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 14791 } 14792 } 14793 } 14794 if s.ProxyConfiguration != nil { 14795 if err := s.ProxyConfiguration.Validate(); err != nil { 14796 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 14797 } 14798 } 14799 if s.Tags != nil { 14800 for i, v := range s.Tags { 14801 if v == nil { 14802 continue 14803 } 14804 if err := v.Validate(); err != nil { 14805 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14806 } 14807 } 14808 } 14809 if s.Volumes != nil { 14810 for i, v := range s.Volumes { 14811 if v == nil { 14812 continue 14813 } 14814 if err := v.Validate(); err != nil { 14815 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 14816 } 14817 } 14818 } 14819 14820 if invalidParams.Len() > 0 { 14821 return invalidParams 14822 } 14823 return nil 14824} 14825 14826// SetContainerDefinitions sets the ContainerDefinitions field's value. 14827func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 14828 s.ContainerDefinitions = v 14829 return s 14830} 14831 14832// SetCpu sets the Cpu field's value. 14833func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 14834 s.Cpu = &v 14835 return s 14836} 14837 14838// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 14839func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 14840 s.ExecutionRoleArn = &v 14841 return s 14842} 14843 14844// SetFamily sets the Family field's value. 14845func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 14846 s.Family = &v 14847 return s 14848} 14849 14850// SetInferenceAccelerators sets the InferenceAccelerators field's value. 14851func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 14852 s.InferenceAccelerators = v 14853 return s 14854} 14855 14856// SetIpcMode sets the IpcMode field's value. 14857func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 14858 s.IpcMode = &v 14859 return s 14860} 14861 14862// SetMemory sets the Memory field's value. 14863func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 14864 s.Memory = &v 14865 return s 14866} 14867 14868// SetNetworkMode sets the NetworkMode field's value. 14869func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 14870 s.NetworkMode = &v 14871 return s 14872} 14873 14874// SetPidMode sets the PidMode field's value. 14875func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 14876 s.PidMode = &v 14877 return s 14878} 14879 14880// SetPlacementConstraints sets the PlacementConstraints field's value. 14881func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 14882 s.PlacementConstraints = v 14883 return s 14884} 14885 14886// SetProxyConfiguration sets the ProxyConfiguration field's value. 14887func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 14888 s.ProxyConfiguration = v 14889 return s 14890} 14891 14892// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 14893func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 14894 s.RequiresCompatibilities = v 14895 return s 14896} 14897 14898// SetTags sets the Tags field's value. 14899func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 14900 s.Tags = v 14901 return s 14902} 14903 14904// SetTaskRoleArn sets the TaskRoleArn field's value. 14905func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 14906 s.TaskRoleArn = &v 14907 return s 14908} 14909 14910// SetVolumes sets the Volumes field's value. 14911func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 14912 s.Volumes = v 14913 return s 14914} 14915 14916type RegisterTaskDefinitionOutput struct { 14917 _ struct{} `type:"structure"` 14918 14919 // The list of tags associated with the task definition. 14920 Tags []*Tag `locationName:"tags" type:"list"` 14921 14922 // The full description of the registered task definition. 14923 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 14924} 14925 14926// String returns the string representation 14927func (s RegisterTaskDefinitionOutput) String() string { 14928 return awsutil.Prettify(s) 14929} 14930 14931// GoString returns the string representation 14932func (s RegisterTaskDefinitionOutput) GoString() string { 14933 return s.String() 14934} 14935 14936// SetTags sets the Tags field's value. 14937func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 14938 s.Tags = v 14939 return s 14940} 14941 14942// SetTaskDefinition sets the TaskDefinition field's value. 14943func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 14944 s.TaskDefinition = v 14945 return s 14946} 14947 14948// The repository credentials for private registry authentication. 14949type RepositoryCredentials struct { 14950 _ struct{} `type:"structure"` 14951 14952 // The Amazon Resource Name (ARN) of the secret containing the private repository 14953 // credentials. 14954 // 14955 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 14956 // exists in the same Region as the task that you are launching then you can 14957 // use either the full ARN or the name of the secret. When you are using the 14958 // AWS Management Console, you must specify the full ARN of the secret. 14959 // 14960 // CredentialsParameter is a required field 14961 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 14962} 14963 14964// String returns the string representation 14965func (s RepositoryCredentials) String() string { 14966 return awsutil.Prettify(s) 14967} 14968 14969// GoString returns the string representation 14970func (s RepositoryCredentials) GoString() string { 14971 return s.String() 14972} 14973 14974// Validate inspects the fields of the type to determine if they are valid. 14975func (s *RepositoryCredentials) Validate() error { 14976 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 14977 if s.CredentialsParameter == nil { 14978 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 14979 } 14980 14981 if invalidParams.Len() > 0 { 14982 return invalidParams 14983 } 14984 return nil 14985} 14986 14987// SetCredentialsParameter sets the CredentialsParameter field's value. 14988func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 14989 s.CredentialsParameter = &v 14990 return s 14991} 14992 14993// Describes the resources available for a container instance. 14994type Resource struct { 14995 _ struct{} `type:"structure"` 14996 14997 // When the doubleValue type is set, the value of the resource must be a double 14998 // precision floating-point type. 14999 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 15000 15001 // When the integerValue type is set, the value of the resource must be an integer. 15002 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 15003 15004 // When the longValue type is set, the value of the resource must be an extended 15005 // precision floating-point type. 15006 LongValue *int64 `locationName:"longValue" type:"long"` 15007 15008 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 15009 // resource. 15010 Name *string `locationName:"name" type:"string"` 15011 15012 // When the stringSetValue type is set, the value of the resource must be a 15013 // string type. 15014 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 15015 15016 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 15017 Type *string `locationName:"type" type:"string"` 15018} 15019 15020// String returns the string representation 15021func (s Resource) String() string { 15022 return awsutil.Prettify(s) 15023} 15024 15025// GoString returns the string representation 15026func (s Resource) GoString() string { 15027 return s.String() 15028} 15029 15030// SetDoubleValue sets the DoubleValue field's value. 15031func (s *Resource) SetDoubleValue(v float64) *Resource { 15032 s.DoubleValue = &v 15033 return s 15034} 15035 15036// SetIntegerValue sets the IntegerValue field's value. 15037func (s *Resource) SetIntegerValue(v int64) *Resource { 15038 s.IntegerValue = &v 15039 return s 15040} 15041 15042// SetLongValue sets the LongValue field's value. 15043func (s *Resource) SetLongValue(v int64) *Resource { 15044 s.LongValue = &v 15045 return s 15046} 15047 15048// SetName sets the Name field's value. 15049func (s *Resource) SetName(v string) *Resource { 15050 s.Name = &v 15051 return s 15052} 15053 15054// SetStringSetValue sets the StringSetValue field's value. 15055func (s *Resource) SetStringSetValue(v []*string) *Resource { 15056 s.StringSetValue = v 15057 return s 15058} 15059 15060// SetType sets the Type field's value. 15061func (s *Resource) SetType(v string) *Resource { 15062 s.Type = &v 15063 return s 15064} 15065 15066// The specified resource is in-use and cannot be removed. 15067type ResourceInUseException struct { 15068 _ struct{} `type:"structure"` 15069 respMetadata protocol.ResponseMetadata 15070 15071 Message_ *string `locationName:"message" type:"string"` 15072} 15073 15074// String returns the string representation 15075func (s ResourceInUseException) String() string { 15076 return awsutil.Prettify(s) 15077} 15078 15079// GoString returns the string representation 15080func (s ResourceInUseException) GoString() string { 15081 return s.String() 15082} 15083 15084func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 15085 return &ResourceInUseException{ 15086 respMetadata: v, 15087 } 15088} 15089 15090// Code returns the exception type name. 15091func (s ResourceInUseException) Code() string { 15092 return "ResourceInUseException" 15093} 15094 15095// Message returns the exception's message. 15096func (s ResourceInUseException) Message() string { 15097 if s.Message_ != nil { 15098 return *s.Message_ 15099 } 15100 return "" 15101} 15102 15103// OrigErr always returns nil, satisfies awserr.Error interface. 15104func (s ResourceInUseException) OrigErr() error { 15105 return nil 15106} 15107 15108func (s ResourceInUseException) Error() string { 15109 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15110} 15111 15112// Status code returns the HTTP status code for the request's response error. 15113func (s ResourceInUseException) StatusCode() int { 15114 return s.respMetadata.StatusCode 15115} 15116 15117// RequestID returns the service's response RequestID for request. 15118func (s ResourceInUseException) RequestID() string { 15119 return s.respMetadata.RequestID 15120} 15121 15122// The specified resource could not be found. 15123type ResourceNotFoundException struct { 15124 _ struct{} `type:"structure"` 15125 respMetadata protocol.ResponseMetadata 15126 15127 Message_ *string `locationName:"message" type:"string"` 15128} 15129 15130// String returns the string representation 15131func (s ResourceNotFoundException) String() string { 15132 return awsutil.Prettify(s) 15133} 15134 15135// GoString returns the string representation 15136func (s ResourceNotFoundException) GoString() string { 15137 return s.String() 15138} 15139 15140func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 15141 return &ResourceNotFoundException{ 15142 respMetadata: v, 15143 } 15144} 15145 15146// Code returns the exception type name. 15147func (s ResourceNotFoundException) Code() string { 15148 return "ResourceNotFoundException" 15149} 15150 15151// Message returns the exception's message. 15152func (s ResourceNotFoundException) Message() string { 15153 if s.Message_ != nil { 15154 return *s.Message_ 15155 } 15156 return "" 15157} 15158 15159// OrigErr always returns nil, satisfies awserr.Error interface. 15160func (s ResourceNotFoundException) OrigErr() error { 15161 return nil 15162} 15163 15164func (s ResourceNotFoundException) Error() string { 15165 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15166} 15167 15168// Status code returns the HTTP status code for the request's response error. 15169func (s ResourceNotFoundException) StatusCode() int { 15170 return s.respMetadata.StatusCode 15171} 15172 15173// RequestID returns the service's response RequestID for request. 15174func (s ResourceNotFoundException) RequestID() string { 15175 return s.respMetadata.RequestID 15176} 15177 15178// The type and amount of a resource to assign to a container. The supported 15179// resource types are GPUs and Elastic Inference accelerators. For more information, 15180// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 15181// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 15182// in the Amazon Elastic Container Service Developer Guide 15183type ResourceRequirement struct { 15184 _ struct{} `type:"structure"` 15185 15186 // The type of resource to assign to a container. The supported values are GPU 15187 // or InferenceAccelerator. 15188 // 15189 // Type is a required field 15190 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 15191 15192 // The value for the specified resource type. 15193 // 15194 // If the GPU type is used, the value is the number of physical GPUs the Amazon 15195 // ECS container agent will reserve for the container. The number of GPUs reserved 15196 // for all containers in a task should not exceed the number of available GPUs 15197 // on the container instance the task is launched on. 15198 // 15199 // If the InferenceAccelerator type is used, the value should match the deviceName 15200 // for an InferenceAccelerator specified in a task definition. 15201 // 15202 // Value is a required field 15203 Value *string `locationName:"value" type:"string" required:"true"` 15204} 15205 15206// String returns the string representation 15207func (s ResourceRequirement) String() string { 15208 return awsutil.Prettify(s) 15209} 15210 15211// GoString returns the string representation 15212func (s ResourceRequirement) GoString() string { 15213 return s.String() 15214} 15215 15216// Validate inspects the fields of the type to determine if they are valid. 15217func (s *ResourceRequirement) Validate() error { 15218 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 15219 if s.Type == nil { 15220 invalidParams.Add(request.NewErrParamRequired("Type")) 15221 } 15222 if s.Value == nil { 15223 invalidParams.Add(request.NewErrParamRequired("Value")) 15224 } 15225 15226 if invalidParams.Len() > 0 { 15227 return invalidParams 15228 } 15229 return nil 15230} 15231 15232// SetType sets the Type field's value. 15233func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 15234 s.Type = &v 15235 return s 15236} 15237 15238// SetValue sets the Value field's value. 15239func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 15240 s.Value = &v 15241 return s 15242} 15243 15244type RunTaskInput struct { 15245 _ struct{} `type:"structure"` 15246 15247 // The capacity provider strategy to use for the task. 15248 // 15249 // A capacity provider strategy consists of one or more capacity providers along 15250 // with the base and weight to assign to them. A capacity provider must be associated 15251 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 15252 // API is used to associate a capacity provider with a cluster. Only capacity 15253 // providers with an ACTIVE or UPDATING status can be used. 15254 // 15255 // If a capacityProviderStrategy is specified, the launchType parameter must 15256 // be omitted. If no capacityProviderStrategy or launchType is specified, the 15257 // defaultCapacityProviderStrategy for the cluster is used. 15258 // 15259 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15260 // provider must already be created. New capacity providers can be created with 15261 // the CreateCapacityProvider API operation. 15262 // 15263 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15264 // capacity providers. The AWS Fargate capacity providers are available to all 15265 // accounts and only need to be associated with a cluster to be used. 15266 // 15267 // The PutClusterCapacityProviders API operation is used to update the list 15268 // of available capacity providers for a cluster after the cluster is created. 15269 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 15270 15271 // The short name or full Amazon Resource Name (ARN) of the cluster on which 15272 // to run your task. If you do not specify a cluster, the default cluster is 15273 // assumed. 15274 Cluster *string `locationName:"cluster" type:"string"` 15275 15276 // The number of instantiations of the specified task to place on your cluster. 15277 // You can specify up to 10 tasks per call. 15278 Count *int64 `locationName:"count" type:"integer"` 15279 15280 // Specifies whether to enable Amazon ECS managed tags for the task. For more 15281 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 15282 // in the Amazon Elastic Container Service Developer Guide. 15283 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 15284 15285 // The name of the task group to associate with the task. The default value 15286 // is the family name of the task definition (for example, family:my-family-name). 15287 Group *string `locationName:"group" type:"string"` 15288 15289 // The launch type on which to run your task. For more information, see Amazon 15290 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 15291 // in the Amazon Elastic Container Service Developer Guide. 15292 // 15293 // If a launchType is specified, the capacityProviderStrategy parameter must 15294 // be omitted. 15295 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15296 15297 // The network configuration for the task. This parameter is required for task 15298 // definitions that use the awsvpc network mode to receive their own elastic 15299 // network interface, and it is not supported for other network modes. For more 15300 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15301 // in the Amazon Elastic Container Service Developer Guide. 15302 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15303 15304 // A list of container overrides in JSON format that specify the name of a container 15305 // in the specified task definition and the overrides it should receive. You 15306 // can override the default command for a container (that is specified in the 15307 // task definition or Docker image) with a command override. You can also override 15308 // existing environment variables (that are specified in the task definition 15309 // or Docker image) on a container or add new environment variables to it with 15310 // an environment override. 15311 // 15312 // A total of 8192 characters are allowed for overrides. This limit includes 15313 // the JSON formatting characters of the override structure. 15314 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 15315 15316 // An array of placement constraint objects to use for the task. You can specify 15317 // up to 10 constraints per task (including constraints in the task definition 15318 // and those specified at runtime). 15319 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 15320 15321 // The placement strategy objects to use for the task. You can specify a maximum 15322 // of five strategy rules per task. 15323 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 15324 15325 // The platform version the task should run. A platform version is only specified 15326 // for tasks using the Fargate launch type. If one is not specified, the LATEST 15327 // platform version is used by default. For more information, see AWS Fargate 15328 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 15329 // in the Amazon Elastic Container Service Developer Guide. 15330 PlatformVersion *string `locationName:"platformVersion" type:"string"` 15331 15332 // Specifies whether to propagate the tags from the task definition to the task. 15333 // If no value is specified, the tags are not propagated. Tags can only be propagated 15334 // to the task during task creation. To add tags to a task after task creation, 15335 // use the TagResource API action. 15336 // 15337 // An error will be received if you specify the SERVICE option when running 15338 // a task. 15339 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 15340 15341 // The reference ID to use for the task. 15342 ReferenceId *string `locationName:"referenceId" type:"string"` 15343 15344 // An optional tag specified when a task is started. For example, if you automatically 15345 // trigger a task to run a batch process job, you could apply a unique identifier 15346 // for that job to your task with the startedBy parameter. You can then identify 15347 // which tasks belong to that job by filtering the results of a ListTasks call 15348 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 15349 // hyphens, and underscores are allowed. 15350 // 15351 // If a task is started by an Amazon ECS service, then the startedBy parameter 15352 // contains the deployment ID of the service that starts it. 15353 StartedBy *string `locationName:"startedBy" type:"string"` 15354 15355 // The metadata that you apply to the task to help you categorize and organize 15356 // them. Each tag consists of a key and an optional value, both of which you 15357 // define. 15358 // 15359 // The following basic restrictions apply to tags: 15360 // 15361 // * Maximum number of tags per resource - 50 15362 // 15363 // * For each resource, each tag key must be unique, and each tag key can 15364 // have only one value. 15365 // 15366 // * Maximum key length - 128 Unicode characters in UTF-8 15367 // 15368 // * Maximum value length - 256 Unicode characters in UTF-8 15369 // 15370 // * If your tagging schema is used across multiple services and resources, 15371 // remember that other services may have restrictions on allowed characters. 15372 // Generally allowed characters are: letters, numbers, and spaces representable 15373 // in UTF-8, and the following characters: + - = . _ : / @. 15374 // 15375 // * Tag keys and values are case-sensitive. 15376 // 15377 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15378 // as a prefix for either keys or values as it is reserved for AWS use. You 15379 // cannot edit or delete tag keys or values with this prefix. Tags with this 15380 // prefix do not count against your tags per resource limit. 15381 Tags []*Tag `locationName:"tags" type:"list"` 15382 15383 // The family and revision (family:revision) or full ARN of the task definition 15384 // to run. If a revision is not specified, the latest ACTIVE revision is used. 15385 // 15386 // TaskDefinition is a required field 15387 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 15388} 15389 15390// String returns the string representation 15391func (s RunTaskInput) String() string { 15392 return awsutil.Prettify(s) 15393} 15394 15395// GoString returns the string representation 15396func (s RunTaskInput) GoString() string { 15397 return s.String() 15398} 15399 15400// Validate inspects the fields of the type to determine if they are valid. 15401func (s *RunTaskInput) Validate() error { 15402 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 15403 if s.TaskDefinition == nil { 15404 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 15405 } 15406 if s.CapacityProviderStrategy != nil { 15407 for i, v := range s.CapacityProviderStrategy { 15408 if v == nil { 15409 continue 15410 } 15411 if err := v.Validate(); err != nil { 15412 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 15413 } 15414 } 15415 } 15416 if s.NetworkConfiguration != nil { 15417 if err := s.NetworkConfiguration.Validate(); err != nil { 15418 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 15419 } 15420 } 15421 if s.Overrides != nil { 15422 if err := s.Overrides.Validate(); err != nil { 15423 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 15424 } 15425 } 15426 if s.Tags != nil { 15427 for i, v := range s.Tags { 15428 if v == nil { 15429 continue 15430 } 15431 if err := v.Validate(); err != nil { 15432 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15433 } 15434 } 15435 } 15436 15437 if invalidParams.Len() > 0 { 15438 return invalidParams 15439 } 15440 return nil 15441} 15442 15443// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 15444func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 15445 s.CapacityProviderStrategy = v 15446 return s 15447} 15448 15449// SetCluster sets the Cluster field's value. 15450func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 15451 s.Cluster = &v 15452 return s 15453} 15454 15455// SetCount sets the Count field's value. 15456func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 15457 s.Count = &v 15458 return s 15459} 15460 15461// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 15462func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 15463 s.EnableECSManagedTags = &v 15464 return s 15465} 15466 15467// SetGroup sets the Group field's value. 15468func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 15469 s.Group = &v 15470 return s 15471} 15472 15473// SetLaunchType sets the LaunchType field's value. 15474func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 15475 s.LaunchType = &v 15476 return s 15477} 15478 15479// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15480func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 15481 s.NetworkConfiguration = v 15482 return s 15483} 15484 15485// SetOverrides sets the Overrides field's value. 15486func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 15487 s.Overrides = v 15488 return s 15489} 15490 15491// SetPlacementConstraints sets the PlacementConstraints field's value. 15492func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 15493 s.PlacementConstraints = v 15494 return s 15495} 15496 15497// SetPlacementStrategy sets the PlacementStrategy field's value. 15498func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 15499 s.PlacementStrategy = v 15500 return s 15501} 15502 15503// SetPlatformVersion sets the PlatformVersion field's value. 15504func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 15505 s.PlatformVersion = &v 15506 return s 15507} 15508 15509// SetPropagateTags sets the PropagateTags field's value. 15510func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 15511 s.PropagateTags = &v 15512 return s 15513} 15514 15515// SetReferenceId sets the ReferenceId field's value. 15516func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 15517 s.ReferenceId = &v 15518 return s 15519} 15520 15521// SetStartedBy sets the StartedBy field's value. 15522func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 15523 s.StartedBy = &v 15524 return s 15525} 15526 15527// SetTags sets the Tags field's value. 15528func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 15529 s.Tags = v 15530 return s 15531} 15532 15533// SetTaskDefinition sets the TaskDefinition field's value. 15534func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 15535 s.TaskDefinition = &v 15536 return s 15537} 15538 15539type RunTaskOutput struct { 15540 _ struct{} `type:"structure"` 15541 15542 // Any failures associated with the call. 15543 Failures []*Failure `locationName:"failures" type:"list"` 15544 15545 // A full description of the tasks that were run. The tasks that were successfully 15546 // placed on your cluster are described here. 15547 Tasks []*Task `locationName:"tasks" type:"list"` 15548} 15549 15550// String returns the string representation 15551func (s RunTaskOutput) String() string { 15552 return awsutil.Prettify(s) 15553} 15554 15555// GoString returns the string representation 15556func (s RunTaskOutput) GoString() string { 15557 return s.String() 15558} 15559 15560// SetFailures sets the Failures field's value. 15561func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 15562 s.Failures = v 15563 return s 15564} 15565 15566// SetTasks sets the Tasks field's value. 15567func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 15568 s.Tasks = v 15569 return s 15570} 15571 15572// A floating-point percentage of the desired number of tasks to place and keep 15573// running in the task set. 15574type Scale struct { 15575 _ struct{} `type:"structure"` 15576 15577 // The unit of measure for the scale value. 15578 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 15579 15580 // The value, specified as a percent total of a service's desiredCount, to scale 15581 // the task set. Accepted values are numbers between 0 and 100. 15582 Value *float64 `locationName:"value" type:"double"` 15583} 15584 15585// String returns the string representation 15586func (s Scale) String() string { 15587 return awsutil.Prettify(s) 15588} 15589 15590// GoString returns the string representation 15591func (s Scale) GoString() string { 15592 return s.String() 15593} 15594 15595// SetUnit sets the Unit field's value. 15596func (s *Scale) SetUnit(v string) *Scale { 15597 s.Unit = &v 15598 return s 15599} 15600 15601// SetValue sets the Value field's value. 15602func (s *Scale) SetValue(v float64) *Scale { 15603 s.Value = &v 15604 return s 15605} 15606 15607// An object representing the secret to expose to your container. Secrets can 15608// be exposed to a container in the following ways: 15609// 15610// * To inject sensitive data into your containers as environment variables, 15611// use the secrets container definition parameter. 15612// 15613// * To reference sensitive information in the log configuration of a container, 15614// use the secretOptions container definition parameter. 15615// 15616// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 15617// in the Amazon Elastic Container Service Developer Guide. 15618type Secret struct { 15619 _ struct{} `type:"structure"` 15620 15621 // The name of the secret. 15622 // 15623 // Name is a required field 15624 Name *string `locationName:"name" type:"string" required:"true"` 15625 15626 // The secret to expose to the container. The supported values are either the 15627 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 15628 // in the AWS Systems Manager Parameter Store. 15629 // 15630 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 15631 // as the task you are launching, then you can use either the full ARN or name 15632 // of the parameter. If the parameter exists in a different Region, then the 15633 // full ARN must be specified. 15634 // 15635 // ValueFrom is a required field 15636 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 15637} 15638 15639// String returns the string representation 15640func (s Secret) String() string { 15641 return awsutil.Prettify(s) 15642} 15643 15644// GoString returns the string representation 15645func (s Secret) GoString() string { 15646 return s.String() 15647} 15648 15649// Validate inspects the fields of the type to determine if they are valid. 15650func (s *Secret) Validate() error { 15651 invalidParams := request.ErrInvalidParams{Context: "Secret"} 15652 if s.Name == nil { 15653 invalidParams.Add(request.NewErrParamRequired("Name")) 15654 } 15655 if s.ValueFrom == nil { 15656 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 15657 } 15658 15659 if invalidParams.Len() > 0 { 15660 return invalidParams 15661 } 15662 return nil 15663} 15664 15665// SetName sets the Name field's value. 15666func (s *Secret) SetName(v string) *Secret { 15667 s.Name = &v 15668 return s 15669} 15670 15671// SetValueFrom sets the ValueFrom field's value. 15672func (s *Secret) SetValueFrom(v string) *Secret { 15673 s.ValueFrom = &v 15674 return s 15675} 15676 15677// These errors are usually caused by a server issue. 15678type ServerException struct { 15679 _ struct{} `type:"structure"` 15680 respMetadata protocol.ResponseMetadata 15681 15682 Message_ *string `locationName:"message" type:"string"` 15683} 15684 15685// String returns the string representation 15686func (s ServerException) String() string { 15687 return awsutil.Prettify(s) 15688} 15689 15690// GoString returns the string representation 15691func (s ServerException) GoString() string { 15692 return s.String() 15693} 15694 15695func newErrorServerException(v protocol.ResponseMetadata) error { 15696 return &ServerException{ 15697 respMetadata: v, 15698 } 15699} 15700 15701// Code returns the exception type name. 15702func (s ServerException) Code() string { 15703 return "ServerException" 15704} 15705 15706// Message returns the exception's message. 15707func (s ServerException) Message() string { 15708 if s.Message_ != nil { 15709 return *s.Message_ 15710 } 15711 return "" 15712} 15713 15714// OrigErr always returns nil, satisfies awserr.Error interface. 15715func (s ServerException) OrigErr() error { 15716 return nil 15717} 15718 15719func (s ServerException) Error() string { 15720 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15721} 15722 15723// Status code returns the HTTP status code for the request's response error. 15724func (s ServerException) StatusCode() int { 15725 return s.respMetadata.StatusCode 15726} 15727 15728// RequestID returns the service's response RequestID for request. 15729func (s ServerException) RequestID() string { 15730 return s.respMetadata.RequestID 15731} 15732 15733// Details on a service within a cluster 15734type Service struct { 15735 _ struct{} `type:"structure"` 15736 15737 // The capacity provider strategy associated with the service. 15738 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 15739 15740 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 15741 ClusterArn *string `locationName:"clusterArn" type:"string"` 15742 15743 // The Unix timestamp for when the service was created. 15744 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 15745 15746 // The principal that created the service. 15747 CreatedBy *string `locationName:"createdBy" type:"string"` 15748 15749 // Optional deployment parameters that control how many tasks run during the 15750 // deployment and the ordering of stopping and starting tasks. 15751 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 15752 15753 // The deployment controller type the service is using. When using the DescribeServices 15754 // API, this field is omitted if the service is using the ECS deployment controller 15755 // type. 15756 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 15757 15758 // The current state of deployments for the service. 15759 Deployments []*Deployment `locationName:"deployments" type:"list"` 15760 15761 // The desired number of instantiations of the task definition to keep running 15762 // on the service. This value is specified when the service is created with 15763 // CreateService, and it can be modified with UpdateService. 15764 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 15765 15766 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 15767 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 15768 // in the Amazon Elastic Container Service Developer Guide. 15769 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 15770 15771 // The event stream for your service. A maximum of 100 of the latest events 15772 // are displayed. 15773 Events []*ServiceEvent `locationName:"events" type:"list"` 15774 15775 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 15776 // unhealthy Elastic Load Balancing target health checks after a task has first 15777 // started. 15778 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 15779 15780 // The launch type on which your service is running. If no value is specified, 15781 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 15782 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 15783 // in the Amazon Elastic Container Service Developer Guide. 15784 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15785 15786 // A list of Elastic Load Balancing load balancer objects, containing the load 15787 // balancer name, the container name (as it appears in a container definition), 15788 // and the container port to access from the load balancer. 15789 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 15790 15791 // The VPC subnet and security group configuration for tasks that receive their 15792 // own elastic network interface by using the awsvpc networking mode. 15793 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15794 15795 // The number of tasks in the cluster that are in the PENDING state. 15796 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 15797 15798 // The placement constraints for the tasks in the service. 15799 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 15800 15801 // The placement strategy that determines how tasks for the service are placed. 15802 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 15803 15804 // The platform version on which to run your service. A platform version is 15805 // only specified for tasks using the Fargate launch type. If one is not specified, 15806 // the LATEST platform version is used by default. For more information, see 15807 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 15808 // in the Amazon Elastic Container Service Developer Guide. 15809 PlatformVersion *string `locationName:"platformVersion" type:"string"` 15810 15811 // Specifies whether to propagate the tags from the task definition or the service 15812 // to the task. If no value is specified, the tags are not propagated. 15813 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 15814 15815 // The ARN of the IAM role associated with the service that allows the Amazon 15816 // ECS container agent to register container instances with an Elastic Load 15817 // Balancing load balancer. 15818 RoleArn *string `locationName:"roleArn" type:"string"` 15819 15820 // The number of tasks in the cluster that are in the RUNNING state. 15821 RunningCount *int64 `locationName:"runningCount" type:"integer"` 15822 15823 // The scheduling strategy to use for the service. For more information, see 15824 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 15825 // 15826 // There are two service scheduler strategies available: 15827 // 15828 // * REPLICA-The replica scheduling strategy places and maintains the desired 15829 // number of tasks across your cluster. By default, the service scheduler 15830 // spreads tasks across Availability Zones. You can use task placement strategies 15831 // and constraints to customize task placement decisions. 15832 // 15833 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 15834 // container instance in your cluster. When you are using this strategy, 15835 // do not specify a desired number of tasks or any task placement strategies. 15836 // Fargate tasks do not support the DAEMON scheduling strategy. 15837 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 15838 15839 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 15840 // followed by the Region of the service, the AWS account ID of the service 15841 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 15842 ServiceArn *string `locationName:"serviceArn" type:"string"` 15843 15844 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 15845 // and hyphens are allowed. Service names must be unique within a cluster, but 15846 // you can have similarly named services in multiple clusters within a Region 15847 // or across multiple Regions. 15848 ServiceName *string `locationName:"serviceName" type:"string"` 15849 15850 // The details of the service discovery registries to assign to this service. 15851 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 15852 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 15853 15854 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 15855 Status *string `locationName:"status" type:"string"` 15856 15857 // The metadata that you apply to the service to help you categorize and organize 15858 // them. Each tag consists of a key and an optional value, both of which you 15859 // define. 15860 // 15861 // The following basic restrictions apply to tags: 15862 // 15863 // * Maximum number of tags per resource - 50 15864 // 15865 // * For each resource, each tag key must be unique, and each tag key can 15866 // have only one value. 15867 // 15868 // * Maximum key length - 128 Unicode characters in UTF-8 15869 // 15870 // * Maximum value length - 256 Unicode characters in UTF-8 15871 // 15872 // * If your tagging schema is used across multiple services and resources, 15873 // remember that other services may have restrictions on allowed characters. 15874 // Generally allowed characters are: letters, numbers, and spaces representable 15875 // in UTF-8, and the following characters: + - = . _ : / @. 15876 // 15877 // * Tag keys and values are case-sensitive. 15878 // 15879 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15880 // as a prefix for either keys or values as it is reserved for AWS use. You 15881 // cannot edit or delete tag keys or values with this prefix. Tags with this 15882 // prefix do not count against your tags per resource limit. 15883 Tags []*Tag `locationName:"tags" type:"list"` 15884 15885 // The task definition to use for tasks in the service. This value is specified 15886 // when the service is created with CreateService, and it can be modified with 15887 // UpdateService. 15888 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 15889 15890 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 15891 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 15892 // desired number of tasks, how many tasks are running, and whether the task 15893 // set serves production traffic. 15894 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 15895} 15896 15897// String returns the string representation 15898func (s Service) String() string { 15899 return awsutil.Prettify(s) 15900} 15901 15902// GoString returns the string representation 15903func (s Service) GoString() string { 15904 return s.String() 15905} 15906 15907// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 15908func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 15909 s.CapacityProviderStrategy = v 15910 return s 15911} 15912 15913// SetClusterArn sets the ClusterArn field's value. 15914func (s *Service) SetClusterArn(v string) *Service { 15915 s.ClusterArn = &v 15916 return s 15917} 15918 15919// SetCreatedAt sets the CreatedAt field's value. 15920func (s *Service) SetCreatedAt(v time.Time) *Service { 15921 s.CreatedAt = &v 15922 return s 15923} 15924 15925// SetCreatedBy sets the CreatedBy field's value. 15926func (s *Service) SetCreatedBy(v string) *Service { 15927 s.CreatedBy = &v 15928 return s 15929} 15930 15931// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 15932func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 15933 s.DeploymentConfiguration = v 15934 return s 15935} 15936 15937// SetDeploymentController sets the DeploymentController field's value. 15938func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 15939 s.DeploymentController = v 15940 return s 15941} 15942 15943// SetDeployments sets the Deployments field's value. 15944func (s *Service) SetDeployments(v []*Deployment) *Service { 15945 s.Deployments = v 15946 return s 15947} 15948 15949// SetDesiredCount sets the DesiredCount field's value. 15950func (s *Service) SetDesiredCount(v int64) *Service { 15951 s.DesiredCount = &v 15952 return s 15953} 15954 15955// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 15956func (s *Service) SetEnableECSManagedTags(v bool) *Service { 15957 s.EnableECSManagedTags = &v 15958 return s 15959} 15960 15961// SetEvents sets the Events field's value. 15962func (s *Service) SetEvents(v []*ServiceEvent) *Service { 15963 s.Events = v 15964 return s 15965} 15966 15967// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 15968func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 15969 s.HealthCheckGracePeriodSeconds = &v 15970 return s 15971} 15972 15973// SetLaunchType sets the LaunchType field's value. 15974func (s *Service) SetLaunchType(v string) *Service { 15975 s.LaunchType = &v 15976 return s 15977} 15978 15979// SetLoadBalancers sets the LoadBalancers field's value. 15980func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 15981 s.LoadBalancers = v 15982 return s 15983} 15984 15985// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15986func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 15987 s.NetworkConfiguration = v 15988 return s 15989} 15990 15991// SetPendingCount sets the PendingCount field's value. 15992func (s *Service) SetPendingCount(v int64) *Service { 15993 s.PendingCount = &v 15994 return s 15995} 15996 15997// SetPlacementConstraints sets the PlacementConstraints field's value. 15998func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 15999 s.PlacementConstraints = v 16000 return s 16001} 16002 16003// SetPlacementStrategy sets the PlacementStrategy field's value. 16004func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 16005 s.PlacementStrategy = v 16006 return s 16007} 16008 16009// SetPlatformVersion sets the PlatformVersion field's value. 16010func (s *Service) SetPlatformVersion(v string) *Service { 16011 s.PlatformVersion = &v 16012 return s 16013} 16014 16015// SetPropagateTags sets the PropagateTags field's value. 16016func (s *Service) SetPropagateTags(v string) *Service { 16017 s.PropagateTags = &v 16018 return s 16019} 16020 16021// SetRoleArn sets the RoleArn field's value. 16022func (s *Service) SetRoleArn(v string) *Service { 16023 s.RoleArn = &v 16024 return s 16025} 16026 16027// SetRunningCount sets the RunningCount field's value. 16028func (s *Service) SetRunningCount(v int64) *Service { 16029 s.RunningCount = &v 16030 return s 16031} 16032 16033// SetSchedulingStrategy sets the SchedulingStrategy field's value. 16034func (s *Service) SetSchedulingStrategy(v string) *Service { 16035 s.SchedulingStrategy = &v 16036 return s 16037} 16038 16039// SetServiceArn sets the ServiceArn field's value. 16040func (s *Service) SetServiceArn(v string) *Service { 16041 s.ServiceArn = &v 16042 return s 16043} 16044 16045// SetServiceName sets the ServiceName field's value. 16046func (s *Service) SetServiceName(v string) *Service { 16047 s.ServiceName = &v 16048 return s 16049} 16050 16051// SetServiceRegistries sets the ServiceRegistries field's value. 16052func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 16053 s.ServiceRegistries = v 16054 return s 16055} 16056 16057// SetStatus sets the Status field's value. 16058func (s *Service) SetStatus(v string) *Service { 16059 s.Status = &v 16060 return s 16061} 16062 16063// SetTags sets the Tags field's value. 16064func (s *Service) SetTags(v []*Tag) *Service { 16065 s.Tags = v 16066 return s 16067} 16068 16069// SetTaskDefinition sets the TaskDefinition field's value. 16070func (s *Service) SetTaskDefinition(v string) *Service { 16071 s.TaskDefinition = &v 16072 return s 16073} 16074 16075// SetTaskSets sets the TaskSets field's value. 16076func (s *Service) SetTaskSets(v []*TaskSet) *Service { 16077 s.TaskSets = v 16078 return s 16079} 16080 16081// Details on an event associated with a service. 16082type ServiceEvent struct { 16083 _ struct{} `type:"structure"` 16084 16085 // The Unix timestamp for when the event was triggered. 16086 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16087 16088 // The ID string of the event. 16089 Id *string `locationName:"id" type:"string"` 16090 16091 // The event message. 16092 Message *string `locationName:"message" type:"string"` 16093} 16094 16095// String returns the string representation 16096func (s ServiceEvent) String() string { 16097 return awsutil.Prettify(s) 16098} 16099 16100// GoString returns the string representation 16101func (s ServiceEvent) GoString() string { 16102 return s.String() 16103} 16104 16105// SetCreatedAt sets the CreatedAt field's value. 16106func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 16107 s.CreatedAt = &v 16108 return s 16109} 16110 16111// SetId sets the Id field's value. 16112func (s *ServiceEvent) SetId(v string) *ServiceEvent { 16113 s.Id = &v 16114 return s 16115} 16116 16117// SetMessage sets the Message field's value. 16118func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 16119 s.Message = &v 16120 return s 16121} 16122 16123// The specified service is not active. You can't update a service that is inactive. 16124// If you have previously deleted a service, you can re-create it with CreateService. 16125type ServiceNotActiveException struct { 16126 _ struct{} `type:"structure"` 16127 respMetadata protocol.ResponseMetadata 16128 16129 Message_ *string `locationName:"message" type:"string"` 16130} 16131 16132// String returns the string representation 16133func (s ServiceNotActiveException) String() string { 16134 return awsutil.Prettify(s) 16135} 16136 16137// GoString returns the string representation 16138func (s ServiceNotActiveException) GoString() string { 16139 return s.String() 16140} 16141 16142func newErrorServiceNotActiveException(v protocol.ResponseMetadata) error { 16143 return &ServiceNotActiveException{ 16144 respMetadata: v, 16145 } 16146} 16147 16148// Code returns the exception type name. 16149func (s ServiceNotActiveException) Code() string { 16150 return "ServiceNotActiveException" 16151} 16152 16153// Message returns the exception's message. 16154func (s ServiceNotActiveException) Message() string { 16155 if s.Message_ != nil { 16156 return *s.Message_ 16157 } 16158 return "" 16159} 16160 16161// OrigErr always returns nil, satisfies awserr.Error interface. 16162func (s ServiceNotActiveException) OrigErr() error { 16163 return nil 16164} 16165 16166func (s ServiceNotActiveException) Error() string { 16167 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16168} 16169 16170// Status code returns the HTTP status code for the request's response error. 16171func (s ServiceNotActiveException) StatusCode() int { 16172 return s.respMetadata.StatusCode 16173} 16174 16175// RequestID returns the service's response RequestID for request. 16176func (s ServiceNotActiveException) RequestID() string { 16177 return s.respMetadata.RequestID 16178} 16179 16180// The specified service could not be found. You can view your available services 16181// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 16182type ServiceNotFoundException struct { 16183 _ struct{} `type:"structure"` 16184 respMetadata protocol.ResponseMetadata 16185 16186 Message_ *string `locationName:"message" type:"string"` 16187} 16188 16189// String returns the string representation 16190func (s ServiceNotFoundException) String() string { 16191 return awsutil.Prettify(s) 16192} 16193 16194// GoString returns the string representation 16195func (s ServiceNotFoundException) GoString() string { 16196 return s.String() 16197} 16198 16199func newErrorServiceNotFoundException(v protocol.ResponseMetadata) error { 16200 return &ServiceNotFoundException{ 16201 respMetadata: v, 16202 } 16203} 16204 16205// Code returns the exception type name. 16206func (s ServiceNotFoundException) Code() string { 16207 return "ServiceNotFoundException" 16208} 16209 16210// Message returns the exception's message. 16211func (s ServiceNotFoundException) Message() string { 16212 if s.Message_ != nil { 16213 return *s.Message_ 16214 } 16215 return "" 16216} 16217 16218// OrigErr always returns nil, satisfies awserr.Error interface. 16219func (s ServiceNotFoundException) OrigErr() error { 16220 return nil 16221} 16222 16223func (s ServiceNotFoundException) Error() string { 16224 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16225} 16226 16227// Status code returns the HTTP status code for the request's response error. 16228func (s ServiceNotFoundException) StatusCode() int { 16229 return s.respMetadata.StatusCode 16230} 16231 16232// RequestID returns the service's response RequestID for request. 16233func (s ServiceNotFoundException) RequestID() string { 16234 return s.respMetadata.RequestID 16235} 16236 16237// Details of the service registry. 16238type ServiceRegistry struct { 16239 _ struct{} `type:"structure"` 16240 16241 // The container name value, already specified in the task definition, to be 16242 // used for your service discovery service. If the task definition that your 16243 // service task specifies uses the bridge or host network mode, you must specify 16244 // a containerName and containerPort combination from the task definition. If 16245 // the task definition that your service task specifies uses the awsvpc network 16246 // mode and a type SRV DNS record is used, you must specify either a containerName 16247 // and containerPort combination or a port value, but not both. 16248 ContainerName *string `locationName:"containerName" type:"string"` 16249 16250 // The port value, already specified in the task definition, to be used for 16251 // your service discovery service. If the task definition your service task 16252 // specifies uses the bridge or host network mode, you must specify a containerName 16253 // and containerPort combination from the task definition. If the task definition 16254 // your service task specifies uses the awsvpc network mode and a type SRV DNS 16255 // record is used, you must specify either a containerName and containerPort 16256 // combination or a port value, but not both. 16257 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 16258 16259 // The port value used if your service discovery service specified an SRV record. 16260 // This field may be used if both the awsvpc network mode and SRV records are 16261 // used. 16262 Port *int64 `locationName:"port" type:"integer"` 16263 16264 // The Amazon Resource Name (ARN) of the service registry. The currently supported 16265 // service registry is AWS Cloud Map. For more information, see CreateService 16266 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 16267 RegistryArn *string `locationName:"registryArn" type:"string"` 16268} 16269 16270// String returns the string representation 16271func (s ServiceRegistry) String() string { 16272 return awsutil.Prettify(s) 16273} 16274 16275// GoString returns the string representation 16276func (s ServiceRegistry) GoString() string { 16277 return s.String() 16278} 16279 16280// SetContainerName sets the ContainerName field's value. 16281func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 16282 s.ContainerName = &v 16283 return s 16284} 16285 16286// SetContainerPort sets the ContainerPort field's value. 16287func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 16288 s.ContainerPort = &v 16289 return s 16290} 16291 16292// SetPort sets the Port field's value. 16293func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 16294 s.Port = &v 16295 return s 16296} 16297 16298// SetRegistryArn sets the RegistryArn field's value. 16299func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 16300 s.RegistryArn = &v 16301 return s 16302} 16303 16304// The current account setting for a resource. 16305type Setting struct { 16306 _ struct{} `type:"structure"` 16307 16308 // The Amazon ECS resource name. 16309 Name *string `locationName:"name" type:"string" enum:"SettingName"` 16310 16311 // The ARN of the principal, which can be an IAM user, IAM role, or the root 16312 // user. If this field is omitted, the authenticated user is assumed. 16313 PrincipalArn *string `locationName:"principalArn" type:"string"` 16314 16315 // Whether the account setting is enabled or disabled for the specified resource. 16316 Value *string `locationName:"value" type:"string"` 16317} 16318 16319// String returns the string representation 16320func (s Setting) String() string { 16321 return awsutil.Prettify(s) 16322} 16323 16324// GoString returns the string representation 16325func (s Setting) GoString() string { 16326 return s.String() 16327} 16328 16329// SetName sets the Name field's value. 16330func (s *Setting) SetName(v string) *Setting { 16331 s.Name = &v 16332 return s 16333} 16334 16335// SetPrincipalArn sets the PrincipalArn field's value. 16336func (s *Setting) SetPrincipalArn(v string) *Setting { 16337 s.PrincipalArn = &v 16338 return s 16339} 16340 16341// SetValue sets the Value field's value. 16342func (s *Setting) SetValue(v string) *Setting { 16343 s.Value = &v 16344 return s 16345} 16346 16347type StartTaskInput struct { 16348 _ struct{} `type:"structure"` 16349 16350 // The short name or full Amazon Resource Name (ARN) of the cluster on which 16351 // to start your task. If you do not specify a cluster, the default cluster 16352 // is assumed. 16353 Cluster *string `locationName:"cluster" type:"string"` 16354 16355 // The container instance IDs or full ARN entries for the container instances 16356 // on which you would like to place your task. You can specify up to 10 container 16357 // instances. 16358 // 16359 // ContainerInstances is a required field 16360 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 16361 16362 // Specifies whether to enable Amazon ECS managed tags for the task. For more 16363 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16364 // in the Amazon Elastic Container Service Developer Guide. 16365 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16366 16367 // The name of the task group to associate with the task. The default value 16368 // is the family name of the task definition (for example, family:my-family-name). 16369 Group *string `locationName:"group" type:"string"` 16370 16371 // The VPC subnet and security group configuration for tasks that receive their 16372 // own elastic network interface by using the awsvpc networking mode. 16373 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16374 16375 // A list of container overrides in JSON format that specify the name of a container 16376 // in the specified task definition and the overrides it should receive. You 16377 // can override the default command for a container (that is specified in the 16378 // task definition or Docker image) with a command override. You can also override 16379 // existing environment variables (that are specified in the task definition 16380 // or Docker image) on a container or add new environment variables to it with 16381 // an environment override. 16382 // 16383 // A total of 8192 characters are allowed for overrides. This limit includes 16384 // the JSON formatting characters of the override structure. 16385 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 16386 16387 // Specifies whether to propagate the tags from the task definition or the service 16388 // to the task. If no value is specified, the tags are not propagated. 16389 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16390 16391 // The reference ID to use for the task. 16392 ReferenceId *string `locationName:"referenceId" type:"string"` 16393 16394 // An optional tag specified when a task is started. For example, if you automatically 16395 // trigger a task to run a batch process job, you could apply a unique identifier 16396 // for that job to your task with the startedBy parameter. You can then identify 16397 // which tasks belong to that job by filtering the results of a ListTasks call 16398 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 16399 // hyphens, and underscores are allowed. 16400 // 16401 // If a task is started by an Amazon ECS service, then the startedBy parameter 16402 // contains the deployment ID of the service that starts it. 16403 StartedBy *string `locationName:"startedBy" type:"string"` 16404 16405 // The metadata that you apply to the task to help you categorize and organize 16406 // them. Each tag consists of a key and an optional value, both of which you 16407 // define. 16408 // 16409 // The following basic restrictions apply to tags: 16410 // 16411 // * Maximum number of tags per resource - 50 16412 // 16413 // * For each resource, each tag key must be unique, and each tag key can 16414 // have only one value. 16415 // 16416 // * Maximum key length - 128 Unicode characters in UTF-8 16417 // 16418 // * Maximum value length - 256 Unicode characters in UTF-8 16419 // 16420 // * If your tagging schema is used across multiple services and resources, 16421 // remember that other services may have restrictions on allowed characters. 16422 // Generally allowed characters are: letters, numbers, and spaces representable 16423 // in UTF-8, and the following characters: + - = . _ : / @. 16424 // 16425 // * Tag keys and values are case-sensitive. 16426 // 16427 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16428 // as a prefix for either keys or values as it is reserved for AWS use. You 16429 // cannot edit or delete tag keys or values with this prefix. Tags with this 16430 // prefix do not count against your tags per resource limit. 16431 Tags []*Tag `locationName:"tags" type:"list"` 16432 16433 // The family and revision (family:revision) or full ARN of the task definition 16434 // to start. If a revision is not specified, the latest ACTIVE revision is used. 16435 // 16436 // TaskDefinition is a required field 16437 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 16438} 16439 16440// String returns the string representation 16441func (s StartTaskInput) String() string { 16442 return awsutil.Prettify(s) 16443} 16444 16445// GoString returns the string representation 16446func (s StartTaskInput) GoString() string { 16447 return s.String() 16448} 16449 16450// Validate inspects the fields of the type to determine if they are valid. 16451func (s *StartTaskInput) Validate() error { 16452 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 16453 if s.ContainerInstances == nil { 16454 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 16455 } 16456 if s.TaskDefinition == nil { 16457 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 16458 } 16459 if s.NetworkConfiguration != nil { 16460 if err := s.NetworkConfiguration.Validate(); err != nil { 16461 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 16462 } 16463 } 16464 if s.Overrides != nil { 16465 if err := s.Overrides.Validate(); err != nil { 16466 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 16467 } 16468 } 16469 if s.Tags != nil { 16470 for i, v := range s.Tags { 16471 if v == nil { 16472 continue 16473 } 16474 if err := v.Validate(); err != nil { 16475 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16476 } 16477 } 16478 } 16479 16480 if invalidParams.Len() > 0 { 16481 return invalidParams 16482 } 16483 return nil 16484} 16485 16486// SetCluster sets the Cluster field's value. 16487func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 16488 s.Cluster = &v 16489 return s 16490} 16491 16492// SetContainerInstances sets the ContainerInstances field's value. 16493func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 16494 s.ContainerInstances = v 16495 return s 16496} 16497 16498// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16499func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 16500 s.EnableECSManagedTags = &v 16501 return s 16502} 16503 16504// SetGroup sets the Group field's value. 16505func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 16506 s.Group = &v 16507 return s 16508} 16509 16510// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16511func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 16512 s.NetworkConfiguration = v 16513 return s 16514} 16515 16516// SetOverrides sets the Overrides field's value. 16517func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 16518 s.Overrides = v 16519 return s 16520} 16521 16522// SetPropagateTags sets the PropagateTags field's value. 16523func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 16524 s.PropagateTags = &v 16525 return s 16526} 16527 16528// SetReferenceId sets the ReferenceId field's value. 16529func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 16530 s.ReferenceId = &v 16531 return s 16532} 16533 16534// SetStartedBy sets the StartedBy field's value. 16535func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 16536 s.StartedBy = &v 16537 return s 16538} 16539 16540// SetTags sets the Tags field's value. 16541func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 16542 s.Tags = v 16543 return s 16544} 16545 16546// SetTaskDefinition sets the TaskDefinition field's value. 16547func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 16548 s.TaskDefinition = &v 16549 return s 16550} 16551 16552type StartTaskOutput struct { 16553 _ struct{} `type:"structure"` 16554 16555 // Any failures associated with the call. 16556 Failures []*Failure `locationName:"failures" type:"list"` 16557 16558 // A full description of the tasks that were started. Each task that was successfully 16559 // placed on your container instances is described. 16560 Tasks []*Task `locationName:"tasks" type:"list"` 16561} 16562 16563// String returns the string representation 16564func (s StartTaskOutput) String() string { 16565 return awsutil.Prettify(s) 16566} 16567 16568// GoString returns the string representation 16569func (s StartTaskOutput) GoString() string { 16570 return s.String() 16571} 16572 16573// SetFailures sets the Failures field's value. 16574func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 16575 s.Failures = v 16576 return s 16577} 16578 16579// SetTasks sets the Tasks field's value. 16580func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 16581 s.Tasks = v 16582 return s 16583} 16584 16585type StopTaskInput struct { 16586 _ struct{} `type:"structure"` 16587 16588 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 16589 // the task to stop. If you do not specify a cluster, the default cluster is 16590 // assumed. 16591 Cluster *string `locationName:"cluster" type:"string"` 16592 16593 // An optional message specified when a task is stopped. For example, if you 16594 // are using a custom scheduler, you can use this parameter to specify the reason 16595 // for stopping the task here, and the message appears in subsequent DescribeTasks 16596 // API operations on this task. Up to 255 characters are allowed in this message. 16597 Reason *string `locationName:"reason" type:"string"` 16598 16599 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 16600 // 16601 // Task is a required field 16602 Task *string `locationName:"task" type:"string" required:"true"` 16603} 16604 16605// String returns the string representation 16606func (s StopTaskInput) String() string { 16607 return awsutil.Prettify(s) 16608} 16609 16610// GoString returns the string representation 16611func (s StopTaskInput) GoString() string { 16612 return s.String() 16613} 16614 16615// Validate inspects the fields of the type to determine if they are valid. 16616func (s *StopTaskInput) Validate() error { 16617 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 16618 if s.Task == nil { 16619 invalidParams.Add(request.NewErrParamRequired("Task")) 16620 } 16621 16622 if invalidParams.Len() > 0 { 16623 return invalidParams 16624 } 16625 return nil 16626} 16627 16628// SetCluster sets the Cluster field's value. 16629func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 16630 s.Cluster = &v 16631 return s 16632} 16633 16634// SetReason sets the Reason field's value. 16635func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 16636 s.Reason = &v 16637 return s 16638} 16639 16640// SetTask sets the Task field's value. 16641func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 16642 s.Task = &v 16643 return s 16644} 16645 16646type StopTaskOutput struct { 16647 _ struct{} `type:"structure"` 16648 16649 // The task that was stopped. 16650 Task *Task `locationName:"task" type:"structure"` 16651} 16652 16653// String returns the string representation 16654func (s StopTaskOutput) String() string { 16655 return awsutil.Prettify(s) 16656} 16657 16658// GoString returns the string representation 16659func (s StopTaskOutput) GoString() string { 16660 return s.String() 16661} 16662 16663// SetTask sets the Task field's value. 16664func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 16665 s.Task = v 16666 return s 16667} 16668 16669type SubmitAttachmentStateChangesInput struct { 16670 _ struct{} `type:"structure"` 16671 16672 // Any attachments associated with the state change request. 16673 // 16674 // Attachments is a required field 16675 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 16676 16677 // The short name or full ARN of the cluster that hosts the container instance 16678 // the attachment belongs to. 16679 Cluster *string `locationName:"cluster" type:"string"` 16680} 16681 16682// String returns the string representation 16683func (s SubmitAttachmentStateChangesInput) String() string { 16684 return awsutil.Prettify(s) 16685} 16686 16687// GoString returns the string representation 16688func (s SubmitAttachmentStateChangesInput) GoString() string { 16689 return s.String() 16690} 16691 16692// Validate inspects the fields of the type to determine if they are valid. 16693func (s *SubmitAttachmentStateChangesInput) Validate() error { 16694 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 16695 if s.Attachments == nil { 16696 invalidParams.Add(request.NewErrParamRequired("Attachments")) 16697 } 16698 if s.Attachments != nil { 16699 for i, v := range s.Attachments { 16700 if v == nil { 16701 continue 16702 } 16703 if err := v.Validate(); err != nil { 16704 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 16705 } 16706 } 16707 } 16708 16709 if invalidParams.Len() > 0 { 16710 return invalidParams 16711 } 16712 return nil 16713} 16714 16715// SetAttachments sets the Attachments field's value. 16716func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 16717 s.Attachments = v 16718 return s 16719} 16720 16721// SetCluster sets the Cluster field's value. 16722func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 16723 s.Cluster = &v 16724 return s 16725} 16726 16727type SubmitAttachmentStateChangesOutput struct { 16728 _ struct{} `type:"structure"` 16729 16730 // Acknowledgement of the state change. 16731 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 16732} 16733 16734// String returns the string representation 16735func (s SubmitAttachmentStateChangesOutput) String() string { 16736 return awsutil.Prettify(s) 16737} 16738 16739// GoString returns the string representation 16740func (s SubmitAttachmentStateChangesOutput) GoString() string { 16741 return s.String() 16742} 16743 16744// SetAcknowledgment sets the Acknowledgment field's value. 16745func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 16746 s.Acknowledgment = &v 16747 return s 16748} 16749 16750type SubmitContainerStateChangeInput struct { 16751 _ struct{} `type:"structure"` 16752 16753 // The short name or full ARN of the cluster that hosts the container. 16754 Cluster *string `locationName:"cluster" type:"string"` 16755 16756 // The name of the container. 16757 ContainerName *string `locationName:"containerName" type:"string"` 16758 16759 // The exit code returned for the state change request. 16760 ExitCode *int64 `locationName:"exitCode" type:"integer"` 16761 16762 // The network bindings of the container. 16763 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 16764 16765 // The reason for the state change request. 16766 Reason *string `locationName:"reason" type:"string"` 16767 16768 // The ID of the Docker container. 16769 RuntimeId *string `locationName:"runtimeId" type:"string"` 16770 16771 // The status of the state change request. 16772 Status *string `locationName:"status" type:"string"` 16773 16774 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 16775 // container. 16776 Task *string `locationName:"task" type:"string"` 16777} 16778 16779// String returns the string representation 16780func (s SubmitContainerStateChangeInput) String() string { 16781 return awsutil.Prettify(s) 16782} 16783 16784// GoString returns the string representation 16785func (s SubmitContainerStateChangeInput) GoString() string { 16786 return s.String() 16787} 16788 16789// SetCluster sets the Cluster field's value. 16790func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 16791 s.Cluster = &v 16792 return s 16793} 16794 16795// SetContainerName sets the ContainerName field's value. 16796func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 16797 s.ContainerName = &v 16798 return s 16799} 16800 16801// SetExitCode sets the ExitCode field's value. 16802func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 16803 s.ExitCode = &v 16804 return s 16805} 16806 16807// SetNetworkBindings sets the NetworkBindings field's value. 16808func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 16809 s.NetworkBindings = v 16810 return s 16811} 16812 16813// SetReason sets the Reason field's value. 16814func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 16815 s.Reason = &v 16816 return s 16817} 16818 16819// SetRuntimeId sets the RuntimeId field's value. 16820func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 16821 s.RuntimeId = &v 16822 return s 16823} 16824 16825// SetStatus sets the Status field's value. 16826func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 16827 s.Status = &v 16828 return s 16829} 16830 16831// SetTask sets the Task field's value. 16832func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 16833 s.Task = &v 16834 return s 16835} 16836 16837type SubmitContainerStateChangeOutput struct { 16838 _ struct{} `type:"structure"` 16839 16840 // Acknowledgement of the state change. 16841 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 16842} 16843 16844// String returns the string representation 16845func (s SubmitContainerStateChangeOutput) String() string { 16846 return awsutil.Prettify(s) 16847} 16848 16849// GoString returns the string representation 16850func (s SubmitContainerStateChangeOutput) GoString() string { 16851 return s.String() 16852} 16853 16854// SetAcknowledgment sets the Acknowledgment field's value. 16855func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 16856 s.Acknowledgment = &v 16857 return s 16858} 16859 16860type SubmitTaskStateChangeInput struct { 16861 _ struct{} `type:"structure"` 16862 16863 // Any attachments associated with the state change request. 16864 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 16865 16866 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 16867 // the task. 16868 Cluster *string `locationName:"cluster" type:"string"` 16869 16870 // Any containers associated with the state change request. 16871 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 16872 16873 // The Unix timestamp for when the task execution stopped. 16874 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 16875 16876 // The Unix timestamp for when the container image pull began. 16877 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 16878 16879 // The Unix timestamp for when the container image pull completed. 16880 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 16881 16882 // The reason for the state change request. 16883 Reason *string `locationName:"reason" type:"string"` 16884 16885 // The status of the state change request. 16886 Status *string `locationName:"status" type:"string"` 16887 16888 // The task ID or full ARN of the task in the state change request. 16889 Task *string `locationName:"task" type:"string"` 16890} 16891 16892// String returns the string representation 16893func (s SubmitTaskStateChangeInput) String() string { 16894 return awsutil.Prettify(s) 16895} 16896 16897// GoString returns the string representation 16898func (s SubmitTaskStateChangeInput) GoString() string { 16899 return s.String() 16900} 16901 16902// Validate inspects the fields of the type to determine if they are valid. 16903func (s *SubmitTaskStateChangeInput) Validate() error { 16904 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 16905 if s.Attachments != nil { 16906 for i, v := range s.Attachments { 16907 if v == nil { 16908 continue 16909 } 16910 if err := v.Validate(); err != nil { 16911 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 16912 } 16913 } 16914 } 16915 16916 if invalidParams.Len() > 0 { 16917 return invalidParams 16918 } 16919 return nil 16920} 16921 16922// SetAttachments sets the Attachments field's value. 16923func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 16924 s.Attachments = v 16925 return s 16926} 16927 16928// SetCluster sets the Cluster field's value. 16929func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 16930 s.Cluster = &v 16931 return s 16932} 16933 16934// SetContainers sets the Containers field's value. 16935func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 16936 s.Containers = v 16937 return s 16938} 16939 16940// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 16941func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 16942 s.ExecutionStoppedAt = &v 16943 return s 16944} 16945 16946// SetPullStartedAt sets the PullStartedAt field's value. 16947func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 16948 s.PullStartedAt = &v 16949 return s 16950} 16951 16952// SetPullStoppedAt sets the PullStoppedAt field's value. 16953func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 16954 s.PullStoppedAt = &v 16955 return s 16956} 16957 16958// SetReason sets the Reason field's value. 16959func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 16960 s.Reason = &v 16961 return s 16962} 16963 16964// SetStatus sets the Status field's value. 16965func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 16966 s.Status = &v 16967 return s 16968} 16969 16970// SetTask sets the Task field's value. 16971func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 16972 s.Task = &v 16973 return s 16974} 16975 16976type SubmitTaskStateChangeOutput struct { 16977 _ struct{} `type:"structure"` 16978 16979 // Acknowledgement of the state change. 16980 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 16981} 16982 16983// String returns the string representation 16984func (s SubmitTaskStateChangeOutput) String() string { 16985 return awsutil.Prettify(s) 16986} 16987 16988// GoString returns the string representation 16989func (s SubmitTaskStateChangeOutput) GoString() string { 16990 return s.String() 16991} 16992 16993// SetAcknowledgment sets the Acknowledgment field's value. 16994func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 16995 s.Acknowledgment = &v 16996 return s 16997} 16998 16999// A list of namespaced kernel parameters to set in the container. This parameter 17000// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 17001// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 17002// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 17003// 17004// It is not recommended that you specify network-related systemControls parameters 17005// for multiple containers in a single task that also uses either the awsvpc 17006// or host network mode for the following reasons: 17007// 17008// * For tasks that use the awsvpc network mode, if you set systemControls 17009// for any container, it applies to all containers in the task. If you set 17010// different systemControls for multiple containers in a single task, the 17011// container that is started last determines which systemControls take effect. 17012// 17013// * For tasks that use the host network mode, the systemControls parameter 17014// applies to the container instance's kernel parameter as well as that of 17015// all containers of any tasks running on that container instance. 17016type SystemControl struct { 17017 _ struct{} `type:"structure"` 17018 17019 // The namespaced kernel parameter for which to set a value. 17020 Namespace *string `locationName:"namespace" type:"string"` 17021 17022 // The value for the namespaced kernel parameter specified in namespace. 17023 Value *string `locationName:"value" type:"string"` 17024} 17025 17026// String returns the string representation 17027func (s SystemControl) String() string { 17028 return awsutil.Prettify(s) 17029} 17030 17031// GoString returns the string representation 17032func (s SystemControl) GoString() string { 17033 return s.String() 17034} 17035 17036// SetNamespace sets the Namespace field's value. 17037func (s *SystemControl) SetNamespace(v string) *SystemControl { 17038 s.Namespace = &v 17039 return s 17040} 17041 17042// SetValue sets the Value field's value. 17043func (s *SystemControl) SetValue(v string) *SystemControl { 17044 s.Value = &v 17045 return s 17046} 17047 17048// The metadata that you apply to a resource to help you categorize and organize 17049// them. Each tag consists of a key and an optional value, both of which you 17050// define. 17051// 17052// The following basic restrictions apply to tags: 17053// 17054// * Maximum number of tags per resource - 50 17055// 17056// * For each resource, each tag key must be unique, and each tag key can 17057// have only one value. 17058// 17059// * Maximum key length - 128 Unicode characters in UTF-8 17060// 17061// * Maximum value length - 256 Unicode characters in UTF-8 17062// 17063// * If your tagging schema is used across multiple services and resources, 17064// remember that other services may have restrictions on allowed characters. 17065// Generally allowed characters are: letters, numbers, and spaces representable 17066// in UTF-8, and the following characters: + - = . _ : / @. 17067// 17068// * Tag keys and values are case-sensitive. 17069// 17070// * Do not use aws:, AWS:, or any upper or lowercase combination of such 17071// as a prefix for either keys or values as it is reserved for AWS use. You 17072// cannot edit or delete tag keys or values with this prefix. Tags with this 17073// prefix do not count against your tags per resource limit. 17074type Tag struct { 17075 _ struct{} `type:"structure"` 17076 17077 // One part of a key-value pair that make up a tag. A key is a general label 17078 // that acts like a category for more specific tag values. 17079 Key *string `locationName:"key" min:"1" type:"string"` 17080 17081 // The optional part of a key-value pair that make up a tag. A value acts as 17082 // a descriptor within a tag category (key). 17083 Value *string `locationName:"value" type:"string"` 17084} 17085 17086// String returns the string representation 17087func (s Tag) String() string { 17088 return awsutil.Prettify(s) 17089} 17090 17091// GoString returns the string representation 17092func (s Tag) GoString() string { 17093 return s.String() 17094} 17095 17096// Validate inspects the fields of the type to determine if they are valid. 17097func (s *Tag) Validate() error { 17098 invalidParams := request.ErrInvalidParams{Context: "Tag"} 17099 if s.Key != nil && len(*s.Key) < 1 { 17100 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17101 } 17102 17103 if invalidParams.Len() > 0 { 17104 return invalidParams 17105 } 17106 return nil 17107} 17108 17109// SetKey sets the Key field's value. 17110func (s *Tag) SetKey(v string) *Tag { 17111 s.Key = &v 17112 return s 17113} 17114 17115// SetValue sets the Value field's value. 17116func (s *Tag) SetValue(v string) *Tag { 17117 s.Value = &v 17118 return s 17119} 17120 17121type TagResourceInput struct { 17122 _ struct{} `type:"structure"` 17123 17124 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 17125 // the supported resources are Amazon ECS capacity providers, tasks, services, 17126 // task definitions, clusters, and container instances. 17127 // 17128 // ResourceArn is a required field 17129 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 17130 17131 // The tags to add to the resource. A tag is an array of key-value pairs. 17132 // 17133 // The following basic restrictions apply to tags: 17134 // 17135 // * Maximum number of tags per resource - 50 17136 // 17137 // * For each resource, each tag key must be unique, and each tag key can 17138 // have only one value. 17139 // 17140 // * Maximum key length - 128 Unicode characters in UTF-8 17141 // 17142 // * Maximum value length - 256 Unicode characters in UTF-8 17143 // 17144 // * If your tagging schema is used across multiple services and resources, 17145 // remember that other services may have restrictions on allowed characters. 17146 // Generally allowed characters are: letters, numbers, and spaces representable 17147 // in UTF-8, and the following characters: + - = . _ : / @. 17148 // 17149 // * Tag keys and values are case-sensitive. 17150 // 17151 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17152 // as a prefix for either keys or values as it is reserved for AWS use. You 17153 // cannot edit or delete tag keys or values with this prefix. Tags with this 17154 // prefix do not count against your tags per resource limit. 17155 // 17156 // Tags is a required field 17157 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 17158} 17159 17160// String returns the string representation 17161func (s TagResourceInput) String() string { 17162 return awsutil.Prettify(s) 17163} 17164 17165// GoString returns the string representation 17166func (s TagResourceInput) GoString() string { 17167 return s.String() 17168} 17169 17170// Validate inspects the fields of the type to determine if they are valid. 17171func (s *TagResourceInput) Validate() error { 17172 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 17173 if s.ResourceArn == nil { 17174 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 17175 } 17176 if s.Tags == nil { 17177 invalidParams.Add(request.NewErrParamRequired("Tags")) 17178 } 17179 if s.Tags != nil { 17180 for i, v := range s.Tags { 17181 if v == nil { 17182 continue 17183 } 17184 if err := v.Validate(); err != nil { 17185 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17186 } 17187 } 17188 } 17189 17190 if invalidParams.Len() > 0 { 17191 return invalidParams 17192 } 17193 return nil 17194} 17195 17196// SetResourceArn sets the ResourceArn field's value. 17197func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 17198 s.ResourceArn = &v 17199 return s 17200} 17201 17202// SetTags sets the Tags field's value. 17203func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 17204 s.Tags = v 17205 return s 17206} 17207 17208type TagResourceOutput struct { 17209 _ struct{} `type:"structure"` 17210} 17211 17212// String returns the string representation 17213func (s TagResourceOutput) String() string { 17214 return awsutil.Prettify(s) 17215} 17216 17217// GoString returns the string representation 17218func (s TagResourceOutput) GoString() string { 17219 return s.String() 17220} 17221 17222// The specified target could not be found. You can view your available container 17223// instances with ListContainerInstances. Amazon ECS container instances are 17224// cluster-specific and Region-specific. 17225type TargetNotFoundException struct { 17226 _ struct{} `type:"structure"` 17227 respMetadata protocol.ResponseMetadata 17228 17229 Message_ *string `locationName:"message" type:"string"` 17230} 17231 17232// String returns the string representation 17233func (s TargetNotFoundException) String() string { 17234 return awsutil.Prettify(s) 17235} 17236 17237// GoString returns the string representation 17238func (s TargetNotFoundException) GoString() string { 17239 return s.String() 17240} 17241 17242func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error { 17243 return &TargetNotFoundException{ 17244 respMetadata: v, 17245 } 17246} 17247 17248// Code returns the exception type name. 17249func (s TargetNotFoundException) Code() string { 17250 return "TargetNotFoundException" 17251} 17252 17253// Message returns the exception's message. 17254func (s TargetNotFoundException) Message() string { 17255 if s.Message_ != nil { 17256 return *s.Message_ 17257 } 17258 return "" 17259} 17260 17261// OrigErr always returns nil, satisfies awserr.Error interface. 17262func (s TargetNotFoundException) OrigErr() error { 17263 return nil 17264} 17265 17266func (s TargetNotFoundException) Error() string { 17267 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17268} 17269 17270// Status code returns the HTTP status code for the request's response error. 17271func (s TargetNotFoundException) StatusCode() int { 17272 return s.respMetadata.StatusCode 17273} 17274 17275// RequestID returns the service's response RequestID for request. 17276func (s TargetNotFoundException) RequestID() string { 17277 return s.respMetadata.RequestID 17278} 17279 17280// Details on a task in a cluster. 17281type Task struct { 17282 _ struct{} `type:"structure"` 17283 17284 // The Elastic Network Adapter associated with the task if the task uses the 17285 // awsvpc network mode. 17286 Attachments []*Attachment `locationName:"attachments" type:"list"` 17287 17288 // The attributes of the task 17289 Attributes []*Attribute `locationName:"attributes" type:"list"` 17290 17291 // The availability zone of the task. 17292 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 17293 17294 // The capacity provider associated with the task. 17295 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 17296 17297 // The ARN of the cluster that hosts the task. 17298 ClusterArn *string `locationName:"clusterArn" type:"string"` 17299 17300 // The connectivity status of a task. 17301 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 17302 17303 // The Unix timestamp for when the task last went into CONNECTED status. 17304 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 17305 17306 // The ARN of the container instances that host the task. 17307 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 17308 17309 // The containers associated with the task. 17310 Containers []*Container `locationName:"containers" type:"list"` 17311 17312 // The number of CPU units used by the task as expressed in a task definition. 17313 // It can be expressed as an integer using CPU units, for example 1024. It can 17314 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 17315 // String values are converted to an integer indicating the CPU units when the 17316 // task definition is registered. 17317 // 17318 // If you are using the EC2 launch type, this field is optional. Supported values 17319 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 17320 // 17321 // If you are using the Fargate launch type, this field is required and you 17322 // must use one of the following values, which determines your range of supported 17323 // values for the memory parameter: 17324 // 17325 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 17326 // 2048 (2 GB) 17327 // 17328 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 17329 // (3 GB), 4096 (4 GB) 17330 // 17331 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 17332 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 17333 // 17334 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 17335 // (16 GB) in increments of 1024 (1 GB) 17336 // 17337 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 17338 // (30 GB) in increments of 1024 (1 GB) 17339 Cpu *string `locationName:"cpu" type:"string"` 17340 17341 // The Unix timestamp for when the task was created (the task entered the PENDING 17342 // state). 17343 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 17344 17345 // The desired status of the task. For more information, see Task Lifecycle 17346 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17347 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 17348 17349 // The Unix timestamp for when the task execution stopped. 17350 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17351 17352 // The name of the task group associated with the task. 17353 Group *string `locationName:"group" type:"string"` 17354 17355 // The health status for the task, which is determined by the health of the 17356 // essential containers in the task. If all essential containers in the task 17357 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 17358 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 17359 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 17360 // 17361 // The Amazon ECS container agent does not monitor or report on Docker health 17362 // checks that are embedded in a container image (such as those specified in 17363 // a parent image or from the image's Dockerfile) and not specified in the container 17364 // definition. Health check parameters that are specified in a container definition 17365 // override any Docker health checks that exist in the container image. 17366 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 17367 17368 // The Elastic Inference accelerator associated with the task. 17369 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 17370 17371 // The last known status of the task. For more information, see Task Lifecycle 17372 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17373 LastStatus *string `locationName:"lastStatus" type:"string"` 17374 17375 // The launch type on which your task is running. For more information, see 17376 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 17377 // in the Amazon Elastic Container Service Developer Guide. 17378 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 17379 17380 // The amount of memory (in MiB) used by the task as expressed in a task definition. 17381 // It can be expressed as an integer using MiB, for example 1024. It can also 17382 // be expressed as a string using GB, for example 1GB or 1 GB. String values 17383 // are converted to an integer indicating the MiB when the task definition is 17384 // registered. 17385 // 17386 // If you are using the EC2 launch type, this field is optional. 17387 // 17388 // If you are using the Fargate launch type, this field is required and you 17389 // must use one of the following values, which determines your range of supported 17390 // values for the cpu parameter: 17391 // 17392 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 17393 // vCPU) 17394 // 17395 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 17396 // 512 (.5 vCPU) 17397 // 17398 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 17399 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 17400 // 17401 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 17402 // Available cpu values: 2048 (2 vCPU) 17403 // 17404 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 17405 // Available cpu values: 4096 (4 vCPU) 17406 Memory *string `locationName:"memory" type:"string"` 17407 17408 // One or more container overrides. 17409 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 17410 17411 // The platform version on which your task is running. A platform version is 17412 // only specified for tasks using the Fargate launch type. If one is not specified, 17413 // the LATEST platform version is used by default. For more information, see 17414 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 17415 // in the Amazon Elastic Container Service Developer Guide. 17416 PlatformVersion *string `locationName:"platformVersion" type:"string"` 17417 17418 // The Unix timestamp for when the container image pull began. 17419 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17420 17421 // The Unix timestamp for when the container image pull completed. 17422 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17423 17424 // The Unix timestamp for when the task started (the task transitioned from 17425 // the PENDING state to the RUNNING state). 17426 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 17427 17428 // The tag specified when a task is started. If the task is started by an Amazon 17429 // ECS service, then the startedBy parameter contains the deployment ID of the 17430 // service that starts it. 17431 StartedBy *string `locationName:"startedBy" type:"string"` 17432 17433 // The stop code indicating why a task was stopped. The stoppedReason may contain 17434 // additional details. 17435 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 17436 17437 // The Unix timestamp for when the task was stopped (the task transitioned from 17438 // the RUNNING state to the STOPPED state). 17439 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 17440 17441 // The reason that the task was stopped. 17442 StoppedReason *string `locationName:"stoppedReason" type:"string"` 17443 17444 // The Unix timestamp for when the task stops (transitions from the RUNNING 17445 // state to STOPPED). 17446 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 17447 17448 // The metadata that you apply to the task to help you categorize and organize 17449 // them. Each tag consists of a key and an optional value, both of which you 17450 // define. 17451 // 17452 // The following basic restrictions apply to tags: 17453 // 17454 // * Maximum number of tags per resource - 50 17455 // 17456 // * For each resource, each tag key must be unique, and each tag key can 17457 // have only one value. 17458 // 17459 // * Maximum key length - 128 Unicode characters in UTF-8 17460 // 17461 // * Maximum value length - 256 Unicode characters in UTF-8 17462 // 17463 // * If your tagging schema is used across multiple services and resources, 17464 // remember that other services may have restrictions on allowed characters. 17465 // Generally allowed characters are: letters, numbers, and spaces representable 17466 // in UTF-8, and the following characters: + - = . _ : / @. 17467 // 17468 // * Tag keys and values are case-sensitive. 17469 // 17470 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17471 // as a prefix for either keys or values as it is reserved for AWS use. You 17472 // cannot edit or delete tag keys or values with this prefix. Tags with this 17473 // prefix do not count against your tags per resource limit. 17474 Tags []*Tag `locationName:"tags" type:"list"` 17475 17476 // The Amazon Resource Name (ARN) of the task. 17477 TaskArn *string `locationName:"taskArn" type:"string"` 17478 17479 // The ARN of the task definition that creates the task. 17480 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 17481 17482 // The version counter for the task. Every time a task experiences a change 17483 // that triggers a CloudWatch event, the version counter is incremented. If 17484 // you are replicating your Amazon ECS task state with CloudWatch Events, you 17485 // can compare the version of a task reported by the Amazon ECS API actions 17486 // with the version reported in CloudWatch Events for the task (inside the detail 17487 // object) to verify that the version in your event stream is current. 17488 Version *int64 `locationName:"version" type:"long"` 17489} 17490 17491// String returns the string representation 17492func (s Task) String() string { 17493 return awsutil.Prettify(s) 17494} 17495 17496// GoString returns the string representation 17497func (s Task) GoString() string { 17498 return s.String() 17499} 17500 17501// SetAttachments sets the Attachments field's value. 17502func (s *Task) SetAttachments(v []*Attachment) *Task { 17503 s.Attachments = v 17504 return s 17505} 17506 17507// SetAttributes sets the Attributes field's value. 17508func (s *Task) SetAttributes(v []*Attribute) *Task { 17509 s.Attributes = v 17510 return s 17511} 17512 17513// SetAvailabilityZone sets the AvailabilityZone field's value. 17514func (s *Task) SetAvailabilityZone(v string) *Task { 17515 s.AvailabilityZone = &v 17516 return s 17517} 17518 17519// SetCapacityProviderName sets the CapacityProviderName field's value. 17520func (s *Task) SetCapacityProviderName(v string) *Task { 17521 s.CapacityProviderName = &v 17522 return s 17523} 17524 17525// SetClusterArn sets the ClusterArn field's value. 17526func (s *Task) SetClusterArn(v string) *Task { 17527 s.ClusterArn = &v 17528 return s 17529} 17530 17531// SetConnectivity sets the Connectivity field's value. 17532func (s *Task) SetConnectivity(v string) *Task { 17533 s.Connectivity = &v 17534 return s 17535} 17536 17537// SetConnectivityAt sets the ConnectivityAt field's value. 17538func (s *Task) SetConnectivityAt(v time.Time) *Task { 17539 s.ConnectivityAt = &v 17540 return s 17541} 17542 17543// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 17544func (s *Task) SetContainerInstanceArn(v string) *Task { 17545 s.ContainerInstanceArn = &v 17546 return s 17547} 17548 17549// SetContainers sets the Containers field's value. 17550func (s *Task) SetContainers(v []*Container) *Task { 17551 s.Containers = v 17552 return s 17553} 17554 17555// SetCpu sets the Cpu field's value. 17556func (s *Task) SetCpu(v string) *Task { 17557 s.Cpu = &v 17558 return s 17559} 17560 17561// SetCreatedAt sets the CreatedAt field's value. 17562func (s *Task) SetCreatedAt(v time.Time) *Task { 17563 s.CreatedAt = &v 17564 return s 17565} 17566 17567// SetDesiredStatus sets the DesiredStatus field's value. 17568func (s *Task) SetDesiredStatus(v string) *Task { 17569 s.DesiredStatus = &v 17570 return s 17571} 17572 17573// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 17574func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 17575 s.ExecutionStoppedAt = &v 17576 return s 17577} 17578 17579// SetGroup sets the Group field's value. 17580func (s *Task) SetGroup(v string) *Task { 17581 s.Group = &v 17582 return s 17583} 17584 17585// SetHealthStatus sets the HealthStatus field's value. 17586func (s *Task) SetHealthStatus(v string) *Task { 17587 s.HealthStatus = &v 17588 return s 17589} 17590 17591// SetInferenceAccelerators sets the InferenceAccelerators field's value. 17592func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 17593 s.InferenceAccelerators = v 17594 return s 17595} 17596 17597// SetLastStatus sets the LastStatus field's value. 17598func (s *Task) SetLastStatus(v string) *Task { 17599 s.LastStatus = &v 17600 return s 17601} 17602 17603// SetLaunchType sets the LaunchType field's value. 17604func (s *Task) SetLaunchType(v string) *Task { 17605 s.LaunchType = &v 17606 return s 17607} 17608 17609// SetMemory sets the Memory field's value. 17610func (s *Task) SetMemory(v string) *Task { 17611 s.Memory = &v 17612 return s 17613} 17614 17615// SetOverrides sets the Overrides field's value. 17616func (s *Task) SetOverrides(v *TaskOverride) *Task { 17617 s.Overrides = v 17618 return s 17619} 17620 17621// SetPlatformVersion sets the PlatformVersion field's value. 17622func (s *Task) SetPlatformVersion(v string) *Task { 17623 s.PlatformVersion = &v 17624 return s 17625} 17626 17627// SetPullStartedAt sets the PullStartedAt field's value. 17628func (s *Task) SetPullStartedAt(v time.Time) *Task { 17629 s.PullStartedAt = &v 17630 return s 17631} 17632 17633// SetPullStoppedAt sets the PullStoppedAt field's value. 17634func (s *Task) SetPullStoppedAt(v time.Time) *Task { 17635 s.PullStoppedAt = &v 17636 return s 17637} 17638 17639// SetStartedAt sets the StartedAt field's value. 17640func (s *Task) SetStartedAt(v time.Time) *Task { 17641 s.StartedAt = &v 17642 return s 17643} 17644 17645// SetStartedBy sets the StartedBy field's value. 17646func (s *Task) SetStartedBy(v string) *Task { 17647 s.StartedBy = &v 17648 return s 17649} 17650 17651// SetStopCode sets the StopCode field's value. 17652func (s *Task) SetStopCode(v string) *Task { 17653 s.StopCode = &v 17654 return s 17655} 17656 17657// SetStoppedAt sets the StoppedAt field's value. 17658func (s *Task) SetStoppedAt(v time.Time) *Task { 17659 s.StoppedAt = &v 17660 return s 17661} 17662 17663// SetStoppedReason sets the StoppedReason field's value. 17664func (s *Task) SetStoppedReason(v string) *Task { 17665 s.StoppedReason = &v 17666 return s 17667} 17668 17669// SetStoppingAt sets the StoppingAt field's value. 17670func (s *Task) SetStoppingAt(v time.Time) *Task { 17671 s.StoppingAt = &v 17672 return s 17673} 17674 17675// SetTags sets the Tags field's value. 17676func (s *Task) SetTags(v []*Tag) *Task { 17677 s.Tags = v 17678 return s 17679} 17680 17681// SetTaskArn sets the TaskArn field's value. 17682func (s *Task) SetTaskArn(v string) *Task { 17683 s.TaskArn = &v 17684 return s 17685} 17686 17687// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 17688func (s *Task) SetTaskDefinitionArn(v string) *Task { 17689 s.TaskDefinitionArn = &v 17690 return s 17691} 17692 17693// SetVersion sets the Version field's value. 17694func (s *Task) SetVersion(v int64) *Task { 17695 s.Version = &v 17696 return s 17697} 17698 17699// The details of a task definition which describes the container and volume 17700// definitions of an Amazon Elastic Container Service task. You can specify 17701// which Docker images to use, the required resources, and other configurations 17702// related to launching the task definition through an Amazon ECS service or 17703// task. 17704type TaskDefinition struct { 17705 _ struct{} `type:"structure"` 17706 17707 // The launch type to use with your task. For more information, see Amazon ECS 17708 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 17709 // in the Amazon Elastic Container Service Developer Guide. 17710 Compatibilities []*string `locationName:"compatibilities" type:"list"` 17711 17712 // A list of container definitions in JSON format that describe the different 17713 // containers that make up your task. For more information about container definition 17714 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 17715 // in the Amazon Elastic Container Service Developer Guide. 17716 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 17717 17718 // The number of cpu units used by the task. If you are using the EC2 launch 17719 // type, this field is optional and any value can be used. If you are using 17720 // the Fargate launch type, this field is required and you must use one of the 17721 // following values, which determines your range of valid values for the memory 17722 // parameter: 17723 // 17724 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 17725 // 2048 (2 GB) 17726 // 17727 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 17728 // (3 GB), 4096 (4 GB) 17729 // 17730 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 17731 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 17732 // 17733 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 17734 // (16 GB) in increments of 1024 (1 GB) 17735 // 17736 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 17737 // (30 GB) in increments of 1024 (1 GB) 17738 Cpu *string `locationName:"cpu" type:"string"` 17739 17740 // The Amazon Resource Name (ARN) of the task execution role that containers 17741 // in this task can assume. All containers in this task are granted the permissions 17742 // that are specified in this role. 17743 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 17744 17745 // The name of a family that this task definition is registered to. Up to 255 17746 // letters (uppercase and lowercase), numbers, hyphens, and underscores are 17747 // allowed. 17748 // 17749 // A family groups multiple versions of a task definition. Amazon ECS gives 17750 // the first task definition that you registered to a family a revision number 17751 // of 1. Amazon ECS gives sequential revision numbers to each task definition 17752 // that you add. 17753 Family *string `locationName:"family" type:"string"` 17754 17755 // The Elastic Inference accelerator associated with the task. 17756 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 17757 17758 // The IPC resource namespace to use for the containers in the task. The valid 17759 // values are host, task, or none. If host is specified, then all containers 17760 // within the tasks that specified the host IPC mode on the same container instance 17761 // share the same IPC resources with the host Amazon EC2 instance. If task is 17762 // specified, all containers within the specified task share the same IPC resources. 17763 // If none is specified, then IPC resources within the containers of a task 17764 // are private and not shared with other containers in a task or on the container 17765 // instance. If no value is specified, then the IPC resource namespace sharing 17766 // depends on the Docker daemon setting on the container instance. For more 17767 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 17768 // in the Docker run reference. 17769 // 17770 // If the host IPC mode is used, be aware that there is a heightened risk of 17771 // undesired IPC namespace expose. For more information, see Docker security 17772 // (https://docs.docker.com/engine/security/security/). 17773 // 17774 // If you are setting namespaced kernel parameters using systemControls for 17775 // the containers in the task, the following will apply to your IPC resource 17776 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 17777 // in the Amazon Elastic Container Service Developer Guide. 17778 // 17779 // * For tasks that use the host IPC mode, IPC namespace related systemControls 17780 // are not supported. 17781 // 17782 // * For tasks that use the task IPC mode, IPC namespace related systemControls 17783 // will apply to all containers within a task. 17784 // 17785 // This parameter is not supported for Windows containers or tasks using the 17786 // Fargate launch type. 17787 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 17788 17789 // The amount (in MiB) of memory used by the task. 17790 // 17791 // If using the EC2 launch type, this field is optional and any value can be 17792 // used. If a task-level memory value is specified then the container-level 17793 // memory value is optional. 17794 // 17795 // If using the Fargate launch type, this field is required and you must use 17796 // one of the following values, which determines your range of valid values 17797 // for the cpu parameter: 17798 // 17799 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 17800 // vCPU) 17801 // 17802 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 17803 // 512 (.5 vCPU) 17804 // 17805 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 17806 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 17807 // 17808 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 17809 // Available cpu values: 2048 (2 vCPU) 17810 // 17811 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 17812 // Available cpu values: 4096 (4 vCPU) 17813 Memory *string `locationName:"memory" type:"string"` 17814 17815 // The Docker networking mode to use for the containers in the task. The valid 17816 // values are none, bridge, awsvpc, and host. The default Docker network mode 17817 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 17818 // is required. If you are using the EC2 launch type, any network mode can be 17819 // used. If the network mode is set to none, you cannot specify port mappings 17820 // in your container definitions, and the tasks containers do not have external 17821 // connectivity. The host and awsvpc network modes offer the highest networking 17822 // performance for containers because they use the EC2 network stack instead 17823 // of the virtualized network stack provided by the bridge mode. 17824 // 17825 // With the host and awsvpc network modes, exposed container ports are mapped 17826 // directly to the corresponding host port (for the host network mode) or the 17827 // attached elastic network interface port (for the awsvpc network mode), so 17828 // you cannot take advantage of dynamic host port mappings. 17829 // 17830 // If the network mode is awsvpc, the task is allocated an elastic network interface, 17831 // and you must specify a NetworkConfiguration value when you create a service 17832 // or run a task with the task definition. For more information, see Task Networking 17833 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 17834 // in the Amazon Elastic Container Service Developer Guide. 17835 // 17836 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 17837 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 17838 // mode. 17839 // 17840 // If the network mode is host, you cannot run multiple instantiations of the 17841 // same task on a single container instance when port mappings are used. 17842 // 17843 // Docker for Windows uses different network modes than Docker for Linux. When 17844 // you register a task definition with Windows containers, you must not specify 17845 // a network mode. If you use the console to register a task definition with 17846 // Windows containers, you must choose the <default> network mode object. 17847 // 17848 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 17849 // in the Docker run reference. 17850 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 17851 17852 // The process namespace to use for the containers in the task. The valid values 17853 // are host or task. If host is specified, then all containers within the tasks 17854 // that specified the host PID mode on the same container instance share the 17855 // same process namespace with the host Amazon EC2 instance. If task is specified, 17856 // all containers within the specified task share the same process namespace. 17857 // If no value is specified, the default is a private namespace. For more information, 17858 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 17859 // in the Docker run reference. 17860 // 17861 // If the host PID mode is used, be aware that there is a heightened risk of 17862 // undesired process namespace expose. For more information, see Docker security 17863 // (https://docs.docker.com/engine/security/security/). 17864 // 17865 // This parameter is not supported for Windows containers or tasks using the 17866 // Fargate launch type. 17867 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 17868 17869 // An array of placement constraint objects to use for tasks. This field is 17870 // not valid if you are using the Fargate launch type for your task. 17871 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 17872 17873 // The configuration details for the App Mesh proxy. 17874 // 17875 // Your Amazon ECS container instances require at least version 1.26.0 of the 17876 // container agent and at least version 1.26.0-1 of the ecs-init package to 17877 // enable a proxy configuration. If your container instances are launched from 17878 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 17879 // the required versions of the container agent and ecs-init. For more information, 17880 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 17881 // in the Amazon Elastic Container Service Developer Guide. 17882 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 17883 17884 // The container instance attributes required by your task. This field is not 17885 // valid if you are using the Fargate launch type for your task. 17886 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 17887 17888 // The launch type the task requires. If no value is specified, it will default 17889 // to EC2. Valid values include EC2 and FARGATE. 17890 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 17891 17892 // The revision of the task in a particular family. The revision is a version 17893 // number of a task definition in a family. When you register a task definition 17894 // for the first time, the revision is 1. Each time that you register a new 17895 // revision of a task definition in the same family, the revision value always 17896 // increases by one, even if you have deregistered previous revisions in this 17897 // family. 17898 Revision *int64 `locationName:"revision" type:"integer"` 17899 17900 // The status of the task definition. 17901 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 17902 17903 // The full Amazon Resource Name (ARN) of the task definition. 17904 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 17905 17906 // The short name or full Amazon Resource Name (ARN) of the AWS Identity and 17907 // Access Management (IAM) role that grants containers in the task permission 17908 // to call AWS APIs on your behalf. For more information, see Amazon ECS Task 17909 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_IAM_role.html) 17910 // in the Amazon Elastic Container Service Developer Guide. 17911 // 17912 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 17913 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 17914 // must also run some configuration code in order to take advantage of the feature. 17915 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 17916 // in the Amazon Elastic Container Service Developer Guide. 17917 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 17918 17919 // The list of volume definitions for the task. 17920 // 17921 // If your tasks are using the Fargate launch type, the host and sourcePath 17922 // parameters are not supported. 17923 // 17924 // For more information about volume definition parameters and defaults, see 17925 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 17926 // in the Amazon Elastic Container Service Developer Guide. 17927 Volumes []*Volume `locationName:"volumes" type:"list"` 17928} 17929 17930// String returns the string representation 17931func (s TaskDefinition) String() string { 17932 return awsutil.Prettify(s) 17933} 17934 17935// GoString returns the string representation 17936func (s TaskDefinition) GoString() string { 17937 return s.String() 17938} 17939 17940// SetCompatibilities sets the Compatibilities field's value. 17941func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 17942 s.Compatibilities = v 17943 return s 17944} 17945 17946// SetContainerDefinitions sets the ContainerDefinitions field's value. 17947func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 17948 s.ContainerDefinitions = v 17949 return s 17950} 17951 17952// SetCpu sets the Cpu field's value. 17953func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 17954 s.Cpu = &v 17955 return s 17956} 17957 17958// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 17959func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 17960 s.ExecutionRoleArn = &v 17961 return s 17962} 17963 17964// SetFamily sets the Family field's value. 17965func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 17966 s.Family = &v 17967 return s 17968} 17969 17970// SetInferenceAccelerators sets the InferenceAccelerators field's value. 17971func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 17972 s.InferenceAccelerators = v 17973 return s 17974} 17975 17976// SetIpcMode sets the IpcMode field's value. 17977func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 17978 s.IpcMode = &v 17979 return s 17980} 17981 17982// SetMemory sets the Memory field's value. 17983func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 17984 s.Memory = &v 17985 return s 17986} 17987 17988// SetNetworkMode sets the NetworkMode field's value. 17989func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 17990 s.NetworkMode = &v 17991 return s 17992} 17993 17994// SetPidMode sets the PidMode field's value. 17995func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 17996 s.PidMode = &v 17997 return s 17998} 17999 18000// SetPlacementConstraints sets the PlacementConstraints field's value. 18001func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 18002 s.PlacementConstraints = v 18003 return s 18004} 18005 18006// SetProxyConfiguration sets the ProxyConfiguration field's value. 18007func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 18008 s.ProxyConfiguration = v 18009 return s 18010} 18011 18012// SetRequiresAttributes sets the RequiresAttributes field's value. 18013func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 18014 s.RequiresAttributes = v 18015 return s 18016} 18017 18018// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 18019func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 18020 s.RequiresCompatibilities = v 18021 return s 18022} 18023 18024// SetRevision sets the Revision field's value. 18025func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 18026 s.Revision = &v 18027 return s 18028} 18029 18030// SetStatus sets the Status field's value. 18031func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 18032 s.Status = &v 18033 return s 18034} 18035 18036// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 18037func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 18038 s.TaskDefinitionArn = &v 18039 return s 18040} 18041 18042// SetTaskRoleArn sets the TaskRoleArn field's value. 18043func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 18044 s.TaskRoleArn = &v 18045 return s 18046} 18047 18048// SetVolumes sets the Volumes field's value. 18049func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 18050 s.Volumes = v 18051 return s 18052} 18053 18054// An object representing a constraint on task placement in the task definition. 18055// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 18056// in the Amazon Elastic Container Service Developer Guide. 18057// 18058// If you are using the Fargate launch type, task placement constraints are 18059// not supported. 18060type TaskDefinitionPlacementConstraint struct { 18061 _ struct{} `type:"structure"` 18062 18063 // A cluster query language expression to apply to the constraint. For more 18064 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 18065 // in the Amazon Elastic Container Service Developer Guide. 18066 Expression *string `locationName:"expression" type:"string"` 18067 18068 // The type of constraint. The MemberOf constraint restricts selection to be 18069 // from a group of valid candidates. 18070 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 18071} 18072 18073// String returns the string representation 18074func (s TaskDefinitionPlacementConstraint) String() string { 18075 return awsutil.Prettify(s) 18076} 18077 18078// GoString returns the string representation 18079func (s TaskDefinitionPlacementConstraint) GoString() string { 18080 return s.String() 18081} 18082 18083// SetExpression sets the Expression field's value. 18084func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 18085 s.Expression = &v 18086 return s 18087} 18088 18089// SetType sets the Type field's value. 18090func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 18091 s.Type = &v 18092 return s 18093} 18094 18095// The overrides associated with a task. 18096type TaskOverride struct { 18097 _ struct{} `type:"structure"` 18098 18099 // One or more container overrides sent to a task. 18100 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 18101 18102 // The cpu override for the task. 18103 Cpu *string `locationName:"cpu" type:"string"` 18104 18105 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 18106 // ECS container agent and the Docker daemon can assume. 18107 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18108 18109 // The Elastic Inference accelerator override for the task. 18110 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 18111 18112 // The memory override for the task. 18113 Memory *string `locationName:"memory" type:"string"` 18114 18115 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 18116 // can assume. All containers in this task are granted the permissions that 18117 // are specified in this role. 18118 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18119} 18120 18121// String returns the string representation 18122func (s TaskOverride) String() string { 18123 return awsutil.Prettify(s) 18124} 18125 18126// GoString returns the string representation 18127func (s TaskOverride) GoString() string { 18128 return s.String() 18129} 18130 18131// Validate inspects the fields of the type to determine if they are valid. 18132func (s *TaskOverride) Validate() error { 18133 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 18134 if s.ContainerOverrides != nil { 18135 for i, v := range s.ContainerOverrides { 18136 if v == nil { 18137 continue 18138 } 18139 if err := v.Validate(); err != nil { 18140 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 18141 } 18142 } 18143 } 18144 18145 if invalidParams.Len() > 0 { 18146 return invalidParams 18147 } 18148 return nil 18149} 18150 18151// SetContainerOverrides sets the ContainerOverrides field's value. 18152func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 18153 s.ContainerOverrides = v 18154 return s 18155} 18156 18157// SetCpu sets the Cpu field's value. 18158func (s *TaskOverride) SetCpu(v string) *TaskOverride { 18159 s.Cpu = &v 18160 return s 18161} 18162 18163// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18164func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 18165 s.ExecutionRoleArn = &v 18166 return s 18167} 18168 18169// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 18170func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 18171 s.InferenceAcceleratorOverrides = v 18172 return s 18173} 18174 18175// SetMemory sets the Memory field's value. 18176func (s *TaskOverride) SetMemory(v string) *TaskOverride { 18177 s.Memory = &v 18178 return s 18179} 18180 18181// SetTaskRoleArn sets the TaskRoleArn field's value. 18182func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 18183 s.TaskRoleArn = &v 18184 return s 18185} 18186 18187// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 18188// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 18189// desired number of tasks, how many tasks are running, and whether the task 18190// set serves production traffic. 18191type TaskSet struct { 18192 _ struct{} `type:"structure"` 18193 18194 // The capacity provider strategy associated with the task set. 18195 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 18196 18197 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 18198 // the task set exists in. 18199 ClusterArn *string `locationName:"clusterArn" type:"string"` 18200 18201 // The computed desired count for the task set. This is calculated by multiplying 18202 // the service's desiredCount by the task set's scale percentage. The result 18203 // is always rounded up. For example, if the computed desired count is 1.2, 18204 // it rounds up to 2 tasks. 18205 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 18206 18207 // The Unix timestamp for when the task set was created. 18208 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 18209 18210 // The external ID associated with the task set. 18211 // 18212 // If a task set is created by an AWS CodeDeploy deployment, the externalId 18213 // parameter contains the AWS CodeDeploy deployment ID. 18214 // 18215 // If a task set is created for an external deployment and is associated with 18216 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 18217 // AWS Cloud Map attribute. 18218 ExternalId *string `locationName:"externalId" type:"string"` 18219 18220 // The ID of the task set. 18221 Id *string `locationName:"id" type:"string"` 18222 18223 // The launch type the tasks in the task set are using. For more information, 18224 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18225 // in the Amazon Elastic Container Service Developer Guide. 18226 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 18227 18228 // Details on a load balancer that is used with a task set. 18229 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 18230 18231 // The network configuration for the task set. 18232 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 18233 18234 // The number of tasks in the task set that are in the PENDING status during 18235 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 18236 // state. A task set enters the PENDING status when it launches for the first 18237 // time or when it is restarted after being in the STOPPED state. 18238 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 18239 18240 // The platform version on which the tasks in the task set are running. A platform 18241 // version is only specified for tasks using the Fargate launch type. If one 18242 // is not specified, the LATEST platform version is used by default. For more 18243 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 18244 // in the Amazon Elastic Container Service Developer Guide. 18245 PlatformVersion *string `locationName:"platformVersion" type:"string"` 18246 18247 // The number of tasks in the task set that are in the RUNNING status during 18248 // a deployment. A task in the RUNNING state is running and ready for use. 18249 RunningCount *int64 `locationName:"runningCount" type:"integer"` 18250 18251 // A floating-point percentage of the desired number of tasks to place and keep 18252 // running in the task set. 18253 Scale *Scale `locationName:"scale" type:"structure"` 18254 18255 // The Amazon Resource Name (ARN) of the service the task set exists in. 18256 ServiceArn *string `locationName:"serviceArn" type:"string"` 18257 18258 // The details of the service discovery registries to assign to this task set. 18259 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 18260 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 18261 18262 // The stability status, which indicates whether the task set has reached a 18263 // steady state. If the following conditions are met, the task set will be in 18264 // STEADY_STATE: 18265 // 18266 // * The task runningCount is equal to the computedDesiredCount. 18267 // 18268 // * The pendingCount is 0. 18269 // 18270 // * There are no tasks running on container instances in the DRAINING status. 18271 // 18272 // * All tasks are reporting a healthy status from the load balancers, service 18273 // discovery, and container health checks. 18274 // 18275 // If any of those conditions are not met, the stability status returns STABILIZING. 18276 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 18277 18278 // The Unix timestamp for when the task set stability status was retrieved. 18279 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 18280 18281 // The tag specified when a task set is started. If the task set is created 18282 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 18283 // For a task set created for an external deployment, the startedBy field isn't 18284 // used. 18285 StartedBy *string `locationName:"startedBy" type:"string"` 18286 18287 // The status of the task set. The following describes each state: 18288 // 18289 // PRIMARY 18290 // 18291 // The task set is serving production traffic. 18292 // 18293 // ACTIVE 18294 // 18295 // The task set is not serving production traffic. 18296 // 18297 // DRAINING 18298 // 18299 // The tasks in the task set are being stopped and their corresponding targets 18300 // are being deregistered from their target group. 18301 Status *string `locationName:"status" type:"string"` 18302 18303 // The metadata that you apply to the task set to help you categorize and organize 18304 // them. Each tag consists of a key and an optional value, both of which you 18305 // define. 18306 // 18307 // The following basic restrictions apply to tags: 18308 // 18309 // * Maximum number of tags per resource - 50 18310 // 18311 // * For each resource, each tag key must be unique, and each tag key can 18312 // have only one value. 18313 // 18314 // * Maximum key length - 128 Unicode characters in UTF-8 18315 // 18316 // * Maximum value length - 256 Unicode characters in UTF-8 18317 // 18318 // * If your tagging schema is used across multiple services and resources, 18319 // remember that other services may have restrictions on allowed characters. 18320 // Generally allowed characters are: letters, numbers, and spaces representable 18321 // in UTF-8, and the following characters: + - = . _ : / @. 18322 // 18323 // * Tag keys and values are case-sensitive. 18324 // 18325 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18326 // as a prefix for either keys or values as it is reserved for AWS use. You 18327 // cannot edit or delete tag keys or values with this prefix. Tags with this 18328 // prefix do not count against your tags per resource limit. 18329 Tags []*Tag `locationName:"tags" type:"list"` 18330 18331 // The task definition the task set is using. 18332 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 18333 18334 // The Amazon Resource Name (ARN) of the task set. 18335 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 18336 18337 // The Unix timestamp for when the task set was last updated. 18338 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 18339} 18340 18341// String returns the string representation 18342func (s TaskSet) String() string { 18343 return awsutil.Prettify(s) 18344} 18345 18346// GoString returns the string representation 18347func (s TaskSet) GoString() string { 18348 return s.String() 18349} 18350 18351// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 18352func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 18353 s.CapacityProviderStrategy = v 18354 return s 18355} 18356 18357// SetClusterArn sets the ClusterArn field's value. 18358func (s *TaskSet) SetClusterArn(v string) *TaskSet { 18359 s.ClusterArn = &v 18360 return s 18361} 18362 18363// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 18364func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 18365 s.ComputedDesiredCount = &v 18366 return s 18367} 18368 18369// SetCreatedAt sets the CreatedAt field's value. 18370func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 18371 s.CreatedAt = &v 18372 return s 18373} 18374 18375// SetExternalId sets the ExternalId field's value. 18376func (s *TaskSet) SetExternalId(v string) *TaskSet { 18377 s.ExternalId = &v 18378 return s 18379} 18380 18381// SetId sets the Id field's value. 18382func (s *TaskSet) SetId(v string) *TaskSet { 18383 s.Id = &v 18384 return s 18385} 18386 18387// SetLaunchType sets the LaunchType field's value. 18388func (s *TaskSet) SetLaunchType(v string) *TaskSet { 18389 s.LaunchType = &v 18390 return s 18391} 18392 18393// SetLoadBalancers sets the LoadBalancers field's value. 18394func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 18395 s.LoadBalancers = v 18396 return s 18397} 18398 18399// SetNetworkConfiguration sets the NetworkConfiguration field's value. 18400func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 18401 s.NetworkConfiguration = v 18402 return s 18403} 18404 18405// SetPendingCount sets the PendingCount field's value. 18406func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 18407 s.PendingCount = &v 18408 return s 18409} 18410 18411// SetPlatformVersion sets the PlatformVersion field's value. 18412func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 18413 s.PlatformVersion = &v 18414 return s 18415} 18416 18417// SetRunningCount sets the RunningCount field's value. 18418func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 18419 s.RunningCount = &v 18420 return s 18421} 18422 18423// SetScale sets the Scale field's value. 18424func (s *TaskSet) SetScale(v *Scale) *TaskSet { 18425 s.Scale = v 18426 return s 18427} 18428 18429// SetServiceArn sets the ServiceArn field's value. 18430func (s *TaskSet) SetServiceArn(v string) *TaskSet { 18431 s.ServiceArn = &v 18432 return s 18433} 18434 18435// SetServiceRegistries sets the ServiceRegistries field's value. 18436func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 18437 s.ServiceRegistries = v 18438 return s 18439} 18440 18441// SetStabilityStatus sets the StabilityStatus field's value. 18442func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 18443 s.StabilityStatus = &v 18444 return s 18445} 18446 18447// SetStabilityStatusAt sets the StabilityStatusAt field's value. 18448func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 18449 s.StabilityStatusAt = &v 18450 return s 18451} 18452 18453// SetStartedBy sets the StartedBy field's value. 18454func (s *TaskSet) SetStartedBy(v string) *TaskSet { 18455 s.StartedBy = &v 18456 return s 18457} 18458 18459// SetStatus sets the Status field's value. 18460func (s *TaskSet) SetStatus(v string) *TaskSet { 18461 s.Status = &v 18462 return s 18463} 18464 18465// SetTags sets the Tags field's value. 18466func (s *TaskSet) SetTags(v []*Tag) *TaskSet { 18467 s.Tags = v 18468 return s 18469} 18470 18471// SetTaskDefinition sets the TaskDefinition field's value. 18472func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 18473 s.TaskDefinition = &v 18474 return s 18475} 18476 18477// SetTaskSetArn sets the TaskSetArn field's value. 18478func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 18479 s.TaskSetArn = &v 18480 return s 18481} 18482 18483// SetUpdatedAt sets the UpdatedAt field's value. 18484func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 18485 s.UpdatedAt = &v 18486 return s 18487} 18488 18489// The specified task set could not be found. You can view your available task 18490// sets with DescribeTaskSets. Task sets are specific to each cluster, service 18491// and Region. 18492type TaskSetNotFoundException struct { 18493 _ struct{} `type:"structure"` 18494 respMetadata protocol.ResponseMetadata 18495 18496 Message_ *string `locationName:"message" type:"string"` 18497} 18498 18499// String returns the string representation 18500func (s TaskSetNotFoundException) String() string { 18501 return awsutil.Prettify(s) 18502} 18503 18504// GoString returns the string representation 18505func (s TaskSetNotFoundException) GoString() string { 18506 return s.String() 18507} 18508 18509func newErrorTaskSetNotFoundException(v protocol.ResponseMetadata) error { 18510 return &TaskSetNotFoundException{ 18511 respMetadata: v, 18512 } 18513} 18514 18515// Code returns the exception type name. 18516func (s TaskSetNotFoundException) Code() string { 18517 return "TaskSetNotFoundException" 18518} 18519 18520// Message returns the exception's message. 18521func (s TaskSetNotFoundException) Message() string { 18522 if s.Message_ != nil { 18523 return *s.Message_ 18524 } 18525 return "" 18526} 18527 18528// OrigErr always returns nil, satisfies awserr.Error interface. 18529func (s TaskSetNotFoundException) OrigErr() error { 18530 return nil 18531} 18532 18533func (s TaskSetNotFoundException) Error() string { 18534 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18535} 18536 18537// Status code returns the HTTP status code for the request's response error. 18538func (s TaskSetNotFoundException) StatusCode() int { 18539 return s.respMetadata.StatusCode 18540} 18541 18542// RequestID returns the service's response RequestID for request. 18543func (s TaskSetNotFoundException) RequestID() string { 18544 return s.respMetadata.RequestID 18545} 18546 18547// The container path, mount options, and size of the tmpfs mount. 18548type Tmpfs struct { 18549 _ struct{} `type:"structure"` 18550 18551 // The absolute file path where the tmpfs volume is to be mounted. 18552 // 18553 // ContainerPath is a required field 18554 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 18555 18556 // The list of tmpfs volume mount options. 18557 // 18558 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 18559 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 18560 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 18561 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 18562 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 18563 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 18564 MountOptions []*string `locationName:"mountOptions" type:"list"` 18565 18566 // The size (in MiB) of the tmpfs volume. 18567 // 18568 // Size is a required field 18569 Size *int64 `locationName:"size" type:"integer" required:"true"` 18570} 18571 18572// String returns the string representation 18573func (s Tmpfs) String() string { 18574 return awsutil.Prettify(s) 18575} 18576 18577// GoString returns the string representation 18578func (s Tmpfs) GoString() string { 18579 return s.String() 18580} 18581 18582// Validate inspects the fields of the type to determine if they are valid. 18583func (s *Tmpfs) Validate() error { 18584 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 18585 if s.ContainerPath == nil { 18586 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 18587 } 18588 if s.Size == nil { 18589 invalidParams.Add(request.NewErrParamRequired("Size")) 18590 } 18591 18592 if invalidParams.Len() > 0 { 18593 return invalidParams 18594 } 18595 return nil 18596} 18597 18598// SetContainerPath sets the ContainerPath field's value. 18599func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 18600 s.ContainerPath = &v 18601 return s 18602} 18603 18604// SetMountOptions sets the MountOptions field's value. 18605func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 18606 s.MountOptions = v 18607 return s 18608} 18609 18610// SetSize sets the Size field's value. 18611func (s *Tmpfs) SetSize(v int64) *Tmpfs { 18612 s.Size = &v 18613 return s 18614} 18615 18616// The ulimit settings to pass to the container. 18617type Ulimit struct { 18618 _ struct{} `type:"structure"` 18619 18620 // The hard limit for the ulimit type. 18621 // 18622 // HardLimit is a required field 18623 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 18624 18625 // The type of the ulimit. 18626 // 18627 // Name is a required field 18628 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 18629 18630 // The soft limit for the ulimit type. 18631 // 18632 // SoftLimit is a required field 18633 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 18634} 18635 18636// String returns the string representation 18637func (s Ulimit) String() string { 18638 return awsutil.Prettify(s) 18639} 18640 18641// GoString returns the string representation 18642func (s Ulimit) GoString() string { 18643 return s.String() 18644} 18645 18646// Validate inspects the fields of the type to determine if they are valid. 18647func (s *Ulimit) Validate() error { 18648 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 18649 if s.HardLimit == nil { 18650 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 18651 } 18652 if s.Name == nil { 18653 invalidParams.Add(request.NewErrParamRequired("Name")) 18654 } 18655 if s.SoftLimit == nil { 18656 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 18657 } 18658 18659 if invalidParams.Len() > 0 { 18660 return invalidParams 18661 } 18662 return nil 18663} 18664 18665// SetHardLimit sets the HardLimit field's value. 18666func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 18667 s.HardLimit = &v 18668 return s 18669} 18670 18671// SetName sets the Name field's value. 18672func (s *Ulimit) SetName(v string) *Ulimit { 18673 s.Name = &v 18674 return s 18675} 18676 18677// SetSoftLimit sets the SoftLimit field's value. 18678func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 18679 s.SoftLimit = &v 18680 return s 18681} 18682 18683// The specified task is not supported in this Region. 18684type UnsupportedFeatureException struct { 18685 _ struct{} `type:"structure"` 18686 respMetadata protocol.ResponseMetadata 18687 18688 Message_ *string `locationName:"message" type:"string"` 18689} 18690 18691// String returns the string representation 18692func (s UnsupportedFeatureException) String() string { 18693 return awsutil.Prettify(s) 18694} 18695 18696// GoString returns the string representation 18697func (s UnsupportedFeatureException) GoString() string { 18698 return s.String() 18699} 18700 18701func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error { 18702 return &UnsupportedFeatureException{ 18703 respMetadata: v, 18704 } 18705} 18706 18707// Code returns the exception type name. 18708func (s UnsupportedFeatureException) Code() string { 18709 return "UnsupportedFeatureException" 18710} 18711 18712// Message returns the exception's message. 18713func (s UnsupportedFeatureException) Message() string { 18714 if s.Message_ != nil { 18715 return *s.Message_ 18716 } 18717 return "" 18718} 18719 18720// OrigErr always returns nil, satisfies awserr.Error interface. 18721func (s UnsupportedFeatureException) OrigErr() error { 18722 return nil 18723} 18724 18725func (s UnsupportedFeatureException) Error() string { 18726 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18727} 18728 18729// Status code returns the HTTP status code for the request's response error. 18730func (s UnsupportedFeatureException) StatusCode() int { 18731 return s.respMetadata.StatusCode 18732} 18733 18734// RequestID returns the service's response RequestID for request. 18735func (s UnsupportedFeatureException) RequestID() string { 18736 return s.respMetadata.RequestID 18737} 18738 18739type UntagResourceInput struct { 18740 _ struct{} `type:"structure"` 18741 18742 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 18743 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 18744 // services, task definitions, clusters, and container instances. 18745 // 18746 // ResourceArn is a required field 18747 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 18748 18749 // The keys of the tags to be removed. 18750 // 18751 // TagKeys is a required field 18752 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 18753} 18754 18755// String returns the string representation 18756func (s UntagResourceInput) String() string { 18757 return awsutil.Prettify(s) 18758} 18759 18760// GoString returns the string representation 18761func (s UntagResourceInput) GoString() string { 18762 return s.String() 18763} 18764 18765// Validate inspects the fields of the type to determine if they are valid. 18766func (s *UntagResourceInput) Validate() error { 18767 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 18768 if s.ResourceArn == nil { 18769 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 18770 } 18771 if s.TagKeys == nil { 18772 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 18773 } 18774 18775 if invalidParams.Len() > 0 { 18776 return invalidParams 18777 } 18778 return nil 18779} 18780 18781// SetResourceArn sets the ResourceArn field's value. 18782func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 18783 s.ResourceArn = &v 18784 return s 18785} 18786 18787// SetTagKeys sets the TagKeys field's value. 18788func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 18789 s.TagKeys = v 18790 return s 18791} 18792 18793type UntagResourceOutput struct { 18794 _ struct{} `type:"structure"` 18795} 18796 18797// String returns the string representation 18798func (s UntagResourceOutput) String() string { 18799 return awsutil.Prettify(s) 18800} 18801 18802// GoString returns the string representation 18803func (s UntagResourceOutput) GoString() string { 18804 return s.String() 18805} 18806 18807type UpdateClusterSettingsInput struct { 18808 _ struct{} `type:"structure"` 18809 18810 // The name of the cluster to modify the settings for. 18811 // 18812 // Cluster is a required field 18813 Cluster *string `locationName:"cluster" type:"string" required:"true"` 18814 18815 // The setting to use by default for a cluster. This parameter is used to enable 18816 // CloudWatch Container Insights for a cluster. If this value is specified, 18817 // it will override the containerInsights value set with PutAccountSetting or 18818 // PutAccountSettingDefault. 18819 // 18820 // Settings is a required field 18821 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 18822} 18823 18824// String returns the string representation 18825func (s UpdateClusterSettingsInput) String() string { 18826 return awsutil.Prettify(s) 18827} 18828 18829// GoString returns the string representation 18830func (s UpdateClusterSettingsInput) GoString() string { 18831 return s.String() 18832} 18833 18834// Validate inspects the fields of the type to determine if they are valid. 18835func (s *UpdateClusterSettingsInput) Validate() error { 18836 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 18837 if s.Cluster == nil { 18838 invalidParams.Add(request.NewErrParamRequired("Cluster")) 18839 } 18840 if s.Settings == nil { 18841 invalidParams.Add(request.NewErrParamRequired("Settings")) 18842 } 18843 18844 if invalidParams.Len() > 0 { 18845 return invalidParams 18846 } 18847 return nil 18848} 18849 18850// SetCluster sets the Cluster field's value. 18851func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 18852 s.Cluster = &v 18853 return s 18854} 18855 18856// SetSettings sets the Settings field's value. 18857func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 18858 s.Settings = v 18859 return s 18860} 18861 18862type UpdateClusterSettingsOutput struct { 18863 _ struct{} `type:"structure"` 18864 18865 // A regional grouping of one or more container instances on which you can run 18866 // task requests. Each account receives a default cluster the first time you 18867 // use the Amazon ECS service, but you may also create other clusters. Clusters 18868 // may contain more than one instance type simultaneously. 18869 Cluster *Cluster `locationName:"cluster" type:"structure"` 18870} 18871 18872// String returns the string representation 18873func (s UpdateClusterSettingsOutput) String() string { 18874 return awsutil.Prettify(s) 18875} 18876 18877// GoString returns the string representation 18878func (s UpdateClusterSettingsOutput) GoString() string { 18879 return s.String() 18880} 18881 18882// SetCluster sets the Cluster field's value. 18883func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 18884 s.Cluster = v 18885 return s 18886} 18887 18888type UpdateContainerAgentInput struct { 18889 _ struct{} `type:"structure"` 18890 18891 // The short name or full Amazon Resource Name (ARN) of the cluster that your 18892 // container instance is running on. If you do not specify a cluster, the default 18893 // cluster is assumed. 18894 Cluster *string `locationName:"cluster" type:"string"` 18895 18896 // The container instance ID or full ARN entries for the container instance 18897 // on which you would like to update the Amazon ECS container agent. 18898 // 18899 // ContainerInstance is a required field 18900 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 18901} 18902 18903// String returns the string representation 18904func (s UpdateContainerAgentInput) String() string { 18905 return awsutil.Prettify(s) 18906} 18907 18908// GoString returns the string representation 18909func (s UpdateContainerAgentInput) GoString() string { 18910 return s.String() 18911} 18912 18913// Validate inspects the fields of the type to determine if they are valid. 18914func (s *UpdateContainerAgentInput) Validate() error { 18915 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 18916 if s.ContainerInstance == nil { 18917 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 18918 } 18919 18920 if invalidParams.Len() > 0 { 18921 return invalidParams 18922 } 18923 return nil 18924} 18925 18926// SetCluster sets the Cluster field's value. 18927func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 18928 s.Cluster = &v 18929 return s 18930} 18931 18932// SetContainerInstance sets the ContainerInstance field's value. 18933func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 18934 s.ContainerInstance = &v 18935 return s 18936} 18937 18938type UpdateContainerAgentOutput struct { 18939 _ struct{} `type:"structure"` 18940 18941 // The container instance for which the container agent was updated. 18942 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 18943} 18944 18945// String returns the string representation 18946func (s UpdateContainerAgentOutput) String() string { 18947 return awsutil.Prettify(s) 18948} 18949 18950// GoString returns the string representation 18951func (s UpdateContainerAgentOutput) GoString() string { 18952 return s.String() 18953} 18954 18955// SetContainerInstance sets the ContainerInstance field's value. 18956func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 18957 s.ContainerInstance = v 18958 return s 18959} 18960 18961type UpdateContainerInstancesStateInput struct { 18962 _ struct{} `type:"structure"` 18963 18964 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 18965 // the container instance to update. If you do not specify a cluster, the default 18966 // cluster is assumed. 18967 Cluster *string `locationName:"cluster" type:"string"` 18968 18969 // A list of container instance IDs or full ARN entries. 18970 // 18971 // ContainerInstances is a required field 18972 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 18973 18974 // The container instance state with which to update the container instance. 18975 // The only valid values for this action are ACTIVE and DRAINING. A container 18976 // instance can only be updated to DRAINING status once it has reached an ACTIVE 18977 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 18978 // state you can describe the container instance but will be unable to update 18979 // the container instance state. 18980 // 18981 // Status is a required field 18982 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 18983} 18984 18985// String returns the string representation 18986func (s UpdateContainerInstancesStateInput) String() string { 18987 return awsutil.Prettify(s) 18988} 18989 18990// GoString returns the string representation 18991func (s UpdateContainerInstancesStateInput) GoString() string { 18992 return s.String() 18993} 18994 18995// Validate inspects the fields of the type to determine if they are valid. 18996func (s *UpdateContainerInstancesStateInput) Validate() error { 18997 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 18998 if s.ContainerInstances == nil { 18999 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 19000 } 19001 if s.Status == nil { 19002 invalidParams.Add(request.NewErrParamRequired("Status")) 19003 } 19004 19005 if invalidParams.Len() > 0 { 19006 return invalidParams 19007 } 19008 return nil 19009} 19010 19011// SetCluster sets the Cluster field's value. 19012func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 19013 s.Cluster = &v 19014 return s 19015} 19016 19017// SetContainerInstances sets the ContainerInstances field's value. 19018func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 19019 s.ContainerInstances = v 19020 return s 19021} 19022 19023// SetStatus sets the Status field's value. 19024func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 19025 s.Status = &v 19026 return s 19027} 19028 19029type UpdateContainerInstancesStateOutput struct { 19030 _ struct{} `type:"structure"` 19031 19032 // The list of container instances. 19033 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 19034 19035 // Any failures associated with the call. 19036 Failures []*Failure `locationName:"failures" type:"list"` 19037} 19038 19039// String returns the string representation 19040func (s UpdateContainerInstancesStateOutput) String() string { 19041 return awsutil.Prettify(s) 19042} 19043 19044// GoString returns the string representation 19045func (s UpdateContainerInstancesStateOutput) GoString() string { 19046 return s.String() 19047} 19048 19049// SetContainerInstances sets the ContainerInstances field's value. 19050func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 19051 s.ContainerInstances = v 19052 return s 19053} 19054 19055// SetFailures sets the Failures field's value. 19056func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 19057 s.Failures = v 19058 return s 19059} 19060 19061// There is already a current Amazon ECS container agent update in progress 19062// on the specified container instance. If the container agent becomes disconnected 19063// while it is in a transitional stage, such as PENDING or STAGING, the update 19064// process can get stuck in that state. However, when the agent reconnects, 19065// it resumes where it stopped previously. 19066type UpdateInProgressException struct { 19067 _ struct{} `type:"structure"` 19068 respMetadata protocol.ResponseMetadata 19069 19070 Message_ *string `locationName:"message" type:"string"` 19071} 19072 19073// String returns the string representation 19074func (s UpdateInProgressException) String() string { 19075 return awsutil.Prettify(s) 19076} 19077 19078// GoString returns the string representation 19079func (s UpdateInProgressException) GoString() string { 19080 return s.String() 19081} 19082 19083func newErrorUpdateInProgressException(v protocol.ResponseMetadata) error { 19084 return &UpdateInProgressException{ 19085 respMetadata: v, 19086 } 19087} 19088 19089// Code returns the exception type name. 19090func (s UpdateInProgressException) Code() string { 19091 return "UpdateInProgressException" 19092} 19093 19094// Message returns the exception's message. 19095func (s UpdateInProgressException) Message() string { 19096 if s.Message_ != nil { 19097 return *s.Message_ 19098 } 19099 return "" 19100} 19101 19102// OrigErr always returns nil, satisfies awserr.Error interface. 19103func (s UpdateInProgressException) OrigErr() error { 19104 return nil 19105} 19106 19107func (s UpdateInProgressException) Error() string { 19108 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19109} 19110 19111// Status code returns the HTTP status code for the request's response error. 19112func (s UpdateInProgressException) StatusCode() int { 19113 return s.respMetadata.StatusCode 19114} 19115 19116// RequestID returns the service's response RequestID for request. 19117func (s UpdateInProgressException) RequestID() string { 19118 return s.respMetadata.RequestID 19119} 19120 19121type UpdateServiceInput struct { 19122 _ struct{} `type:"structure"` 19123 19124 // The capacity provider strategy to update the service to use. 19125 // 19126 // If the service is using the default capacity provider strategy for the cluster, 19127 // the service can be updated to use one or more capacity providers. However, 19128 // when a service is using a non-default capacity provider strategy, the service 19129 // cannot be updated to use the cluster's default capacity provider strategy. 19130 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 19131 19132 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19133 // service is running on. If you do not specify a cluster, the default cluster 19134 // is assumed. 19135 Cluster *string `locationName:"cluster" type:"string"` 19136 19137 // Optional deployment parameters that control how many tasks run during the 19138 // deployment and the ordering of stopping and starting tasks. 19139 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 19140 19141 // The number of instantiations of the task to place and keep running in your 19142 // service. 19143 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 19144 19145 // Whether to force a new deployment of the service. Deployments are not forced 19146 // by default. You can use this option to trigger a new deployment with no service 19147 // definition changes. For example, you can update a service's tasks to use 19148 // a newer Docker image with the same image/tag combination (my_image:latest) 19149 // or to roll Fargate tasks onto a newer platform version. 19150 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 19151 19152 // The period of time, in seconds, that the Amazon ECS service scheduler should 19153 // ignore unhealthy Elastic Load Balancing target health checks after a task 19154 // has first started. This is only valid if your service is configured to use 19155 // a load balancer. If your service's tasks take a while to start and respond 19156 // to Elastic Load Balancing health checks, you can specify a health check grace 19157 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 19158 // scheduler ignores the Elastic Load Balancing health check status. This grace 19159 // period can prevent the ECS service scheduler from marking tasks as unhealthy 19160 // and stopping them before they have time to come up. 19161 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 19162 19163 // An object representing the network configuration for a task or service. 19164 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 19165 19166 // The platform version on which your tasks in the service are running. A platform 19167 // version is only specified for tasks using the Fargate launch type. If a platform 19168 // version is not specified, the LATEST platform version is used by default. 19169 // For more information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 19170 // in the Amazon Elastic Container Service Developer Guide. 19171 PlatformVersion *string `locationName:"platformVersion" type:"string"` 19172 19173 // The name of the service to update. 19174 // 19175 // Service is a required field 19176 Service *string `locationName:"service" type:"string" required:"true"` 19177 19178 // The family and revision (family:revision) or full ARN of the task definition 19179 // to run in your service. If a revision is not specified, the latest ACTIVE 19180 // revision is used. If you modify the task definition with UpdateService, Amazon 19181 // ECS spawns a task with the new version of the task definition and then stops 19182 // an old task after the new version is running. 19183 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 19184} 19185 19186// String returns the string representation 19187func (s UpdateServiceInput) String() string { 19188 return awsutil.Prettify(s) 19189} 19190 19191// GoString returns the string representation 19192func (s UpdateServiceInput) GoString() string { 19193 return s.String() 19194} 19195 19196// Validate inspects the fields of the type to determine if they are valid. 19197func (s *UpdateServiceInput) Validate() error { 19198 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 19199 if s.Service == nil { 19200 invalidParams.Add(request.NewErrParamRequired("Service")) 19201 } 19202 if s.CapacityProviderStrategy != nil { 19203 for i, v := range s.CapacityProviderStrategy { 19204 if v == nil { 19205 continue 19206 } 19207 if err := v.Validate(); err != nil { 19208 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 19209 } 19210 } 19211 } 19212 if s.NetworkConfiguration != nil { 19213 if err := s.NetworkConfiguration.Validate(); err != nil { 19214 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 19215 } 19216 } 19217 19218 if invalidParams.Len() > 0 { 19219 return invalidParams 19220 } 19221 return nil 19222} 19223 19224// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 19225func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 19226 s.CapacityProviderStrategy = v 19227 return s 19228} 19229 19230// SetCluster sets the Cluster field's value. 19231func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 19232 s.Cluster = &v 19233 return s 19234} 19235 19236// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 19237func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 19238 s.DeploymentConfiguration = v 19239 return s 19240} 19241 19242// SetDesiredCount sets the DesiredCount field's value. 19243func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 19244 s.DesiredCount = &v 19245 return s 19246} 19247 19248// SetForceNewDeployment sets the ForceNewDeployment field's value. 19249func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 19250 s.ForceNewDeployment = &v 19251 return s 19252} 19253 19254// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 19255func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 19256 s.HealthCheckGracePeriodSeconds = &v 19257 return s 19258} 19259 19260// SetNetworkConfiguration sets the NetworkConfiguration field's value. 19261func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 19262 s.NetworkConfiguration = v 19263 return s 19264} 19265 19266// SetPlatformVersion sets the PlatformVersion field's value. 19267func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 19268 s.PlatformVersion = &v 19269 return s 19270} 19271 19272// SetService sets the Service field's value. 19273func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 19274 s.Service = &v 19275 return s 19276} 19277 19278// SetTaskDefinition sets the TaskDefinition field's value. 19279func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 19280 s.TaskDefinition = &v 19281 return s 19282} 19283 19284type UpdateServiceOutput struct { 19285 _ struct{} `type:"structure"` 19286 19287 // The full description of your service following the update call. 19288 Service *Service `locationName:"service" type:"structure"` 19289} 19290 19291// String returns the string representation 19292func (s UpdateServiceOutput) String() string { 19293 return awsutil.Prettify(s) 19294} 19295 19296// GoString returns the string representation 19297func (s UpdateServiceOutput) GoString() string { 19298 return s.String() 19299} 19300 19301// SetService sets the Service field's value. 19302func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 19303 s.Service = v 19304 return s 19305} 19306 19307type UpdateServicePrimaryTaskSetInput struct { 19308 _ struct{} `type:"structure"` 19309 19310 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19311 // the service that the task set exists in. 19312 // 19313 // Cluster is a required field 19314 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19315 19316 // The short name or full Amazon Resource Name (ARN) of the task set to set 19317 // as the primary task set in the deployment. 19318 // 19319 // PrimaryTaskSet is a required field 19320 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 19321 19322 // The short name or full Amazon Resource Name (ARN) of the service that the 19323 // task set exists in. 19324 // 19325 // Service is a required field 19326 Service *string `locationName:"service" type:"string" required:"true"` 19327} 19328 19329// String returns the string representation 19330func (s UpdateServicePrimaryTaskSetInput) String() string { 19331 return awsutil.Prettify(s) 19332} 19333 19334// GoString returns the string representation 19335func (s UpdateServicePrimaryTaskSetInput) GoString() string { 19336 return s.String() 19337} 19338 19339// Validate inspects the fields of the type to determine if they are valid. 19340func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 19341 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 19342 if s.Cluster == nil { 19343 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19344 } 19345 if s.PrimaryTaskSet == nil { 19346 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 19347 } 19348 if s.Service == nil { 19349 invalidParams.Add(request.NewErrParamRequired("Service")) 19350 } 19351 19352 if invalidParams.Len() > 0 { 19353 return invalidParams 19354 } 19355 return nil 19356} 19357 19358// SetCluster sets the Cluster field's value. 19359func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 19360 s.Cluster = &v 19361 return s 19362} 19363 19364// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 19365func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 19366 s.PrimaryTaskSet = &v 19367 return s 19368} 19369 19370// SetService sets the Service field's value. 19371func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 19372 s.Service = &v 19373 return s 19374} 19375 19376type UpdateServicePrimaryTaskSetOutput struct { 19377 _ struct{} `type:"structure"` 19378 19379 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 19380 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 19381 // desired number of tasks, how many tasks are running, and whether the task 19382 // set serves production traffic. 19383 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 19384} 19385 19386// String returns the string representation 19387func (s UpdateServicePrimaryTaskSetOutput) String() string { 19388 return awsutil.Prettify(s) 19389} 19390 19391// GoString returns the string representation 19392func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 19393 return s.String() 19394} 19395 19396// SetTaskSet sets the TaskSet field's value. 19397func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 19398 s.TaskSet = v 19399 return s 19400} 19401 19402type UpdateTaskSetInput struct { 19403 _ struct{} `type:"structure"` 19404 19405 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19406 // the service that the task set exists in. 19407 // 19408 // Cluster is a required field 19409 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19410 19411 // A floating-point percentage of the desired number of tasks to place and keep 19412 // running in the task set. 19413 // 19414 // Scale is a required field 19415 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 19416 19417 // The short name or full Amazon Resource Name (ARN) of the service that the 19418 // task set exists in. 19419 // 19420 // Service is a required field 19421 Service *string `locationName:"service" type:"string" required:"true"` 19422 19423 // The short name or full Amazon Resource Name (ARN) of the task set to update. 19424 // 19425 // TaskSet is a required field 19426 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 19427} 19428 19429// String returns the string representation 19430func (s UpdateTaskSetInput) String() string { 19431 return awsutil.Prettify(s) 19432} 19433 19434// GoString returns the string representation 19435func (s UpdateTaskSetInput) GoString() string { 19436 return s.String() 19437} 19438 19439// Validate inspects the fields of the type to determine if they are valid. 19440func (s *UpdateTaskSetInput) Validate() error { 19441 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 19442 if s.Cluster == nil { 19443 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19444 } 19445 if s.Scale == nil { 19446 invalidParams.Add(request.NewErrParamRequired("Scale")) 19447 } 19448 if s.Service == nil { 19449 invalidParams.Add(request.NewErrParamRequired("Service")) 19450 } 19451 if s.TaskSet == nil { 19452 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 19453 } 19454 19455 if invalidParams.Len() > 0 { 19456 return invalidParams 19457 } 19458 return nil 19459} 19460 19461// SetCluster sets the Cluster field's value. 19462func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 19463 s.Cluster = &v 19464 return s 19465} 19466 19467// SetScale sets the Scale field's value. 19468func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 19469 s.Scale = v 19470 return s 19471} 19472 19473// SetService sets the Service field's value. 19474func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 19475 s.Service = &v 19476 return s 19477} 19478 19479// SetTaskSet sets the TaskSet field's value. 19480func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 19481 s.TaskSet = &v 19482 return s 19483} 19484 19485type UpdateTaskSetOutput struct { 19486 _ struct{} `type:"structure"` 19487 19488 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 19489 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 19490 // desired number of tasks, how many tasks are running, and whether the task 19491 // set serves production traffic. 19492 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 19493} 19494 19495// String returns the string representation 19496func (s UpdateTaskSetOutput) String() string { 19497 return awsutil.Prettify(s) 19498} 19499 19500// GoString returns the string representation 19501func (s UpdateTaskSetOutput) GoString() string { 19502 return s.String() 19503} 19504 19505// SetTaskSet sets the TaskSet field's value. 19506func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 19507 s.TaskSet = v 19508 return s 19509} 19510 19511// The Docker and Amazon ECS container agent version information about a container 19512// instance. 19513type VersionInfo struct { 19514 _ struct{} `type:"structure"` 19515 19516 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 19517 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 19518 AgentHash *string `locationName:"agentHash" type:"string"` 19519 19520 // The version number of the Amazon ECS container agent. 19521 AgentVersion *string `locationName:"agentVersion" type:"string"` 19522 19523 // The Docker version running on the container instance. 19524 DockerVersion *string `locationName:"dockerVersion" type:"string"` 19525} 19526 19527// String returns the string representation 19528func (s VersionInfo) String() string { 19529 return awsutil.Prettify(s) 19530} 19531 19532// GoString returns the string representation 19533func (s VersionInfo) GoString() string { 19534 return s.String() 19535} 19536 19537// SetAgentHash sets the AgentHash field's value. 19538func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 19539 s.AgentHash = &v 19540 return s 19541} 19542 19543// SetAgentVersion sets the AgentVersion field's value. 19544func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 19545 s.AgentVersion = &v 19546 return s 19547} 19548 19549// SetDockerVersion sets the DockerVersion field's value. 19550func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 19551 s.DockerVersion = &v 19552 return s 19553} 19554 19555// A data volume used in a task definition. For tasks that use a Docker volume, 19556// specify a DockerVolumeConfiguration. For tasks that use a bind mount host 19557// volume, specify a host and optional sourcePath. For more information, see 19558// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 19559type Volume struct { 19560 _ struct{} `type:"structure"` 19561 19562 // This parameter is specified when you are using Docker volumes. Docker volumes 19563 // are only supported when you are using the EC2 launch type. Windows containers 19564 // only support the use of the local driver. To use bind mounts, specify the 19565 // host parameter instead. 19566 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 19567 19568 // This parameter is specified when you are using an Amazon Elastic File System 19569 // (Amazon EFS) file storage. Amazon EFS file systems are only supported when 19570 // you are using the EC2 launch type. 19571 // 19572 // EFSVolumeConfiguration remains in preview and is a Beta Service as defined 19573 // by and subject to the Beta Service Participation Service Terms located at 19574 // https://aws.amazon.com/service-terms (https://aws.amazon.com/service-terms) 19575 // ("Beta Terms"). These Beta Terms apply to your participation in this preview 19576 // of EFSVolumeConfiguration. 19577 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 19578 19579 // This parameter is specified when you are using bind mount host volumes. Bind 19580 // mount host volumes are supported when you are using either the EC2 or Fargate 19581 // launch types. The contents of the host parameter determine whether your bind 19582 // mount host volume persists on the host container instance and where it is 19583 // stored. If the host parameter is empty, then the Docker daemon assigns a 19584 // host path for your data volume. However, the data is not guaranteed to persist 19585 // after the containers associated with it stop running. 19586 // 19587 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 19588 // Windows containers cannot mount directories on a different drive, and mount 19589 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 19590 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 19591 Host *HostVolumeProperties `locationName:"host" type:"structure"` 19592 19593 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 19594 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 19595 // of container definition mountPoints. 19596 Name *string `locationName:"name" type:"string"` 19597} 19598 19599// String returns the string representation 19600func (s Volume) String() string { 19601 return awsutil.Prettify(s) 19602} 19603 19604// GoString returns the string representation 19605func (s Volume) GoString() string { 19606 return s.String() 19607} 19608 19609// Validate inspects the fields of the type to determine if they are valid. 19610func (s *Volume) Validate() error { 19611 invalidParams := request.ErrInvalidParams{Context: "Volume"} 19612 if s.EfsVolumeConfiguration != nil { 19613 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 19614 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 19615 } 19616 } 19617 19618 if invalidParams.Len() > 0 { 19619 return invalidParams 19620 } 19621 return nil 19622} 19623 19624// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 19625func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 19626 s.DockerVolumeConfiguration = v 19627 return s 19628} 19629 19630// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 19631func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 19632 s.EfsVolumeConfiguration = v 19633 return s 19634} 19635 19636// SetHost sets the Host field's value. 19637func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 19638 s.Host = v 19639 return s 19640} 19641 19642// SetName sets the Name field's value. 19643func (s *Volume) SetName(v string) *Volume { 19644 s.Name = &v 19645 return s 19646} 19647 19648// Details on a data volume from another container in the same task definition. 19649type VolumeFrom struct { 19650 _ struct{} `type:"structure"` 19651 19652 // If this value is true, the container has read-only access to the volume. 19653 // If this value is false, then the container can write to the volume. The default 19654 // value is false. 19655 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 19656 19657 // The name of another container within the same task definition from which 19658 // to mount volumes. 19659 SourceContainer *string `locationName:"sourceContainer" type:"string"` 19660} 19661 19662// String returns the string representation 19663func (s VolumeFrom) String() string { 19664 return awsutil.Prettify(s) 19665} 19666 19667// GoString returns the string representation 19668func (s VolumeFrom) GoString() string { 19669 return s.String() 19670} 19671 19672// SetReadOnly sets the ReadOnly field's value. 19673func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 19674 s.ReadOnly = &v 19675 return s 19676} 19677 19678// SetSourceContainer sets the SourceContainer field's value. 19679func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 19680 s.SourceContainer = &v 19681 return s 19682} 19683 19684const ( 19685 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 19686 AgentUpdateStatusPending = "PENDING" 19687 19688 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 19689 AgentUpdateStatusStaging = "STAGING" 19690 19691 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 19692 AgentUpdateStatusStaged = "STAGED" 19693 19694 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 19695 AgentUpdateStatusUpdating = "UPDATING" 19696 19697 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 19698 AgentUpdateStatusUpdated = "UPDATED" 19699 19700 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 19701 AgentUpdateStatusFailed = "FAILED" 19702) 19703 19704const ( 19705 // AssignPublicIpEnabled is a AssignPublicIp enum value 19706 AssignPublicIpEnabled = "ENABLED" 19707 19708 // AssignPublicIpDisabled is a AssignPublicIp enum value 19709 AssignPublicIpDisabled = "DISABLED" 19710) 19711 19712const ( 19713 // CapacityProviderFieldTags is a CapacityProviderField enum value 19714 CapacityProviderFieldTags = "TAGS" 19715) 19716 19717const ( 19718 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 19719 CapacityProviderStatusActive = "ACTIVE" 19720) 19721 19722const ( 19723 // ClusterFieldAttachments is a ClusterField enum value 19724 ClusterFieldAttachments = "ATTACHMENTS" 19725 19726 // ClusterFieldSettings is a ClusterField enum value 19727 ClusterFieldSettings = "SETTINGS" 19728 19729 // ClusterFieldStatistics is a ClusterField enum value 19730 ClusterFieldStatistics = "STATISTICS" 19731 19732 // ClusterFieldTags is a ClusterField enum value 19733 ClusterFieldTags = "TAGS" 19734) 19735 19736const ( 19737 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 19738 ClusterSettingNameContainerInsights = "containerInsights" 19739) 19740 19741const ( 19742 // CompatibilityEc2 is a Compatibility enum value 19743 CompatibilityEc2 = "EC2" 19744 19745 // CompatibilityFargate is a Compatibility enum value 19746 CompatibilityFargate = "FARGATE" 19747) 19748 19749const ( 19750 // ConnectivityConnected is a Connectivity enum value 19751 ConnectivityConnected = "CONNECTED" 19752 19753 // ConnectivityDisconnected is a Connectivity enum value 19754 ConnectivityDisconnected = "DISCONNECTED" 19755) 19756 19757const ( 19758 // ContainerConditionStart is a ContainerCondition enum value 19759 ContainerConditionStart = "START" 19760 19761 // ContainerConditionComplete is a ContainerCondition enum value 19762 ContainerConditionComplete = "COMPLETE" 19763 19764 // ContainerConditionSuccess is a ContainerCondition enum value 19765 ContainerConditionSuccess = "SUCCESS" 19766 19767 // ContainerConditionHealthy is a ContainerCondition enum value 19768 ContainerConditionHealthy = "HEALTHY" 19769) 19770 19771const ( 19772 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 19773 ContainerInstanceFieldTags = "TAGS" 19774) 19775 19776const ( 19777 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 19778 ContainerInstanceStatusActive = "ACTIVE" 19779 19780 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 19781 ContainerInstanceStatusDraining = "DRAINING" 19782 19783 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 19784 ContainerInstanceStatusRegistering = "REGISTERING" 19785 19786 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 19787 ContainerInstanceStatusDeregistering = "DEREGISTERING" 19788 19789 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 19790 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 19791) 19792 19793const ( 19794 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 19795 DeploymentControllerTypeEcs = "ECS" 19796 19797 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 19798 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 19799 19800 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 19801 DeploymentControllerTypeExternal = "EXTERNAL" 19802) 19803 19804const ( 19805 // DesiredStatusRunning is a DesiredStatus enum value 19806 DesiredStatusRunning = "RUNNING" 19807 19808 // DesiredStatusPending is a DesiredStatus enum value 19809 DesiredStatusPending = "PENDING" 19810 19811 // DesiredStatusStopped is a DesiredStatus enum value 19812 DesiredStatusStopped = "STOPPED" 19813) 19814 19815const ( 19816 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 19817 DeviceCgroupPermissionRead = "read" 19818 19819 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 19820 DeviceCgroupPermissionWrite = "write" 19821 19822 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 19823 DeviceCgroupPermissionMknod = "mknod" 19824) 19825 19826const ( 19827 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 19828 FirelensConfigurationTypeFluentd = "fluentd" 19829 19830 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 19831 FirelensConfigurationTypeFluentbit = "fluentbit" 19832) 19833 19834const ( 19835 // HealthStatusHealthy is a HealthStatus enum value 19836 HealthStatusHealthy = "HEALTHY" 19837 19838 // HealthStatusUnhealthy is a HealthStatus enum value 19839 HealthStatusUnhealthy = "UNHEALTHY" 19840 19841 // HealthStatusUnknown is a HealthStatus enum value 19842 HealthStatusUnknown = "UNKNOWN" 19843) 19844 19845const ( 19846 // IpcModeHost is a IpcMode enum value 19847 IpcModeHost = "host" 19848 19849 // IpcModeTask is a IpcMode enum value 19850 IpcModeTask = "task" 19851 19852 // IpcModeNone is a IpcMode enum value 19853 IpcModeNone = "none" 19854) 19855 19856const ( 19857 // LaunchTypeEc2 is a LaunchType enum value 19858 LaunchTypeEc2 = "EC2" 19859 19860 // LaunchTypeFargate is a LaunchType enum value 19861 LaunchTypeFargate = "FARGATE" 19862) 19863 19864const ( 19865 // LogDriverJsonFile is a LogDriver enum value 19866 LogDriverJsonFile = "json-file" 19867 19868 // LogDriverSyslog is a LogDriver enum value 19869 LogDriverSyslog = "syslog" 19870 19871 // LogDriverJournald is a LogDriver enum value 19872 LogDriverJournald = "journald" 19873 19874 // LogDriverGelf is a LogDriver enum value 19875 LogDriverGelf = "gelf" 19876 19877 // LogDriverFluentd is a LogDriver enum value 19878 LogDriverFluentd = "fluentd" 19879 19880 // LogDriverAwslogs is a LogDriver enum value 19881 LogDriverAwslogs = "awslogs" 19882 19883 // LogDriverSplunk is a LogDriver enum value 19884 LogDriverSplunk = "splunk" 19885 19886 // LogDriverAwsfirelens is a LogDriver enum value 19887 LogDriverAwsfirelens = "awsfirelens" 19888) 19889 19890const ( 19891 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 19892 ManagedScalingStatusEnabled = "ENABLED" 19893 19894 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 19895 ManagedScalingStatusDisabled = "DISABLED" 19896) 19897 19898const ( 19899 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 19900 ManagedTerminationProtectionEnabled = "ENABLED" 19901 19902 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 19903 ManagedTerminationProtectionDisabled = "DISABLED" 19904) 19905 19906const ( 19907 // NetworkModeBridge is a NetworkMode enum value 19908 NetworkModeBridge = "bridge" 19909 19910 // NetworkModeHost is a NetworkMode enum value 19911 NetworkModeHost = "host" 19912 19913 // NetworkModeAwsvpc is a NetworkMode enum value 19914 NetworkModeAwsvpc = "awsvpc" 19915 19916 // NetworkModeNone is a NetworkMode enum value 19917 NetworkModeNone = "none" 19918) 19919 19920const ( 19921 // PidModeHost is a PidMode enum value 19922 PidModeHost = "host" 19923 19924 // PidModeTask is a PidMode enum value 19925 PidModeTask = "task" 19926) 19927 19928const ( 19929 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 19930 PlacementConstraintTypeDistinctInstance = "distinctInstance" 19931 19932 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 19933 PlacementConstraintTypeMemberOf = "memberOf" 19934) 19935 19936const ( 19937 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 19938 PlacementStrategyTypeRandom = "random" 19939 19940 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 19941 PlacementStrategyTypeSpread = "spread" 19942 19943 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 19944 PlacementStrategyTypeBinpack = "binpack" 19945) 19946 19947const ( 19948 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 19949 PlatformDeviceTypeGpu = "GPU" 19950) 19951 19952const ( 19953 // PropagateTagsTaskDefinition is a PropagateTags enum value 19954 PropagateTagsTaskDefinition = "TASK_DEFINITION" 19955 19956 // PropagateTagsService is a PropagateTags enum value 19957 PropagateTagsService = "SERVICE" 19958) 19959 19960const ( 19961 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 19962 ProxyConfigurationTypeAppmesh = "APPMESH" 19963) 19964 19965const ( 19966 // ResourceTypeGpu is a ResourceType enum value 19967 ResourceTypeGpu = "GPU" 19968 19969 // ResourceTypeInferenceAccelerator is a ResourceType enum value 19970 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 19971) 19972 19973const ( 19974 // ScaleUnitPercent is a ScaleUnit enum value 19975 ScaleUnitPercent = "PERCENT" 19976) 19977 19978const ( 19979 // SchedulingStrategyReplica is a SchedulingStrategy enum value 19980 SchedulingStrategyReplica = "REPLICA" 19981 19982 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 19983 SchedulingStrategyDaemon = "DAEMON" 19984) 19985 19986const ( 19987 // ScopeTask is a Scope enum value 19988 ScopeTask = "task" 19989 19990 // ScopeShared is a Scope enum value 19991 ScopeShared = "shared" 19992) 19993 19994const ( 19995 // ServiceFieldTags is a ServiceField enum value 19996 ServiceFieldTags = "TAGS" 19997) 19998 19999const ( 20000 // SettingNameServiceLongArnFormat is a SettingName enum value 20001 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 20002 20003 // SettingNameTaskLongArnFormat is a SettingName enum value 20004 SettingNameTaskLongArnFormat = "taskLongArnFormat" 20005 20006 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 20007 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 20008 20009 // SettingNameAwsvpcTrunking is a SettingName enum value 20010 SettingNameAwsvpcTrunking = "awsvpcTrunking" 20011 20012 // SettingNameContainerInsights is a SettingName enum value 20013 SettingNameContainerInsights = "containerInsights" 20014) 20015 20016const ( 20017 // SortOrderAsc is a SortOrder enum value 20018 SortOrderAsc = "ASC" 20019 20020 // SortOrderDesc is a SortOrder enum value 20021 SortOrderDesc = "DESC" 20022) 20023 20024const ( 20025 // StabilityStatusSteadyState is a StabilityStatus enum value 20026 StabilityStatusSteadyState = "STEADY_STATE" 20027 20028 // StabilityStatusStabilizing is a StabilityStatus enum value 20029 StabilityStatusStabilizing = "STABILIZING" 20030) 20031 20032const ( 20033 // TargetTypeContainerInstance is a TargetType enum value 20034 TargetTypeContainerInstance = "container-instance" 20035) 20036 20037const ( 20038 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 20039 TaskDefinitionFamilyStatusActive = "ACTIVE" 20040 20041 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 20042 TaskDefinitionFamilyStatusInactive = "INACTIVE" 20043 20044 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 20045 TaskDefinitionFamilyStatusAll = "ALL" 20046) 20047 20048const ( 20049 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 20050 TaskDefinitionFieldTags = "TAGS" 20051) 20052 20053const ( 20054 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 20055 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 20056) 20057 20058const ( 20059 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 20060 TaskDefinitionStatusActive = "ACTIVE" 20061 20062 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 20063 TaskDefinitionStatusInactive = "INACTIVE" 20064) 20065 20066const ( 20067 // TaskFieldTags is a TaskField enum value 20068 TaskFieldTags = "TAGS" 20069) 20070 20071const ( 20072 // TaskSetFieldTags is a TaskSetField enum value 20073 TaskSetFieldTags = "TAGS" 20074) 20075 20076const ( 20077 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 20078 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 20079 20080 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 20081 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 20082 20083 // TaskStopCodeUserInitiated is a TaskStopCode enum value 20084 TaskStopCodeUserInitiated = "UserInitiated" 20085) 20086 20087const ( 20088 // TransportProtocolTcp is a TransportProtocol enum value 20089 TransportProtocolTcp = "tcp" 20090 20091 // TransportProtocolUdp is a TransportProtocol enum value 20092 TransportProtocolUdp = "udp" 20093) 20094 20095const ( 20096 // UlimitNameCore is a UlimitName enum value 20097 UlimitNameCore = "core" 20098 20099 // UlimitNameCpu is a UlimitName enum value 20100 UlimitNameCpu = "cpu" 20101 20102 // UlimitNameData is a UlimitName enum value 20103 UlimitNameData = "data" 20104 20105 // UlimitNameFsize is a UlimitName enum value 20106 UlimitNameFsize = "fsize" 20107 20108 // UlimitNameLocks is a UlimitName enum value 20109 UlimitNameLocks = "locks" 20110 20111 // UlimitNameMemlock is a UlimitName enum value 20112 UlimitNameMemlock = "memlock" 20113 20114 // UlimitNameMsgqueue is a UlimitName enum value 20115 UlimitNameMsgqueue = "msgqueue" 20116 20117 // UlimitNameNice is a UlimitName enum value 20118 UlimitNameNice = "nice" 20119 20120 // UlimitNameNofile is a UlimitName enum value 20121 UlimitNameNofile = "nofile" 20122 20123 // UlimitNameNproc is a UlimitName enum value 20124 UlimitNameNproc = "nproc" 20125 20126 // UlimitNameRss is a UlimitName enum value 20127 UlimitNameRss = "rss" 20128 20129 // UlimitNameRtprio is a UlimitName enum value 20130 UlimitNameRtprio = "rtprio" 20131 20132 // UlimitNameRttime is a UlimitName enum value 20133 UlimitNameRttime = "rttime" 20134 20135 // UlimitNameSigpending is a UlimitName enum value 20136 UlimitNameSigpending = "sigpending" 20137 20138 // UlimitNameStack is a UlimitName enum value 20139 UlimitNameStack = "stack" 20140) 20141