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 the UpdateService action. 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. The service scheduler also evaluates 284// the task placement constraints for running tasks and will stop tasks that 285// do not meet the placement constraints. When using this strategy, you don't 286// need to specify a desired number of tasks, a task placement strategy, 287// or use Service Auto Scaling policies. For more information, see Service 288// Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 289// in the Amazon Elastic Container Service Developer Guide. 290// 291// You can optionally specify a deployment configuration for your service. The 292// deployment is triggered by changing properties, such as the task definition 293// or the desired count of a service, with an UpdateService operation. The default 294// value for a replica service for minimumHealthyPercent is 100%. The default 295// value for a daemon service for minimumHealthyPercent is 0%. 296// 297// If a service is using the ECS deployment controller, the minimum healthy 298// percent represents a lower limit on the number of tasks in a service that 299// must remain in the RUNNING state during a deployment, as a percentage of 300// the desired number of tasks (rounded up to the nearest integer), and while 301// any container instances are in the DRAINING state if the service contains 302// tasks using the EC2 launch type. This parameter enables you to deploy without 303// using additional cluster capacity. For example, if your service has a desired 304// number of four tasks and a minimum healthy percent of 50%, the scheduler 305// might stop two existing tasks to free up cluster capacity before starting 306// two new tasks. Tasks for services that do not use a load balancer are considered 307// healthy if they're in the RUNNING state. Tasks for services that do use a 308// load balancer are considered healthy if they're in the RUNNING state and 309// they're reported as healthy by the load balancer. The default value for minimum 310// healthy percent is 100%. 311// 312// If a service is using the ECS deployment controller, the maximum percent 313// parameter represents an upper limit on the number of tasks in a service that 314// are allowed in the RUNNING or PENDING state during a deployment, as a percentage 315// of the desired number of tasks (rounded down to the nearest integer), and 316// while any container instances are in the DRAINING state if the service contains 317// tasks using the EC2 launch type. This parameter enables you to define the 318// deployment batch size. For example, if your service has a desired number 319// of four tasks and a maximum percent value of 200%, the scheduler may start 320// four new tasks before stopping the four older tasks (provided that the cluster 321// resources required to do this are available). The default value for maximum 322// percent is 200%. 323// 324// If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller 325// types and tasks that use the EC2 launch type, the minimum healthy percent 326// and maximum percent values are used only to define the lower and upper limit 327// on the number of the tasks in the service that remain in the RUNNING state 328// while the container instances are in the DRAINING state. If the tasks in 329// the service use the Fargate launch type, the minimum healthy percent and 330// maximum percent values aren't used, although they're currently visible when 331// describing your service. 332// 333// When creating a service that uses the EXTERNAL deployment controller, you 334// can specify only parameters that aren't controlled at the task set level. 335// The only required parameter is the service name. You control your services 336// using the CreateTaskSet operation. For more information, see Amazon ECS Deployment 337// Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 338// in the Amazon Elastic Container Service Developer Guide. 339// 340// When the service scheduler launches new tasks, it determines task placement 341// in your cluster using the following logic: 342// 343// * Determine which of the container instances in your cluster can support 344// your service's task definition (for example, they have the required CPU, 345// memory, ports, and container instance attributes). 346// 347// * By default, the service scheduler attempts to balance tasks across Availability 348// Zones in this manner (although you can choose a different placement strategy) 349// with the placementStrategy parameter): Sort the valid container instances, 350// giving priority to instances that have the fewest number of running tasks 351// for this service in their respective Availability Zone. For example, if 352// zone A has one running service task and zones B and C each have zero, 353// valid container instances in either zone B or C are considered optimal 354// for placement. Place the new service task on a valid container instance 355// in an optimal Availability Zone (based on the previous steps), favoring 356// container instances with the fewest number of running tasks for this service. 357// 358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 359// with awserr.Error's Code and Message methods to get detailed information about 360// the error. 361// 362// See the AWS API reference guide for Amazon EC2 Container Service's 363// API operation CreateService for usage and error information. 364// 365// Returned Error Types: 366// * ServerException 367// These errors are usually caused by a server issue. 368// 369// * ClientException 370// These errors are usually caused by a client action, such as using an action 371// or resource on behalf of a user that doesn't have permissions to use the 372// action or resource, or specifying an identifier that is not valid. 373// 374// * InvalidParameterException 375// The specified parameter is invalid. Review the available parameters for the 376// API request. 377// 378// * ClusterNotFoundException 379// The specified cluster could not be found. You can view your available clusters 380// with ListClusters. Amazon ECS clusters are Region-specific. 381// 382// * UnsupportedFeatureException 383// The specified task is not supported in this Region. 384// 385// * PlatformUnknownException 386// The specified platform version does not exist. 387// 388// * PlatformTaskDefinitionIncompatibilityException 389// The specified platform version does not satisfy the task definition's required 390// capabilities. 391// 392// * AccessDeniedException 393// You do not have authorization to perform the requested action. 394// 395// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 396func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 397 req, out := c.CreateServiceRequest(input) 398 return out, req.Send() 399} 400 401// CreateServiceWithContext is the same as CreateService with the addition of 402// the ability to pass a context and additional request options. 403// 404// See CreateService for details on how to use this API operation. 405// 406// The context must be non-nil and will be used for request cancellation. If 407// the context is nil a panic will occur. In the future the SDK may create 408// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 409// for more information on using Contexts. 410func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 411 req, out := c.CreateServiceRequest(input) 412 req.SetContext(ctx) 413 req.ApplyOptions(opts...) 414 return out, req.Send() 415} 416 417const opCreateTaskSet = "CreateTaskSet" 418 419// CreateTaskSetRequest generates a "aws/request.Request" representing the 420// client's request for the CreateTaskSet operation. The "output" return 421// value will be populated with the request's response once the request completes 422// successfully. 423// 424// Use "Send" method on the returned Request to send the API call to the service. 425// the "output" return value is not valid until after Send returns without error. 426// 427// See CreateTaskSet for more information on using the CreateTaskSet 428// API call, and error handling. 429// 430// This method is useful when you want to inject custom logic or configuration 431// into the SDK's request lifecycle. Such as custom headers, or retry logic. 432// 433// 434// // Example sending a request using the CreateTaskSetRequest method. 435// req, resp := client.CreateTaskSetRequest(params) 436// 437// err := req.Send() 438// if err == nil { // resp is now filled 439// fmt.Println(resp) 440// } 441// 442// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 443func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Request, output *CreateTaskSetOutput) { 444 op := &request.Operation{ 445 Name: opCreateTaskSet, 446 HTTPMethod: "POST", 447 HTTPPath: "/", 448 } 449 450 if input == nil { 451 input = &CreateTaskSetInput{} 452 } 453 454 output = &CreateTaskSetOutput{} 455 req = c.newRequest(op, input, output) 456 return 457} 458 459// CreateTaskSet API operation for Amazon EC2 Container Service. 460// 461// Create a task set in the specified cluster and service. This is used when 462// a service uses the EXTERNAL deployment controller type. For more information, 463// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 464// in the Amazon Elastic Container Service Developer Guide. 465// 466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 467// with awserr.Error's Code and Message methods to get detailed information about 468// the error. 469// 470// See the AWS API reference guide for Amazon EC2 Container Service's 471// API operation CreateTaskSet for usage and error information. 472// 473// Returned Error Types: 474// * ServerException 475// These errors are usually caused by a server issue. 476// 477// * ClientException 478// These errors are usually caused by a client action, such as using an action 479// or resource on behalf of a user that doesn't have permissions to use the 480// action or resource, or specifying an identifier that is not valid. 481// 482// * InvalidParameterException 483// The specified parameter is invalid. Review the available parameters for the 484// API request. 485// 486// * ClusterNotFoundException 487// The specified cluster could not be found. You can view your available clusters 488// with ListClusters. Amazon ECS clusters are Region-specific. 489// 490// * UnsupportedFeatureException 491// The specified task is not supported in this Region. 492// 493// * PlatformUnknownException 494// The specified platform version does not exist. 495// 496// * PlatformTaskDefinitionIncompatibilityException 497// The specified platform version does not satisfy the task definition's required 498// capabilities. 499// 500// * AccessDeniedException 501// You do not have authorization to perform the requested action. 502// 503// * ServiceNotFoundException 504// The specified service could not be found. You can view your available services 505// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 506// 507// * ServiceNotActiveException 508// The specified service is not active. You can't update a service that is inactive. 509// If you have previously deleted a service, you can re-create it with CreateService. 510// 511// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 512func (c *ECS) CreateTaskSet(input *CreateTaskSetInput) (*CreateTaskSetOutput, error) { 513 req, out := c.CreateTaskSetRequest(input) 514 return out, req.Send() 515} 516 517// CreateTaskSetWithContext is the same as CreateTaskSet with the addition of 518// the ability to pass a context and additional request options. 519// 520// See CreateTaskSet for details on how to use this API operation. 521// 522// The context must be non-nil and will be used for request cancellation. If 523// the context is nil a panic will occur. In the future the SDK may create 524// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 525// for more information on using Contexts. 526func (c *ECS) CreateTaskSetWithContext(ctx aws.Context, input *CreateTaskSetInput, opts ...request.Option) (*CreateTaskSetOutput, error) { 527 req, out := c.CreateTaskSetRequest(input) 528 req.SetContext(ctx) 529 req.ApplyOptions(opts...) 530 return out, req.Send() 531} 532 533const opDeleteAccountSetting = "DeleteAccountSetting" 534 535// DeleteAccountSettingRequest generates a "aws/request.Request" representing the 536// client's request for the DeleteAccountSetting operation. The "output" return 537// value will be populated with the request's response once the request completes 538// successfully. 539// 540// Use "Send" method on the returned Request to send the API call to the service. 541// the "output" return value is not valid until after Send returns without error. 542// 543// See DeleteAccountSetting for more information on using the DeleteAccountSetting 544// API call, and error handling. 545// 546// This method is useful when you want to inject custom logic or configuration 547// into the SDK's request lifecycle. Such as custom headers, or retry logic. 548// 549// 550// // Example sending a request using the DeleteAccountSettingRequest method. 551// req, resp := client.DeleteAccountSettingRequest(params) 552// 553// err := req.Send() 554// if err == nil { // resp is now filled 555// fmt.Println(resp) 556// } 557// 558// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 559func (c *ECS) DeleteAccountSettingRequest(input *DeleteAccountSettingInput) (req *request.Request, output *DeleteAccountSettingOutput) { 560 op := &request.Operation{ 561 Name: opDeleteAccountSetting, 562 HTTPMethod: "POST", 563 HTTPPath: "/", 564 } 565 566 if input == nil { 567 input = &DeleteAccountSettingInput{} 568 } 569 570 output = &DeleteAccountSettingOutput{} 571 req = c.newRequest(op, input, output) 572 return 573} 574 575// DeleteAccountSetting API operation for Amazon EC2 Container Service. 576// 577// Disables an account setting for a specified IAM user, IAM role, or the root 578// user for an account. 579// 580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 581// with awserr.Error's Code and Message methods to get detailed information about 582// the error. 583// 584// See the AWS API reference guide for Amazon EC2 Container Service's 585// API operation DeleteAccountSetting for usage and error information. 586// 587// Returned Error Types: 588// * ServerException 589// These errors are usually caused by a server issue. 590// 591// * ClientException 592// These errors are usually caused by a client action, such as using an action 593// or resource on behalf of a user that doesn't have permissions to use the 594// action or resource, or specifying an identifier that is not valid. 595// 596// * InvalidParameterException 597// The specified parameter is invalid. Review the available parameters for the 598// API request. 599// 600// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 601func (c *ECS) DeleteAccountSetting(input *DeleteAccountSettingInput) (*DeleteAccountSettingOutput, error) { 602 req, out := c.DeleteAccountSettingRequest(input) 603 return out, req.Send() 604} 605 606// DeleteAccountSettingWithContext is the same as DeleteAccountSetting with the addition of 607// the ability to pass a context and additional request options. 608// 609// See DeleteAccountSetting for details on how to use this API operation. 610// 611// The context must be non-nil and will be used for request cancellation. If 612// the context is nil a panic will occur. In the future the SDK may create 613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 614// for more information on using Contexts. 615func (c *ECS) DeleteAccountSettingWithContext(ctx aws.Context, input *DeleteAccountSettingInput, opts ...request.Option) (*DeleteAccountSettingOutput, error) { 616 req, out := c.DeleteAccountSettingRequest(input) 617 req.SetContext(ctx) 618 req.ApplyOptions(opts...) 619 return out, req.Send() 620} 621 622const opDeleteAttributes = "DeleteAttributes" 623 624// DeleteAttributesRequest generates a "aws/request.Request" representing the 625// client's request for the DeleteAttributes operation. The "output" return 626// value will be populated with the request's response once the request completes 627// successfully. 628// 629// Use "Send" method on the returned Request to send the API call to the service. 630// the "output" return value is not valid until after Send returns without error. 631// 632// See DeleteAttributes for more information on using the DeleteAttributes 633// API call, and error handling. 634// 635// This method is useful when you want to inject custom logic or configuration 636// into the SDK's request lifecycle. Such as custom headers, or retry logic. 637// 638// 639// // Example sending a request using the DeleteAttributesRequest method. 640// req, resp := client.DeleteAttributesRequest(params) 641// 642// err := req.Send() 643// if err == nil { // resp is now filled 644// fmt.Println(resp) 645// } 646// 647// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 648func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { 649 op := &request.Operation{ 650 Name: opDeleteAttributes, 651 HTTPMethod: "POST", 652 HTTPPath: "/", 653 } 654 655 if input == nil { 656 input = &DeleteAttributesInput{} 657 } 658 659 output = &DeleteAttributesOutput{} 660 req = c.newRequest(op, input, output) 661 return 662} 663 664// DeleteAttributes API operation for Amazon EC2 Container Service. 665// 666// Deletes one or more custom attributes from an Amazon ECS resource. 667// 668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 669// with awserr.Error's Code and Message methods to get detailed information about 670// the error. 671// 672// See the AWS API reference guide for Amazon EC2 Container Service's 673// API operation DeleteAttributes for usage and error information. 674// 675// Returned Error Types: 676// * ClusterNotFoundException 677// The specified cluster could not be found. You can view your available clusters 678// with ListClusters. Amazon ECS clusters are Region-specific. 679// 680// * TargetNotFoundException 681// The specified target could not be found. You can view your available container 682// instances with ListContainerInstances. Amazon ECS container instances are 683// cluster-specific and Region-specific. 684// 685// * InvalidParameterException 686// The specified parameter is invalid. Review the available parameters for the 687// API request. 688// 689// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 690func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { 691 req, out := c.DeleteAttributesRequest(input) 692 return out, req.Send() 693} 694 695// DeleteAttributesWithContext is the same as DeleteAttributes with the addition of 696// the ability to pass a context and additional request options. 697// 698// See DeleteAttributes for details on how to use this API operation. 699// 700// The context must be non-nil and will be used for request cancellation. If 701// the context is nil a panic will occur. In the future the SDK may create 702// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 703// for more information on using Contexts. 704func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) { 705 req, out := c.DeleteAttributesRequest(input) 706 req.SetContext(ctx) 707 req.ApplyOptions(opts...) 708 return out, req.Send() 709} 710 711const opDeleteCluster = "DeleteCluster" 712 713// DeleteClusterRequest generates a "aws/request.Request" representing the 714// client's request for the DeleteCluster operation. The "output" return 715// value will be populated with the request's response once the request completes 716// successfully. 717// 718// Use "Send" method on the returned Request to send the API call to the service. 719// the "output" return value is not valid until after Send returns without error. 720// 721// See DeleteCluster for more information on using the DeleteCluster 722// API call, and error handling. 723// 724// This method is useful when you want to inject custom logic or configuration 725// into the SDK's request lifecycle. Such as custom headers, or retry logic. 726// 727// 728// // Example sending a request using the DeleteClusterRequest method. 729// req, resp := client.DeleteClusterRequest(params) 730// 731// err := req.Send() 732// if err == nil { // resp is now filled 733// fmt.Println(resp) 734// } 735// 736// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 737func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 738 op := &request.Operation{ 739 Name: opDeleteCluster, 740 HTTPMethod: "POST", 741 HTTPPath: "/", 742 } 743 744 if input == nil { 745 input = &DeleteClusterInput{} 746 } 747 748 output = &DeleteClusterOutput{} 749 req = c.newRequest(op, input, output) 750 return 751} 752 753// DeleteCluster API operation for Amazon EC2 Container Service. 754// 755// Deletes the specified cluster. The cluster will transition to the INACTIVE 756// state. Clusters with an INACTIVE status may remain discoverable in your account 757// for a period of time. However, this behavior is subject to change in the 758// future, so you should not rely on INACTIVE clusters persisting. 759// 760// You must deregister all container instances from this cluster before you 761// may delete it. You can list the container instances in a cluster with ListContainerInstances 762// and deregister them with DeregisterContainerInstance. 763// 764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 765// with awserr.Error's Code and Message methods to get detailed information about 766// the error. 767// 768// See the AWS API reference guide for Amazon EC2 Container Service's 769// API operation DeleteCluster for usage and error information. 770// 771// Returned Error Types: 772// * ServerException 773// These errors are usually caused by a server issue. 774// 775// * ClientException 776// These errors are usually caused by a client action, such as using an action 777// or resource on behalf of a user that doesn't have permissions to use the 778// action or resource, or specifying an identifier that is not valid. 779// 780// * InvalidParameterException 781// The specified parameter is invalid. Review the available parameters for the 782// API request. 783// 784// * ClusterNotFoundException 785// The specified cluster could not be found. You can view your available clusters 786// with ListClusters. Amazon ECS clusters are Region-specific. 787// 788// * ClusterContainsContainerInstancesException 789// You cannot delete a cluster that has registered container instances. First, 790// deregister the container instances before you can delete the cluster. For 791// more information, see DeregisterContainerInstance. 792// 793// * ClusterContainsServicesException 794// You cannot delete a cluster that contains services. First, update the service 795// to reduce its desired task count to 0 and then delete the service. For more 796// information, see UpdateService and DeleteService. 797// 798// * ClusterContainsTasksException 799// You cannot delete a cluster that has active tasks. 800// 801// * UpdateInProgressException 802// There is already a current Amazon ECS container agent update in progress 803// on the specified container instance. If the container agent becomes disconnected 804// while it is in a transitional stage, such as PENDING or STAGING, the update 805// process can get stuck in that state. However, when the agent reconnects, 806// it resumes where it stopped previously. 807// 808// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 809func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 810 req, out := c.DeleteClusterRequest(input) 811 return out, req.Send() 812} 813 814// DeleteClusterWithContext is the same as DeleteCluster with the addition of 815// the ability to pass a context and additional request options. 816// 817// See DeleteCluster for details on how to use this API operation. 818// 819// The context must be non-nil and will be used for request cancellation. If 820// the context is nil a panic will occur. In the future the SDK may create 821// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 822// for more information on using Contexts. 823func (c *ECS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 824 req, out := c.DeleteClusterRequest(input) 825 req.SetContext(ctx) 826 req.ApplyOptions(opts...) 827 return out, req.Send() 828} 829 830const opDeleteService = "DeleteService" 831 832// DeleteServiceRequest generates a "aws/request.Request" representing the 833// client's request for the DeleteService operation. The "output" return 834// value will be populated with the request's response once the request completes 835// successfully. 836// 837// Use "Send" method on the returned Request to send the API call to the service. 838// the "output" return value is not valid until after Send returns without error. 839// 840// See DeleteService for more information on using the DeleteService 841// API call, and error handling. 842// 843// This method is useful when you want to inject custom logic or configuration 844// into the SDK's request lifecycle. Such as custom headers, or retry logic. 845// 846// 847// // Example sending a request using the DeleteServiceRequest method. 848// req, resp := client.DeleteServiceRequest(params) 849// 850// err := req.Send() 851// if err == nil { // resp is now filled 852// fmt.Println(resp) 853// } 854// 855// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 856func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 857 op := &request.Operation{ 858 Name: opDeleteService, 859 HTTPMethod: "POST", 860 HTTPPath: "/", 861 } 862 863 if input == nil { 864 input = &DeleteServiceInput{} 865 } 866 867 output = &DeleteServiceOutput{} 868 req = c.newRequest(op, input, output) 869 return 870} 871 872// DeleteService API operation for Amazon EC2 Container Service. 873// 874// Deletes a specified service within a cluster. You can delete a service if 875// you have no running tasks in it and the desired task count is zero. If the 876// service is actively maintaining tasks, you cannot delete it, and you must 877// update the service to a desired task count of zero. For more information, 878// see UpdateService. 879// 880// When you delete a service, if there are still running tasks that require 881// cleanup, the service status moves from ACTIVE to DRAINING, and the service 882// is no longer visible in the console or in the ListServices API operation. 883// After all tasks have transitioned to either STOPPING or STOPPED status, the 884// service status moves from DRAINING to INACTIVE. Services in the DRAINING 885// or INACTIVE status can still be viewed with the DescribeServices API operation. 886// However, in the future, INACTIVE services may be cleaned up and purged from 887// Amazon ECS record keeping, and DescribeServices calls on those services return 888// a ServiceNotFoundException error. 889// 890// If you attempt to create a new service with the same name as an existing 891// service in either ACTIVE or DRAINING status, you receive an error. 892// 893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 894// with awserr.Error's Code and Message methods to get detailed information about 895// the error. 896// 897// See the AWS API reference guide for Amazon EC2 Container Service's 898// API operation DeleteService for usage and error information. 899// 900// Returned Error Types: 901// * ServerException 902// These errors are usually caused by a server issue. 903// 904// * ClientException 905// These errors are usually caused by a client action, such as using an action 906// or resource on behalf of a user that doesn't have permissions to use the 907// action or resource, or specifying an identifier that is not valid. 908// 909// * InvalidParameterException 910// The specified parameter is invalid. Review the available parameters for the 911// API request. 912// 913// * ClusterNotFoundException 914// The specified cluster could not be found. You can view your available clusters 915// with ListClusters. Amazon ECS clusters are Region-specific. 916// 917// * ServiceNotFoundException 918// The specified service could not be found. You can view your available services 919// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 920// 921// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 922func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 923 req, out := c.DeleteServiceRequest(input) 924 return out, req.Send() 925} 926 927// DeleteServiceWithContext is the same as DeleteService with the addition of 928// the ability to pass a context and additional request options. 929// 930// See DeleteService for details on how to use this API operation. 931// 932// The context must be non-nil and will be used for request cancellation. If 933// the context is nil a panic will occur. In the future the SDK may create 934// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 935// for more information on using Contexts. 936func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 937 req, out := c.DeleteServiceRequest(input) 938 req.SetContext(ctx) 939 req.ApplyOptions(opts...) 940 return out, req.Send() 941} 942 943const opDeleteTaskSet = "DeleteTaskSet" 944 945// DeleteTaskSetRequest generates a "aws/request.Request" representing the 946// client's request for the DeleteTaskSet operation. The "output" return 947// value will be populated with the request's response once the request completes 948// successfully. 949// 950// Use "Send" method on the returned Request to send the API call to the service. 951// the "output" return value is not valid until after Send returns without error. 952// 953// See DeleteTaskSet for more information on using the DeleteTaskSet 954// API call, and error handling. 955// 956// This method is useful when you want to inject custom logic or configuration 957// into the SDK's request lifecycle. Such as custom headers, or retry logic. 958// 959// 960// // Example sending a request using the DeleteTaskSetRequest method. 961// req, resp := client.DeleteTaskSetRequest(params) 962// 963// err := req.Send() 964// if err == nil { // resp is now filled 965// fmt.Println(resp) 966// } 967// 968// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 969func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { 970 op := &request.Operation{ 971 Name: opDeleteTaskSet, 972 HTTPMethod: "POST", 973 HTTPPath: "/", 974 } 975 976 if input == nil { 977 input = &DeleteTaskSetInput{} 978 } 979 980 output = &DeleteTaskSetOutput{} 981 req = c.newRequest(op, input, output) 982 return 983} 984 985// DeleteTaskSet API operation for Amazon EC2 Container Service. 986// 987// Deletes a specified task set within a service. This is used when a service 988// uses the EXTERNAL deployment controller type. For more information, see Amazon 989// ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 990// in the Amazon Elastic Container Service Developer Guide. 991// 992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 993// with awserr.Error's Code and Message methods to get detailed information about 994// the error. 995// 996// See the AWS API reference guide for Amazon EC2 Container Service's 997// API operation DeleteTaskSet for usage and error information. 998// 999// Returned Error Types: 1000// * ServerException 1001// These errors are usually caused by a server issue. 1002// 1003// * ClientException 1004// These errors are usually caused by a client action, such as using an action 1005// or resource on behalf of a user that doesn't have permissions to use the 1006// action or resource, or specifying an identifier that is not valid. 1007// 1008// * InvalidParameterException 1009// The specified parameter is invalid. Review the available parameters for the 1010// API request. 1011// 1012// * ClusterNotFoundException 1013// The specified cluster could not be found. You can view your available clusters 1014// with ListClusters. Amazon ECS clusters are Region-specific. 1015// 1016// * UnsupportedFeatureException 1017// The specified task is not supported in this Region. 1018// 1019// * AccessDeniedException 1020// You do not have authorization to perform the requested action. 1021// 1022// * ServiceNotFoundException 1023// The specified service could not be found. You can view your available services 1024// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1025// 1026// * ServiceNotActiveException 1027// The specified service is not active. You can't update a service that is inactive. 1028// If you have previously deleted a service, you can re-create it with CreateService. 1029// 1030// * TaskSetNotFoundException 1031// The specified task set could not be found. You can view your available task 1032// sets with DescribeTaskSets. Task sets are specific to each cluster, service 1033// and Region. 1034// 1035// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 1036func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { 1037 req, out := c.DeleteTaskSetRequest(input) 1038 return out, req.Send() 1039} 1040 1041// DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of 1042// the ability to pass a context and additional request options. 1043// 1044// See DeleteTaskSet for details on how to use this API operation. 1045// 1046// The context must be non-nil and will be used for request cancellation. If 1047// the context is nil a panic will occur. In the future the SDK may create 1048// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1049// for more information on using Contexts. 1050func (c *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { 1051 req, out := c.DeleteTaskSetRequest(input) 1052 req.SetContext(ctx) 1053 req.ApplyOptions(opts...) 1054 return out, req.Send() 1055} 1056 1057const opDeregisterContainerInstance = "DeregisterContainerInstance" 1058 1059// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 1060// client's request for the DeregisterContainerInstance operation. The "output" return 1061// value will be populated with the request's response once the request completes 1062// successfully. 1063// 1064// Use "Send" method on the returned Request to send the API call to the service. 1065// the "output" return value is not valid until after Send returns without error. 1066// 1067// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 1068// API call, and error handling. 1069// 1070// This method is useful when you want to inject custom logic or configuration 1071// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1072// 1073// 1074// // Example sending a request using the DeregisterContainerInstanceRequest method. 1075// req, resp := client.DeregisterContainerInstanceRequest(params) 1076// 1077// err := req.Send() 1078// if err == nil { // resp is now filled 1079// fmt.Println(resp) 1080// } 1081// 1082// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1083func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 1084 op := &request.Operation{ 1085 Name: opDeregisterContainerInstance, 1086 HTTPMethod: "POST", 1087 HTTPPath: "/", 1088 } 1089 1090 if input == nil { 1091 input = &DeregisterContainerInstanceInput{} 1092 } 1093 1094 output = &DeregisterContainerInstanceOutput{} 1095 req = c.newRequest(op, input, output) 1096 return 1097} 1098 1099// DeregisterContainerInstance API operation for Amazon EC2 Container Service. 1100// 1101// Deregisters an Amazon ECS container instance from the specified cluster. 1102// This instance is no longer available to run tasks. 1103// 1104// If you intend to use the container instance for some other purpose after 1105// deregistration, you should stop all of the tasks running on the container 1106// instance before deregistration. That prevents any orphaned tasks from consuming 1107// resources. 1108// 1109// Deregistering a container instance removes the instance from a cluster, but 1110// it does not terminate the EC2 instance. If you are finished using the instance, 1111// be sure to terminate it in the Amazon EC2 console to stop billing. 1112// 1113// If you terminate a running container instance, Amazon ECS automatically deregisters 1114// the instance from your cluster (stopped container instances or instances 1115// with disconnected agents are not automatically deregistered when terminated). 1116// 1117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1118// with awserr.Error's Code and Message methods to get detailed information about 1119// the error. 1120// 1121// See the AWS API reference guide for Amazon EC2 Container Service's 1122// API operation DeregisterContainerInstance for usage and error information. 1123// 1124// Returned Error Types: 1125// * ServerException 1126// These errors are usually caused by a server issue. 1127// 1128// * ClientException 1129// These errors are usually caused by a client action, such as using an action 1130// or resource on behalf of a user that doesn't have permissions to use the 1131// action or resource, or specifying an identifier that is not valid. 1132// 1133// * InvalidParameterException 1134// The specified parameter is invalid. Review the available parameters for the 1135// API request. 1136// 1137// * ClusterNotFoundException 1138// The specified cluster could not be found. You can view your available clusters 1139// with ListClusters. Amazon ECS clusters are Region-specific. 1140// 1141// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1142func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 1143 req, out := c.DeregisterContainerInstanceRequest(input) 1144 return out, req.Send() 1145} 1146 1147// DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 1148// the ability to pass a context and additional request options. 1149// 1150// See DeregisterContainerInstance for details on how to use this API operation. 1151// 1152// The context must be non-nil and will be used for request cancellation. If 1153// the context is nil a panic will occur. In the future the SDK may create 1154// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1155// for more information on using Contexts. 1156func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 1157 req, out := c.DeregisterContainerInstanceRequest(input) 1158 req.SetContext(ctx) 1159 req.ApplyOptions(opts...) 1160 return out, req.Send() 1161} 1162 1163const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 1164 1165// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 1166// client's request for the DeregisterTaskDefinition operation. The "output" return 1167// value will be populated with the request's response once the request completes 1168// successfully. 1169// 1170// Use "Send" method on the returned Request to send the API call to the service. 1171// the "output" return value is not valid until after Send returns without error. 1172// 1173// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 1174// API call, and error handling. 1175// 1176// This method is useful when you want to inject custom logic or configuration 1177// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1178// 1179// 1180// // Example sending a request using the DeregisterTaskDefinitionRequest method. 1181// req, resp := client.DeregisterTaskDefinitionRequest(params) 1182// 1183// err := req.Send() 1184// if err == nil { // resp is now filled 1185// fmt.Println(resp) 1186// } 1187// 1188// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1189func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 1190 op := &request.Operation{ 1191 Name: opDeregisterTaskDefinition, 1192 HTTPMethod: "POST", 1193 HTTPPath: "/", 1194 } 1195 1196 if input == nil { 1197 input = &DeregisterTaskDefinitionInput{} 1198 } 1199 1200 output = &DeregisterTaskDefinitionOutput{} 1201 req = c.newRequest(op, input, output) 1202 return 1203} 1204 1205// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 1206// 1207// Deregisters the specified task definition by family and revision. Upon deregistration, 1208// the task definition is marked as INACTIVE. Existing tasks and services that 1209// reference an INACTIVE task definition continue to run without disruption. 1210// Existing services that reference an INACTIVE task definition can still scale 1211// up or down by modifying the service's desired count. 1212// 1213// You cannot use an INACTIVE task definition to run new tasks or create new 1214// services, and you cannot update an existing service to reference an INACTIVE 1215// task definition. However, there may be up to a 10-minute window following 1216// deregistration where these restrictions have not yet taken effect. 1217// 1218// At this time, INACTIVE task definitions remain discoverable in your account 1219// indefinitely. However, this behavior is subject to change in the future, 1220// so you should not rely on INACTIVE task definitions persisting beyond the 1221// lifecycle of any associated tasks and services. 1222// 1223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1224// with awserr.Error's Code and Message methods to get detailed information about 1225// the error. 1226// 1227// See the AWS API reference guide for Amazon EC2 Container Service's 1228// API operation DeregisterTaskDefinition for usage and error information. 1229// 1230// Returned Error Types: 1231// * ServerException 1232// These errors are usually caused by a server issue. 1233// 1234// * ClientException 1235// These errors are usually caused by a client action, such as using an action 1236// or resource on behalf of a user that doesn't have permissions to use the 1237// action or resource, or specifying an identifier that is not valid. 1238// 1239// * InvalidParameterException 1240// The specified parameter is invalid. Review the available parameters for the 1241// API request. 1242// 1243// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1244func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 1245 req, out := c.DeregisterTaskDefinitionRequest(input) 1246 return out, req.Send() 1247} 1248 1249// DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 1250// the ability to pass a context and additional request options. 1251// 1252// See DeregisterTaskDefinition for details on how to use this API operation. 1253// 1254// The context must be non-nil and will be used for request cancellation. If 1255// the context is nil a panic will occur. In the future the SDK may create 1256// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1257// for more information on using Contexts. 1258func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 1259 req, out := c.DeregisterTaskDefinitionRequest(input) 1260 req.SetContext(ctx) 1261 req.ApplyOptions(opts...) 1262 return out, req.Send() 1263} 1264 1265const opDescribeCapacityProviders = "DescribeCapacityProviders" 1266 1267// DescribeCapacityProvidersRequest generates a "aws/request.Request" representing the 1268// client's request for the DescribeCapacityProviders operation. The "output" return 1269// value will be populated with the request's response once the request completes 1270// successfully. 1271// 1272// Use "Send" method on the returned Request to send the API call to the service. 1273// the "output" return value is not valid until after Send returns without error. 1274// 1275// See DescribeCapacityProviders for more information on using the DescribeCapacityProviders 1276// API call, and error handling. 1277// 1278// This method is useful when you want to inject custom logic or configuration 1279// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1280// 1281// 1282// // Example sending a request using the DescribeCapacityProvidersRequest method. 1283// req, resp := client.DescribeCapacityProvidersRequest(params) 1284// 1285// err := req.Send() 1286// if err == nil { // resp is now filled 1287// fmt.Println(resp) 1288// } 1289// 1290// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1291func (c *ECS) DescribeCapacityProvidersRequest(input *DescribeCapacityProvidersInput) (req *request.Request, output *DescribeCapacityProvidersOutput) { 1292 op := &request.Operation{ 1293 Name: opDescribeCapacityProviders, 1294 HTTPMethod: "POST", 1295 HTTPPath: "/", 1296 } 1297 1298 if input == nil { 1299 input = &DescribeCapacityProvidersInput{} 1300 } 1301 1302 output = &DescribeCapacityProvidersOutput{} 1303 req = c.newRequest(op, input, output) 1304 return 1305} 1306 1307// DescribeCapacityProviders API operation for Amazon EC2 Container Service. 1308// 1309// Describes one or more of your capacity providers. 1310// 1311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1312// with awserr.Error's Code and Message methods to get detailed information about 1313// the error. 1314// 1315// See the AWS API reference guide for Amazon EC2 Container Service's 1316// API operation DescribeCapacityProviders for usage and error information. 1317// 1318// Returned Error Types: 1319// * ServerException 1320// These errors are usually caused by a server issue. 1321// 1322// * ClientException 1323// These errors are usually caused by a client action, such as using an action 1324// or resource on behalf of a user that doesn't have permissions to use the 1325// action or resource, or specifying an identifier that is not valid. 1326// 1327// * InvalidParameterException 1328// The specified parameter is invalid. Review the available parameters for the 1329// API request. 1330// 1331// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1332func (c *ECS) DescribeCapacityProviders(input *DescribeCapacityProvidersInput) (*DescribeCapacityProvidersOutput, error) { 1333 req, out := c.DescribeCapacityProvidersRequest(input) 1334 return out, req.Send() 1335} 1336 1337// DescribeCapacityProvidersWithContext is the same as DescribeCapacityProviders with the addition of 1338// the ability to pass a context and additional request options. 1339// 1340// See DescribeCapacityProviders for details on how to use this API operation. 1341// 1342// The context must be non-nil and will be used for request cancellation. If 1343// the context is nil a panic will occur. In the future the SDK may create 1344// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1345// for more information on using Contexts. 1346func (c *ECS) DescribeCapacityProvidersWithContext(ctx aws.Context, input *DescribeCapacityProvidersInput, opts ...request.Option) (*DescribeCapacityProvidersOutput, error) { 1347 req, out := c.DescribeCapacityProvidersRequest(input) 1348 req.SetContext(ctx) 1349 req.ApplyOptions(opts...) 1350 return out, req.Send() 1351} 1352 1353const opDescribeClusters = "DescribeClusters" 1354 1355// DescribeClustersRequest generates a "aws/request.Request" representing the 1356// client's request for the DescribeClusters operation. The "output" return 1357// value will be populated with the request's response once the request completes 1358// successfully. 1359// 1360// Use "Send" method on the returned Request to send the API call to the service. 1361// the "output" return value is not valid until after Send returns without error. 1362// 1363// See DescribeClusters for more information on using the DescribeClusters 1364// API call, and error handling. 1365// 1366// This method is useful when you want to inject custom logic or configuration 1367// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1368// 1369// 1370// // Example sending a request using the DescribeClustersRequest method. 1371// req, resp := client.DescribeClustersRequest(params) 1372// 1373// err := req.Send() 1374// if err == nil { // resp is now filled 1375// fmt.Println(resp) 1376// } 1377// 1378// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1379func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 1380 op := &request.Operation{ 1381 Name: opDescribeClusters, 1382 HTTPMethod: "POST", 1383 HTTPPath: "/", 1384 } 1385 1386 if input == nil { 1387 input = &DescribeClustersInput{} 1388 } 1389 1390 output = &DescribeClustersOutput{} 1391 req = c.newRequest(op, input, output) 1392 return 1393} 1394 1395// DescribeClusters API operation for Amazon EC2 Container Service. 1396// 1397// Describes one or more of your clusters. 1398// 1399// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1400// with awserr.Error's Code and Message methods to get detailed information about 1401// the error. 1402// 1403// See the AWS API reference guide for Amazon EC2 Container Service's 1404// API operation DescribeClusters for usage and error information. 1405// 1406// Returned Error Types: 1407// * ServerException 1408// These errors are usually caused by a server issue. 1409// 1410// * ClientException 1411// These errors are usually caused by a client action, such as using an action 1412// or resource on behalf of a user that doesn't have permissions to use the 1413// action or resource, or specifying an identifier that is not valid. 1414// 1415// * InvalidParameterException 1416// The specified parameter is invalid. Review the available parameters for the 1417// API request. 1418// 1419// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1420func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 1421 req, out := c.DescribeClustersRequest(input) 1422 return out, req.Send() 1423} 1424 1425// DescribeClustersWithContext is the same as DescribeClusters with the addition of 1426// the ability to pass a context and additional request options. 1427// 1428// See DescribeClusters for details on how to use this API operation. 1429// 1430// The context must be non-nil and will be used for request cancellation. If 1431// the context is nil a panic will occur. In the future the SDK may create 1432// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1433// for more information on using Contexts. 1434func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 1435 req, out := c.DescribeClustersRequest(input) 1436 req.SetContext(ctx) 1437 req.ApplyOptions(opts...) 1438 return out, req.Send() 1439} 1440 1441const opDescribeContainerInstances = "DescribeContainerInstances" 1442 1443// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 1444// client's request for the DescribeContainerInstances operation. The "output" return 1445// value will be populated with the request's response once the request completes 1446// successfully. 1447// 1448// Use "Send" method on the returned Request to send the API call to the service. 1449// the "output" return value is not valid until after Send returns without error. 1450// 1451// See DescribeContainerInstances for more information on using the DescribeContainerInstances 1452// API call, and error handling. 1453// 1454// This method is useful when you want to inject custom logic or configuration 1455// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1456// 1457// 1458// // Example sending a request using the DescribeContainerInstancesRequest method. 1459// req, resp := client.DescribeContainerInstancesRequest(params) 1460// 1461// err := req.Send() 1462// if err == nil { // resp is now filled 1463// fmt.Println(resp) 1464// } 1465// 1466// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1467func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 1468 op := &request.Operation{ 1469 Name: opDescribeContainerInstances, 1470 HTTPMethod: "POST", 1471 HTTPPath: "/", 1472 } 1473 1474 if input == nil { 1475 input = &DescribeContainerInstancesInput{} 1476 } 1477 1478 output = &DescribeContainerInstancesOutput{} 1479 req = c.newRequest(op, input, output) 1480 return 1481} 1482 1483// DescribeContainerInstances API operation for Amazon EC2 Container Service. 1484// 1485// Describes Amazon Elastic Container Service container instances. Returns metadata 1486// about registered and remaining resources on each container instance requested. 1487// 1488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1489// with awserr.Error's Code and Message methods to get detailed information about 1490// the error. 1491// 1492// See the AWS API reference guide for Amazon EC2 Container Service's 1493// API operation DescribeContainerInstances for usage and error information. 1494// 1495// Returned Error Types: 1496// * ServerException 1497// These errors are usually caused by a server issue. 1498// 1499// * ClientException 1500// These errors are usually caused by a client action, such as using an action 1501// or resource on behalf of a user that doesn't have permissions to use the 1502// action or resource, or specifying an identifier that is not valid. 1503// 1504// * InvalidParameterException 1505// The specified parameter is invalid. Review the available parameters for the 1506// API request. 1507// 1508// * ClusterNotFoundException 1509// The specified cluster could not be found. You can view your available clusters 1510// with ListClusters. Amazon ECS clusters are Region-specific. 1511// 1512// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1513func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 1514 req, out := c.DescribeContainerInstancesRequest(input) 1515 return out, req.Send() 1516} 1517 1518// DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 1519// the ability to pass a context and additional request options. 1520// 1521// See DescribeContainerInstances for details on how to use this API operation. 1522// 1523// The context must be non-nil and will be used for request cancellation. If 1524// the context is nil a panic will occur. In the future the SDK may create 1525// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1526// for more information on using Contexts. 1527func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 1528 req, out := c.DescribeContainerInstancesRequest(input) 1529 req.SetContext(ctx) 1530 req.ApplyOptions(opts...) 1531 return out, req.Send() 1532} 1533 1534const opDescribeServices = "DescribeServices" 1535 1536// DescribeServicesRequest generates a "aws/request.Request" representing the 1537// client's request for the DescribeServices operation. The "output" return 1538// value will be populated with the request's response once the request completes 1539// successfully. 1540// 1541// Use "Send" method on the returned Request to send the API call to the service. 1542// the "output" return value is not valid until after Send returns without error. 1543// 1544// See DescribeServices for more information on using the DescribeServices 1545// API call, and error handling. 1546// 1547// This method is useful when you want to inject custom logic or configuration 1548// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1549// 1550// 1551// // Example sending a request using the DescribeServicesRequest method. 1552// req, resp := client.DescribeServicesRequest(params) 1553// 1554// err := req.Send() 1555// if err == nil { // resp is now filled 1556// fmt.Println(resp) 1557// } 1558// 1559// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1560func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 1561 op := &request.Operation{ 1562 Name: opDescribeServices, 1563 HTTPMethod: "POST", 1564 HTTPPath: "/", 1565 } 1566 1567 if input == nil { 1568 input = &DescribeServicesInput{} 1569 } 1570 1571 output = &DescribeServicesOutput{} 1572 req = c.newRequest(op, input, output) 1573 return 1574} 1575 1576// DescribeServices API operation for Amazon EC2 Container Service. 1577// 1578// Describes the specified services running in your cluster. 1579// 1580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1581// with awserr.Error's Code and Message methods to get detailed information about 1582// the error. 1583// 1584// See the AWS API reference guide for Amazon EC2 Container Service's 1585// API operation DescribeServices for usage and error information. 1586// 1587// Returned Error Types: 1588// * ServerException 1589// These errors are usually caused by a server issue. 1590// 1591// * ClientException 1592// These errors are usually caused by a client action, such as using an action 1593// or resource on behalf of a user that doesn't have permissions to use the 1594// action or resource, or specifying an identifier that is not valid. 1595// 1596// * InvalidParameterException 1597// The specified parameter is invalid. Review the available parameters for the 1598// API request. 1599// 1600// * ClusterNotFoundException 1601// The specified cluster could not be found. You can view your available clusters 1602// with ListClusters. Amazon ECS clusters are Region-specific. 1603// 1604// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1605func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1606 req, out := c.DescribeServicesRequest(input) 1607 return out, req.Send() 1608} 1609 1610// DescribeServicesWithContext is the same as DescribeServices with the addition of 1611// the ability to pass a context and additional request options. 1612// 1613// See DescribeServices for details on how to use this API operation. 1614// 1615// The context must be non-nil and will be used for request cancellation. If 1616// the context is nil a panic will occur. In the future the SDK may create 1617// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1618// for more information on using Contexts. 1619func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1620 req, out := c.DescribeServicesRequest(input) 1621 req.SetContext(ctx) 1622 req.ApplyOptions(opts...) 1623 return out, req.Send() 1624} 1625 1626const opDescribeTaskDefinition = "DescribeTaskDefinition" 1627 1628// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1629// client's request for the DescribeTaskDefinition operation. The "output" return 1630// value will be populated with the request's response once the request completes 1631// successfully. 1632// 1633// Use "Send" method on the returned Request to send the API call to the service. 1634// the "output" return value is not valid until after Send returns without error. 1635// 1636// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1637// API call, and error handling. 1638// 1639// This method is useful when you want to inject custom logic or configuration 1640// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1641// 1642// 1643// // Example sending a request using the DescribeTaskDefinitionRequest method. 1644// req, resp := client.DescribeTaskDefinitionRequest(params) 1645// 1646// err := req.Send() 1647// if err == nil { // resp is now filled 1648// fmt.Println(resp) 1649// } 1650// 1651// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1652func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1653 op := &request.Operation{ 1654 Name: opDescribeTaskDefinition, 1655 HTTPMethod: "POST", 1656 HTTPPath: "/", 1657 } 1658 1659 if input == nil { 1660 input = &DescribeTaskDefinitionInput{} 1661 } 1662 1663 output = &DescribeTaskDefinitionOutput{} 1664 req = c.newRequest(op, input, output) 1665 return 1666} 1667 1668// DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1669// 1670// Describes a task definition. You can specify a family and revision to find 1671// information about a specific task definition, or you can simply specify the 1672// family to find the latest ACTIVE revision in that family. 1673// 1674// You can only describe INACTIVE task definitions while an active task or service 1675// references them. 1676// 1677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1678// with awserr.Error's Code and Message methods to get detailed information about 1679// the error. 1680// 1681// See the AWS API reference guide for Amazon EC2 Container Service's 1682// API operation DescribeTaskDefinition for usage and error information. 1683// 1684// Returned Error Types: 1685// * ServerException 1686// These errors are usually caused by a server issue. 1687// 1688// * ClientException 1689// These errors are usually caused by a client action, such as using an action 1690// or resource on behalf of a user that doesn't have permissions to use the 1691// action or resource, or specifying an identifier that is not valid. 1692// 1693// * InvalidParameterException 1694// The specified parameter is invalid. Review the available parameters for the 1695// API request. 1696// 1697// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1698func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1699 req, out := c.DescribeTaskDefinitionRequest(input) 1700 return out, req.Send() 1701} 1702 1703// DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1704// the ability to pass a context and additional request options. 1705// 1706// See DescribeTaskDefinition for details on how to use this API operation. 1707// 1708// The context must be non-nil and will be used for request cancellation. If 1709// the context is nil a panic will occur. In the future the SDK may create 1710// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1711// for more information on using Contexts. 1712func (c *ECS) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1713 req, out := c.DescribeTaskDefinitionRequest(input) 1714 req.SetContext(ctx) 1715 req.ApplyOptions(opts...) 1716 return out, req.Send() 1717} 1718 1719const opDescribeTaskSets = "DescribeTaskSets" 1720 1721// DescribeTaskSetsRequest generates a "aws/request.Request" representing the 1722// client's request for the DescribeTaskSets operation. The "output" return 1723// value will be populated with the request's response once the request completes 1724// successfully. 1725// 1726// Use "Send" method on the returned Request to send the API call to the service. 1727// the "output" return value is not valid until after Send returns without error. 1728// 1729// See DescribeTaskSets for more information on using the DescribeTaskSets 1730// API call, and error handling. 1731// 1732// This method is useful when you want to inject custom logic or configuration 1733// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1734// 1735// 1736// // Example sending a request using the DescribeTaskSetsRequest method. 1737// req, resp := client.DescribeTaskSetsRequest(params) 1738// 1739// err := req.Send() 1740// if err == nil { // resp is now filled 1741// fmt.Println(resp) 1742// } 1743// 1744// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1745func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { 1746 op := &request.Operation{ 1747 Name: opDescribeTaskSets, 1748 HTTPMethod: "POST", 1749 HTTPPath: "/", 1750 } 1751 1752 if input == nil { 1753 input = &DescribeTaskSetsInput{} 1754 } 1755 1756 output = &DescribeTaskSetsOutput{} 1757 req = c.newRequest(op, input, output) 1758 return 1759} 1760 1761// DescribeTaskSets API operation for Amazon EC2 Container Service. 1762// 1763// Describes the task sets in the specified cluster and service. This is used 1764// when a service uses the EXTERNAL deployment controller type. For more information, 1765// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1766// in the Amazon Elastic Container Service Developer Guide. 1767// 1768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1769// with awserr.Error's Code and Message methods to get detailed information about 1770// the error. 1771// 1772// See the AWS API reference guide for Amazon EC2 Container Service's 1773// API operation DescribeTaskSets for usage and error information. 1774// 1775// Returned Error Types: 1776// * ServerException 1777// These errors are usually caused by a server issue. 1778// 1779// * ClientException 1780// These errors are usually caused by a client action, such as using an action 1781// or resource on behalf of a user that doesn't have permissions to use the 1782// action or resource, or specifying an identifier that is not valid. 1783// 1784// * InvalidParameterException 1785// The specified parameter is invalid. Review the available parameters for the 1786// API request. 1787// 1788// * ClusterNotFoundException 1789// The specified cluster could not be found. You can view your available clusters 1790// with ListClusters. Amazon ECS clusters are Region-specific. 1791// 1792// * UnsupportedFeatureException 1793// The specified task is not supported in this Region. 1794// 1795// * AccessDeniedException 1796// You do not have authorization to perform the requested action. 1797// 1798// * ServiceNotFoundException 1799// The specified service could not be found. You can view your available services 1800// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1801// 1802// * ServiceNotActiveException 1803// The specified service is not active. You can't update a service that is inactive. 1804// If you have previously deleted a service, you can re-create it with CreateService. 1805// 1806// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1807func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { 1808 req, out := c.DescribeTaskSetsRequest(input) 1809 return out, req.Send() 1810} 1811 1812// DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of 1813// the ability to pass a context and additional request options. 1814// 1815// See DescribeTaskSets for details on how to use this API operation. 1816// 1817// The context must be non-nil and will be used for request cancellation. If 1818// the context is nil a panic will occur. In the future the SDK may create 1819// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1820// for more information on using Contexts. 1821func (c *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { 1822 req, out := c.DescribeTaskSetsRequest(input) 1823 req.SetContext(ctx) 1824 req.ApplyOptions(opts...) 1825 return out, req.Send() 1826} 1827 1828const opDescribeTasks = "DescribeTasks" 1829 1830// DescribeTasksRequest generates a "aws/request.Request" representing the 1831// client's request for the DescribeTasks operation. The "output" return 1832// value will be populated with the request's response once the request completes 1833// successfully. 1834// 1835// Use "Send" method on the returned Request to send the API call to the service. 1836// the "output" return value is not valid until after Send returns without error. 1837// 1838// See DescribeTasks for more information on using the DescribeTasks 1839// API call, and error handling. 1840// 1841// This method is useful when you want to inject custom logic or configuration 1842// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1843// 1844// 1845// // Example sending a request using the DescribeTasksRequest method. 1846// req, resp := client.DescribeTasksRequest(params) 1847// 1848// err := req.Send() 1849// if err == nil { // resp is now filled 1850// fmt.Println(resp) 1851// } 1852// 1853// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1854func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1855 op := &request.Operation{ 1856 Name: opDescribeTasks, 1857 HTTPMethod: "POST", 1858 HTTPPath: "/", 1859 } 1860 1861 if input == nil { 1862 input = &DescribeTasksInput{} 1863 } 1864 1865 output = &DescribeTasksOutput{} 1866 req = c.newRequest(op, input, output) 1867 return 1868} 1869 1870// DescribeTasks API operation for Amazon EC2 Container Service. 1871// 1872// Describes a specified task or tasks. 1873// 1874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1875// with awserr.Error's Code and Message methods to get detailed information about 1876// the error. 1877// 1878// See the AWS API reference guide for Amazon EC2 Container Service's 1879// API operation DescribeTasks for usage and error information. 1880// 1881// Returned Error Types: 1882// * ServerException 1883// These errors are usually caused by a server issue. 1884// 1885// * ClientException 1886// These errors are usually caused by a client action, such as using an action 1887// or resource on behalf of a user that doesn't have permissions to use the 1888// action or resource, or specifying an identifier that is not valid. 1889// 1890// * InvalidParameterException 1891// The specified parameter is invalid. Review the available parameters for the 1892// API request. 1893// 1894// * ClusterNotFoundException 1895// The specified cluster could not be found. You can view your available clusters 1896// with ListClusters. Amazon ECS clusters are Region-specific. 1897// 1898// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1899func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 1900 req, out := c.DescribeTasksRequest(input) 1901 return out, req.Send() 1902} 1903 1904// DescribeTasksWithContext is the same as DescribeTasks with the addition of 1905// the ability to pass a context and additional request options. 1906// 1907// See DescribeTasks for details on how to use this API operation. 1908// 1909// The context must be non-nil and will be used for request cancellation. If 1910// the context is nil a panic will occur. In the future the SDK may create 1911// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1912// for more information on using Contexts. 1913func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 1914 req, out := c.DescribeTasksRequest(input) 1915 req.SetContext(ctx) 1916 req.ApplyOptions(opts...) 1917 return out, req.Send() 1918} 1919 1920const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 1921 1922// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 1923// client's request for the DiscoverPollEndpoint operation. The "output" return 1924// value will be populated with the request's response once the request completes 1925// successfully. 1926// 1927// Use "Send" method on the returned Request to send the API call to the service. 1928// the "output" return value is not valid until after Send returns without error. 1929// 1930// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 1931// API call, and error handling. 1932// 1933// This method is useful when you want to inject custom logic or configuration 1934// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1935// 1936// 1937// // Example sending a request using the DiscoverPollEndpointRequest method. 1938// req, resp := client.DiscoverPollEndpointRequest(params) 1939// 1940// err := req.Send() 1941// if err == nil { // resp is now filled 1942// fmt.Println(resp) 1943// } 1944// 1945// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1946func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 1947 op := &request.Operation{ 1948 Name: opDiscoverPollEndpoint, 1949 HTTPMethod: "POST", 1950 HTTPPath: "/", 1951 } 1952 1953 if input == nil { 1954 input = &DiscoverPollEndpointInput{} 1955 } 1956 1957 output = &DiscoverPollEndpointOutput{} 1958 req = c.newRequest(op, input, output) 1959 return 1960} 1961 1962// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 1963// 1964// 1965// This action is only used by the Amazon ECS agent, and it is not intended 1966// for use outside of the agent. 1967// 1968// Returns an endpoint for the Amazon ECS agent to poll for updates. 1969// 1970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1971// with awserr.Error's Code and Message methods to get detailed information about 1972// the error. 1973// 1974// See the AWS API reference guide for Amazon EC2 Container Service's 1975// API operation DiscoverPollEndpoint for usage and error information. 1976// 1977// Returned Error Types: 1978// * ServerException 1979// These errors are usually caused by a server issue. 1980// 1981// * ClientException 1982// These errors are usually caused by a client action, such as using an action 1983// or resource on behalf of a user that doesn't have permissions to use the 1984// action or resource, or specifying an identifier that is not valid. 1985// 1986// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 1987func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 1988 req, out := c.DiscoverPollEndpointRequest(input) 1989 return out, req.Send() 1990} 1991 1992// DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 1993// the ability to pass a context and additional request options. 1994// 1995// See DiscoverPollEndpoint for details on how to use this API operation. 1996// 1997// The context must be non-nil and will be used for request cancellation. If 1998// the context is nil a panic will occur. In the future the SDK may create 1999// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2000// for more information on using Contexts. 2001func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 2002 req, out := c.DiscoverPollEndpointRequest(input) 2003 req.SetContext(ctx) 2004 req.ApplyOptions(opts...) 2005 return out, req.Send() 2006} 2007 2008const opListAccountSettings = "ListAccountSettings" 2009 2010// ListAccountSettingsRequest generates a "aws/request.Request" representing the 2011// client's request for the ListAccountSettings operation. The "output" return 2012// value will be populated with the request's response once the request completes 2013// successfully. 2014// 2015// Use "Send" method on the returned Request to send the API call to the service. 2016// the "output" return value is not valid until after Send returns without error. 2017// 2018// See ListAccountSettings for more information on using the ListAccountSettings 2019// API call, and error handling. 2020// 2021// This method is useful when you want to inject custom logic or configuration 2022// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2023// 2024// 2025// // Example sending a request using the ListAccountSettingsRequest method. 2026// req, resp := client.ListAccountSettingsRequest(params) 2027// 2028// err := req.Send() 2029// if err == nil { // resp is now filled 2030// fmt.Println(resp) 2031// } 2032// 2033// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2034func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 2035 op := &request.Operation{ 2036 Name: opListAccountSettings, 2037 HTTPMethod: "POST", 2038 HTTPPath: "/", 2039 Paginator: &request.Paginator{ 2040 InputTokens: []string{"nextToken"}, 2041 OutputTokens: []string{"nextToken"}, 2042 LimitToken: "maxResults", 2043 TruncationToken: "", 2044 }, 2045 } 2046 2047 if input == nil { 2048 input = &ListAccountSettingsInput{} 2049 } 2050 2051 output = &ListAccountSettingsOutput{} 2052 req = c.newRequest(op, input, output) 2053 return 2054} 2055 2056// ListAccountSettings API operation for Amazon EC2 Container Service. 2057// 2058// Lists the account settings for a specified principal. 2059// 2060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2061// with awserr.Error's Code and Message methods to get detailed information about 2062// the error. 2063// 2064// See the AWS API reference guide for Amazon EC2 Container Service's 2065// API operation ListAccountSettings for usage and error information. 2066// 2067// Returned Error Types: 2068// * ServerException 2069// These errors are usually caused by a server issue. 2070// 2071// * ClientException 2072// These errors are usually caused by a client action, such as using an action 2073// or resource on behalf of a user that doesn't have permissions to use the 2074// action or resource, or specifying an identifier that is not valid. 2075// 2076// * InvalidParameterException 2077// The specified parameter is invalid. Review the available parameters for the 2078// API request. 2079// 2080// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2081func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 2082 req, out := c.ListAccountSettingsRequest(input) 2083 return out, req.Send() 2084} 2085 2086// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 2087// the ability to pass a context and additional request options. 2088// 2089// See ListAccountSettings for details on how to use this API operation. 2090// 2091// The context must be non-nil and will be used for request cancellation. If 2092// the context is nil a panic will occur. In the future the SDK may create 2093// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2094// for more information on using Contexts. 2095func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 2096 req, out := c.ListAccountSettingsRequest(input) 2097 req.SetContext(ctx) 2098 req.ApplyOptions(opts...) 2099 return out, req.Send() 2100} 2101 2102// ListAccountSettingsPages iterates over the pages of a ListAccountSettings operation, 2103// calling the "fn" function with the response data for each page. To stop 2104// iterating, return false from the fn function. 2105// 2106// See ListAccountSettings method for more information on how to use this operation. 2107// 2108// Note: This operation can generate multiple requests to a service. 2109// 2110// // Example iterating over at most 3 pages of a ListAccountSettings operation. 2111// pageNum := 0 2112// err := client.ListAccountSettingsPages(params, 2113// func(page *ecs.ListAccountSettingsOutput, lastPage bool) bool { 2114// pageNum++ 2115// fmt.Println(page) 2116// return pageNum <= 3 2117// }) 2118// 2119func (c *ECS) ListAccountSettingsPages(input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool) error { 2120 return c.ListAccountSettingsPagesWithContext(aws.BackgroundContext(), input, fn) 2121} 2122 2123// ListAccountSettingsPagesWithContext same as ListAccountSettingsPages except 2124// it takes a Context and allows setting request options on the pages. 2125// 2126// The context must be non-nil and will be used for request cancellation. If 2127// the context is nil a panic will occur. In the future the SDK may create 2128// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2129// for more information on using Contexts. 2130func (c *ECS) ListAccountSettingsPagesWithContext(ctx aws.Context, input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool, opts ...request.Option) error { 2131 p := request.Pagination{ 2132 NewRequest: func() (*request.Request, error) { 2133 var inCpy *ListAccountSettingsInput 2134 if input != nil { 2135 tmp := *input 2136 inCpy = &tmp 2137 } 2138 req, _ := c.ListAccountSettingsRequest(inCpy) 2139 req.SetContext(ctx) 2140 req.ApplyOptions(opts...) 2141 return req, nil 2142 }, 2143 } 2144 2145 for p.Next() { 2146 if !fn(p.Page().(*ListAccountSettingsOutput), !p.HasNextPage()) { 2147 break 2148 } 2149 } 2150 2151 return p.Err() 2152} 2153 2154const opListAttributes = "ListAttributes" 2155 2156// ListAttributesRequest generates a "aws/request.Request" representing the 2157// client's request for the ListAttributes operation. The "output" return 2158// value will be populated with the request's response once the request completes 2159// successfully. 2160// 2161// Use "Send" method on the returned Request to send the API call to the service. 2162// the "output" return value is not valid until after Send returns without error. 2163// 2164// See ListAttributes for more information on using the ListAttributes 2165// API call, and error handling. 2166// 2167// This method is useful when you want to inject custom logic or configuration 2168// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2169// 2170// 2171// // Example sending a request using the ListAttributesRequest method. 2172// req, resp := client.ListAttributesRequest(params) 2173// 2174// err := req.Send() 2175// if err == nil { // resp is now filled 2176// fmt.Println(resp) 2177// } 2178// 2179// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2180func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 2181 op := &request.Operation{ 2182 Name: opListAttributes, 2183 HTTPMethod: "POST", 2184 HTTPPath: "/", 2185 Paginator: &request.Paginator{ 2186 InputTokens: []string{"nextToken"}, 2187 OutputTokens: []string{"nextToken"}, 2188 LimitToken: "maxResults", 2189 TruncationToken: "", 2190 }, 2191 } 2192 2193 if input == nil { 2194 input = &ListAttributesInput{} 2195 } 2196 2197 output = &ListAttributesOutput{} 2198 req = c.newRequest(op, input, output) 2199 return 2200} 2201 2202// ListAttributes API operation for Amazon EC2 Container Service. 2203// 2204// Lists the attributes for Amazon ECS resources within a specified target type 2205// and cluster. When you specify a target type and cluster, ListAttributes returns 2206// a list of attribute objects, one for each attribute on each resource. You 2207// can filter the list of results to a single attribute name to only return 2208// results that have that name. You can also filter the results by attribute 2209// name and value, for example, to see which container instances in a cluster 2210// are running a Linux AMI (ecs.os-type=linux). 2211// 2212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2213// with awserr.Error's Code and Message methods to get detailed information about 2214// the error. 2215// 2216// See the AWS API reference guide for Amazon EC2 Container Service's 2217// API operation ListAttributes for usage and error information. 2218// 2219// Returned Error Types: 2220// * ClusterNotFoundException 2221// The specified cluster could not be found. You can view your available clusters 2222// with ListClusters. Amazon ECS clusters are Region-specific. 2223// 2224// * InvalidParameterException 2225// The specified parameter is invalid. Review the available parameters for the 2226// API request. 2227// 2228// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2229func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 2230 req, out := c.ListAttributesRequest(input) 2231 return out, req.Send() 2232} 2233 2234// ListAttributesWithContext is the same as ListAttributes with the addition of 2235// the ability to pass a context and additional request options. 2236// 2237// See ListAttributes for details on how to use this API operation. 2238// 2239// The context must be non-nil and will be used for request cancellation. If 2240// the context is nil a panic will occur. In the future the SDK may create 2241// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2242// for more information on using Contexts. 2243func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 2244 req, out := c.ListAttributesRequest(input) 2245 req.SetContext(ctx) 2246 req.ApplyOptions(opts...) 2247 return out, req.Send() 2248} 2249 2250// ListAttributesPages iterates over the pages of a ListAttributes operation, 2251// calling the "fn" function with the response data for each page. To stop 2252// iterating, return false from the fn function. 2253// 2254// See ListAttributes method for more information on how to use this operation. 2255// 2256// Note: This operation can generate multiple requests to a service. 2257// 2258// // Example iterating over at most 3 pages of a ListAttributes operation. 2259// pageNum := 0 2260// err := client.ListAttributesPages(params, 2261// func(page *ecs.ListAttributesOutput, lastPage bool) bool { 2262// pageNum++ 2263// fmt.Println(page) 2264// return pageNum <= 3 2265// }) 2266// 2267func (c *ECS) ListAttributesPages(input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool) error { 2268 return c.ListAttributesPagesWithContext(aws.BackgroundContext(), input, fn) 2269} 2270 2271// ListAttributesPagesWithContext same as ListAttributesPages except 2272// it takes a Context and allows setting request options on the pages. 2273// 2274// The context must be non-nil and will be used for request cancellation. If 2275// the context is nil a panic will occur. In the future the SDK may create 2276// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2277// for more information on using Contexts. 2278func (c *ECS) ListAttributesPagesWithContext(ctx aws.Context, input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool, opts ...request.Option) error { 2279 p := request.Pagination{ 2280 NewRequest: func() (*request.Request, error) { 2281 var inCpy *ListAttributesInput 2282 if input != nil { 2283 tmp := *input 2284 inCpy = &tmp 2285 } 2286 req, _ := c.ListAttributesRequest(inCpy) 2287 req.SetContext(ctx) 2288 req.ApplyOptions(opts...) 2289 return req, nil 2290 }, 2291 } 2292 2293 for p.Next() { 2294 if !fn(p.Page().(*ListAttributesOutput), !p.HasNextPage()) { 2295 break 2296 } 2297 } 2298 2299 return p.Err() 2300} 2301 2302const opListClusters = "ListClusters" 2303 2304// ListClustersRequest generates a "aws/request.Request" representing the 2305// client's request for the ListClusters operation. The "output" return 2306// value will be populated with the request's response once the request completes 2307// successfully. 2308// 2309// Use "Send" method on the returned Request to send the API call to the service. 2310// the "output" return value is not valid until after Send returns without error. 2311// 2312// See ListClusters for more information on using the ListClusters 2313// API call, and error handling. 2314// 2315// This method is useful when you want to inject custom logic or configuration 2316// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2317// 2318// 2319// // Example sending a request using the ListClustersRequest method. 2320// req, resp := client.ListClustersRequest(params) 2321// 2322// err := req.Send() 2323// if err == nil { // resp is now filled 2324// fmt.Println(resp) 2325// } 2326// 2327// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2328func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2329 op := &request.Operation{ 2330 Name: opListClusters, 2331 HTTPMethod: "POST", 2332 HTTPPath: "/", 2333 Paginator: &request.Paginator{ 2334 InputTokens: []string{"nextToken"}, 2335 OutputTokens: []string{"nextToken"}, 2336 LimitToken: "maxResults", 2337 TruncationToken: "", 2338 }, 2339 } 2340 2341 if input == nil { 2342 input = &ListClustersInput{} 2343 } 2344 2345 output = &ListClustersOutput{} 2346 req = c.newRequest(op, input, output) 2347 return 2348} 2349 2350// ListClusters API operation for Amazon EC2 Container Service. 2351// 2352// Returns a list of existing clusters. 2353// 2354// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2355// with awserr.Error's Code and Message methods to get detailed information about 2356// the error. 2357// 2358// See the AWS API reference guide for Amazon EC2 Container Service's 2359// API operation ListClusters for usage and error information. 2360// 2361// Returned Error Types: 2362// * ServerException 2363// These errors are usually caused by a server issue. 2364// 2365// * ClientException 2366// These errors are usually caused by a client action, such as using an action 2367// or resource on behalf of a user that doesn't have permissions to use the 2368// action or resource, or specifying an identifier that is not valid. 2369// 2370// * InvalidParameterException 2371// The specified parameter is invalid. Review the available parameters for the 2372// API request. 2373// 2374// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2375func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2376 req, out := c.ListClustersRequest(input) 2377 return out, req.Send() 2378} 2379 2380// ListClustersWithContext is the same as ListClusters with the addition of 2381// the ability to pass a context and additional request options. 2382// 2383// See ListClusters for details on how to use this API operation. 2384// 2385// The context must be non-nil and will be used for request cancellation. If 2386// the context is nil a panic will occur. In the future the SDK may create 2387// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2388// for more information on using Contexts. 2389func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2390 req, out := c.ListClustersRequest(input) 2391 req.SetContext(ctx) 2392 req.ApplyOptions(opts...) 2393 return out, req.Send() 2394} 2395 2396// ListClustersPages iterates over the pages of a ListClusters operation, 2397// calling the "fn" function with the response data for each page. To stop 2398// iterating, return false from the fn function. 2399// 2400// See ListClusters method for more information on how to use this operation. 2401// 2402// Note: This operation can generate multiple requests to a service. 2403// 2404// // Example iterating over at most 3 pages of a ListClusters operation. 2405// pageNum := 0 2406// err := client.ListClustersPages(params, 2407// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2408// pageNum++ 2409// fmt.Println(page) 2410// return pageNum <= 3 2411// }) 2412// 2413func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2414 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2415} 2416 2417// ListClustersPagesWithContext same as ListClustersPages except 2418// it takes a Context and allows setting request options on the pages. 2419// 2420// The context must be non-nil and will be used for request cancellation. If 2421// the context is nil a panic will occur. In the future the SDK may create 2422// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2423// for more information on using Contexts. 2424func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2425 p := request.Pagination{ 2426 NewRequest: func() (*request.Request, error) { 2427 var inCpy *ListClustersInput 2428 if input != nil { 2429 tmp := *input 2430 inCpy = &tmp 2431 } 2432 req, _ := c.ListClustersRequest(inCpy) 2433 req.SetContext(ctx) 2434 req.ApplyOptions(opts...) 2435 return req, nil 2436 }, 2437 } 2438 2439 for p.Next() { 2440 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2441 break 2442 } 2443 } 2444 2445 return p.Err() 2446} 2447 2448const opListContainerInstances = "ListContainerInstances" 2449 2450// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2451// client's request for the ListContainerInstances operation. The "output" return 2452// value will be populated with the request's response once the request completes 2453// successfully. 2454// 2455// Use "Send" method on the returned Request to send the API call to the service. 2456// the "output" return value is not valid until after Send returns without error. 2457// 2458// See ListContainerInstances for more information on using the ListContainerInstances 2459// API call, and error handling. 2460// 2461// This method is useful when you want to inject custom logic or configuration 2462// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2463// 2464// 2465// // Example sending a request using the ListContainerInstancesRequest method. 2466// req, resp := client.ListContainerInstancesRequest(params) 2467// 2468// err := req.Send() 2469// if err == nil { // resp is now filled 2470// fmt.Println(resp) 2471// } 2472// 2473// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2474func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2475 op := &request.Operation{ 2476 Name: opListContainerInstances, 2477 HTTPMethod: "POST", 2478 HTTPPath: "/", 2479 Paginator: &request.Paginator{ 2480 InputTokens: []string{"nextToken"}, 2481 OutputTokens: []string{"nextToken"}, 2482 LimitToken: "maxResults", 2483 TruncationToken: "", 2484 }, 2485 } 2486 2487 if input == nil { 2488 input = &ListContainerInstancesInput{} 2489 } 2490 2491 output = &ListContainerInstancesOutput{} 2492 req = c.newRequest(op, input, output) 2493 return 2494} 2495 2496// ListContainerInstances API operation for Amazon EC2 Container Service. 2497// 2498// Returns a list of container instances in a specified cluster. You can filter 2499// the results of a ListContainerInstances operation with cluster query language 2500// statements inside the filter parameter. For more information, see Cluster 2501// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2502// in the Amazon Elastic Container Service Developer Guide. 2503// 2504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2505// with awserr.Error's Code and Message methods to get detailed information about 2506// the error. 2507// 2508// See the AWS API reference guide for Amazon EC2 Container Service's 2509// API operation ListContainerInstances for usage and error information. 2510// 2511// Returned Error Types: 2512// * ServerException 2513// These errors are usually caused by a server issue. 2514// 2515// * ClientException 2516// These errors are usually caused by a client action, such as using an action 2517// or resource on behalf of a user that doesn't have permissions to use the 2518// action or resource, or specifying an identifier that is not valid. 2519// 2520// * InvalidParameterException 2521// The specified parameter is invalid. Review the available parameters for the 2522// API request. 2523// 2524// * ClusterNotFoundException 2525// The specified cluster could not be found. You can view your available clusters 2526// with ListClusters. Amazon ECS clusters are Region-specific. 2527// 2528// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2529func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2530 req, out := c.ListContainerInstancesRequest(input) 2531 return out, req.Send() 2532} 2533 2534// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2535// the ability to pass a context and additional request options. 2536// 2537// See ListContainerInstances for details on how to use this API operation. 2538// 2539// The context must be non-nil and will be used for request cancellation. If 2540// the context is nil a panic will occur. In the future the SDK may create 2541// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2542// for more information on using Contexts. 2543func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2544 req, out := c.ListContainerInstancesRequest(input) 2545 req.SetContext(ctx) 2546 req.ApplyOptions(opts...) 2547 return out, req.Send() 2548} 2549 2550// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2551// calling the "fn" function with the response data for each page. To stop 2552// iterating, return false from the fn function. 2553// 2554// See ListContainerInstances method for more information on how to use this operation. 2555// 2556// Note: This operation can generate multiple requests to a service. 2557// 2558// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2559// pageNum := 0 2560// err := client.ListContainerInstancesPages(params, 2561// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2562// pageNum++ 2563// fmt.Println(page) 2564// return pageNum <= 3 2565// }) 2566// 2567func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2568 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2569} 2570 2571// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2572// it takes a Context and allows setting request options on the pages. 2573// 2574// The context must be non-nil and will be used for request cancellation. If 2575// the context is nil a panic will occur. In the future the SDK may create 2576// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2577// for more information on using Contexts. 2578func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2579 p := request.Pagination{ 2580 NewRequest: func() (*request.Request, error) { 2581 var inCpy *ListContainerInstancesInput 2582 if input != nil { 2583 tmp := *input 2584 inCpy = &tmp 2585 } 2586 req, _ := c.ListContainerInstancesRequest(inCpy) 2587 req.SetContext(ctx) 2588 req.ApplyOptions(opts...) 2589 return req, nil 2590 }, 2591 } 2592 2593 for p.Next() { 2594 if !fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) { 2595 break 2596 } 2597 } 2598 2599 return p.Err() 2600} 2601 2602const opListServices = "ListServices" 2603 2604// ListServicesRequest generates a "aws/request.Request" representing the 2605// client's request for the ListServices operation. The "output" return 2606// value will be populated with the request's response once the request completes 2607// successfully. 2608// 2609// Use "Send" method on the returned Request to send the API call to the service. 2610// the "output" return value is not valid until after Send returns without error. 2611// 2612// See ListServices for more information on using the ListServices 2613// API call, and error handling. 2614// 2615// This method is useful when you want to inject custom logic or configuration 2616// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2617// 2618// 2619// // Example sending a request using the ListServicesRequest method. 2620// req, resp := client.ListServicesRequest(params) 2621// 2622// err := req.Send() 2623// if err == nil { // resp is now filled 2624// fmt.Println(resp) 2625// } 2626// 2627// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2628func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2629 op := &request.Operation{ 2630 Name: opListServices, 2631 HTTPMethod: "POST", 2632 HTTPPath: "/", 2633 Paginator: &request.Paginator{ 2634 InputTokens: []string{"nextToken"}, 2635 OutputTokens: []string{"nextToken"}, 2636 LimitToken: "maxResults", 2637 TruncationToken: "", 2638 }, 2639 } 2640 2641 if input == nil { 2642 input = &ListServicesInput{} 2643 } 2644 2645 output = &ListServicesOutput{} 2646 req = c.newRequest(op, input, output) 2647 return 2648} 2649 2650// ListServices API operation for Amazon EC2 Container Service. 2651// 2652// Lists the services that are running in a specified cluster. 2653// 2654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2655// with awserr.Error's Code and Message methods to get detailed information about 2656// the error. 2657// 2658// See the AWS API reference guide for Amazon EC2 Container Service's 2659// API operation ListServices for usage and error information. 2660// 2661// Returned Error Types: 2662// * ServerException 2663// These errors are usually caused by a server issue. 2664// 2665// * ClientException 2666// These errors are usually caused by a client action, such as using an action 2667// or resource on behalf of a user that doesn't have permissions to use the 2668// action or resource, or specifying an identifier that is not valid. 2669// 2670// * InvalidParameterException 2671// The specified parameter is invalid. Review the available parameters for the 2672// API request. 2673// 2674// * ClusterNotFoundException 2675// The specified cluster could not be found. You can view your available clusters 2676// with ListClusters. Amazon ECS clusters are Region-specific. 2677// 2678// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2679func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2680 req, out := c.ListServicesRequest(input) 2681 return out, req.Send() 2682} 2683 2684// ListServicesWithContext is the same as ListServices with the addition of 2685// the ability to pass a context and additional request options. 2686// 2687// See ListServices for details on how to use this API operation. 2688// 2689// The context must be non-nil and will be used for request cancellation. If 2690// the context is nil a panic will occur. In the future the SDK may create 2691// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2692// for more information on using Contexts. 2693func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2694 req, out := c.ListServicesRequest(input) 2695 req.SetContext(ctx) 2696 req.ApplyOptions(opts...) 2697 return out, req.Send() 2698} 2699 2700// ListServicesPages iterates over the pages of a ListServices operation, 2701// calling the "fn" function with the response data for each page. To stop 2702// iterating, return false from the fn function. 2703// 2704// See ListServices method for more information on how to use this operation. 2705// 2706// Note: This operation can generate multiple requests to a service. 2707// 2708// // Example iterating over at most 3 pages of a ListServices operation. 2709// pageNum := 0 2710// err := client.ListServicesPages(params, 2711// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2712// pageNum++ 2713// fmt.Println(page) 2714// return pageNum <= 3 2715// }) 2716// 2717func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2718 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2719} 2720 2721// ListServicesPagesWithContext same as ListServicesPages except 2722// it takes a Context and allows setting request options on the pages. 2723// 2724// The context must be non-nil and will be used for request cancellation. If 2725// the context is nil a panic will occur. In the future the SDK may create 2726// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2727// for more information on using Contexts. 2728func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2729 p := request.Pagination{ 2730 NewRequest: func() (*request.Request, error) { 2731 var inCpy *ListServicesInput 2732 if input != nil { 2733 tmp := *input 2734 inCpy = &tmp 2735 } 2736 req, _ := c.ListServicesRequest(inCpy) 2737 req.SetContext(ctx) 2738 req.ApplyOptions(opts...) 2739 return req, nil 2740 }, 2741 } 2742 2743 for p.Next() { 2744 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 2745 break 2746 } 2747 } 2748 2749 return p.Err() 2750} 2751 2752const opListTagsForResource = "ListTagsForResource" 2753 2754// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2755// client's request for the ListTagsForResource operation. The "output" return 2756// value will be populated with the request's response once the request completes 2757// successfully. 2758// 2759// Use "Send" method on the returned Request to send the API call to the service. 2760// the "output" return value is not valid until after Send returns without error. 2761// 2762// See ListTagsForResource for more information on using the ListTagsForResource 2763// API call, and error handling. 2764// 2765// This method is useful when you want to inject custom logic or configuration 2766// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2767// 2768// 2769// // Example sending a request using the ListTagsForResourceRequest method. 2770// req, resp := client.ListTagsForResourceRequest(params) 2771// 2772// err := req.Send() 2773// if err == nil { // resp is now filled 2774// fmt.Println(resp) 2775// } 2776// 2777// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2778func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2779 op := &request.Operation{ 2780 Name: opListTagsForResource, 2781 HTTPMethod: "POST", 2782 HTTPPath: "/", 2783 } 2784 2785 if input == nil { 2786 input = &ListTagsForResourceInput{} 2787 } 2788 2789 output = &ListTagsForResourceOutput{} 2790 req = c.newRequest(op, input, output) 2791 return 2792} 2793 2794// ListTagsForResource API operation for Amazon EC2 Container Service. 2795// 2796// List the tags for an Amazon ECS resource. 2797// 2798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2799// with awserr.Error's Code and Message methods to get detailed information about 2800// the error. 2801// 2802// See the AWS API reference guide for Amazon EC2 Container Service's 2803// API operation ListTagsForResource for usage and error information. 2804// 2805// Returned Error Types: 2806// * ServerException 2807// These errors are usually caused by a server issue. 2808// 2809// * ClientException 2810// These errors are usually caused by a client action, such as using an action 2811// or resource on behalf of a user that doesn't have permissions to use the 2812// action or resource, or specifying an identifier that is not valid. 2813// 2814// * ClusterNotFoundException 2815// The specified cluster could not be found. You can view your available clusters 2816// with ListClusters. Amazon ECS clusters are Region-specific. 2817// 2818// * InvalidParameterException 2819// The specified parameter is invalid. Review the available parameters for the 2820// API request. 2821// 2822// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2823func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2824 req, out := c.ListTagsForResourceRequest(input) 2825 return out, req.Send() 2826} 2827 2828// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2829// the ability to pass a context and additional request options. 2830// 2831// See ListTagsForResource for details on how to use this API operation. 2832// 2833// The context must be non-nil and will be used for request cancellation. If 2834// the context is nil a panic will occur. In the future the SDK may create 2835// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2836// for more information on using Contexts. 2837func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2838 req, out := c.ListTagsForResourceRequest(input) 2839 req.SetContext(ctx) 2840 req.ApplyOptions(opts...) 2841 return out, req.Send() 2842} 2843 2844const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 2845 2846// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 2847// client's request for the ListTaskDefinitionFamilies operation. The "output" return 2848// value will be populated with the request's response once the request completes 2849// successfully. 2850// 2851// Use "Send" method on the returned Request to send the API call to the service. 2852// the "output" return value is not valid until after Send returns without error. 2853// 2854// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 2855// API call, and error handling. 2856// 2857// This method is useful when you want to inject custom logic or configuration 2858// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2859// 2860// 2861// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 2862// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 2863// 2864// err := req.Send() 2865// if err == nil { // resp is now filled 2866// fmt.Println(resp) 2867// } 2868// 2869// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2870func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 2871 op := &request.Operation{ 2872 Name: opListTaskDefinitionFamilies, 2873 HTTPMethod: "POST", 2874 HTTPPath: "/", 2875 Paginator: &request.Paginator{ 2876 InputTokens: []string{"nextToken"}, 2877 OutputTokens: []string{"nextToken"}, 2878 LimitToken: "maxResults", 2879 TruncationToken: "", 2880 }, 2881 } 2882 2883 if input == nil { 2884 input = &ListTaskDefinitionFamiliesInput{} 2885 } 2886 2887 output = &ListTaskDefinitionFamiliesOutput{} 2888 req = c.newRequest(op, input, output) 2889 return 2890} 2891 2892// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 2893// 2894// Returns a list of task definition families that are registered to your account 2895// (which may include task definition families that no longer have any ACTIVE 2896// task definition revisions). 2897// 2898// You can filter out task definition families that do not contain any ACTIVE 2899// task definition revisions by setting the status parameter to ACTIVE. You 2900// can also filter the results with the familyPrefix parameter. 2901// 2902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2903// with awserr.Error's Code and Message methods to get detailed information about 2904// the error. 2905// 2906// See the AWS API reference guide for Amazon EC2 Container Service's 2907// API operation ListTaskDefinitionFamilies for usage and error information. 2908// 2909// Returned Error Types: 2910// * ServerException 2911// These errors are usually caused by a server issue. 2912// 2913// * ClientException 2914// These errors are usually caused by a client action, such as using an action 2915// or resource on behalf of a user that doesn't have permissions to use the 2916// action or resource, or specifying an identifier that is not valid. 2917// 2918// * InvalidParameterException 2919// The specified parameter is invalid. Review the available parameters for the 2920// API request. 2921// 2922// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2923func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 2924 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2925 return out, req.Send() 2926} 2927 2928// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 2929// the ability to pass a context and additional request options. 2930// 2931// See ListTaskDefinitionFamilies for details on how to use this API operation. 2932// 2933// The context must be non-nil and will be used for request cancellation. If 2934// the context is nil a panic will occur. In the future the SDK may create 2935// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2936// for more information on using Contexts. 2937func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 2938 req, out := c.ListTaskDefinitionFamiliesRequest(input) 2939 req.SetContext(ctx) 2940 req.ApplyOptions(opts...) 2941 return out, req.Send() 2942} 2943 2944// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 2945// calling the "fn" function with the response data for each page. To stop 2946// iterating, return false from the fn function. 2947// 2948// See ListTaskDefinitionFamilies method for more information on how to use this operation. 2949// 2950// Note: This operation can generate multiple requests to a service. 2951// 2952// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 2953// pageNum := 0 2954// err := client.ListTaskDefinitionFamiliesPages(params, 2955// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 2956// pageNum++ 2957// fmt.Println(page) 2958// return pageNum <= 3 2959// }) 2960// 2961func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 2962 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 2963} 2964 2965// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 2966// it takes a Context and allows setting request options on the pages. 2967// 2968// The context must be non-nil and will be used for request cancellation. If 2969// the context is nil a panic will occur. In the future the SDK may create 2970// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2971// for more information on using Contexts. 2972func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 2973 p := request.Pagination{ 2974 NewRequest: func() (*request.Request, error) { 2975 var inCpy *ListTaskDefinitionFamiliesInput 2976 if input != nil { 2977 tmp := *input 2978 inCpy = &tmp 2979 } 2980 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 2981 req.SetContext(ctx) 2982 req.ApplyOptions(opts...) 2983 return req, nil 2984 }, 2985 } 2986 2987 for p.Next() { 2988 if !fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) { 2989 break 2990 } 2991 } 2992 2993 return p.Err() 2994} 2995 2996const opListTaskDefinitions = "ListTaskDefinitions" 2997 2998// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 2999// client's request for the ListTaskDefinitions operation. The "output" return 3000// value will be populated with the request's response once the request completes 3001// successfully. 3002// 3003// Use "Send" method on the returned Request to send the API call to the service. 3004// the "output" return value is not valid until after Send returns without error. 3005// 3006// See ListTaskDefinitions for more information on using the ListTaskDefinitions 3007// API call, and error handling. 3008// 3009// This method is useful when you want to inject custom logic or configuration 3010// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3011// 3012// 3013// // Example sending a request using the ListTaskDefinitionsRequest method. 3014// req, resp := client.ListTaskDefinitionsRequest(params) 3015// 3016// err := req.Send() 3017// if err == nil { // resp is now filled 3018// fmt.Println(resp) 3019// } 3020// 3021// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3022func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 3023 op := &request.Operation{ 3024 Name: opListTaskDefinitions, 3025 HTTPMethod: "POST", 3026 HTTPPath: "/", 3027 Paginator: &request.Paginator{ 3028 InputTokens: []string{"nextToken"}, 3029 OutputTokens: []string{"nextToken"}, 3030 LimitToken: "maxResults", 3031 TruncationToken: "", 3032 }, 3033 } 3034 3035 if input == nil { 3036 input = &ListTaskDefinitionsInput{} 3037 } 3038 3039 output = &ListTaskDefinitionsOutput{} 3040 req = c.newRequest(op, input, output) 3041 return 3042} 3043 3044// ListTaskDefinitions API operation for Amazon EC2 Container Service. 3045// 3046// Returns a list of task definitions that are registered to your account. You 3047// can filter the results by family name with the familyPrefix parameter or 3048// by status with the status parameter. 3049// 3050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3051// with awserr.Error's Code and Message methods to get detailed information about 3052// the error. 3053// 3054// See the AWS API reference guide for Amazon EC2 Container Service's 3055// API operation ListTaskDefinitions for usage and error information. 3056// 3057// Returned Error Types: 3058// * ServerException 3059// These errors are usually caused by a server issue. 3060// 3061// * ClientException 3062// These errors are usually caused by a client action, such as using an action 3063// or resource on behalf of a user that doesn't have permissions to use the 3064// action or resource, or specifying an identifier that is not valid. 3065// 3066// * InvalidParameterException 3067// The specified parameter is invalid. Review the available parameters for the 3068// API request. 3069// 3070// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3071func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 3072 req, out := c.ListTaskDefinitionsRequest(input) 3073 return out, req.Send() 3074} 3075 3076// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 3077// the ability to pass a context and additional request options. 3078// 3079// See ListTaskDefinitions for details on how to use this API operation. 3080// 3081// The context must be non-nil and will be used for request cancellation. If 3082// the context is nil a panic will occur. In the future the SDK may create 3083// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3084// for more information on using Contexts. 3085func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 3086 req, out := c.ListTaskDefinitionsRequest(input) 3087 req.SetContext(ctx) 3088 req.ApplyOptions(opts...) 3089 return out, req.Send() 3090} 3091 3092// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 3093// calling the "fn" function with the response data for each page. To stop 3094// iterating, return false from the fn function. 3095// 3096// See ListTaskDefinitions method for more information on how to use this operation. 3097// 3098// Note: This operation can generate multiple requests to a service. 3099// 3100// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 3101// pageNum := 0 3102// err := client.ListTaskDefinitionsPages(params, 3103// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 3104// pageNum++ 3105// fmt.Println(page) 3106// return pageNum <= 3 3107// }) 3108// 3109func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 3110 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 3111} 3112 3113// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 3114// it takes a Context and allows setting request options on the pages. 3115// 3116// The context must be non-nil and will be used for request cancellation. If 3117// the context is nil a panic will occur. In the future the SDK may create 3118// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3119// for more information on using Contexts. 3120func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 3121 p := request.Pagination{ 3122 NewRequest: func() (*request.Request, error) { 3123 var inCpy *ListTaskDefinitionsInput 3124 if input != nil { 3125 tmp := *input 3126 inCpy = &tmp 3127 } 3128 req, _ := c.ListTaskDefinitionsRequest(inCpy) 3129 req.SetContext(ctx) 3130 req.ApplyOptions(opts...) 3131 return req, nil 3132 }, 3133 } 3134 3135 for p.Next() { 3136 if !fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) { 3137 break 3138 } 3139 } 3140 3141 return p.Err() 3142} 3143 3144const opListTasks = "ListTasks" 3145 3146// ListTasksRequest generates a "aws/request.Request" representing the 3147// client's request for the ListTasks operation. The "output" return 3148// value will be populated with the request's response once the request completes 3149// successfully. 3150// 3151// Use "Send" method on the returned Request to send the API call to the service. 3152// the "output" return value is not valid until after Send returns without error. 3153// 3154// See ListTasks for more information on using the ListTasks 3155// API call, and error handling. 3156// 3157// This method is useful when you want to inject custom logic or configuration 3158// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3159// 3160// 3161// // Example sending a request using the ListTasksRequest method. 3162// req, resp := client.ListTasksRequest(params) 3163// 3164// err := req.Send() 3165// if err == nil { // resp is now filled 3166// fmt.Println(resp) 3167// } 3168// 3169// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3170func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 3171 op := &request.Operation{ 3172 Name: opListTasks, 3173 HTTPMethod: "POST", 3174 HTTPPath: "/", 3175 Paginator: &request.Paginator{ 3176 InputTokens: []string{"nextToken"}, 3177 OutputTokens: []string{"nextToken"}, 3178 LimitToken: "maxResults", 3179 TruncationToken: "", 3180 }, 3181 } 3182 3183 if input == nil { 3184 input = &ListTasksInput{} 3185 } 3186 3187 output = &ListTasksOutput{} 3188 req = c.newRequest(op, input, output) 3189 return 3190} 3191 3192// ListTasks API operation for Amazon EC2 Container Service. 3193// 3194// Returns a list of tasks for a specified cluster. You can filter the results 3195// by family name, by a particular container instance, or by the desired status 3196// of the task with the family, containerInstance, and desiredStatus parameters. 3197// 3198// Recently stopped tasks might appear in the returned results. Currently, stopped 3199// tasks appear in the returned results for at least one hour. 3200// 3201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3202// with awserr.Error's Code and Message methods to get detailed information about 3203// the error. 3204// 3205// See the AWS API reference guide for Amazon EC2 Container Service's 3206// API operation ListTasks for usage and error information. 3207// 3208// Returned Error Types: 3209// * ServerException 3210// These errors are usually caused by a server issue. 3211// 3212// * ClientException 3213// These errors are usually caused by a client action, such as using an action 3214// or resource on behalf of a user that doesn't have permissions to use the 3215// action or resource, or specifying an identifier that is not valid. 3216// 3217// * InvalidParameterException 3218// The specified parameter is invalid. Review the available parameters for the 3219// API request. 3220// 3221// * ClusterNotFoundException 3222// The specified cluster could not be found. You can view your available clusters 3223// with ListClusters. Amazon ECS clusters are Region-specific. 3224// 3225// * ServiceNotFoundException 3226// The specified service could not be found. You can view your available services 3227// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 3228// 3229// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3230func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 3231 req, out := c.ListTasksRequest(input) 3232 return out, req.Send() 3233} 3234 3235// ListTasksWithContext is the same as ListTasks with the addition of 3236// the ability to pass a context and additional request options. 3237// 3238// See ListTasks for details on how to use this API operation. 3239// 3240// The context must be non-nil and will be used for request cancellation. If 3241// the context is nil a panic will occur. In the future the SDK may create 3242// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3243// for more information on using Contexts. 3244func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 3245 req, out := c.ListTasksRequest(input) 3246 req.SetContext(ctx) 3247 req.ApplyOptions(opts...) 3248 return out, req.Send() 3249} 3250 3251// ListTasksPages iterates over the pages of a ListTasks operation, 3252// calling the "fn" function with the response data for each page. To stop 3253// iterating, return false from the fn function. 3254// 3255// See ListTasks method for more information on how to use this operation. 3256// 3257// Note: This operation can generate multiple requests to a service. 3258// 3259// // Example iterating over at most 3 pages of a ListTasks operation. 3260// pageNum := 0 3261// err := client.ListTasksPages(params, 3262// func(page *ecs.ListTasksOutput, lastPage bool) bool { 3263// pageNum++ 3264// fmt.Println(page) 3265// return pageNum <= 3 3266// }) 3267// 3268func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 3269 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 3270} 3271 3272// ListTasksPagesWithContext same as ListTasksPages except 3273// it takes a Context and allows setting request options on the pages. 3274// 3275// The context must be non-nil and will be used for request cancellation. If 3276// the context is nil a panic will occur. In the future the SDK may create 3277// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3278// for more information on using Contexts. 3279func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 3280 p := request.Pagination{ 3281 NewRequest: func() (*request.Request, error) { 3282 var inCpy *ListTasksInput 3283 if input != nil { 3284 tmp := *input 3285 inCpy = &tmp 3286 } 3287 req, _ := c.ListTasksRequest(inCpy) 3288 req.SetContext(ctx) 3289 req.ApplyOptions(opts...) 3290 return req, nil 3291 }, 3292 } 3293 3294 for p.Next() { 3295 if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { 3296 break 3297 } 3298 } 3299 3300 return p.Err() 3301} 3302 3303const opPutAccountSetting = "PutAccountSetting" 3304 3305// PutAccountSettingRequest generates a "aws/request.Request" representing the 3306// client's request for the PutAccountSetting operation. The "output" return 3307// value will be populated with the request's response once the request completes 3308// successfully. 3309// 3310// Use "Send" method on the returned Request to send the API call to the service. 3311// the "output" return value is not valid until after Send returns without error. 3312// 3313// See PutAccountSetting for more information on using the PutAccountSetting 3314// API call, and error handling. 3315// 3316// This method is useful when you want to inject custom logic or configuration 3317// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3318// 3319// 3320// // Example sending a request using the PutAccountSettingRequest method. 3321// req, resp := client.PutAccountSettingRequest(params) 3322// 3323// err := req.Send() 3324// if err == nil { // resp is now filled 3325// fmt.Println(resp) 3326// } 3327// 3328// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3329func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3330 op := &request.Operation{ 3331 Name: opPutAccountSetting, 3332 HTTPMethod: "POST", 3333 HTTPPath: "/", 3334 } 3335 3336 if input == nil { 3337 input = &PutAccountSettingInput{} 3338 } 3339 3340 output = &PutAccountSettingOutput{} 3341 req = c.newRequest(op, input, output) 3342 return 3343} 3344 3345// PutAccountSetting API operation for Amazon EC2 Container Service. 3346// 3347// Modifies an account setting. Account settings are set on a per-Region basis. 3348// 3349// If you change the account setting for the root user, the default settings 3350// for all of the IAM users and roles for which no individual account setting 3351// has been specified are reset. For more information, see Account Settings 3352// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3353// in the Amazon Elastic Container Service Developer Guide. 3354// 3355// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3356// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3357// resource type for a specified IAM user, IAM role, or the root user for an 3358// account is affected. The opt-in and opt-out account setting must be set for 3359// each Amazon ECS resource separately. The ARN and resource ID format of a 3360// resource will be defined by the opt-in status of the IAM user or role that 3361// created the resource. You must enable this setting to use Amazon ECS features 3362// such as resource tagging. 3363// 3364// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3365// for any new container instances that support the feature is changed. If awsvpcTrunking 3366// is enabled, any new container instances that support the feature are launched 3367// have the increased ENI limits available to them. For more information, see 3368// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3369// in the Amazon Elastic Container Service Developer Guide. 3370// 3371// When containerInsights is specified, the default setting indicating whether 3372// CloudWatch Container Insights is enabled for your clusters is changed. If 3373// containerInsights is enabled, any new clusters that are created will have 3374// Container Insights enabled unless you disable it during cluster creation. 3375// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3376// in the Amazon Elastic Container Service Developer Guide. 3377// 3378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3379// with awserr.Error's Code and Message methods to get detailed information about 3380// the error. 3381// 3382// See the AWS API reference guide for Amazon EC2 Container Service's 3383// API operation PutAccountSetting for usage and error information. 3384// 3385// Returned Error Types: 3386// * ServerException 3387// These errors are usually caused by a server issue. 3388// 3389// * ClientException 3390// These errors are usually caused by a client action, such as using an action 3391// or resource on behalf of a user that doesn't have permissions to use the 3392// action or resource, or specifying an identifier that is not valid. 3393// 3394// * InvalidParameterException 3395// The specified parameter is invalid. Review the available parameters for the 3396// API request. 3397// 3398// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3399func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3400 req, out := c.PutAccountSettingRequest(input) 3401 return out, req.Send() 3402} 3403 3404// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3405// the ability to pass a context and additional request options. 3406// 3407// See PutAccountSetting for details on how to use this API operation. 3408// 3409// The context must be non-nil and will be used for request cancellation. If 3410// the context is nil a panic will occur. In the future the SDK may create 3411// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3412// for more information on using Contexts. 3413func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3414 req, out := c.PutAccountSettingRequest(input) 3415 req.SetContext(ctx) 3416 req.ApplyOptions(opts...) 3417 return out, req.Send() 3418} 3419 3420const opPutAccountSettingDefault = "PutAccountSettingDefault" 3421 3422// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3423// client's request for the PutAccountSettingDefault operation. The "output" return 3424// value will be populated with the request's response once the request completes 3425// successfully. 3426// 3427// Use "Send" method on the returned Request to send the API call to the service. 3428// the "output" return value is not valid until after Send returns without error. 3429// 3430// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3431// API call, and error handling. 3432// 3433// This method is useful when you want to inject custom logic or configuration 3434// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3435// 3436// 3437// // Example sending a request using the PutAccountSettingDefaultRequest method. 3438// req, resp := client.PutAccountSettingDefaultRequest(params) 3439// 3440// err := req.Send() 3441// if err == nil { // resp is now filled 3442// fmt.Println(resp) 3443// } 3444// 3445// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3446func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3447 op := &request.Operation{ 3448 Name: opPutAccountSettingDefault, 3449 HTTPMethod: "POST", 3450 HTTPPath: "/", 3451 } 3452 3453 if input == nil { 3454 input = &PutAccountSettingDefaultInput{} 3455 } 3456 3457 output = &PutAccountSettingDefaultOutput{} 3458 req = c.newRequest(op, input, output) 3459 return 3460} 3461 3462// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3463// 3464// Modifies an account setting for all IAM users on an account for whom no individual 3465// account setting has been specified. Account settings are set on a per-Region 3466// basis. 3467// 3468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3469// with awserr.Error's Code and Message methods to get detailed information about 3470// the error. 3471// 3472// See the AWS API reference guide for Amazon EC2 Container Service's 3473// API operation PutAccountSettingDefault for usage and error information. 3474// 3475// Returned Error Types: 3476// * ServerException 3477// These errors are usually caused by a server issue. 3478// 3479// * ClientException 3480// These errors are usually caused by a client action, such as using an action 3481// or resource on behalf of a user that doesn't have permissions to use the 3482// action or resource, or specifying an identifier that is not valid. 3483// 3484// * InvalidParameterException 3485// The specified parameter is invalid. Review the available parameters for the 3486// API request. 3487// 3488// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3489func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3490 req, out := c.PutAccountSettingDefaultRequest(input) 3491 return out, req.Send() 3492} 3493 3494// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3495// the ability to pass a context and additional request options. 3496// 3497// See PutAccountSettingDefault for details on how to use this API operation. 3498// 3499// The context must be non-nil and will be used for request cancellation. If 3500// the context is nil a panic will occur. In the future the SDK may create 3501// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3502// for more information on using Contexts. 3503func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3504 req, out := c.PutAccountSettingDefaultRequest(input) 3505 req.SetContext(ctx) 3506 req.ApplyOptions(opts...) 3507 return out, req.Send() 3508} 3509 3510const opPutAttributes = "PutAttributes" 3511 3512// PutAttributesRequest generates a "aws/request.Request" representing the 3513// client's request for the PutAttributes operation. The "output" return 3514// value will be populated with the request's response once the request completes 3515// successfully. 3516// 3517// Use "Send" method on the returned Request to send the API call to the service. 3518// the "output" return value is not valid until after Send returns without error. 3519// 3520// See PutAttributes for more information on using the PutAttributes 3521// API call, and error handling. 3522// 3523// This method is useful when you want to inject custom logic or configuration 3524// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3525// 3526// 3527// // Example sending a request using the PutAttributesRequest method. 3528// req, resp := client.PutAttributesRequest(params) 3529// 3530// err := req.Send() 3531// if err == nil { // resp is now filled 3532// fmt.Println(resp) 3533// } 3534// 3535// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3536func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3537 op := &request.Operation{ 3538 Name: opPutAttributes, 3539 HTTPMethod: "POST", 3540 HTTPPath: "/", 3541 } 3542 3543 if input == nil { 3544 input = &PutAttributesInput{} 3545 } 3546 3547 output = &PutAttributesOutput{} 3548 req = c.newRequest(op, input, output) 3549 return 3550} 3551 3552// PutAttributes API operation for Amazon EC2 Container Service. 3553// 3554// Create or update an attribute on an Amazon ECS resource. If the attribute 3555// does not exist, it is created. If the attribute exists, its value is replaced 3556// with the specified value. To delete an attribute, use DeleteAttributes. For 3557// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3558// in the Amazon Elastic Container Service Developer Guide. 3559// 3560// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3561// with awserr.Error's Code and Message methods to get detailed information about 3562// the error. 3563// 3564// See the AWS API reference guide for Amazon EC2 Container Service's 3565// API operation PutAttributes for usage and error information. 3566// 3567// Returned Error Types: 3568// * ClusterNotFoundException 3569// The specified cluster could not be found. You can view your available clusters 3570// with ListClusters. Amazon ECS clusters are Region-specific. 3571// 3572// * TargetNotFoundException 3573// The specified target could not be found. You can view your available container 3574// instances with ListContainerInstances. Amazon ECS container instances are 3575// cluster-specific and Region-specific. 3576// 3577// * AttributeLimitExceededException 3578// You can apply up to 10 custom attributes per resource. You can view the attributes 3579// of a resource with ListAttributes. You can remove existing attributes on 3580// a resource with DeleteAttributes. 3581// 3582// * InvalidParameterException 3583// The specified parameter is invalid. Review the available parameters for the 3584// API request. 3585// 3586// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3587func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3588 req, out := c.PutAttributesRequest(input) 3589 return out, req.Send() 3590} 3591 3592// PutAttributesWithContext is the same as PutAttributes with the addition of 3593// the ability to pass a context and additional request options. 3594// 3595// See PutAttributes for details on how to use this API operation. 3596// 3597// The context must be non-nil and will be used for request cancellation. If 3598// the context is nil a panic will occur. In the future the SDK may create 3599// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3600// for more information on using Contexts. 3601func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3602 req, out := c.PutAttributesRequest(input) 3603 req.SetContext(ctx) 3604 req.ApplyOptions(opts...) 3605 return out, req.Send() 3606} 3607 3608const opPutClusterCapacityProviders = "PutClusterCapacityProviders" 3609 3610// PutClusterCapacityProvidersRequest generates a "aws/request.Request" representing the 3611// client's request for the PutClusterCapacityProviders operation. The "output" return 3612// value will be populated with the request's response once the request completes 3613// successfully. 3614// 3615// Use "Send" method on the returned Request to send the API call to the service. 3616// the "output" return value is not valid until after Send returns without error. 3617// 3618// See PutClusterCapacityProviders for more information on using the PutClusterCapacityProviders 3619// API call, and error handling. 3620// 3621// This method is useful when you want to inject custom logic or configuration 3622// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3623// 3624// 3625// // Example sending a request using the PutClusterCapacityProvidersRequest method. 3626// req, resp := client.PutClusterCapacityProvidersRequest(params) 3627// 3628// err := req.Send() 3629// if err == nil { // resp is now filled 3630// fmt.Println(resp) 3631// } 3632// 3633// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3634func (c *ECS) PutClusterCapacityProvidersRequest(input *PutClusterCapacityProvidersInput) (req *request.Request, output *PutClusterCapacityProvidersOutput) { 3635 op := &request.Operation{ 3636 Name: opPutClusterCapacityProviders, 3637 HTTPMethod: "POST", 3638 HTTPPath: "/", 3639 } 3640 3641 if input == nil { 3642 input = &PutClusterCapacityProvidersInput{} 3643 } 3644 3645 output = &PutClusterCapacityProvidersOutput{} 3646 req = c.newRequest(op, input, output) 3647 return 3648} 3649 3650// PutClusterCapacityProviders API operation for Amazon EC2 Container Service. 3651// 3652// Modifies the available capacity providers and the default capacity provider 3653// strategy for a cluster. 3654// 3655// You must specify both the available capacity providers and a default capacity 3656// provider strategy for the cluster. If the specified cluster has existing 3657// capacity providers associated with it, you must specify all existing capacity 3658// providers in addition to any new ones you want to add. Any existing capacity 3659// providers associated with a cluster that are omitted from a PutClusterCapacityProviders 3660// API call will be disassociated with the cluster. You can only disassociate 3661// an existing capacity provider from a cluster if it's not being used by any 3662// existing tasks. 3663// 3664// When creating a service or running a task on a cluster, if no capacity provider 3665// or launch type is specified, then the cluster's default capacity provider 3666// strategy is used. It is recommended to define a default capacity provider 3667// strategy for your cluster, however you may specify an empty array ([]) to 3668// bypass defining a default strategy. 3669// 3670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3671// with awserr.Error's Code and Message methods to get detailed information about 3672// the error. 3673// 3674// See the AWS API reference guide for Amazon EC2 Container Service's 3675// API operation PutClusterCapacityProviders for usage and error information. 3676// 3677// Returned Error Types: 3678// * ServerException 3679// These errors are usually caused by a server issue. 3680// 3681// * ClientException 3682// These errors are usually caused by a client action, such as using an action 3683// or resource on behalf of a user that doesn't have permissions to use the 3684// action or resource, or specifying an identifier that is not valid. 3685// 3686// * InvalidParameterException 3687// The specified parameter is invalid. Review the available parameters for the 3688// API request. 3689// 3690// * ClusterNotFoundException 3691// The specified cluster could not be found. You can view your available clusters 3692// with ListClusters. Amazon ECS clusters are Region-specific. 3693// 3694// * ResourceInUseException 3695// The specified resource is in-use and cannot be removed. 3696// 3697// * UpdateInProgressException 3698// There is already a current Amazon ECS container agent update in progress 3699// on the specified container instance. If the container agent becomes disconnected 3700// while it is in a transitional stage, such as PENDING or STAGING, the update 3701// process can get stuck in that state. However, when the agent reconnects, 3702// it resumes where it stopped previously. 3703// 3704// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3705func (c *ECS) PutClusterCapacityProviders(input *PutClusterCapacityProvidersInput) (*PutClusterCapacityProvidersOutput, error) { 3706 req, out := c.PutClusterCapacityProvidersRequest(input) 3707 return out, req.Send() 3708} 3709 3710// PutClusterCapacityProvidersWithContext is the same as PutClusterCapacityProviders with the addition of 3711// the ability to pass a context and additional request options. 3712// 3713// See PutClusterCapacityProviders for details on how to use this API operation. 3714// 3715// The context must be non-nil and will be used for request cancellation. If 3716// the context is nil a panic will occur. In the future the SDK may create 3717// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3718// for more information on using Contexts. 3719func (c *ECS) PutClusterCapacityProvidersWithContext(ctx aws.Context, input *PutClusterCapacityProvidersInput, opts ...request.Option) (*PutClusterCapacityProvidersOutput, error) { 3720 req, out := c.PutClusterCapacityProvidersRequest(input) 3721 req.SetContext(ctx) 3722 req.ApplyOptions(opts...) 3723 return out, req.Send() 3724} 3725 3726const opRegisterContainerInstance = "RegisterContainerInstance" 3727 3728// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3729// client's request for the RegisterContainerInstance operation. The "output" return 3730// value will be populated with the request's response once the request completes 3731// successfully. 3732// 3733// Use "Send" method on the returned Request to send the API call to the service. 3734// the "output" return value is not valid until after Send returns without error. 3735// 3736// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3737// API call, and error handling. 3738// 3739// This method is useful when you want to inject custom logic or configuration 3740// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3741// 3742// 3743// // Example sending a request using the RegisterContainerInstanceRequest method. 3744// req, resp := client.RegisterContainerInstanceRequest(params) 3745// 3746// err := req.Send() 3747// if err == nil { // resp is now filled 3748// fmt.Println(resp) 3749// } 3750// 3751// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3752func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3753 op := &request.Operation{ 3754 Name: opRegisterContainerInstance, 3755 HTTPMethod: "POST", 3756 HTTPPath: "/", 3757 } 3758 3759 if input == nil { 3760 input = &RegisterContainerInstanceInput{} 3761 } 3762 3763 output = &RegisterContainerInstanceOutput{} 3764 req = c.newRequest(op, input, output) 3765 return 3766} 3767 3768// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3769// 3770// 3771// This action is only used by the Amazon ECS agent, and it is not intended 3772// for use outside of the agent. 3773// 3774// Registers an EC2 instance into the specified cluster. This instance becomes 3775// available to place containers on. 3776// 3777// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3778// with awserr.Error's Code and Message methods to get detailed information about 3779// the error. 3780// 3781// See the AWS API reference guide for Amazon EC2 Container Service's 3782// API operation RegisterContainerInstance for usage and error information. 3783// 3784// Returned Error Types: 3785// * ServerException 3786// These errors are usually caused by a server issue. 3787// 3788// * ClientException 3789// These errors are usually caused by a client action, such as using an action 3790// or resource on behalf of a user that doesn't have permissions to use the 3791// action or resource, or specifying an identifier that is not valid. 3792// 3793// * InvalidParameterException 3794// The specified parameter is invalid. Review the available parameters for the 3795// API request. 3796// 3797// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3798func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 3799 req, out := c.RegisterContainerInstanceRequest(input) 3800 return out, req.Send() 3801} 3802 3803// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 3804// the ability to pass a context and additional request options. 3805// 3806// See RegisterContainerInstance for details on how to use this API operation. 3807// 3808// The context must be non-nil and will be used for request cancellation. If 3809// the context is nil a panic will occur. In the future the SDK may create 3810// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3811// for more information on using Contexts. 3812func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 3813 req, out := c.RegisterContainerInstanceRequest(input) 3814 req.SetContext(ctx) 3815 req.ApplyOptions(opts...) 3816 return out, req.Send() 3817} 3818 3819const opRegisterTaskDefinition = "RegisterTaskDefinition" 3820 3821// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 3822// client's request for the RegisterTaskDefinition operation. The "output" return 3823// value will be populated with the request's response once the request completes 3824// successfully. 3825// 3826// Use "Send" method on the returned Request to send the API call to the service. 3827// the "output" return value is not valid until after Send returns without error. 3828// 3829// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 3830// API call, and error handling. 3831// 3832// This method is useful when you want to inject custom logic or configuration 3833// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3834// 3835// 3836// // Example sending a request using the RegisterTaskDefinitionRequest method. 3837// req, resp := client.RegisterTaskDefinitionRequest(params) 3838// 3839// err := req.Send() 3840// if err == nil { // resp is now filled 3841// fmt.Println(resp) 3842// } 3843// 3844// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3845func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 3846 op := &request.Operation{ 3847 Name: opRegisterTaskDefinition, 3848 HTTPMethod: "POST", 3849 HTTPPath: "/", 3850 } 3851 3852 if input == nil { 3853 input = &RegisterTaskDefinitionInput{} 3854 } 3855 3856 output = &RegisterTaskDefinitionOutput{} 3857 req = c.newRequest(op, input, output) 3858 return 3859} 3860 3861// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 3862// 3863// Registers a new task definition from the supplied family and containerDefinitions. 3864// Optionally, you can add data volumes to your containers with the volumes 3865// parameter. For more information about task definition parameters and defaults, 3866// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 3867// in the Amazon Elastic Container Service Developer Guide. 3868// 3869// You can specify an IAM role for your task with the taskRoleArn parameter. 3870// When you specify an IAM role for a task, its containers can then use the 3871// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 3872// that are specified in the IAM policy associated with the role. For more information, 3873// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3874// in the Amazon Elastic Container Service Developer Guide. 3875// 3876// You can specify a Docker networking mode for the containers in your task 3877// definition with the networkMode parameter. The available network modes correspond 3878// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 3879// in the Docker run reference. If you specify the awsvpc network mode, the 3880// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 3881// when you create a service or run a task with the task definition. For more 3882// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 3883// in the Amazon Elastic Container Service Developer Guide. 3884// 3885// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3886// with awserr.Error's Code and Message methods to get detailed information about 3887// the error. 3888// 3889// See the AWS API reference guide for Amazon EC2 Container Service's 3890// API operation RegisterTaskDefinition for usage and error information. 3891// 3892// Returned Error Types: 3893// * ServerException 3894// These errors are usually caused by a server issue. 3895// 3896// * ClientException 3897// These errors are usually caused by a client action, such as using an action 3898// or resource on behalf of a user that doesn't have permissions to use the 3899// action or resource, or specifying an identifier that is not valid. 3900// 3901// * InvalidParameterException 3902// The specified parameter is invalid. Review the available parameters for the 3903// API request. 3904// 3905// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3906func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 3907 req, out := c.RegisterTaskDefinitionRequest(input) 3908 return out, req.Send() 3909} 3910 3911// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 3912// the ability to pass a context and additional request options. 3913// 3914// See RegisterTaskDefinition for details on how to use this API operation. 3915// 3916// The context must be non-nil and will be used for request cancellation. If 3917// the context is nil a panic will occur. In the future the SDK may create 3918// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3919// for more information on using Contexts. 3920func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 3921 req, out := c.RegisterTaskDefinitionRequest(input) 3922 req.SetContext(ctx) 3923 req.ApplyOptions(opts...) 3924 return out, req.Send() 3925} 3926 3927const opRunTask = "RunTask" 3928 3929// RunTaskRequest generates a "aws/request.Request" representing the 3930// client's request for the RunTask operation. The "output" return 3931// value will be populated with the request's response once the request completes 3932// successfully. 3933// 3934// Use "Send" method on the returned Request to send the API call to the service. 3935// the "output" return value is not valid until after Send returns without error. 3936// 3937// See RunTask for more information on using the RunTask 3938// API call, and error handling. 3939// 3940// This method is useful when you want to inject custom logic or configuration 3941// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3942// 3943// 3944// // Example sending a request using the RunTaskRequest method. 3945// req, resp := client.RunTaskRequest(params) 3946// 3947// err := req.Send() 3948// if err == nil { // resp is now filled 3949// fmt.Println(resp) 3950// } 3951// 3952// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 3953func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 3954 op := &request.Operation{ 3955 Name: opRunTask, 3956 HTTPMethod: "POST", 3957 HTTPPath: "/", 3958 } 3959 3960 if input == nil { 3961 input = &RunTaskInput{} 3962 } 3963 3964 output = &RunTaskOutput{} 3965 req = c.newRequest(op, input, output) 3966 return 3967} 3968 3969// RunTask API operation for Amazon EC2 Container Service. 3970// 3971// Starts a new task using the specified task definition. 3972// 3973// You can allow Amazon ECS to place tasks for you, or you can customize how 3974// Amazon ECS places tasks using placement constraints and placement strategies. 3975// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 3976// in the Amazon Elastic Container Service Developer Guide. 3977// 3978// Alternatively, you can use StartTask to use your own scheduler or place tasks 3979// manually on specific container instances. 3980// 3981// The Amazon ECS API follows an eventual consistency model, due to the distributed 3982// nature of the system supporting the API. This means that the result of an 3983// API command you run that affects your Amazon ECS resources might not be immediately 3984// visible to all subsequent commands you run. Keep this in mind when you carry 3985// out an API command that immediately follows a previous API command. 3986// 3987// To manage eventual consistency, you can do the following: 3988// 3989// * Confirm the state of the resource before you run a command to modify 3990// it. Run the DescribeTasks command using an exponential backoff algorithm 3991// to ensure that you allow enough time for the previous command to propagate 3992// through the system. To do this, run the DescribeTasks command repeatedly, 3993// starting with a couple of seconds of wait time and increasing gradually 3994// up to five minutes of wait time. 3995// 3996// * Add wait time between subsequent commands, even if the DescribeTasks 3997// command returns an accurate response. Apply an exponential backoff algorithm 3998// starting with a couple of seconds of wait time, and increase gradually 3999// up to about five minutes of wait time. 4000// 4001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4002// with awserr.Error's Code and Message methods to get detailed information about 4003// the error. 4004// 4005// See the AWS API reference guide for Amazon EC2 Container Service's 4006// API operation RunTask for usage and error information. 4007// 4008// Returned Error Types: 4009// * ServerException 4010// These errors are usually caused by a server issue. 4011// 4012// * ClientException 4013// These errors are usually caused by a client action, such as using an action 4014// or resource on behalf of a user that doesn't have permissions to use the 4015// action or resource, or specifying an identifier that is not valid. 4016// 4017// * InvalidParameterException 4018// The specified parameter is invalid. Review the available parameters for the 4019// API request. 4020// 4021// * ClusterNotFoundException 4022// The specified cluster could not be found. You can view your available clusters 4023// with ListClusters. Amazon ECS clusters are Region-specific. 4024// 4025// * UnsupportedFeatureException 4026// The specified task is not supported in this Region. 4027// 4028// * PlatformUnknownException 4029// The specified platform version does not exist. 4030// 4031// * PlatformTaskDefinitionIncompatibilityException 4032// The specified platform version does not satisfy the task definition's required 4033// capabilities. 4034// 4035// * AccessDeniedException 4036// You do not have authorization to perform the requested action. 4037// 4038// * BlockedException 4039// Your AWS account has been blocked. For more information, contact AWS Support 4040// (http://aws.amazon.com/contact-us/). 4041// 4042// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4043func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 4044 req, out := c.RunTaskRequest(input) 4045 return out, req.Send() 4046} 4047 4048// RunTaskWithContext is the same as RunTask with the addition of 4049// the ability to pass a context and additional request options. 4050// 4051// See RunTask for details on how to use this API operation. 4052// 4053// The context must be non-nil and will be used for request cancellation. If 4054// the context is nil a panic will occur. In the future the SDK may create 4055// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4056// for more information on using Contexts. 4057func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 4058 req, out := c.RunTaskRequest(input) 4059 req.SetContext(ctx) 4060 req.ApplyOptions(opts...) 4061 return out, req.Send() 4062} 4063 4064const opStartTask = "StartTask" 4065 4066// StartTaskRequest generates a "aws/request.Request" representing the 4067// client's request for the StartTask operation. The "output" return 4068// value will be populated with the request's response once the request completes 4069// successfully. 4070// 4071// Use "Send" method on the returned Request to send the API call to the service. 4072// the "output" return value is not valid until after Send returns without error. 4073// 4074// See StartTask for more information on using the StartTask 4075// API call, and error handling. 4076// 4077// This method is useful when you want to inject custom logic or configuration 4078// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4079// 4080// 4081// // Example sending a request using the StartTaskRequest method. 4082// req, resp := client.StartTaskRequest(params) 4083// 4084// err := req.Send() 4085// if err == nil { // resp is now filled 4086// fmt.Println(resp) 4087// } 4088// 4089// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4090func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 4091 op := &request.Operation{ 4092 Name: opStartTask, 4093 HTTPMethod: "POST", 4094 HTTPPath: "/", 4095 } 4096 4097 if input == nil { 4098 input = &StartTaskInput{} 4099 } 4100 4101 output = &StartTaskOutput{} 4102 req = c.newRequest(op, input, output) 4103 return 4104} 4105 4106// StartTask API operation for Amazon EC2 Container Service. 4107// 4108// Starts a new task from the specified task definition on the specified container 4109// instance or instances. 4110// 4111// Alternatively, you can use RunTask to place tasks for you. For more information, 4112// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4113// in the Amazon Elastic Container Service Developer Guide. 4114// 4115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4116// with awserr.Error's Code and Message methods to get detailed information about 4117// the error. 4118// 4119// See the AWS API reference guide for Amazon EC2 Container Service's 4120// API operation StartTask for usage and error information. 4121// 4122// Returned Error Types: 4123// * ServerException 4124// These errors are usually caused by a server issue. 4125// 4126// * ClientException 4127// These errors are usually caused by a client action, such as using an action 4128// or resource on behalf of a user that doesn't have permissions to use the 4129// action or resource, or specifying an identifier that is not valid. 4130// 4131// * InvalidParameterException 4132// The specified parameter is invalid. Review the available parameters for the 4133// API request. 4134// 4135// * ClusterNotFoundException 4136// The specified cluster could not be found. You can view your available clusters 4137// with ListClusters. Amazon ECS clusters are Region-specific. 4138// 4139// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4140func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 4141 req, out := c.StartTaskRequest(input) 4142 return out, req.Send() 4143} 4144 4145// StartTaskWithContext is the same as StartTask with the addition of 4146// the ability to pass a context and additional request options. 4147// 4148// See StartTask for details on how to use this API operation. 4149// 4150// The context must be non-nil and will be used for request cancellation. If 4151// the context is nil a panic will occur. In the future the SDK may create 4152// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4153// for more information on using Contexts. 4154func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 4155 req, out := c.StartTaskRequest(input) 4156 req.SetContext(ctx) 4157 req.ApplyOptions(opts...) 4158 return out, req.Send() 4159} 4160 4161const opStopTask = "StopTask" 4162 4163// StopTaskRequest generates a "aws/request.Request" representing the 4164// client's request for the StopTask operation. The "output" return 4165// value will be populated with the request's response once the request completes 4166// successfully. 4167// 4168// Use "Send" method on the returned Request to send the API call to the service. 4169// the "output" return value is not valid until after Send returns without error. 4170// 4171// See StopTask for more information on using the StopTask 4172// API call, and error handling. 4173// 4174// This method is useful when you want to inject custom logic or configuration 4175// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4176// 4177// 4178// // Example sending a request using the StopTaskRequest method. 4179// req, resp := client.StopTaskRequest(params) 4180// 4181// err := req.Send() 4182// if err == nil { // resp is now filled 4183// fmt.Println(resp) 4184// } 4185// 4186// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4187func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 4188 op := &request.Operation{ 4189 Name: opStopTask, 4190 HTTPMethod: "POST", 4191 HTTPPath: "/", 4192 } 4193 4194 if input == nil { 4195 input = &StopTaskInput{} 4196 } 4197 4198 output = &StopTaskOutput{} 4199 req = c.newRequest(op, input, output) 4200 return 4201} 4202 4203// StopTask API operation for Amazon EC2 Container Service. 4204// 4205// Stops a running task. Any tags associated with the task will be deleted. 4206// 4207// When StopTask is called on a task, the equivalent of docker stop is issued 4208// to the containers running in the task. This results in a SIGTERM value and 4209// a default 30-second timeout, after which the SIGKILL value is sent and the 4210// containers are forcibly stopped. If the container handles the SIGTERM value 4211// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 4212// is sent. 4213// 4214// The default 30-second timeout can be configured on the Amazon ECS container 4215// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 4216// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4217// in the Amazon Elastic Container Service Developer Guide. 4218// 4219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4220// with awserr.Error's Code and Message methods to get detailed information about 4221// the error. 4222// 4223// See the AWS API reference guide for Amazon EC2 Container Service's 4224// API operation StopTask for usage and error information. 4225// 4226// Returned Error Types: 4227// * ServerException 4228// These errors are usually caused by a server issue. 4229// 4230// * ClientException 4231// These errors are usually caused by a client action, such as using an action 4232// or resource on behalf of a user that doesn't have permissions to use the 4233// action or resource, or specifying an identifier that is not valid. 4234// 4235// * InvalidParameterException 4236// The specified parameter is invalid. Review the available parameters for the 4237// API request. 4238// 4239// * ClusterNotFoundException 4240// The specified cluster could not be found. You can view your available clusters 4241// with ListClusters. Amazon ECS clusters are Region-specific. 4242// 4243// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4244func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 4245 req, out := c.StopTaskRequest(input) 4246 return out, req.Send() 4247} 4248 4249// StopTaskWithContext is the same as StopTask with the addition of 4250// the ability to pass a context and additional request options. 4251// 4252// See StopTask for details on how to use this API operation. 4253// 4254// The context must be non-nil and will be used for request cancellation. If 4255// the context is nil a panic will occur. In the future the SDK may create 4256// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4257// for more information on using Contexts. 4258func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 4259 req, out := c.StopTaskRequest(input) 4260 req.SetContext(ctx) 4261 req.ApplyOptions(opts...) 4262 return out, req.Send() 4263} 4264 4265const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 4266 4267// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 4268// client's request for the SubmitAttachmentStateChanges operation. The "output" return 4269// value will be populated with the request's response once the request completes 4270// successfully. 4271// 4272// Use "Send" method on the returned Request to send the API call to the service. 4273// the "output" return value is not valid until after Send returns without error. 4274// 4275// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 4276// API call, and error handling. 4277// 4278// This method is useful when you want to inject custom logic or configuration 4279// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4280// 4281// 4282// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 4283// req, resp := client.SubmitAttachmentStateChangesRequest(params) 4284// 4285// err := req.Send() 4286// if err == nil { // resp is now filled 4287// fmt.Println(resp) 4288// } 4289// 4290// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4291func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 4292 op := &request.Operation{ 4293 Name: opSubmitAttachmentStateChanges, 4294 HTTPMethod: "POST", 4295 HTTPPath: "/", 4296 } 4297 4298 if input == nil { 4299 input = &SubmitAttachmentStateChangesInput{} 4300 } 4301 4302 output = &SubmitAttachmentStateChangesOutput{} 4303 req = c.newRequest(op, input, output) 4304 return 4305} 4306 4307// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 4308// 4309// 4310// This action is only used by the Amazon ECS agent, and it is not intended 4311// for use outside of the agent. 4312// 4313// Sent to acknowledge that an attachment changed states. 4314// 4315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4316// with awserr.Error's Code and Message methods to get detailed information about 4317// the error. 4318// 4319// See the AWS API reference guide for Amazon EC2 Container Service's 4320// API operation SubmitAttachmentStateChanges for usage and error information. 4321// 4322// Returned Error Types: 4323// * ServerException 4324// These errors are usually caused by a server issue. 4325// 4326// * ClientException 4327// These errors are usually caused by a client action, such as using an action 4328// or resource on behalf of a user that doesn't have permissions to use the 4329// action or resource, or specifying an identifier that is not valid. 4330// 4331// * AccessDeniedException 4332// You do not have authorization to perform the requested action. 4333// 4334// * InvalidParameterException 4335// The specified parameter is invalid. Review the available parameters for the 4336// API request. 4337// 4338// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4339func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 4340 req, out := c.SubmitAttachmentStateChangesRequest(input) 4341 return out, req.Send() 4342} 4343 4344// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 4345// the ability to pass a context and additional request options. 4346// 4347// See SubmitAttachmentStateChanges for details on how to use this API operation. 4348// 4349// The context must be non-nil and will be used for request cancellation. If 4350// the context is nil a panic will occur. In the future the SDK may create 4351// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4352// for more information on using Contexts. 4353func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 4354 req, out := c.SubmitAttachmentStateChangesRequest(input) 4355 req.SetContext(ctx) 4356 req.ApplyOptions(opts...) 4357 return out, req.Send() 4358} 4359 4360const opSubmitContainerStateChange = "SubmitContainerStateChange" 4361 4362// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 4363// client's request for the SubmitContainerStateChange operation. The "output" return 4364// value will be populated with the request's response once the request completes 4365// successfully. 4366// 4367// Use "Send" method on the returned Request to send the API call to the service. 4368// the "output" return value is not valid until after Send returns without error. 4369// 4370// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 4371// API call, and error handling. 4372// 4373// This method is useful when you want to inject custom logic or configuration 4374// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4375// 4376// 4377// // Example sending a request using the SubmitContainerStateChangeRequest method. 4378// req, resp := client.SubmitContainerStateChangeRequest(params) 4379// 4380// err := req.Send() 4381// if err == nil { // resp is now filled 4382// fmt.Println(resp) 4383// } 4384// 4385// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4386func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 4387 op := &request.Operation{ 4388 Name: opSubmitContainerStateChange, 4389 HTTPMethod: "POST", 4390 HTTPPath: "/", 4391 } 4392 4393 if input == nil { 4394 input = &SubmitContainerStateChangeInput{} 4395 } 4396 4397 output = &SubmitContainerStateChangeOutput{} 4398 req = c.newRequest(op, input, output) 4399 return 4400} 4401 4402// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 4403// 4404// 4405// This action is only used by the Amazon ECS agent, and it is not intended 4406// for use outside of the agent. 4407// 4408// Sent to acknowledge that a container changed states. 4409// 4410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4411// with awserr.Error's Code and Message methods to get detailed information about 4412// the error. 4413// 4414// See the AWS API reference guide for Amazon EC2 Container Service's 4415// API operation SubmitContainerStateChange for usage and error information. 4416// 4417// Returned Error Types: 4418// * ServerException 4419// These errors are usually caused by a server issue. 4420// 4421// * ClientException 4422// These errors are usually caused by a client action, such as using an action 4423// or resource on behalf of a user that doesn't have permissions to use the 4424// action or resource, or specifying an identifier that is not valid. 4425// 4426// * AccessDeniedException 4427// You do not have authorization to perform the requested action. 4428// 4429// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4430func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 4431 req, out := c.SubmitContainerStateChangeRequest(input) 4432 return out, req.Send() 4433} 4434 4435// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 4436// the ability to pass a context and additional request options. 4437// 4438// See SubmitContainerStateChange for details on how to use this API operation. 4439// 4440// The context must be non-nil and will be used for request cancellation. If 4441// the context is nil a panic will occur. In the future the SDK may create 4442// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4443// for more information on using Contexts. 4444func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 4445 req, out := c.SubmitContainerStateChangeRequest(input) 4446 req.SetContext(ctx) 4447 req.ApplyOptions(opts...) 4448 return out, req.Send() 4449} 4450 4451const opSubmitTaskStateChange = "SubmitTaskStateChange" 4452 4453// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4454// client's request for the SubmitTaskStateChange operation. The "output" return 4455// value will be populated with the request's response once the request completes 4456// successfully. 4457// 4458// Use "Send" method on the returned Request to send the API call to the service. 4459// the "output" return value is not valid until after Send returns without error. 4460// 4461// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4462// API call, and error handling. 4463// 4464// This method is useful when you want to inject custom logic or configuration 4465// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4466// 4467// 4468// // Example sending a request using the SubmitTaskStateChangeRequest method. 4469// req, resp := client.SubmitTaskStateChangeRequest(params) 4470// 4471// err := req.Send() 4472// if err == nil { // resp is now filled 4473// fmt.Println(resp) 4474// } 4475// 4476// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4477func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4478 op := &request.Operation{ 4479 Name: opSubmitTaskStateChange, 4480 HTTPMethod: "POST", 4481 HTTPPath: "/", 4482 } 4483 4484 if input == nil { 4485 input = &SubmitTaskStateChangeInput{} 4486 } 4487 4488 output = &SubmitTaskStateChangeOutput{} 4489 req = c.newRequest(op, input, output) 4490 return 4491} 4492 4493// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4494// 4495// 4496// This action is only used by the Amazon ECS agent, and it is not intended 4497// for use outside of the agent. 4498// 4499// Sent to acknowledge that a task changed states. 4500// 4501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4502// with awserr.Error's Code and Message methods to get detailed information about 4503// the error. 4504// 4505// See the AWS API reference guide for Amazon EC2 Container Service's 4506// API operation SubmitTaskStateChange for usage and error information. 4507// 4508// Returned Error Types: 4509// * ServerException 4510// These errors are usually caused by a server issue. 4511// 4512// * ClientException 4513// These errors are usually caused by a client action, such as using an action 4514// or resource on behalf of a user that doesn't have permissions to use the 4515// action or resource, or specifying an identifier that is not valid. 4516// 4517// * AccessDeniedException 4518// You do not have authorization to perform the requested action. 4519// 4520// * InvalidParameterException 4521// The specified parameter is invalid. Review the available parameters for the 4522// API request. 4523// 4524// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4525func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4526 req, out := c.SubmitTaskStateChangeRequest(input) 4527 return out, req.Send() 4528} 4529 4530// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4531// the ability to pass a context and additional request options. 4532// 4533// See SubmitTaskStateChange for details on how to use this API operation. 4534// 4535// The context must be non-nil and will be used for request cancellation. If 4536// the context is nil a panic will occur. In the future the SDK may create 4537// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4538// for more information on using Contexts. 4539func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4540 req, out := c.SubmitTaskStateChangeRequest(input) 4541 req.SetContext(ctx) 4542 req.ApplyOptions(opts...) 4543 return out, req.Send() 4544} 4545 4546const opTagResource = "TagResource" 4547 4548// TagResourceRequest generates a "aws/request.Request" representing the 4549// client's request for the TagResource operation. The "output" return 4550// value will be populated with the request's response once the request completes 4551// successfully. 4552// 4553// Use "Send" method on the returned Request to send the API call to the service. 4554// the "output" return value is not valid until after Send returns without error. 4555// 4556// See TagResource for more information on using the TagResource 4557// API call, and error handling. 4558// 4559// This method is useful when you want to inject custom logic or configuration 4560// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4561// 4562// 4563// // Example sending a request using the TagResourceRequest method. 4564// req, resp := client.TagResourceRequest(params) 4565// 4566// err := req.Send() 4567// if err == nil { // resp is now filled 4568// fmt.Println(resp) 4569// } 4570// 4571// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4572func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4573 op := &request.Operation{ 4574 Name: opTagResource, 4575 HTTPMethod: "POST", 4576 HTTPPath: "/", 4577 } 4578 4579 if input == nil { 4580 input = &TagResourceInput{} 4581 } 4582 4583 output = &TagResourceOutput{} 4584 req = c.newRequest(op, input, output) 4585 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4586 return 4587} 4588 4589// TagResource API operation for Amazon EC2 Container Service. 4590// 4591// Associates the specified tags to a resource with the specified resourceArn. 4592// If existing tags on a resource are not specified in the request parameters, 4593// they are not changed. When a resource is deleted, the tags associated with 4594// that resource are deleted as well. 4595// 4596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4597// with awserr.Error's Code and Message methods to get detailed information about 4598// the error. 4599// 4600// See the AWS API reference guide for Amazon EC2 Container Service's 4601// API operation TagResource for usage and error information. 4602// 4603// Returned Error Types: 4604// * ServerException 4605// These errors are usually caused by a server issue. 4606// 4607// * ClientException 4608// These errors are usually caused by a client action, such as using an action 4609// or resource on behalf of a user that doesn't have permissions to use the 4610// action or resource, or specifying an identifier that is not valid. 4611// 4612// * ClusterNotFoundException 4613// The specified cluster could not be found. You can view your available clusters 4614// with ListClusters. Amazon ECS clusters are Region-specific. 4615// 4616// * ResourceNotFoundException 4617// The specified resource could not be found. 4618// 4619// * InvalidParameterException 4620// The specified parameter is invalid. Review the available parameters for the 4621// API request. 4622// 4623// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4624func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4625 req, out := c.TagResourceRequest(input) 4626 return out, req.Send() 4627} 4628 4629// TagResourceWithContext is the same as TagResource with the addition of 4630// the ability to pass a context and additional request options. 4631// 4632// See TagResource for details on how to use this API operation. 4633// 4634// The context must be non-nil and will be used for request cancellation. If 4635// the context is nil a panic will occur. In the future the SDK may create 4636// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4637// for more information on using Contexts. 4638func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4639 req, out := c.TagResourceRequest(input) 4640 req.SetContext(ctx) 4641 req.ApplyOptions(opts...) 4642 return out, req.Send() 4643} 4644 4645const opUntagResource = "UntagResource" 4646 4647// UntagResourceRequest generates a "aws/request.Request" representing the 4648// client's request for the UntagResource operation. The "output" return 4649// value will be populated with the request's response once the request completes 4650// successfully. 4651// 4652// Use "Send" method on the returned Request to send the API call to the service. 4653// the "output" return value is not valid until after Send returns without error. 4654// 4655// See UntagResource for more information on using the UntagResource 4656// API call, and error handling. 4657// 4658// This method is useful when you want to inject custom logic or configuration 4659// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4660// 4661// 4662// // Example sending a request using the UntagResourceRequest method. 4663// req, resp := client.UntagResourceRequest(params) 4664// 4665// err := req.Send() 4666// if err == nil { // resp is now filled 4667// fmt.Println(resp) 4668// } 4669// 4670// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4671func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4672 op := &request.Operation{ 4673 Name: opUntagResource, 4674 HTTPMethod: "POST", 4675 HTTPPath: "/", 4676 } 4677 4678 if input == nil { 4679 input = &UntagResourceInput{} 4680 } 4681 4682 output = &UntagResourceOutput{} 4683 req = c.newRequest(op, input, output) 4684 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4685 return 4686} 4687 4688// UntagResource API operation for Amazon EC2 Container Service. 4689// 4690// Deletes specified tags from a resource. 4691// 4692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4693// with awserr.Error's Code and Message methods to get detailed information about 4694// the error. 4695// 4696// See the AWS API reference guide for Amazon EC2 Container Service's 4697// API operation UntagResource for usage and error information. 4698// 4699// Returned Error Types: 4700// * ServerException 4701// These errors are usually caused by a server issue. 4702// 4703// * ClientException 4704// These errors are usually caused by a client action, such as using an action 4705// or resource on behalf of a user that doesn't have permissions to use the 4706// action or resource, or specifying an identifier that is not valid. 4707// 4708// * ClusterNotFoundException 4709// The specified cluster could not be found. You can view your available clusters 4710// with ListClusters. Amazon ECS clusters are Region-specific. 4711// 4712// * ResourceNotFoundException 4713// The specified resource could not be found. 4714// 4715// * InvalidParameterException 4716// The specified parameter is invalid. Review the available parameters for the 4717// API request. 4718// 4719// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4720func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4721 req, out := c.UntagResourceRequest(input) 4722 return out, req.Send() 4723} 4724 4725// UntagResourceWithContext is the same as UntagResource with the addition of 4726// the ability to pass a context and additional request options. 4727// 4728// See UntagResource for details on how to use this API operation. 4729// 4730// The context must be non-nil and will be used for request cancellation. If 4731// the context is nil a panic will occur. In the future the SDK may create 4732// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4733// for more information on using Contexts. 4734func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4735 req, out := c.UntagResourceRequest(input) 4736 req.SetContext(ctx) 4737 req.ApplyOptions(opts...) 4738 return out, req.Send() 4739} 4740 4741const opUpdateClusterSettings = "UpdateClusterSettings" 4742 4743// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 4744// client's request for the UpdateClusterSettings operation. The "output" return 4745// value will be populated with the request's response once the request completes 4746// successfully. 4747// 4748// Use "Send" method on the returned Request to send the API call to the service. 4749// the "output" return value is not valid until after Send returns without error. 4750// 4751// See UpdateClusterSettings for more information on using the UpdateClusterSettings 4752// API call, and error handling. 4753// 4754// This method is useful when you want to inject custom logic or configuration 4755// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4756// 4757// 4758// // Example sending a request using the UpdateClusterSettingsRequest method. 4759// req, resp := client.UpdateClusterSettingsRequest(params) 4760// 4761// err := req.Send() 4762// if err == nil { // resp is now filled 4763// fmt.Println(resp) 4764// } 4765// 4766// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4767func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 4768 op := &request.Operation{ 4769 Name: opUpdateClusterSettings, 4770 HTTPMethod: "POST", 4771 HTTPPath: "/", 4772 } 4773 4774 if input == nil { 4775 input = &UpdateClusterSettingsInput{} 4776 } 4777 4778 output = &UpdateClusterSettingsOutput{} 4779 req = c.newRequest(op, input, output) 4780 return 4781} 4782 4783// UpdateClusterSettings API operation for Amazon EC2 Container Service. 4784// 4785// Modifies the settings to use for a cluster. 4786// 4787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4788// with awserr.Error's Code and Message methods to get detailed information about 4789// the error. 4790// 4791// See the AWS API reference guide for Amazon EC2 Container Service's 4792// API operation UpdateClusterSettings for usage and error information. 4793// 4794// Returned Error Types: 4795// * ServerException 4796// These errors are usually caused by a server issue. 4797// 4798// * ClientException 4799// These errors are usually caused by a client action, such as using an action 4800// or resource on behalf of a user that doesn't have permissions to use the 4801// action or resource, or specifying an identifier that is not valid. 4802// 4803// * ClusterNotFoundException 4804// The specified cluster could not be found. You can view your available clusters 4805// with ListClusters. Amazon ECS clusters are Region-specific. 4806// 4807// * InvalidParameterException 4808// The specified parameter is invalid. Review the available parameters for the 4809// API request. 4810// 4811// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4812func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 4813 req, out := c.UpdateClusterSettingsRequest(input) 4814 return out, req.Send() 4815} 4816 4817// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 4818// the ability to pass a context and additional request options. 4819// 4820// See UpdateClusterSettings for details on how to use this API operation. 4821// 4822// The context must be non-nil and will be used for request cancellation. If 4823// the context is nil a panic will occur. In the future the SDK may create 4824// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4825// for more information on using Contexts. 4826func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 4827 req, out := c.UpdateClusterSettingsRequest(input) 4828 req.SetContext(ctx) 4829 req.ApplyOptions(opts...) 4830 return out, req.Send() 4831} 4832 4833const opUpdateContainerAgent = "UpdateContainerAgent" 4834 4835// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 4836// client's request for the UpdateContainerAgent operation. The "output" return 4837// value will be populated with the request's response once the request completes 4838// successfully. 4839// 4840// Use "Send" method on the returned Request to send the API call to the service. 4841// the "output" return value is not valid until after Send returns without error. 4842// 4843// See UpdateContainerAgent for more information on using the UpdateContainerAgent 4844// API call, and error handling. 4845// 4846// This method is useful when you want to inject custom logic or configuration 4847// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4848// 4849// 4850// // Example sending a request using the UpdateContainerAgentRequest method. 4851// req, resp := client.UpdateContainerAgentRequest(params) 4852// 4853// err := req.Send() 4854// if err == nil { // resp is now filled 4855// fmt.Println(resp) 4856// } 4857// 4858// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4859func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 4860 op := &request.Operation{ 4861 Name: opUpdateContainerAgent, 4862 HTTPMethod: "POST", 4863 HTTPPath: "/", 4864 } 4865 4866 if input == nil { 4867 input = &UpdateContainerAgentInput{} 4868 } 4869 4870 output = &UpdateContainerAgentOutput{} 4871 req = c.newRequest(op, input, output) 4872 return 4873} 4874 4875// UpdateContainerAgent API operation for Amazon EC2 Container Service. 4876// 4877// Updates the Amazon ECS container agent on a specified container instance. 4878// Updating the Amazon ECS container agent does not interrupt running tasks 4879// or services on the container instance. The process for updating the agent 4880// differs depending on whether your container instance was launched with the 4881// Amazon ECS-optimized AMI or another operating system. 4882// 4883// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 4884// with the ecs-init service installed and running. For help updating the Amazon 4885// ECS container agent on other operating systems, see Manually Updating the 4886// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 4887// in the Amazon Elastic Container Service Developer Guide. 4888// 4889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4890// with awserr.Error's Code and Message methods to get detailed information about 4891// the error. 4892// 4893// See the AWS API reference guide for Amazon EC2 Container Service's 4894// API operation UpdateContainerAgent for usage and error information. 4895// 4896// Returned Error Types: 4897// * ServerException 4898// These errors are usually caused by a server issue. 4899// 4900// * ClientException 4901// These errors are usually caused by a client action, such as using an action 4902// or resource on behalf of a user that doesn't have permissions to use the 4903// action or resource, or specifying an identifier that is not valid. 4904// 4905// * InvalidParameterException 4906// The specified parameter is invalid. Review the available parameters for the 4907// API request. 4908// 4909// * ClusterNotFoundException 4910// The specified cluster could not be found. You can view your available clusters 4911// with ListClusters. Amazon ECS clusters are Region-specific. 4912// 4913// * UpdateInProgressException 4914// There is already a current Amazon ECS container agent update in progress 4915// on the specified container instance. If the container agent becomes disconnected 4916// while it is in a transitional stage, such as PENDING or STAGING, the update 4917// process can get stuck in that state. However, when the agent reconnects, 4918// it resumes where it stopped previously. 4919// 4920// * NoUpdateAvailableException 4921// There is no update available for this Amazon ECS container agent. This could 4922// be because the agent is already running the latest version, or it is so old 4923// that there is no update path to the current version. 4924// 4925// * MissingVersionException 4926// Amazon ECS is unable to determine the current version of the Amazon ECS container 4927// agent on the container instance and does not have enough information to proceed 4928// with an update. This could be because the agent running on the container 4929// instance is an older or custom version that does not use our version information. 4930// 4931// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4932func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 4933 req, out := c.UpdateContainerAgentRequest(input) 4934 return out, req.Send() 4935} 4936 4937// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 4938// the ability to pass a context and additional request options. 4939// 4940// See UpdateContainerAgent for details on how to use this API operation. 4941// 4942// The context must be non-nil and will be used for request cancellation. If 4943// the context is nil a panic will occur. In the future the SDK may create 4944// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4945// for more information on using Contexts. 4946func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 4947 req, out := c.UpdateContainerAgentRequest(input) 4948 req.SetContext(ctx) 4949 req.ApplyOptions(opts...) 4950 return out, req.Send() 4951} 4952 4953const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 4954 4955// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 4956// client's request for the UpdateContainerInstancesState operation. The "output" return 4957// value will be populated with the request's response once the request completes 4958// successfully. 4959// 4960// Use "Send" method on the returned Request to send the API call to the service. 4961// the "output" return value is not valid until after Send returns without error. 4962// 4963// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 4964// API call, and error handling. 4965// 4966// This method is useful when you want to inject custom logic or configuration 4967// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4968// 4969// 4970// // Example sending a request using the UpdateContainerInstancesStateRequest method. 4971// req, resp := client.UpdateContainerInstancesStateRequest(params) 4972// 4973// err := req.Send() 4974// if err == nil { // resp is now filled 4975// fmt.Println(resp) 4976// } 4977// 4978// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 4979func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 4980 op := &request.Operation{ 4981 Name: opUpdateContainerInstancesState, 4982 HTTPMethod: "POST", 4983 HTTPPath: "/", 4984 } 4985 4986 if input == nil { 4987 input = &UpdateContainerInstancesStateInput{} 4988 } 4989 4990 output = &UpdateContainerInstancesStateOutput{} 4991 req = c.newRequest(op, input, output) 4992 return 4993} 4994 4995// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 4996// 4997// Modifies the status of an Amazon ECS container instance. 4998// 4999// Once a container instance has reached an ACTIVE state, you can change the 5000// status of a container instance to DRAINING to manually remove an instance 5001// from a cluster, for example to perform system updates, update the Docker 5002// daemon, or scale down the cluster size. 5003// 5004// A container instance cannot be changed to DRAINING until it has reached an 5005// ACTIVE status. If the instance is in any other status, an error will be received. 5006// 5007// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 5008// from being scheduled for placement on the container instance and replacement 5009// service tasks are started on other container instances in the cluster if 5010// the resources are available. Service tasks on the container instance that 5011// are in the PENDING state are stopped immediately. 5012// 5013// Service tasks on the container instance that are in the RUNNING state are 5014// stopped and replaced according to the service's deployment configuration 5015// parameters, minimumHealthyPercent and maximumPercent. You can change the 5016// deployment configuration of your service using UpdateService. 5017// 5018// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5019// temporarily during task replacement. For example, desiredCount is four 5020// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5021// before starting two new tasks. If the minimum is 100%, the service scheduler 5022// can't remove existing tasks until the replacement tasks are considered 5023// healthy. Tasks for services that do not use a load balancer are considered 5024// healthy if they are in the RUNNING state. Tasks for services that use 5025// a load balancer are considered healthy if they are in the RUNNING state 5026// and the container instance they are hosted on is reported as healthy by 5027// the load balancer. 5028// 5029// * The maximumPercent parameter represents an upper limit on the number 5030// of running tasks during task replacement, which enables you to define 5031// the replacement batch size. For example, if desiredCount is four tasks, 5032// a maximum of 200% starts four new tasks before stopping the four tasks 5033// to be drained, provided that the cluster resources required to do this 5034// are available. If the maximum is 100%, then replacement tasks can't start 5035// until the draining tasks have stopped. 5036// 5037// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 5038// You must wait for them to finish or stop them manually. 5039// 5040// A container instance has completed draining when it has no more RUNNING tasks. 5041// You can verify this using ListTasks. 5042// 5043// When a container instance has been drained, you can set a container instance 5044// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 5045// can begin scheduling tasks on the instance again. 5046// 5047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5048// with awserr.Error's Code and Message methods to get detailed information about 5049// the error. 5050// 5051// See the AWS API reference guide for Amazon EC2 Container Service's 5052// API operation UpdateContainerInstancesState for usage and error information. 5053// 5054// Returned Error Types: 5055// * ServerException 5056// These errors are usually caused by a server issue. 5057// 5058// * ClientException 5059// These errors are usually caused by a client action, such as using an action 5060// or resource on behalf of a user that doesn't have permissions to use the 5061// action or resource, or specifying an identifier that is not valid. 5062// 5063// * InvalidParameterException 5064// The specified parameter is invalid. Review the available parameters for the 5065// API request. 5066// 5067// * ClusterNotFoundException 5068// The specified cluster could not be found. You can view your available clusters 5069// with ListClusters. Amazon ECS clusters are Region-specific. 5070// 5071// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5072func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5073 req, out := c.UpdateContainerInstancesStateRequest(input) 5074 return out, req.Send() 5075} 5076 5077// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5078// the ability to pass a context and additional request options. 5079// 5080// See UpdateContainerInstancesState for details on how to use this API operation. 5081// 5082// The context must be non-nil and will be used for request cancellation. If 5083// the context is nil a panic will occur. In the future the SDK may create 5084// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5085// for more information on using Contexts. 5086func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5087 req, out := c.UpdateContainerInstancesStateRequest(input) 5088 req.SetContext(ctx) 5089 req.ApplyOptions(opts...) 5090 return out, req.Send() 5091} 5092 5093const opUpdateService = "UpdateService" 5094 5095// UpdateServiceRequest generates a "aws/request.Request" representing the 5096// client's request for the UpdateService operation. The "output" return 5097// value will be populated with the request's response once the request completes 5098// successfully. 5099// 5100// Use "Send" method on the returned Request to send the API call to the service. 5101// the "output" return value is not valid until after Send returns without error. 5102// 5103// See UpdateService for more information on using the UpdateService 5104// API call, and error handling. 5105// 5106// This method is useful when you want to inject custom logic or configuration 5107// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5108// 5109// 5110// // Example sending a request using the UpdateServiceRequest method. 5111// req, resp := client.UpdateServiceRequest(params) 5112// 5113// err := req.Send() 5114// if err == nil { // resp is now filled 5115// fmt.Println(resp) 5116// } 5117// 5118// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5119func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5120 op := &request.Operation{ 5121 Name: opUpdateService, 5122 HTTPMethod: "POST", 5123 HTTPPath: "/", 5124 } 5125 5126 if input == nil { 5127 input = &UpdateServiceInput{} 5128 } 5129 5130 output = &UpdateServiceOutput{} 5131 req = c.newRequest(op, input, output) 5132 return 5133} 5134 5135// UpdateService API operation for Amazon EC2 Container Service. 5136// 5137// 5138// Updating the task placement strategies and constraints on an Amazon ECS service 5139// remains in preview and is a Beta Service as defined by and subject to the 5140// Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms 5141// (https://aws.amazon.com/service-terms) ("Beta Terms"). These Beta Terms apply 5142// to your participation in this preview. 5143// 5144// Modifies the parameters of a service. 5145// 5146// For services using the rolling update (ECS) deployment controller, the desired 5147// count, deployment configuration, network configuration, task placement constraints 5148// and strategies, or task definition used can be updated. 5149// 5150// For services using the blue/green (CODE_DEPLOY) deployment controller, only 5151// the desired count, deployment configuration, task placement constraints and 5152// strategies, and health check grace period can be updated using this API. 5153// If the network configuration, platform version, or task definition need to 5154// be updated, a new AWS CodeDeploy deployment should be created. For more information, 5155// see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5156// in the AWS CodeDeploy API Reference. 5157// 5158// For services using an external deployment controller, you can update only 5159// the desired count, task placement constraints and strategies, and health 5160// check grace period using this API. If the launch type, load balancer, network 5161// configuration, platform version, or task definition need to be updated, you 5162// should create a new task set. For more information, see CreateTaskSet. 5163// 5164// You can add to or subtract from the number of instantiations of a task definition 5165// in a service by specifying the cluster that the service is running in and 5166// a new desiredCount parameter. 5167// 5168// If you have updated the Docker image of your application, you can create 5169// a new task definition with that image and deploy it to your service. The 5170// service scheduler uses the minimum healthy percent and maximum percent parameters 5171// (in the service's deployment configuration) to determine the deployment strategy. 5172// 5173// If your updated Docker image uses the same tag as what is in the existing 5174// task definition for your service (for example, my_image:latest), you do not 5175// need to create a new revision of your task definition. You can update the 5176// service using the forceNewDeployment option. The new tasks launched by the 5177// deployment pull the current image/tag combination from your repository when 5178// they start. 5179// 5180// You can also update the deployment configuration of a service. When a deployment 5181// is triggered by updating the task definition of a service, the service scheduler 5182// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5183// to determine the deployment strategy. 5184// 5185// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5186// temporarily during a deployment. For example, if desiredCount is four 5187// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5188// before starting two new tasks. Tasks for services that do not use a load 5189// balancer are considered healthy if they are in the RUNNING state. Tasks 5190// for services that use a load balancer are considered healthy if they are 5191// in the RUNNING state and the container instance they are hosted on is 5192// reported as healthy by the load balancer. 5193// 5194// * The maximumPercent parameter represents an upper limit on the number 5195// of running tasks during a deployment, which enables you to define the 5196// deployment batch size. For example, if desiredCount is four tasks, a maximum 5197// of 200% starts four new tasks before stopping the four older tasks (provided 5198// that the cluster resources required to do this are available). 5199// 5200// When UpdateService stops a task during a deployment, the equivalent of docker 5201// stop is issued to the containers running in the task. This results in a SIGTERM 5202// and a 30-second timeout, after which SIGKILL is sent and the containers are 5203// forcibly stopped. If the container handles the SIGTERM gracefully and exits 5204// within 30 seconds from receiving it, no SIGKILL is sent. 5205// 5206// When the service scheduler launches new tasks, it determines task placement 5207// in your cluster with the following logic: 5208// 5209// * Determine which of the container instances in your cluster can support 5210// your service's task definition (for example, they have the required CPU, 5211// memory, ports, and container instance attributes). 5212// 5213// * By default, the service scheduler attempts to balance tasks across Availability 5214// Zones in this manner (although you can choose a different placement strategy): 5215// Sort the valid container instances by the fewest number of running tasks 5216// for this service in the same Availability Zone as the instance. For example, 5217// if zone A has one running service task and zones B and C each have zero, 5218// valid container instances in either zone B or C are considered optimal 5219// for placement. Place the new service task on a valid container instance 5220// in an optimal Availability Zone (based on the previous steps), favoring 5221// container instances with the fewest number of running tasks for this service. 5222// 5223// When the service scheduler stops running tasks, it attempts to maintain balance 5224// across the Availability Zones in your cluster using the following logic: 5225// 5226// * Sort the container instances by the largest number of running tasks 5227// for this service in the same Availability Zone as the instance. For example, 5228// if zone A has one running service task and zones B and C each have two, 5229// container instances in either zone B or C are considered optimal for termination. 5230// 5231// * Stop the task on a container instance in an optimal Availability Zone 5232// (based on the previous steps), favoring container instances with the largest 5233// number of running tasks for this service. 5234// 5235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5236// with awserr.Error's Code and Message methods to get detailed information about 5237// the error. 5238// 5239// See the AWS API reference guide for Amazon EC2 Container Service's 5240// API operation UpdateService for usage and error information. 5241// 5242// Returned Error Types: 5243// * ServerException 5244// These errors are usually caused by a server issue. 5245// 5246// * ClientException 5247// These errors are usually caused by a client action, such as using an action 5248// or resource on behalf of a user that doesn't have permissions to use the 5249// action or resource, or specifying an identifier that is not valid. 5250// 5251// * InvalidParameterException 5252// The specified parameter is invalid. Review the available parameters for the 5253// API request. 5254// 5255// * ClusterNotFoundException 5256// The specified cluster could not be found. You can view your available clusters 5257// with ListClusters. Amazon ECS clusters are Region-specific. 5258// 5259// * ServiceNotFoundException 5260// The specified service could not be found. You can view your available services 5261// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5262// 5263// * ServiceNotActiveException 5264// The specified service is not active. You can't update a service that is inactive. 5265// If you have previously deleted a service, you can re-create it with CreateService. 5266// 5267// * PlatformUnknownException 5268// The specified platform version does not exist. 5269// 5270// * PlatformTaskDefinitionIncompatibilityException 5271// The specified platform version does not satisfy the task definition's required 5272// capabilities. 5273// 5274// * AccessDeniedException 5275// You do not have authorization to perform the requested action. 5276// 5277// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5278func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5279 req, out := c.UpdateServiceRequest(input) 5280 return out, req.Send() 5281} 5282 5283// UpdateServiceWithContext is the same as UpdateService with the addition of 5284// the ability to pass a context and additional request options. 5285// 5286// See UpdateService for details on how to use this API operation. 5287// 5288// The context must be non-nil and will be used for request cancellation. If 5289// the context is nil a panic will occur. In the future the SDK may create 5290// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5291// for more information on using Contexts. 5292func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5293 req, out := c.UpdateServiceRequest(input) 5294 req.SetContext(ctx) 5295 req.ApplyOptions(opts...) 5296 return out, req.Send() 5297} 5298 5299const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5300 5301// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5302// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5303// value will be populated with the request's response once the request completes 5304// successfully. 5305// 5306// Use "Send" method on the returned Request to send the API call to the service. 5307// the "output" return value is not valid until after Send returns without error. 5308// 5309// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5310// API call, and error handling. 5311// 5312// This method is useful when you want to inject custom logic or configuration 5313// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5314// 5315// 5316// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5317// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5318// 5319// err := req.Send() 5320// if err == nil { // resp is now filled 5321// fmt.Println(resp) 5322// } 5323// 5324// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5325func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5326 op := &request.Operation{ 5327 Name: opUpdateServicePrimaryTaskSet, 5328 HTTPMethod: "POST", 5329 HTTPPath: "/", 5330 } 5331 5332 if input == nil { 5333 input = &UpdateServicePrimaryTaskSetInput{} 5334 } 5335 5336 output = &UpdateServicePrimaryTaskSetOutput{} 5337 req = c.newRequest(op, input, output) 5338 return 5339} 5340 5341// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5342// 5343// Modifies which task set in a service is the primary task set. Any parameters 5344// that are updated on the primary task set in a service will transition to 5345// the service. This is used when a service uses the EXTERNAL deployment controller 5346// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5347// in the Amazon Elastic Container Service Developer Guide. 5348// 5349// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5350// with awserr.Error's Code and Message methods to get detailed information about 5351// the error. 5352// 5353// See the AWS API reference guide for Amazon EC2 Container Service's 5354// API operation UpdateServicePrimaryTaskSet for usage and error information. 5355// 5356// Returned Error Types: 5357// * ServerException 5358// These errors are usually caused by a server issue. 5359// 5360// * ClientException 5361// These errors are usually caused by a client action, such as using an action 5362// or resource on behalf of a user that doesn't have permissions to use the 5363// action or resource, or specifying an identifier that is not valid. 5364// 5365// * InvalidParameterException 5366// The specified parameter is invalid. Review the available parameters for the 5367// API request. 5368// 5369// * ClusterNotFoundException 5370// The specified cluster could not be found. You can view your available clusters 5371// with ListClusters. Amazon ECS clusters are Region-specific. 5372// 5373// * UnsupportedFeatureException 5374// The specified task is not supported in this Region. 5375// 5376// * ServiceNotFoundException 5377// The specified service could not be found. You can view your available services 5378// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5379// 5380// * ServiceNotActiveException 5381// The specified service is not active. You can't update a service that is inactive. 5382// If you have previously deleted a service, you can re-create it with CreateService. 5383// 5384// * TaskSetNotFoundException 5385// The specified task set could not be found. You can view your available task 5386// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5387// and Region. 5388// 5389// * AccessDeniedException 5390// You do not have authorization to perform the requested action. 5391// 5392// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5393func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5394 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5395 return out, req.Send() 5396} 5397 5398// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5399// the ability to pass a context and additional request options. 5400// 5401// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5402// 5403// The context must be non-nil and will be used for request cancellation. If 5404// the context is nil a panic will occur. In the future the SDK may create 5405// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5406// for more information on using Contexts. 5407func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5408 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5409 req.SetContext(ctx) 5410 req.ApplyOptions(opts...) 5411 return out, req.Send() 5412} 5413 5414const opUpdateTaskSet = "UpdateTaskSet" 5415 5416// UpdateTaskSetRequest generates a "aws/request.Request" representing the 5417// client's request for the UpdateTaskSet operation. The "output" return 5418// value will be populated with the request's response once the request completes 5419// successfully. 5420// 5421// Use "Send" method on the returned Request to send the API call to the service. 5422// the "output" return value is not valid until after Send returns without error. 5423// 5424// See UpdateTaskSet for more information on using the UpdateTaskSet 5425// API call, and error handling. 5426// 5427// This method is useful when you want to inject custom logic or configuration 5428// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5429// 5430// 5431// // Example sending a request using the UpdateTaskSetRequest method. 5432// req, resp := client.UpdateTaskSetRequest(params) 5433// 5434// err := req.Send() 5435// if err == nil { // resp is now filled 5436// fmt.Println(resp) 5437// } 5438// 5439// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5440func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5441 op := &request.Operation{ 5442 Name: opUpdateTaskSet, 5443 HTTPMethod: "POST", 5444 HTTPPath: "/", 5445 } 5446 5447 if input == nil { 5448 input = &UpdateTaskSetInput{} 5449 } 5450 5451 output = &UpdateTaskSetOutput{} 5452 req = c.newRequest(op, input, output) 5453 return 5454} 5455 5456// UpdateTaskSet API operation for Amazon EC2 Container Service. 5457// 5458// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5459// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5460// in the Amazon Elastic Container Service Developer Guide. 5461// 5462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5463// with awserr.Error's Code and Message methods to get detailed information about 5464// the error. 5465// 5466// See the AWS API reference guide for Amazon EC2 Container Service's 5467// API operation UpdateTaskSet for usage and error information. 5468// 5469// Returned Error Types: 5470// * ServerException 5471// These errors are usually caused by a server issue. 5472// 5473// * ClientException 5474// These errors are usually caused by a client action, such as using an action 5475// or resource on behalf of a user that doesn't have permissions to use the 5476// action or resource, or specifying an identifier that is not valid. 5477// 5478// * InvalidParameterException 5479// The specified parameter is invalid. Review the available parameters for the 5480// API request. 5481// 5482// * ClusterNotFoundException 5483// The specified cluster could not be found. You can view your available clusters 5484// with ListClusters. Amazon ECS clusters are Region-specific. 5485// 5486// * UnsupportedFeatureException 5487// The specified task is not supported in this Region. 5488// 5489// * AccessDeniedException 5490// You do not have authorization to perform the requested action. 5491// 5492// * ServiceNotFoundException 5493// The specified service could not be found. You can view your available services 5494// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5495// 5496// * ServiceNotActiveException 5497// The specified service is not active. You can't update a service that is inactive. 5498// If you have previously deleted a service, you can re-create it with CreateService. 5499// 5500// * TaskSetNotFoundException 5501// The specified task set could not be found. You can view your available task 5502// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5503// and Region. 5504// 5505// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5506func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5507 req, out := c.UpdateTaskSetRequest(input) 5508 return out, req.Send() 5509} 5510 5511// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5512// the ability to pass a context and additional request options. 5513// 5514// See UpdateTaskSet for details on how to use this API operation. 5515// 5516// The context must be non-nil and will be used for request cancellation. If 5517// the context is nil a panic will occur. In the future the SDK may create 5518// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5519// for more information on using Contexts. 5520func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5521 req, out := c.UpdateTaskSetRequest(input) 5522 req.SetContext(ctx) 5523 req.ApplyOptions(opts...) 5524 return out, req.Send() 5525} 5526 5527// You do not have authorization to perform the requested action. 5528type AccessDeniedException struct { 5529 _ struct{} `type:"structure"` 5530 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5531 5532 Message_ *string `locationName:"message" type:"string"` 5533} 5534 5535// String returns the string representation 5536func (s AccessDeniedException) String() string { 5537 return awsutil.Prettify(s) 5538} 5539 5540// GoString returns the string representation 5541func (s AccessDeniedException) GoString() string { 5542 return s.String() 5543} 5544 5545func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 5546 return &AccessDeniedException{ 5547 RespMetadata: v, 5548 } 5549} 5550 5551// Code returns the exception type name. 5552func (s *AccessDeniedException) Code() string { 5553 return "AccessDeniedException" 5554} 5555 5556// Message returns the exception's message. 5557func (s *AccessDeniedException) Message() string { 5558 if s.Message_ != nil { 5559 return *s.Message_ 5560 } 5561 return "" 5562} 5563 5564// OrigErr always returns nil, satisfies awserr.Error interface. 5565func (s *AccessDeniedException) OrigErr() error { 5566 return nil 5567} 5568 5569func (s *AccessDeniedException) Error() string { 5570 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5571} 5572 5573// Status code returns the HTTP status code for the request's response error. 5574func (s *AccessDeniedException) StatusCode() int { 5575 return s.RespMetadata.StatusCode 5576} 5577 5578// RequestID returns the service's response RequestID for request. 5579func (s *AccessDeniedException) RequestID() string { 5580 return s.RespMetadata.RequestID 5581} 5582 5583// An object representing a container instance or task attachment. 5584type Attachment struct { 5585 _ struct{} `type:"structure"` 5586 5587 // Details of the attachment. For elastic network interfaces, this includes 5588 // the network interface ID, the MAC address, the subnet ID, and the private 5589 // IPv4 address. 5590 Details []*KeyValuePair `locationName:"details" type:"list"` 5591 5592 // The unique identifier for the attachment. 5593 Id *string `locationName:"id" type:"string"` 5594 5595 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5596 // ATTACHED, DETACHING, DETACHED, and DELETED. 5597 Status *string `locationName:"status" type:"string"` 5598 5599 // The type of the attachment, such as ElasticNetworkInterface. 5600 Type *string `locationName:"type" type:"string"` 5601} 5602 5603// String returns the string representation 5604func (s Attachment) String() string { 5605 return awsutil.Prettify(s) 5606} 5607 5608// GoString returns the string representation 5609func (s Attachment) GoString() string { 5610 return s.String() 5611} 5612 5613// SetDetails sets the Details field's value. 5614func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5615 s.Details = v 5616 return s 5617} 5618 5619// SetId sets the Id field's value. 5620func (s *Attachment) SetId(v string) *Attachment { 5621 s.Id = &v 5622 return s 5623} 5624 5625// SetStatus sets the Status field's value. 5626func (s *Attachment) SetStatus(v string) *Attachment { 5627 s.Status = &v 5628 return s 5629} 5630 5631// SetType sets the Type field's value. 5632func (s *Attachment) SetType(v string) *Attachment { 5633 s.Type = &v 5634 return s 5635} 5636 5637// An object representing a change in state for a task attachment. 5638type AttachmentStateChange struct { 5639 _ struct{} `type:"structure"` 5640 5641 // The Amazon Resource Name (ARN) of the attachment. 5642 // 5643 // AttachmentArn is a required field 5644 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5645 5646 // The status of the attachment. 5647 // 5648 // Status is a required field 5649 Status *string `locationName:"status" type:"string" required:"true"` 5650} 5651 5652// String returns the string representation 5653func (s AttachmentStateChange) String() string { 5654 return awsutil.Prettify(s) 5655} 5656 5657// GoString returns the string representation 5658func (s AttachmentStateChange) GoString() string { 5659 return s.String() 5660} 5661 5662// Validate inspects the fields of the type to determine if they are valid. 5663func (s *AttachmentStateChange) Validate() error { 5664 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5665 if s.AttachmentArn == nil { 5666 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5667 } 5668 if s.Status == nil { 5669 invalidParams.Add(request.NewErrParamRequired("Status")) 5670 } 5671 5672 if invalidParams.Len() > 0 { 5673 return invalidParams 5674 } 5675 return nil 5676} 5677 5678// SetAttachmentArn sets the AttachmentArn field's value. 5679func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5680 s.AttachmentArn = &v 5681 return s 5682} 5683 5684// SetStatus sets the Status field's value. 5685func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5686 s.Status = &v 5687 return s 5688} 5689 5690// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5691// enable you to extend the Amazon ECS data model by adding custom metadata 5692// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5693// in the Amazon Elastic Container Service Developer Guide. 5694type Attribute struct { 5695 _ struct{} `type:"structure"` 5696 5697 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 5698 // hyphens, underscores, and periods are allowed. 5699 // 5700 // Name is a required field 5701 Name *string `locationName:"name" type:"string" required:"true"` 5702 5703 // The ID of the target. You can specify the short form ID for a resource or 5704 // the full Amazon Resource Name (ARN). 5705 TargetId *string `locationName:"targetId" type:"string"` 5706 5707 // The type of the target with which to attach the attribute. This parameter 5708 // is required if you use the short form ID for a resource instead of the full 5709 // ARN. 5710 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5711 5712 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 5713 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 5714 // and spaces are allowed. 5715 Value *string `locationName:"value" type:"string"` 5716} 5717 5718// String returns the string representation 5719func (s Attribute) String() string { 5720 return awsutil.Prettify(s) 5721} 5722 5723// GoString returns the string representation 5724func (s Attribute) GoString() string { 5725 return s.String() 5726} 5727 5728// Validate inspects the fields of the type to determine if they are valid. 5729func (s *Attribute) Validate() error { 5730 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5731 if s.Name == nil { 5732 invalidParams.Add(request.NewErrParamRequired("Name")) 5733 } 5734 5735 if invalidParams.Len() > 0 { 5736 return invalidParams 5737 } 5738 return nil 5739} 5740 5741// SetName sets the Name field's value. 5742func (s *Attribute) SetName(v string) *Attribute { 5743 s.Name = &v 5744 return s 5745} 5746 5747// SetTargetId sets the TargetId field's value. 5748func (s *Attribute) SetTargetId(v string) *Attribute { 5749 s.TargetId = &v 5750 return s 5751} 5752 5753// SetTargetType sets the TargetType field's value. 5754func (s *Attribute) SetTargetType(v string) *Attribute { 5755 s.TargetType = &v 5756 return s 5757} 5758 5759// SetValue sets the Value field's value. 5760func (s *Attribute) SetValue(v string) *Attribute { 5761 s.Value = &v 5762 return s 5763} 5764 5765// You can apply up to 10 custom attributes per resource. You can view the attributes 5766// of a resource with ListAttributes. You can remove existing attributes on 5767// a resource with DeleteAttributes. 5768type AttributeLimitExceededException struct { 5769 _ struct{} `type:"structure"` 5770 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5771 5772 Message_ *string `locationName:"message" type:"string"` 5773} 5774 5775// String returns the string representation 5776func (s AttributeLimitExceededException) String() string { 5777 return awsutil.Prettify(s) 5778} 5779 5780// GoString returns the string representation 5781func (s AttributeLimitExceededException) GoString() string { 5782 return s.String() 5783} 5784 5785func newErrorAttributeLimitExceededException(v protocol.ResponseMetadata) error { 5786 return &AttributeLimitExceededException{ 5787 RespMetadata: v, 5788 } 5789} 5790 5791// Code returns the exception type name. 5792func (s *AttributeLimitExceededException) Code() string { 5793 return "AttributeLimitExceededException" 5794} 5795 5796// Message returns the exception's message. 5797func (s *AttributeLimitExceededException) Message() string { 5798 if s.Message_ != nil { 5799 return *s.Message_ 5800 } 5801 return "" 5802} 5803 5804// OrigErr always returns nil, satisfies awserr.Error interface. 5805func (s *AttributeLimitExceededException) OrigErr() error { 5806 return nil 5807} 5808 5809func (s *AttributeLimitExceededException) Error() string { 5810 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5811} 5812 5813// Status code returns the HTTP status code for the request's response error. 5814func (s *AttributeLimitExceededException) StatusCode() int { 5815 return s.RespMetadata.StatusCode 5816} 5817 5818// RequestID returns the service's response RequestID for request. 5819func (s *AttributeLimitExceededException) RequestID() string { 5820 return s.RespMetadata.RequestID 5821} 5822 5823// The details of the Auto Scaling group for the capacity provider. 5824type AutoScalingGroupProvider struct { 5825 _ struct{} `type:"structure"` 5826 5827 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 5828 // 5829 // AutoScalingGroupArn is a required field 5830 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 5831 5832 // The managed scaling settings for the Auto Scaling group capacity provider. 5833 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 5834 5835 // The managed termination protection setting to use for the Auto Scaling group 5836 // capacity provider. This determines whether the Auto Scaling group has managed 5837 // termination protection. 5838 // 5839 // When using managed termination protection, managed scaling must also be used 5840 // otherwise managed termination protection will not work. 5841 // 5842 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 5843 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 5844 // during a scale-in action. The Auto Scaling group and each instance in the 5845 // Auto Scaling group must have instance protection from scale-in actions enabled 5846 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 5847 // in the AWS Auto Scaling User Guide. 5848 // 5849 // When managed termination protection is disabled, your Amazon EC2 instances 5850 // are not protected from termination when the Auto Scaling group scales in. 5851 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 5852} 5853 5854// String returns the string representation 5855func (s AutoScalingGroupProvider) String() string { 5856 return awsutil.Prettify(s) 5857} 5858 5859// GoString returns the string representation 5860func (s AutoScalingGroupProvider) GoString() string { 5861 return s.String() 5862} 5863 5864// Validate inspects the fields of the type to determine if they are valid. 5865func (s *AutoScalingGroupProvider) Validate() error { 5866 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 5867 if s.AutoScalingGroupArn == nil { 5868 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 5869 } 5870 if s.ManagedScaling != nil { 5871 if err := s.ManagedScaling.Validate(); err != nil { 5872 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 5873 } 5874 } 5875 5876 if invalidParams.Len() > 0 { 5877 return invalidParams 5878 } 5879 return nil 5880} 5881 5882// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 5883func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 5884 s.AutoScalingGroupArn = &v 5885 return s 5886} 5887 5888// SetManagedScaling sets the ManagedScaling field's value. 5889func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 5890 s.ManagedScaling = v 5891 return s 5892} 5893 5894// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 5895func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 5896 s.ManagedTerminationProtection = &v 5897 return s 5898} 5899 5900// An object representing the networking details for a task or service. 5901type AwsVpcConfiguration struct { 5902 _ struct{} `type:"structure"` 5903 5904 // Whether the task's elastic network interface receives a public IP address. 5905 // The default value is DISABLED. 5906 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 5907 5908 // The security groups associated with the task or service. If you do not specify 5909 // a security group, the default security group for the VPC is used. There is 5910 // a limit of 5 security groups that can be specified per AwsVpcConfiguration. 5911 // 5912 // All specified security groups must be from the same VPC. 5913 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 5914 5915 // The subnets associated with the task or service. There is a limit of 16 subnets 5916 // that can be specified per AwsVpcConfiguration. 5917 // 5918 // All specified subnets must be from the same VPC. 5919 // 5920 // Subnets is a required field 5921 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 5922} 5923 5924// String returns the string representation 5925func (s AwsVpcConfiguration) String() string { 5926 return awsutil.Prettify(s) 5927} 5928 5929// GoString returns the string representation 5930func (s AwsVpcConfiguration) GoString() string { 5931 return s.String() 5932} 5933 5934// Validate inspects the fields of the type to determine if they are valid. 5935func (s *AwsVpcConfiguration) Validate() error { 5936 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 5937 if s.Subnets == nil { 5938 invalidParams.Add(request.NewErrParamRequired("Subnets")) 5939 } 5940 5941 if invalidParams.Len() > 0 { 5942 return invalidParams 5943 } 5944 return nil 5945} 5946 5947// SetAssignPublicIp sets the AssignPublicIp field's value. 5948func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 5949 s.AssignPublicIp = &v 5950 return s 5951} 5952 5953// SetSecurityGroups sets the SecurityGroups field's value. 5954func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 5955 s.SecurityGroups = v 5956 return s 5957} 5958 5959// SetSubnets sets the Subnets field's value. 5960func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 5961 s.Subnets = v 5962 return s 5963} 5964 5965// Your AWS account has been blocked. For more information, contact AWS Support 5966// (http://aws.amazon.com/contact-us/). 5967type BlockedException struct { 5968 _ struct{} `type:"structure"` 5969 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5970 5971 Message_ *string `locationName:"message" type:"string"` 5972} 5973 5974// String returns the string representation 5975func (s BlockedException) String() string { 5976 return awsutil.Prettify(s) 5977} 5978 5979// GoString returns the string representation 5980func (s BlockedException) GoString() string { 5981 return s.String() 5982} 5983 5984func newErrorBlockedException(v protocol.ResponseMetadata) error { 5985 return &BlockedException{ 5986 RespMetadata: v, 5987 } 5988} 5989 5990// Code returns the exception type name. 5991func (s *BlockedException) Code() string { 5992 return "BlockedException" 5993} 5994 5995// Message returns the exception's message. 5996func (s *BlockedException) Message() string { 5997 if s.Message_ != nil { 5998 return *s.Message_ 5999 } 6000 return "" 6001} 6002 6003// OrigErr always returns nil, satisfies awserr.Error interface. 6004func (s *BlockedException) OrigErr() error { 6005 return nil 6006} 6007 6008func (s *BlockedException) Error() string { 6009 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6010} 6011 6012// Status code returns the HTTP status code for the request's response error. 6013func (s *BlockedException) StatusCode() int { 6014 return s.RespMetadata.StatusCode 6015} 6016 6017// RequestID returns the service's response RequestID for request. 6018func (s *BlockedException) RequestID() string { 6019 return s.RespMetadata.RequestID 6020} 6021 6022// The details of a capacity provider. 6023type CapacityProvider struct { 6024 _ struct{} `type:"structure"` 6025 6026 // The Auto Scaling group settings for the capacity provider. 6027 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 6028 6029 // The Amazon Resource Name (ARN) that identifies the capacity provider. 6030 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 6031 6032 // The name of the capacity provider. 6033 Name *string `locationName:"name" type:"string"` 6034 6035 // The current status of the capacity provider. Only capacity providers in an 6036 // ACTIVE state can be used in a cluster. 6037 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 6038 6039 // The metadata that you apply to the capacity provider to help you categorize 6040 // and organize it. Each tag consists of a key and an optional value, both of 6041 // which you define. 6042 // 6043 // The following basic restrictions apply to tags: 6044 // 6045 // * Maximum number of tags per resource - 50 6046 // 6047 // * For each resource, each tag key must be unique, and each tag key can 6048 // have only one value. 6049 // 6050 // * Maximum key length - 128 Unicode characters in UTF-8 6051 // 6052 // * Maximum value length - 256 Unicode characters in UTF-8 6053 // 6054 // * If your tagging schema is used across multiple services and resources, 6055 // remember that other services may have restrictions on allowed characters. 6056 // Generally allowed characters are: letters, numbers, and spaces representable 6057 // in UTF-8, and the following characters: + - = . _ : / @. 6058 // 6059 // * Tag keys and values are case-sensitive. 6060 // 6061 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6062 // as a prefix for either keys or values as it is reserved for AWS use. You 6063 // cannot edit or delete tag keys or values with this prefix. Tags with this 6064 // prefix do not count against your tags per resource limit. 6065 Tags []*Tag `locationName:"tags" type:"list"` 6066} 6067 6068// String returns the string representation 6069func (s CapacityProvider) String() string { 6070 return awsutil.Prettify(s) 6071} 6072 6073// GoString returns the string representation 6074func (s CapacityProvider) GoString() string { 6075 return s.String() 6076} 6077 6078// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 6079func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 6080 s.AutoScalingGroupProvider = v 6081 return s 6082} 6083 6084// SetCapacityProviderArn sets the CapacityProviderArn field's value. 6085func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 6086 s.CapacityProviderArn = &v 6087 return s 6088} 6089 6090// SetName sets the Name field's value. 6091func (s *CapacityProvider) SetName(v string) *CapacityProvider { 6092 s.Name = &v 6093 return s 6094} 6095 6096// SetStatus sets the Status field's value. 6097func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 6098 s.Status = &v 6099 return s 6100} 6101 6102// SetTags sets the Tags field's value. 6103func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 6104 s.Tags = v 6105 return s 6106} 6107 6108// The details of a capacity provider strategy. 6109type CapacityProviderStrategyItem struct { 6110 _ struct{} `type:"structure"` 6111 6112 // The base value designates how many tasks, at a minimum, to run on the specified 6113 // capacity provider. Only one capacity provider in a capacity provider strategy 6114 // can have a base defined. 6115 Base *int64 `locationName:"base" type:"integer"` 6116 6117 // The short name of the capacity provider. 6118 // 6119 // CapacityProvider is a required field 6120 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 6121 6122 // The weight value designates the relative percentage of the total number of 6123 // tasks launched that should use the specified capacity provider. 6124 // 6125 // For example, if you have a strategy that contains two capacity providers 6126 // and both have a weight of 1, then when the base is satisfied, the tasks will 6127 // be split evenly across the two capacity providers. Using that same logic, 6128 // if you specify a weight of 1 for capacityProviderA and a weight of 4 for 6129 // capacityProviderB, then for every one task that is run using capacityProviderA, 6130 // four tasks would use capacityProviderB. 6131 Weight *int64 `locationName:"weight" type:"integer"` 6132} 6133 6134// String returns the string representation 6135func (s CapacityProviderStrategyItem) String() string { 6136 return awsutil.Prettify(s) 6137} 6138 6139// GoString returns the string representation 6140func (s CapacityProviderStrategyItem) GoString() string { 6141 return s.String() 6142} 6143 6144// Validate inspects the fields of the type to determine if they are valid. 6145func (s *CapacityProviderStrategyItem) Validate() error { 6146 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 6147 if s.CapacityProvider == nil { 6148 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 6149 } 6150 6151 if invalidParams.Len() > 0 { 6152 return invalidParams 6153 } 6154 return nil 6155} 6156 6157// SetBase sets the Base field's value. 6158func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 6159 s.Base = &v 6160 return s 6161} 6162 6163// SetCapacityProvider sets the CapacityProvider field's value. 6164func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 6165 s.CapacityProvider = &v 6166 return s 6167} 6168 6169// SetWeight sets the Weight field's value. 6170func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 6171 s.Weight = &v 6172 return s 6173} 6174 6175// These errors are usually caused by a client action, such as using an action 6176// or resource on behalf of a user that doesn't have permissions to use the 6177// action or resource, or specifying an identifier that is not valid. 6178type ClientException struct { 6179 _ struct{} `type:"structure"` 6180 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6181 6182 Message_ *string `locationName:"message" type:"string"` 6183} 6184 6185// String returns the string representation 6186func (s ClientException) String() string { 6187 return awsutil.Prettify(s) 6188} 6189 6190// GoString returns the string representation 6191func (s ClientException) GoString() string { 6192 return s.String() 6193} 6194 6195func newErrorClientException(v protocol.ResponseMetadata) error { 6196 return &ClientException{ 6197 RespMetadata: v, 6198 } 6199} 6200 6201// Code returns the exception type name. 6202func (s *ClientException) Code() string { 6203 return "ClientException" 6204} 6205 6206// Message returns the exception's message. 6207func (s *ClientException) Message() string { 6208 if s.Message_ != nil { 6209 return *s.Message_ 6210 } 6211 return "" 6212} 6213 6214// OrigErr always returns nil, satisfies awserr.Error interface. 6215func (s *ClientException) OrigErr() error { 6216 return nil 6217} 6218 6219func (s *ClientException) Error() string { 6220 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6221} 6222 6223// Status code returns the HTTP status code for the request's response error. 6224func (s *ClientException) StatusCode() int { 6225 return s.RespMetadata.StatusCode 6226} 6227 6228// RequestID returns the service's response RequestID for request. 6229func (s *ClientException) RequestID() string { 6230 return s.RespMetadata.RequestID 6231} 6232 6233// A regional grouping of one or more container instances on which you can run 6234// task requests. Each account receives a default cluster the first time you 6235// use the Amazon ECS service, but you may also create other clusters. Clusters 6236// may contain more than one instance type simultaneously. 6237type Cluster struct { 6238 _ struct{} `type:"structure"` 6239 6240 // The number of services that are running on the cluster in an ACTIVE state. 6241 // You can view these services with ListServices. 6242 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 6243 6244 // The resources attached to a cluster. When using a capacity provider with 6245 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 6246 // attachment. 6247 Attachments []*Attachment `locationName:"attachments" type:"list"` 6248 6249 // The status of the capacity providers associated with the cluster. The following 6250 // are the states that will be returned: 6251 // 6252 // UPDATE_IN_PROGRESS 6253 // 6254 // The available capacity providers for the cluster are updating. This occurs 6255 // when the Auto Scaling plan is provisioning or deprovisioning. 6256 // 6257 // UPDATE_COMPLETE 6258 // 6259 // The capacity providers have successfully updated. 6260 // 6261 // UPDATE_FAILED 6262 // 6263 // The capacity provider updates failed. 6264 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 6265 6266 // The capacity providers associated with the cluster. 6267 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 6268 6269 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 6270 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 6271 // account ID of the cluster owner, the cluster namespace, and then the cluster 6272 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 6273 ClusterArn *string `locationName:"clusterArn" type:"string"` 6274 6275 // A user-generated string that you use to identify your cluster. 6276 ClusterName *string `locationName:"clusterName" type:"string"` 6277 6278 // The default capacity provider strategy for the cluster. When services or 6279 // tasks are run in the cluster with no launch type or capacity provider strategy 6280 // specified, the default capacity provider strategy is used. 6281 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 6282 6283 // The number of tasks in the cluster that are in the PENDING state. 6284 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6285 6286 // The number of container instances registered into the cluster. This includes 6287 // container instances in both ACTIVE and DRAINING status. 6288 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 6289 6290 // The number of tasks in the cluster that are in the RUNNING state. 6291 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6292 6293 // The settings for the cluster. This parameter indicates whether CloudWatch 6294 // Container Insights is enabled or disabled for a cluster. 6295 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6296 6297 // Additional information about your clusters that are separated by launch type, 6298 // including: 6299 // 6300 // * runningEC2TasksCount 6301 // 6302 // * RunningFargateTasksCount 6303 // 6304 // * pendingEC2TasksCount 6305 // 6306 // * pendingFargateTasksCount 6307 // 6308 // * activeEC2ServiceCount 6309 // 6310 // * activeFargateServiceCount 6311 // 6312 // * drainingEC2ServiceCount 6313 // 6314 // * drainingFargateServiceCount 6315 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6316 6317 // The status of the cluster. The following are the possible states that will 6318 // be returned. 6319 // 6320 // ACTIVE 6321 // 6322 // The cluster is ready to accept tasks and if applicable you can register container 6323 // instances with the cluster. 6324 // 6325 // PROVISIONING 6326 // 6327 // The cluster has capacity providers associated with it and the resources needed 6328 // for the capacity provider are being created. 6329 // 6330 // DEPROVISIONING 6331 // 6332 // The cluster has capacity providers associated with it and the resources needed 6333 // for the capacity provider are being deleted. 6334 // 6335 // FAILED 6336 // 6337 // The cluster has capacity providers associated with it and the resources needed 6338 // for the capacity provider have failed to create. 6339 // 6340 // INACTIVE 6341 // 6342 // The cluster has been deleted. Clusters with an INACTIVE status may remain 6343 // discoverable in your account for a period of time. However, this behavior 6344 // is subject to change in the future, so you should not rely on INACTIVE clusters 6345 // persisting. 6346 Status *string `locationName:"status" type:"string"` 6347 6348 // The metadata that you apply to the cluster to help you categorize and organize 6349 // them. Each tag consists of a key and an optional value, both of which you 6350 // define. 6351 // 6352 // The following basic restrictions apply to tags: 6353 // 6354 // * Maximum number of tags per resource - 50 6355 // 6356 // * For each resource, each tag key must be unique, and each tag key can 6357 // have only one value. 6358 // 6359 // * Maximum key length - 128 Unicode characters in UTF-8 6360 // 6361 // * Maximum value length - 256 Unicode characters in UTF-8 6362 // 6363 // * If your tagging schema is used across multiple services and resources, 6364 // remember that other services may have restrictions on allowed characters. 6365 // Generally allowed characters are: letters, numbers, and spaces representable 6366 // in UTF-8, and the following characters: + - = . _ : / @. 6367 // 6368 // * Tag keys and values are case-sensitive. 6369 // 6370 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6371 // as a prefix for either keys or values as it is reserved for AWS use. You 6372 // cannot edit or delete tag keys or values with this prefix. Tags with this 6373 // prefix do not count against your tags per resource limit. 6374 Tags []*Tag `locationName:"tags" type:"list"` 6375} 6376 6377// String returns the string representation 6378func (s Cluster) String() string { 6379 return awsutil.Prettify(s) 6380} 6381 6382// GoString returns the string representation 6383func (s Cluster) GoString() string { 6384 return s.String() 6385} 6386 6387// SetActiveServicesCount sets the ActiveServicesCount field's value. 6388func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 6389 s.ActiveServicesCount = &v 6390 return s 6391} 6392 6393// SetAttachments sets the Attachments field's value. 6394func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 6395 s.Attachments = v 6396 return s 6397} 6398 6399// SetAttachmentsStatus sets the AttachmentsStatus field's value. 6400func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 6401 s.AttachmentsStatus = &v 6402 return s 6403} 6404 6405// SetCapacityProviders sets the CapacityProviders field's value. 6406func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 6407 s.CapacityProviders = v 6408 return s 6409} 6410 6411// SetClusterArn sets the ClusterArn field's value. 6412func (s *Cluster) SetClusterArn(v string) *Cluster { 6413 s.ClusterArn = &v 6414 return s 6415} 6416 6417// SetClusterName sets the ClusterName field's value. 6418func (s *Cluster) SetClusterName(v string) *Cluster { 6419 s.ClusterName = &v 6420 return s 6421} 6422 6423// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 6424func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 6425 s.DefaultCapacityProviderStrategy = v 6426 return s 6427} 6428 6429// SetPendingTasksCount sets the PendingTasksCount field's value. 6430func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 6431 s.PendingTasksCount = &v 6432 return s 6433} 6434 6435// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 6436func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 6437 s.RegisteredContainerInstancesCount = &v 6438 return s 6439} 6440 6441// SetRunningTasksCount sets the RunningTasksCount field's value. 6442func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 6443 s.RunningTasksCount = &v 6444 return s 6445} 6446 6447// SetSettings sets the Settings field's value. 6448func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 6449 s.Settings = v 6450 return s 6451} 6452 6453// SetStatistics sets the Statistics field's value. 6454func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 6455 s.Statistics = v 6456 return s 6457} 6458 6459// SetStatus sets the Status field's value. 6460func (s *Cluster) SetStatus(v string) *Cluster { 6461 s.Status = &v 6462 return s 6463} 6464 6465// SetTags sets the Tags field's value. 6466func (s *Cluster) SetTags(v []*Tag) *Cluster { 6467 s.Tags = v 6468 return s 6469} 6470 6471// You cannot delete a cluster that has registered container instances. First, 6472// deregister the container instances before you can delete the cluster. For 6473// more information, see DeregisterContainerInstance. 6474type ClusterContainsContainerInstancesException struct { 6475 _ struct{} `type:"structure"` 6476 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6477 6478 Message_ *string `locationName:"message" type:"string"` 6479} 6480 6481// String returns the string representation 6482func (s ClusterContainsContainerInstancesException) String() string { 6483 return awsutil.Prettify(s) 6484} 6485 6486// GoString returns the string representation 6487func (s ClusterContainsContainerInstancesException) GoString() string { 6488 return s.String() 6489} 6490 6491func newErrorClusterContainsContainerInstancesException(v protocol.ResponseMetadata) error { 6492 return &ClusterContainsContainerInstancesException{ 6493 RespMetadata: v, 6494 } 6495} 6496 6497// Code returns the exception type name. 6498func (s *ClusterContainsContainerInstancesException) Code() string { 6499 return "ClusterContainsContainerInstancesException" 6500} 6501 6502// Message returns the exception's message. 6503func (s *ClusterContainsContainerInstancesException) Message() string { 6504 if s.Message_ != nil { 6505 return *s.Message_ 6506 } 6507 return "" 6508} 6509 6510// OrigErr always returns nil, satisfies awserr.Error interface. 6511func (s *ClusterContainsContainerInstancesException) OrigErr() error { 6512 return nil 6513} 6514 6515func (s *ClusterContainsContainerInstancesException) Error() string { 6516 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6517} 6518 6519// Status code returns the HTTP status code for the request's response error. 6520func (s *ClusterContainsContainerInstancesException) StatusCode() int { 6521 return s.RespMetadata.StatusCode 6522} 6523 6524// RequestID returns the service's response RequestID for request. 6525func (s *ClusterContainsContainerInstancesException) RequestID() string { 6526 return s.RespMetadata.RequestID 6527} 6528 6529// You cannot delete a cluster that contains services. First, update the service 6530// to reduce its desired task count to 0 and then delete the service. For more 6531// information, see UpdateService and DeleteService. 6532type ClusterContainsServicesException struct { 6533 _ struct{} `type:"structure"` 6534 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6535 6536 Message_ *string `locationName:"message" type:"string"` 6537} 6538 6539// String returns the string representation 6540func (s ClusterContainsServicesException) String() string { 6541 return awsutil.Prettify(s) 6542} 6543 6544// GoString returns the string representation 6545func (s ClusterContainsServicesException) GoString() string { 6546 return s.String() 6547} 6548 6549func newErrorClusterContainsServicesException(v protocol.ResponseMetadata) error { 6550 return &ClusterContainsServicesException{ 6551 RespMetadata: v, 6552 } 6553} 6554 6555// Code returns the exception type name. 6556func (s *ClusterContainsServicesException) Code() string { 6557 return "ClusterContainsServicesException" 6558} 6559 6560// Message returns the exception's message. 6561func (s *ClusterContainsServicesException) Message() string { 6562 if s.Message_ != nil { 6563 return *s.Message_ 6564 } 6565 return "" 6566} 6567 6568// OrigErr always returns nil, satisfies awserr.Error interface. 6569func (s *ClusterContainsServicesException) OrigErr() error { 6570 return nil 6571} 6572 6573func (s *ClusterContainsServicesException) Error() string { 6574 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6575} 6576 6577// Status code returns the HTTP status code for the request's response error. 6578func (s *ClusterContainsServicesException) StatusCode() int { 6579 return s.RespMetadata.StatusCode 6580} 6581 6582// RequestID returns the service's response RequestID for request. 6583func (s *ClusterContainsServicesException) RequestID() string { 6584 return s.RespMetadata.RequestID 6585} 6586 6587// You cannot delete a cluster that has active tasks. 6588type ClusterContainsTasksException struct { 6589 _ struct{} `type:"structure"` 6590 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6591 6592 Message_ *string `locationName:"message" type:"string"` 6593} 6594 6595// String returns the string representation 6596func (s ClusterContainsTasksException) String() string { 6597 return awsutil.Prettify(s) 6598} 6599 6600// GoString returns the string representation 6601func (s ClusterContainsTasksException) GoString() string { 6602 return s.String() 6603} 6604 6605func newErrorClusterContainsTasksException(v protocol.ResponseMetadata) error { 6606 return &ClusterContainsTasksException{ 6607 RespMetadata: v, 6608 } 6609} 6610 6611// Code returns the exception type name. 6612func (s *ClusterContainsTasksException) Code() string { 6613 return "ClusterContainsTasksException" 6614} 6615 6616// Message returns the exception's message. 6617func (s *ClusterContainsTasksException) Message() string { 6618 if s.Message_ != nil { 6619 return *s.Message_ 6620 } 6621 return "" 6622} 6623 6624// OrigErr always returns nil, satisfies awserr.Error interface. 6625func (s *ClusterContainsTasksException) OrigErr() error { 6626 return nil 6627} 6628 6629func (s *ClusterContainsTasksException) Error() string { 6630 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6631} 6632 6633// Status code returns the HTTP status code for the request's response error. 6634func (s *ClusterContainsTasksException) StatusCode() int { 6635 return s.RespMetadata.StatusCode 6636} 6637 6638// RequestID returns the service's response RequestID for request. 6639func (s *ClusterContainsTasksException) RequestID() string { 6640 return s.RespMetadata.RequestID 6641} 6642 6643// The specified cluster could not be found. You can view your available clusters 6644// with ListClusters. Amazon ECS clusters are Region-specific. 6645type ClusterNotFoundException struct { 6646 _ struct{} `type:"structure"` 6647 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6648 6649 Message_ *string `locationName:"message" type:"string"` 6650} 6651 6652// String returns the string representation 6653func (s ClusterNotFoundException) String() string { 6654 return awsutil.Prettify(s) 6655} 6656 6657// GoString returns the string representation 6658func (s ClusterNotFoundException) GoString() string { 6659 return s.String() 6660} 6661 6662func newErrorClusterNotFoundException(v protocol.ResponseMetadata) error { 6663 return &ClusterNotFoundException{ 6664 RespMetadata: v, 6665 } 6666} 6667 6668// Code returns the exception type name. 6669func (s *ClusterNotFoundException) Code() string { 6670 return "ClusterNotFoundException" 6671} 6672 6673// Message returns the exception's message. 6674func (s *ClusterNotFoundException) Message() string { 6675 if s.Message_ != nil { 6676 return *s.Message_ 6677 } 6678 return "" 6679} 6680 6681// OrigErr always returns nil, satisfies awserr.Error interface. 6682func (s *ClusterNotFoundException) OrigErr() error { 6683 return nil 6684} 6685 6686func (s *ClusterNotFoundException) Error() string { 6687 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6688} 6689 6690// Status code returns the HTTP status code for the request's response error. 6691func (s *ClusterNotFoundException) StatusCode() int { 6692 return s.RespMetadata.StatusCode 6693} 6694 6695// RequestID returns the service's response RequestID for request. 6696func (s *ClusterNotFoundException) RequestID() string { 6697 return s.RespMetadata.RequestID 6698} 6699 6700// The settings to use when creating a cluster. This parameter is used to enable 6701// CloudWatch Container Insights for a cluster. 6702type ClusterSetting struct { 6703 _ struct{} `type:"structure"` 6704 6705 // The name of the cluster setting. The only supported value is containerInsights. 6706 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 6707 6708 // The value to set for the cluster setting. The supported values are enabled 6709 // and disabled. If enabled is specified, CloudWatch Container Insights will 6710 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 6711 // account setting is enabled. If a cluster value is specified, it will override 6712 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 6713 Value *string `locationName:"value" type:"string"` 6714} 6715 6716// String returns the string representation 6717func (s ClusterSetting) String() string { 6718 return awsutil.Prettify(s) 6719} 6720 6721// GoString returns the string representation 6722func (s ClusterSetting) GoString() string { 6723 return s.String() 6724} 6725 6726// SetName sets the Name field's value. 6727func (s *ClusterSetting) SetName(v string) *ClusterSetting { 6728 s.Name = &v 6729 return s 6730} 6731 6732// SetValue sets the Value field's value. 6733func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 6734 s.Value = &v 6735 return s 6736} 6737 6738// A Docker container that is part of a task. 6739type Container struct { 6740 _ struct{} `type:"structure"` 6741 6742 // The Amazon Resource Name (ARN) of the container. 6743 ContainerArn *string `locationName:"containerArn" type:"string"` 6744 6745 // The number of CPU units set for the container. The value will be 0 if no 6746 // value was specified in the container definition when the task definition 6747 // was registered. 6748 Cpu *string `locationName:"cpu" type:"string"` 6749 6750 // The exit code returned from the container. 6751 ExitCode *int64 `locationName:"exitCode" type:"integer"` 6752 6753 // The IDs of each GPU assigned to the container. 6754 GpuIds []*string `locationName:"gpuIds" type:"list"` 6755 6756 // The health status of the container. If health checks are not configured for 6757 // this container in its task definition, then it reports the health status 6758 // as UNKNOWN. 6759 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 6760 6761 // The image used for the container. 6762 Image *string `locationName:"image" type:"string"` 6763 6764 // The container image manifest digest. 6765 // 6766 // The imageDigest is only returned if the container is using an image hosted 6767 // in Amazon ECR, otherwise it is omitted. 6768 ImageDigest *string `locationName:"imageDigest" type:"string"` 6769 6770 // The last known status of the container. 6771 LastStatus *string `locationName:"lastStatus" type:"string"` 6772 6773 // The hard limit (in MiB) of memory set for the container. 6774 Memory *string `locationName:"memory" type:"string"` 6775 6776 // The soft limit (in MiB) of memory set for the container. 6777 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 6778 6779 // The name of the container. 6780 Name *string `locationName:"name" type:"string"` 6781 6782 // The network bindings associated with the container. 6783 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 6784 6785 // The network interfaces associated with the container. 6786 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 6787 6788 // A short (255 max characters) human-readable string to provide additional 6789 // details about a running or stopped container. 6790 Reason *string `locationName:"reason" type:"string"` 6791 6792 // The ID of the Docker container. 6793 RuntimeId *string `locationName:"runtimeId" type:"string"` 6794 6795 // The ARN of the task. 6796 TaskArn *string `locationName:"taskArn" type:"string"` 6797} 6798 6799// String returns the string representation 6800func (s Container) String() string { 6801 return awsutil.Prettify(s) 6802} 6803 6804// GoString returns the string representation 6805func (s Container) GoString() string { 6806 return s.String() 6807} 6808 6809// SetContainerArn sets the ContainerArn field's value. 6810func (s *Container) SetContainerArn(v string) *Container { 6811 s.ContainerArn = &v 6812 return s 6813} 6814 6815// SetCpu sets the Cpu field's value. 6816func (s *Container) SetCpu(v string) *Container { 6817 s.Cpu = &v 6818 return s 6819} 6820 6821// SetExitCode sets the ExitCode field's value. 6822func (s *Container) SetExitCode(v int64) *Container { 6823 s.ExitCode = &v 6824 return s 6825} 6826 6827// SetGpuIds sets the GpuIds field's value. 6828func (s *Container) SetGpuIds(v []*string) *Container { 6829 s.GpuIds = v 6830 return s 6831} 6832 6833// SetHealthStatus sets the HealthStatus field's value. 6834func (s *Container) SetHealthStatus(v string) *Container { 6835 s.HealthStatus = &v 6836 return s 6837} 6838 6839// SetImage sets the Image field's value. 6840func (s *Container) SetImage(v string) *Container { 6841 s.Image = &v 6842 return s 6843} 6844 6845// SetImageDigest sets the ImageDigest field's value. 6846func (s *Container) SetImageDigest(v string) *Container { 6847 s.ImageDigest = &v 6848 return s 6849} 6850 6851// SetLastStatus sets the LastStatus field's value. 6852func (s *Container) SetLastStatus(v string) *Container { 6853 s.LastStatus = &v 6854 return s 6855} 6856 6857// SetMemory sets the Memory field's value. 6858func (s *Container) SetMemory(v string) *Container { 6859 s.Memory = &v 6860 return s 6861} 6862 6863// SetMemoryReservation sets the MemoryReservation field's value. 6864func (s *Container) SetMemoryReservation(v string) *Container { 6865 s.MemoryReservation = &v 6866 return s 6867} 6868 6869// SetName sets the Name field's value. 6870func (s *Container) SetName(v string) *Container { 6871 s.Name = &v 6872 return s 6873} 6874 6875// SetNetworkBindings sets the NetworkBindings field's value. 6876func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 6877 s.NetworkBindings = v 6878 return s 6879} 6880 6881// SetNetworkInterfaces sets the NetworkInterfaces field's value. 6882func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 6883 s.NetworkInterfaces = v 6884 return s 6885} 6886 6887// SetReason sets the Reason field's value. 6888func (s *Container) SetReason(v string) *Container { 6889 s.Reason = &v 6890 return s 6891} 6892 6893// SetRuntimeId sets the RuntimeId field's value. 6894func (s *Container) SetRuntimeId(v string) *Container { 6895 s.RuntimeId = &v 6896 return s 6897} 6898 6899// SetTaskArn sets the TaskArn field's value. 6900func (s *Container) SetTaskArn(v string) *Container { 6901 s.TaskArn = &v 6902 return s 6903} 6904 6905// Container definitions are used in task definitions to describe the different 6906// containers that are launched as part of a task. 6907type ContainerDefinition struct { 6908 _ struct{} `type:"structure"` 6909 6910 // The command that is passed to the container. This parameter maps to Cmd in 6911 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6912 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6913 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 6914 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 6915 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 6916 // arguments, each argument should be a separated string in the array. 6917 Command []*string `locationName:"command" type:"list"` 6918 6919 // The number of cpu units reserved for the container. This parameter maps to 6920 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6921 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6922 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 6923 // 6924 // This field is optional for tasks using the Fargate launch type, and the only 6925 // requirement is that the total amount of CPU reserved for all containers within 6926 // a task be lower than the task-level cpu value. 6927 // 6928 // You can determine the number of CPU units that are available per EC2 instance 6929 // type by multiplying the vCPUs listed for that instance type on the Amazon 6930 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 6931 // 1,024. 6932 // 6933 // Linux containers share unallocated CPU units with other containers on the 6934 // container instance with the same ratio as their allocated amount. For example, 6935 // if you run a single-container task on a single-core instance type with 512 6936 // CPU units specified for that container, and that is the only task running 6937 // on the container instance, that container could use the full 1,024 CPU unit 6938 // share at any given time. However, if you launched another copy of the same 6939 // task on that container instance, each task would be guaranteed a minimum 6940 // of 512 CPU units when needed, and each container could float to higher CPU 6941 // usage if the other container was not using it, but if both tasks were 100% 6942 // active all of the time, they would be limited to 512 CPU units. 6943 // 6944 // On Linux container instances, the Docker daemon on the container instance 6945 // uses the CPU value to calculate the relative CPU share ratios for running 6946 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 6947 // in the Docker documentation. The minimum valid CPU share value that the Linux 6948 // kernel allows is 2. However, the CPU parameter is not required, and you can 6949 // use CPU values below 2 in your container definitions. For CPU values below 6950 // 2 (including null), the behavior varies based on your Amazon ECS container 6951 // agent version: 6952 // 6953 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 6954 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 6955 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 6956 // to two CPU shares. 6957 // 6958 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 6959 // of 1 are passed to Docker as 2. 6960 // 6961 // On Windows container instances, the CPU limit is enforced as an absolute 6962 // limit, or a quota. Windows containers only have access to the specified amount 6963 // of CPU that is described in the task definition. 6964 Cpu *int64 `locationName:"cpu" type:"integer"` 6965 6966 // The dependencies defined for container startup and shutdown. A container 6967 // can contain multiple dependencies. When a dependency is defined for container 6968 // startup, for container shutdown it is reversed. 6969 // 6970 // For tasks using the EC2 launch type, the container instances require at least 6971 // version 1.26.0 of the container agent to enable container dependencies. However, 6972 // we recommend using the latest container agent version. For information about 6973 // checking your agent version and updating to the latest version, see Updating 6974 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 6975 // in the Amazon Elastic Container Service Developer Guide. If you are using 6976 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 6977 // of the ecs-init package. If your container instances are launched from version 6978 // 20190301 or later, then they contain the required versions of the container 6979 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 6980 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 6981 // in the Amazon Elastic Container Service Developer Guide. 6982 // 6983 // For tasks using the Fargate launch type, the task or service requires platform 6984 // version 1.3.0 or later. 6985 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 6986 6987 // When this parameter is true, networking is disabled within the container. 6988 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6989 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 6990 // 6991 // This parameter is not supported for Windows containers. 6992 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 6993 6994 // A list of DNS search domains that are presented to the container. This parameter 6995 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 6996 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 6997 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 6998 // 6999 // This parameter is not supported for Windows containers. 7000 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 7001 7002 // A list of DNS servers that are presented to the container. This parameter 7003 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7004 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7005 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 7006 // 7007 // This parameter is not supported for Windows containers. 7008 DnsServers []*string `locationName:"dnsServers" type:"list"` 7009 7010 // A key/value map of labels to add to the container. This parameter maps to 7011 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7012 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7013 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 7014 // This parameter requires version 1.18 of the Docker Remote API or greater 7015 // on your container instance. To check the Docker Remote API version on your 7016 // container instance, log in to your container instance and run the following 7017 // command: sudo docker version --format '{{.Server.APIVersion}}' 7018 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 7019 7020 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 7021 // security systems. This field is not valid for containers in tasks using the 7022 // Fargate launch type. 7023 // 7024 // With Windows containers, this parameter can be used to reference a credential 7025 // spec file when configuring a container for Active Directory authentication. 7026 // For more information, see Using gMSAs for Windows Containers (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) 7027 // in the Amazon Elastic Container Service Developer Guide. 7028 // 7029 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7030 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7031 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 7032 // 7033 // The Amazon ECS container agent running on a container instance must register 7034 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 7035 // variables before containers placed on that instance can use these security 7036 // options. For more information, see Amazon ECS Container Agent Configuration 7037 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7038 // in the Amazon Elastic Container Service Developer Guide. 7039 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 7040 7041 // 7042 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 7043 // parameters. If you have problems using entryPoint, update your container 7044 // agent or enter your commands and arguments as command array items instead. 7045 // 7046 // The entry point that is passed to the container. This parameter maps to Entrypoint 7047 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7048 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7049 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 7050 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 7051 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 7052 EntryPoint []*string `locationName:"entryPoint" type:"list"` 7053 7054 // The environment variables to pass to a container. This parameter maps to 7055 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7056 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7057 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 7058 // 7059 // We do not recommend using plaintext environment variables for sensitive information, 7060 // such as credential data. 7061 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7062 7063 // A list of files containing the environment variables to pass to a container. 7064 // This parameter maps to the --env-file option to docker run (https://docs.docker.com/engine/reference/run/). 7065 // 7066 // You can specify up to ten environment files. The file must have a .env file 7067 // extension. Each line in an environment file should contain an environment 7068 // variable in VARIABLE=VALUE format. Lines beginning with # are treated as 7069 // comments and are ignored. For more information on the environment variable 7070 // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 7071 // 7072 // If there are environment variables specified using the environment parameter 7073 // in a container definition, they take precedence over the variables contained 7074 // within an environment file. If multiple environment files are specified that 7075 // contain the same variable, they are processed from the top down. It is recommended 7076 // to use unique variable names. For more information, see Specifying Environment 7077 // Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 7078 // in the Amazon Elastic Container Service Developer Guide. 7079 // 7080 // This field is not valid for containers in tasks using the Fargate launch 7081 // type. 7082 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 7083 7084 // If the essential parameter of a container is marked as true, and that container 7085 // fails or stops for any reason, all other containers that are part of the 7086 // task are stopped. If the essential parameter of a container is marked as 7087 // false, then its failure does not affect the rest of the containers in a task. 7088 // If this parameter is omitted, a container is assumed to be essential. 7089 // 7090 // All tasks must have at least one essential container. If you have an application 7091 // that is composed of multiple containers, you should group containers that 7092 // are used for a common purpose into components, and separate the different 7093 // components into multiple task definitions. For more information, see Application 7094 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 7095 // in the Amazon Elastic Container Service Developer Guide. 7096 Essential *bool `locationName:"essential" type:"boolean"` 7097 7098 // A list of hostnames and IP address mappings to append to the /etc/hosts file 7099 // on the container. This parameter maps to ExtraHosts in the Create a container 7100 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7101 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7102 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 7103 // 7104 // This parameter is not supported for Windows containers or tasks that use 7105 // the awsvpc network mode. 7106 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 7107 7108 // The FireLens configuration for the container. This is used to specify and 7109 // configure a log router for container logs. For more information, see Custom 7110 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 7111 // in the Amazon Elastic Container Service Developer Guide. 7112 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 7113 7114 // The container health check command and associated configuration parameters 7115 // for the container. This parameter maps to HealthCheck in the Create a container 7116 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7117 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7118 // the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/). 7119 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 7120 7121 // The hostname to use for your container. This parameter maps to Hostname in 7122 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7123 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7124 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 7125 // 7126 // The hostname parameter is not supported if you are using the awsvpc network 7127 // mode. 7128 Hostname *string `locationName:"hostname" type:"string"` 7129 7130 // The image used to start a container. This string is passed directly to the 7131 // Docker daemon. Images in the Docker Hub registry are available by default. 7132 // Other repositories are specified with either repository-url/image:tag or 7133 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 7134 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 7135 // signs are allowed. This parameter maps to Image in the Create a container 7136 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7137 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7138 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 7139 // 7140 // * When a new task starts, the Amazon ECS container agent pulls the latest 7141 // version of the specified image and tag for the container to use. However, 7142 // subsequent updates to a repository image are not propagated to already 7143 // running tasks. 7144 // 7145 // * Images in Amazon ECR repositories can be specified by either using the 7146 // full registry/repository:tag or registry/repository@digest. For example, 7147 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 7148 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 7149 // 7150 // * Images in official repositories on Docker Hub use a single name (for 7151 // example, ubuntu or mongo). 7152 // 7153 // * Images in other repositories on Docker Hub are qualified with an organization 7154 // name (for example, amazon/amazon-ecs-agent). 7155 // 7156 // * Images in other online repositories are qualified further by a domain 7157 // name (for example, quay.io/assemblyline/ubuntu). 7158 Image *string `locationName:"image" type:"string"` 7159 7160 // When this parameter is true, this allows you to deploy containerized applications 7161 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 7162 // 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 --interactive option to docker run (https://docs.docker.com/engine/reference/run/). 7165 Interactive *bool `locationName:"interactive" type:"boolean"` 7166 7167 // The links parameter allows containers to communicate with each other without 7168 // the need for port mappings. This parameter is only supported if the network 7169 // mode of a task definition is bridge. The name:internalName construct is analogous 7170 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 7171 // numbers, and hyphens are allowed. For more information about linking Docker 7172 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 7173 // in the Docker documentation. This parameter maps to Links in the Create a 7174 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7175 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7176 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 7177 // 7178 // This parameter is not supported for Windows containers. 7179 // 7180 // Containers that are collocated on a single container instance may be able 7181 // to communicate with each other without requiring links or host port mappings. 7182 // Network isolation is achieved on the container instance using security groups 7183 // and VPC settings. 7184 Links []*string `locationName:"links" type:"list"` 7185 7186 // Linux-specific modifications that are applied to the container, such as Linux 7187 // kernel capabilities. For more information see KernelCapabilities. 7188 // 7189 // This parameter is not supported for Windows containers. 7190 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 7191 7192 // The log configuration specification for the container. 7193 // 7194 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7195 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7196 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 7197 // By default, containers use the same logging driver that the Docker daemon 7198 // uses. However the container may use a different logging driver than the Docker 7199 // daemon by specifying a log driver with this parameter in the container definition. 7200 // To use a different logging driver for a container, the log system must be 7201 // configured properly on the container instance (or on a different log server 7202 // for remote logging options). For more information on the options for different 7203 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 7204 // in the Docker documentation. 7205 // 7206 // Amazon ECS currently supports a subset of the logging drivers available to 7207 // the Docker daemon (shown in the LogConfiguration data type). Additional log 7208 // drivers may be available in future releases of the Amazon ECS container agent. 7209 // 7210 // This parameter requires version 1.18 of the Docker Remote API or greater 7211 // on your container instance. To check the Docker Remote API version on your 7212 // container instance, log in to your container instance and run the following 7213 // command: sudo docker version --format '{{.Server.APIVersion}}' 7214 // 7215 // The Amazon ECS container agent running on a container instance must register 7216 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 7217 // environment variable before containers placed on that instance can use these 7218 // log configuration options. For more information, see Amazon ECS Container 7219 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7220 // in the Amazon Elastic Container Service Developer Guide. 7221 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 7222 7223 // The amount (in MiB) of memory to present to the container. If your container 7224 // attempts to exceed the memory specified here, the container is killed. The 7225 // total amount of memory reserved for all containers within a task must be 7226 // lower than the task memory value, if one is specified. This parameter maps 7227 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7228 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7229 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7230 // 7231 // If using the Fargate launch type, this parameter is optional. 7232 // 7233 // If using the EC2 launch type, you must specify either a task-level memory 7234 // value or a container-level memory value. If you specify both a container-level 7235 // memory and memoryReservation value, memory must be greater than memoryReservation. 7236 // If you specify memoryReservation, then that value is subtracted from the 7237 // available memory resources for the container instance on which the container 7238 // is placed. Otherwise, the value of memory is used. 7239 // 7240 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7241 // so you should not specify fewer than 4 MiB of memory for your containers. 7242 Memory *int64 `locationName:"memory" type:"integer"` 7243 7244 // The soft limit (in MiB) of memory to reserve for the container. When system 7245 // memory is under heavy contention, Docker attempts to keep the container memory 7246 // to this soft limit. However, your container can consume more memory when 7247 // it needs to, up to either the hard limit specified with the memory parameter 7248 // (if applicable), or all of the available memory on the container instance, 7249 // whichever comes first. This parameter maps to MemoryReservation in the Create 7250 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7251 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7252 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 7253 // 7254 // If a task-level memory value is not specified, you must specify a non-zero 7255 // integer for one or both of memory or memoryReservation in a container definition. 7256 // If you specify both, memory must be greater than memoryReservation. If you 7257 // specify memoryReservation, then that value is subtracted from the available 7258 // memory resources for the container instance on which the container is placed. 7259 // Otherwise, the value of memory is used. 7260 // 7261 // For example, if your container normally uses 128 MiB of memory, but occasionally 7262 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 7263 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 7264 // allow the container to only reserve 128 MiB of memory from the remaining 7265 // resources on the container instance, but also allow the container to consume 7266 // more memory resources when needed. 7267 // 7268 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7269 // so you should not specify fewer than 4 MiB of memory for your containers. 7270 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 7271 7272 // The mount points for data volumes in your container. 7273 // 7274 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7275 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7276 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 7277 // 7278 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 7279 // Windows containers cannot mount directories on a different drive, and mount 7280 // point cannot be across drives. 7281 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 7282 7283 // The name of a container. If you are linking multiple containers together 7284 // in a task definition, the name of one container can be entered in the links 7285 // of another container to connect the containers. Up to 255 letters (uppercase 7286 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 7287 // name 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 --name option to docker run (https://docs.docker.com/engine/reference/run/). 7290 Name *string `locationName:"name" type:"string"` 7291 7292 // The list of port mappings for the container. Port mappings allow containers 7293 // to access ports on the host container instance to send or receive traffic. 7294 // 7295 // For task definitions that use the awsvpc network mode, you should only specify 7296 // the containerPort. The hostPort can be left blank or it must be the same 7297 // value as the containerPort. 7298 // 7299 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 7300 // There is no loopback for port mappings on Windows, so you cannot access a 7301 // container's mapped port from the host itself. 7302 // 7303 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7304 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7305 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 7306 // If the network mode of a task definition is set to none, then you can't specify 7307 // port mappings. If the network mode of a task definition is set to host, then 7308 // host ports must either be undefined or they must match the container port 7309 // in the port mapping. 7310 // 7311 // After a task reaches the RUNNING status, manual and automatic host and container 7312 // port assignments are visible in the Network Bindings section of a container 7313 // description for a selected task in the Amazon ECS console. The assignments 7314 // are also visible in the networkBindings section DescribeTasks responses. 7315 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 7316 7317 // When this parameter is true, the container is given elevated privileges on 7318 // the host container instance (similar to the root user). This parameter maps 7319 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7320 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7321 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 7322 // 7323 // This parameter is not supported for Windows containers or tasks using the 7324 // Fargate launch type. 7325 Privileged *bool `locationName:"privileged" type:"boolean"` 7326 7327 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 7328 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7329 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7330 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/). 7331 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 7332 7333 // When this parameter is true, the container is given read-only access to its 7334 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 7335 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7336 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7337 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/). 7338 // 7339 // This parameter is not supported for Windows containers. 7340 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 7341 7342 // The private repository authentication credentials to use. 7343 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 7344 7345 // The type and amount of a resource to assign to a container. The only supported 7346 // resource is a GPU. 7347 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 7348 7349 // The secrets to pass to the container. For more information, see Specifying 7350 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 7351 // in the Amazon Elastic Container Service Developer Guide. 7352 Secrets []*Secret `locationName:"secrets" type:"list"` 7353 7354 // Time duration (in seconds) to wait before giving up on resolving dependencies 7355 // for a container. For example, you specify two containers in a task definition 7356 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 7357 // or HEALTHY status. If a startTimeout value is specified for containerB and 7358 // it does not reach the desired status within that time then containerA will 7359 // give up and not start. This results in the task transitioning to a STOPPED 7360 // state. 7361 // 7362 // For tasks using the Fargate launch type, this parameter requires that the 7363 // task or service uses platform version 1.3.0 or later. If this parameter is 7364 // not specified, the default value of 3 minutes is used. 7365 // 7366 // For tasks using the EC2 launch type, if the startTimeout parameter is not 7367 // specified, the value set for the Amazon ECS container agent configuration 7368 // variable ECS_CONTAINER_START_TIMEOUT is used by default. If neither the startTimeout 7369 // parameter or the ECS_CONTAINER_START_TIMEOUT agent configuration variable 7370 // are set, then the default values of 3 minutes for Linux containers and 8 7371 // minutes on Windows containers are used. Your container instances require 7372 // at least version 1.26.0 of the container agent to enable a container start 7373 // timeout value. However, we recommend using the latest container agent version. 7374 // For information about checking your agent version and updating to the latest 7375 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7376 // in the Amazon Elastic Container Service Developer Guide. If you are using 7377 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7378 // of the ecs-init package. If your container instances are launched from version 7379 // 20190301 or later, then they contain the required versions of the container 7380 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7381 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7382 // in the Amazon Elastic Container Service Developer Guide. 7383 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 7384 7385 // Time duration (in seconds) to wait before the container is forcefully killed 7386 // if it doesn't exit normally on its own. 7387 // 7388 // For tasks using the Fargate launch type, the task or service requires platform 7389 // version 1.3.0 or later. The max stop timeout value is 120 seconds and if 7390 // the parameter is not specified, the default value of 30 seconds is used. 7391 // 7392 // For tasks using the EC2 launch type, if the stopTimeout parameter is not 7393 // specified, the value set for the Amazon ECS container agent configuration 7394 // variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the stopTimeout 7395 // parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable 7396 // are set, then the default values of 30 seconds for Linux containers and 30 7397 // seconds on Windows containers are used. Your container instances require 7398 // at least version 1.26.0 of the container agent to enable a container stop 7399 // timeout value. However, we recommend using the latest container agent version. 7400 // For information about checking your agent version and updating to the latest 7401 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7402 // in the Amazon Elastic Container Service Developer Guide. If you are using 7403 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7404 // of the ecs-init package. If your container instances are launched from version 7405 // 20190301 or later, then they contain the required versions of the container 7406 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7407 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7408 // in the Amazon Elastic Container Service Developer Guide. 7409 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 7410 7411 // A list of namespaced kernel parameters to set in the container. This parameter 7412 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7413 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7414 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 7415 // 7416 // It is not recommended that you specify network-related systemControls parameters 7417 // for multiple containers in a single task that also uses either the awsvpc 7418 // or host network modes. For tasks that use the awsvpc network mode, the container 7419 // that is started last determines which systemControls parameters take effect. 7420 // For tasks that use the host network mode, it changes the container instance's 7421 // namespaced kernel parameters as well as the containers. 7422 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 7423 7424 // A list of ulimits to set in the container. This parameter maps to Ulimits 7425 // 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 --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 7428 // Valid naming values are displayed in the Ulimit data type. This parameter 7429 // requires version 1.18 of the Docker Remote API or greater on your container 7430 // instance. To check the Docker Remote API version on your container instance, 7431 // log in to your container instance and run the following command: sudo docker 7432 // version --format '{{.Server.APIVersion}}' 7433 // 7434 // This parameter is not supported for Windows containers. 7435 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 7436 7437 // The user name to use inside the container. This parameter maps to User in 7438 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7439 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7440 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 7441 // 7442 // You can use the following formats. If specifying a UID or GID, you must specify 7443 // it as a positive integer. 7444 // 7445 // * user 7446 // 7447 // * user:group 7448 // 7449 // * uid 7450 // 7451 // * uid:gid 7452 // 7453 // * user:gid 7454 // 7455 // * uid:group 7456 // 7457 // This parameter is not supported for Windows containers. 7458 User *string `locationName:"user" type:"string"` 7459 7460 // Data volumes to mount from another container. This parameter maps to VolumesFrom 7461 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7462 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7463 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 7464 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 7465 7466 // The working directory in which to run commands inside the container. This 7467 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7468 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7469 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 7470 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 7471} 7472 7473// String returns the string representation 7474func (s ContainerDefinition) String() string { 7475 return awsutil.Prettify(s) 7476} 7477 7478// GoString returns the string representation 7479func (s ContainerDefinition) GoString() string { 7480 return s.String() 7481} 7482 7483// Validate inspects the fields of the type to determine if they are valid. 7484func (s *ContainerDefinition) Validate() error { 7485 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 7486 if s.DependsOn != nil { 7487 for i, v := range s.DependsOn { 7488 if v == nil { 7489 continue 7490 } 7491 if err := v.Validate(); err != nil { 7492 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 7493 } 7494 } 7495 } 7496 if s.EnvironmentFiles != nil { 7497 for i, v := range s.EnvironmentFiles { 7498 if v == nil { 7499 continue 7500 } 7501 if err := v.Validate(); err != nil { 7502 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 7503 } 7504 } 7505 } 7506 if s.ExtraHosts != nil { 7507 for i, v := range s.ExtraHosts { 7508 if v == nil { 7509 continue 7510 } 7511 if err := v.Validate(); err != nil { 7512 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 7513 } 7514 } 7515 } 7516 if s.FirelensConfiguration != nil { 7517 if err := s.FirelensConfiguration.Validate(); err != nil { 7518 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 7519 } 7520 } 7521 if s.HealthCheck != nil { 7522 if err := s.HealthCheck.Validate(); err != nil { 7523 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 7524 } 7525 } 7526 if s.LinuxParameters != nil { 7527 if err := s.LinuxParameters.Validate(); err != nil { 7528 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 7529 } 7530 } 7531 if s.LogConfiguration != nil { 7532 if err := s.LogConfiguration.Validate(); err != nil { 7533 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 7534 } 7535 } 7536 if s.RepositoryCredentials != nil { 7537 if err := s.RepositoryCredentials.Validate(); err != nil { 7538 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 7539 } 7540 } 7541 if s.ResourceRequirements != nil { 7542 for i, v := range s.ResourceRequirements { 7543 if v == nil { 7544 continue 7545 } 7546 if err := v.Validate(); err != nil { 7547 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 7548 } 7549 } 7550 } 7551 if s.Secrets != nil { 7552 for i, v := range s.Secrets { 7553 if v == nil { 7554 continue 7555 } 7556 if err := v.Validate(); err != nil { 7557 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 7558 } 7559 } 7560 } 7561 if s.Ulimits != nil { 7562 for i, v := range s.Ulimits { 7563 if v == nil { 7564 continue 7565 } 7566 if err := v.Validate(); err != nil { 7567 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 7568 } 7569 } 7570 } 7571 7572 if invalidParams.Len() > 0 { 7573 return invalidParams 7574 } 7575 return nil 7576} 7577 7578// SetCommand sets the Command field's value. 7579func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 7580 s.Command = v 7581 return s 7582} 7583 7584// SetCpu sets the Cpu field's value. 7585func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 7586 s.Cpu = &v 7587 return s 7588} 7589 7590// SetDependsOn sets the DependsOn field's value. 7591func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 7592 s.DependsOn = v 7593 return s 7594} 7595 7596// SetDisableNetworking sets the DisableNetworking field's value. 7597func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 7598 s.DisableNetworking = &v 7599 return s 7600} 7601 7602// SetDnsSearchDomains sets the DnsSearchDomains field's value. 7603func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 7604 s.DnsSearchDomains = v 7605 return s 7606} 7607 7608// SetDnsServers sets the DnsServers field's value. 7609func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 7610 s.DnsServers = v 7611 return s 7612} 7613 7614// SetDockerLabels sets the DockerLabels field's value. 7615func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 7616 s.DockerLabels = v 7617 return s 7618} 7619 7620// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 7621func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 7622 s.DockerSecurityOptions = v 7623 return s 7624} 7625 7626// SetEntryPoint sets the EntryPoint field's value. 7627func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 7628 s.EntryPoint = v 7629 return s 7630} 7631 7632// SetEnvironment sets the Environment field's value. 7633func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 7634 s.Environment = v 7635 return s 7636} 7637 7638// SetEnvironmentFiles sets the EnvironmentFiles field's value. 7639func (s *ContainerDefinition) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerDefinition { 7640 s.EnvironmentFiles = v 7641 return s 7642} 7643 7644// SetEssential sets the Essential field's value. 7645func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 7646 s.Essential = &v 7647 return s 7648} 7649 7650// SetExtraHosts sets the ExtraHosts field's value. 7651func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 7652 s.ExtraHosts = v 7653 return s 7654} 7655 7656// SetFirelensConfiguration sets the FirelensConfiguration field's value. 7657func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 7658 s.FirelensConfiguration = v 7659 return s 7660} 7661 7662// SetHealthCheck sets the HealthCheck field's value. 7663func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 7664 s.HealthCheck = v 7665 return s 7666} 7667 7668// SetHostname sets the Hostname field's value. 7669func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 7670 s.Hostname = &v 7671 return s 7672} 7673 7674// SetImage sets the Image field's value. 7675func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 7676 s.Image = &v 7677 return s 7678} 7679 7680// SetInteractive sets the Interactive field's value. 7681func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 7682 s.Interactive = &v 7683 return s 7684} 7685 7686// SetLinks sets the Links field's value. 7687func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 7688 s.Links = v 7689 return s 7690} 7691 7692// SetLinuxParameters sets the LinuxParameters field's value. 7693func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 7694 s.LinuxParameters = v 7695 return s 7696} 7697 7698// SetLogConfiguration sets the LogConfiguration field's value. 7699func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 7700 s.LogConfiguration = v 7701 return s 7702} 7703 7704// SetMemory sets the Memory field's value. 7705func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 7706 s.Memory = &v 7707 return s 7708} 7709 7710// SetMemoryReservation sets the MemoryReservation field's value. 7711func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 7712 s.MemoryReservation = &v 7713 return s 7714} 7715 7716// SetMountPoints sets the MountPoints field's value. 7717func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 7718 s.MountPoints = v 7719 return s 7720} 7721 7722// SetName sets the Name field's value. 7723func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 7724 s.Name = &v 7725 return s 7726} 7727 7728// SetPortMappings sets the PortMappings field's value. 7729func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 7730 s.PortMappings = v 7731 return s 7732} 7733 7734// SetPrivileged sets the Privileged field's value. 7735func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 7736 s.Privileged = &v 7737 return s 7738} 7739 7740// SetPseudoTerminal sets the PseudoTerminal field's value. 7741func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 7742 s.PseudoTerminal = &v 7743 return s 7744} 7745 7746// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 7747func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 7748 s.ReadonlyRootFilesystem = &v 7749 return s 7750} 7751 7752// SetRepositoryCredentials sets the RepositoryCredentials field's value. 7753func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 7754 s.RepositoryCredentials = v 7755 return s 7756} 7757 7758// SetResourceRequirements sets the ResourceRequirements field's value. 7759func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 7760 s.ResourceRequirements = v 7761 return s 7762} 7763 7764// SetSecrets sets the Secrets field's value. 7765func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 7766 s.Secrets = v 7767 return s 7768} 7769 7770// SetStartTimeout sets the StartTimeout field's value. 7771func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 7772 s.StartTimeout = &v 7773 return s 7774} 7775 7776// SetStopTimeout sets the StopTimeout field's value. 7777func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 7778 s.StopTimeout = &v 7779 return s 7780} 7781 7782// SetSystemControls sets the SystemControls field's value. 7783func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 7784 s.SystemControls = v 7785 return s 7786} 7787 7788// SetUlimits sets the Ulimits field's value. 7789func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 7790 s.Ulimits = v 7791 return s 7792} 7793 7794// SetUser sets the User field's value. 7795func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 7796 s.User = &v 7797 return s 7798} 7799 7800// SetVolumesFrom sets the VolumesFrom field's value. 7801func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 7802 s.VolumesFrom = v 7803 return s 7804} 7805 7806// SetWorkingDirectory sets the WorkingDirectory field's value. 7807func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 7808 s.WorkingDirectory = &v 7809 return s 7810} 7811 7812// The dependencies defined for container startup and shutdown. A container 7813// can contain multiple dependencies. When a dependency is defined for container 7814// startup, for container shutdown it is reversed. 7815// 7816// Your Amazon ECS container instances require at least version 1.26.0 of the 7817// container agent to enable container dependencies. However, we recommend using 7818// the latest container agent version. For information about checking your agent 7819// version and updating to the latest version, see Updating the Amazon ECS Container 7820// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7821// in the Amazon Elastic Container Service Developer Guide. If you are using 7822// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7823// of the ecs-init package. If your container instances are launched from version 7824// 20190301 or later, then they contain the required versions of the container 7825// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7826// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7827// in the Amazon Elastic Container Service Developer Guide. 7828// 7829// For tasks using the Fargate launch type, this parameter requires that the 7830// task or service uses platform version 1.3.0 or later. 7831type ContainerDependency struct { 7832 _ struct{} `type:"structure"` 7833 7834 // The dependency condition of the container. The following are the available 7835 // conditions and their behavior: 7836 // 7837 // * START - This condition emulates the behavior of links and volumes today. 7838 // It validates that a dependent container is started before permitting other 7839 // containers to start. 7840 // 7841 // * COMPLETE - This condition validates that a dependent container runs 7842 // to completion (exits) before permitting other containers to start. This 7843 // can be useful for nonessential containers that run a script and then exit. 7844 // 7845 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 7846 // that the container exits with a zero status. 7847 // 7848 // * HEALTHY - This condition validates that the dependent container passes 7849 // its Docker health check before permitting other containers to start. This 7850 // requires that the dependent container has health checks configured. This 7851 // condition is confirmed only at task startup. 7852 // 7853 // Condition is a required field 7854 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 7855 7856 // The name of a container. 7857 // 7858 // ContainerName is a required field 7859 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 7860} 7861 7862// String returns the string representation 7863func (s ContainerDependency) String() string { 7864 return awsutil.Prettify(s) 7865} 7866 7867// GoString returns the string representation 7868func (s ContainerDependency) GoString() string { 7869 return s.String() 7870} 7871 7872// Validate inspects the fields of the type to determine if they are valid. 7873func (s *ContainerDependency) Validate() error { 7874 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 7875 if s.Condition == nil { 7876 invalidParams.Add(request.NewErrParamRequired("Condition")) 7877 } 7878 if s.ContainerName == nil { 7879 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 7880 } 7881 7882 if invalidParams.Len() > 0 { 7883 return invalidParams 7884 } 7885 return nil 7886} 7887 7888// SetCondition sets the Condition field's value. 7889func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 7890 s.Condition = &v 7891 return s 7892} 7893 7894// SetContainerName sets the ContainerName field's value. 7895func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 7896 s.ContainerName = &v 7897 return s 7898} 7899 7900// An EC2 instance that is running the Amazon ECS agent and has been registered 7901// with a cluster. 7902type ContainerInstance struct { 7903 _ struct{} `type:"structure"` 7904 7905 // This parameter returns true if the agent is connected to Amazon ECS. Registered 7906 // instances with an agent that may be unhealthy or stopped return false. Only 7907 // instances connected to an agent can accept placement requests. 7908 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 7909 7910 // The status of the most recent agent update. If an update has never been requested, 7911 // this value is NULL. 7912 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 7913 7914 // The resources attached to a container instance, such as elastic network interfaces. 7915 Attachments []*Attachment `locationName:"attachments" type:"list"` 7916 7917 // The attributes set for the container instance, either by the Amazon ECS container 7918 // agent at instance registration or manually with the PutAttributes operation. 7919 Attributes []*Attribute `locationName:"attributes" type:"list"` 7920 7921 // The capacity provider associated with the container instance. 7922 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 7923 7924 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 7925 // the arn:aws:ecs namespace, followed by the Region of the container instance, 7926 // the AWS account ID of the container instance owner, the container-instance 7927 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 7928 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 7929 7930 // The EC2 instance ID of the container instance. 7931 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 7932 7933 // The number of tasks on the container instance that are in the PENDING status. 7934 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 7935 7936 // The Unix timestamp for when the container instance was registered. 7937 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 7938 7939 // For CPU and memory resource types, this parameter describes the amount of 7940 // each resource that was available on the container instance when the container 7941 // agent registered it with Amazon ECS. This value represents the total amount 7942 // of CPU and memory that can be allocated on this container instance to tasks. 7943 // For port resource types, this parameter describes the ports that were reserved 7944 // by the Amazon ECS container agent when it registered the container instance 7945 // with Amazon ECS. 7946 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 7947 7948 // For CPU and memory resource types, this parameter describes the remaining 7949 // CPU and memory that has not already been allocated to tasks and is therefore 7950 // available for new tasks. For port resource types, this parameter describes 7951 // the ports that were reserved by the Amazon ECS container agent (at instance 7952 // registration time) and any task containers that have reserved port mappings 7953 // on the host (with the host or bridge network mode). Any port that is not 7954 // specified here is available for new tasks. 7955 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 7956 7957 // The number of tasks on the container instance that are in the RUNNING status. 7958 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 7959 7960 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 7961 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 7962 // 7963 // If your account has opted in to the awsvpcTrunking account setting, then 7964 // any newly registered container instance will transition to a REGISTERING 7965 // status while the trunk elastic network interface is provisioned for the instance. 7966 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 7967 // status. You can describe the container instance and see the reason for failure 7968 // in the statusReason parameter. Once the container instance is terminated, 7969 // the instance transitions to a DEREGISTERING status while the trunk elastic 7970 // network interface is deprovisioned. The instance then transitions to an INACTIVE 7971 // status. 7972 // 7973 // The ACTIVE status indicates that the container instance can accept tasks. 7974 // The DRAINING indicates that new tasks are not placed on the container instance 7975 // and any service tasks running on the container instance are removed if possible. 7976 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 7977 // in the Amazon Elastic Container Service Developer Guide. 7978 Status *string `locationName:"status" type:"string"` 7979 7980 // The reason that the container instance reached its current status. 7981 StatusReason *string `locationName:"statusReason" type:"string"` 7982 7983 // The metadata that you apply to the container instance to help you categorize 7984 // and organize them. Each tag consists of a key and an optional value, both 7985 // of which you define. 7986 // 7987 // The following basic restrictions apply to tags: 7988 // 7989 // * Maximum number of tags per resource - 50 7990 // 7991 // * For each resource, each tag key must be unique, and each tag key can 7992 // have only one value. 7993 // 7994 // * Maximum key length - 128 Unicode characters in UTF-8 7995 // 7996 // * Maximum value length - 256 Unicode characters in UTF-8 7997 // 7998 // * If your tagging schema is used across multiple services and resources, 7999 // remember that other services may have restrictions on allowed characters. 8000 // Generally allowed characters are: letters, numbers, and spaces representable 8001 // in UTF-8, and the following characters: + - = . _ : / @. 8002 // 8003 // * Tag keys and values are case-sensitive. 8004 // 8005 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8006 // as a prefix for either keys or values as it is reserved for AWS use. You 8007 // cannot edit or delete tag keys or values with this prefix. Tags with this 8008 // prefix do not count against your tags per resource limit. 8009 Tags []*Tag `locationName:"tags" type:"list"` 8010 8011 // The version counter for the container instance. Every time a container instance 8012 // experiences a change that triggers a CloudWatch event, the version counter 8013 // is incremented. If you are replicating your Amazon ECS container instance 8014 // state with CloudWatch Events, you can compare the version of a container 8015 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 8016 // Events for the container instance (inside the detail object) to verify that 8017 // the version in your event stream is current. 8018 Version *int64 `locationName:"version" type:"long"` 8019 8020 // The version information for the Amazon ECS container agent and Docker daemon 8021 // running on the container instance. 8022 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 8023} 8024 8025// String returns the string representation 8026func (s ContainerInstance) String() string { 8027 return awsutil.Prettify(s) 8028} 8029 8030// GoString returns the string representation 8031func (s ContainerInstance) GoString() string { 8032 return s.String() 8033} 8034 8035// SetAgentConnected sets the AgentConnected field's value. 8036func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 8037 s.AgentConnected = &v 8038 return s 8039} 8040 8041// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 8042func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 8043 s.AgentUpdateStatus = &v 8044 return s 8045} 8046 8047// SetAttachments sets the Attachments field's value. 8048func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 8049 s.Attachments = v 8050 return s 8051} 8052 8053// SetAttributes sets the Attributes field's value. 8054func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 8055 s.Attributes = v 8056 return s 8057} 8058 8059// SetCapacityProviderName sets the CapacityProviderName field's value. 8060func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 8061 s.CapacityProviderName = &v 8062 return s 8063} 8064 8065// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8066func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 8067 s.ContainerInstanceArn = &v 8068 return s 8069} 8070 8071// SetEc2InstanceId sets the Ec2InstanceId field's value. 8072func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 8073 s.Ec2InstanceId = &v 8074 return s 8075} 8076 8077// SetPendingTasksCount sets the PendingTasksCount field's value. 8078func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 8079 s.PendingTasksCount = &v 8080 return s 8081} 8082 8083// SetRegisteredAt sets the RegisteredAt field's value. 8084func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 8085 s.RegisteredAt = &v 8086 return s 8087} 8088 8089// SetRegisteredResources sets the RegisteredResources field's value. 8090func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 8091 s.RegisteredResources = v 8092 return s 8093} 8094 8095// SetRemainingResources sets the RemainingResources field's value. 8096func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 8097 s.RemainingResources = v 8098 return s 8099} 8100 8101// SetRunningTasksCount sets the RunningTasksCount field's value. 8102func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 8103 s.RunningTasksCount = &v 8104 return s 8105} 8106 8107// SetStatus sets the Status field's value. 8108func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 8109 s.Status = &v 8110 return s 8111} 8112 8113// SetStatusReason sets the StatusReason field's value. 8114func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 8115 s.StatusReason = &v 8116 return s 8117} 8118 8119// SetTags sets the Tags field's value. 8120func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 8121 s.Tags = v 8122 return s 8123} 8124 8125// SetVersion sets the Version field's value. 8126func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 8127 s.Version = &v 8128 return s 8129} 8130 8131// SetVersionInfo sets the VersionInfo field's value. 8132func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 8133 s.VersionInfo = v 8134 return s 8135} 8136 8137// The overrides that should be sent to a container. An empty container override 8138// can be passed in. An example of an empty container override would be {"containerOverrides": 8139// [ ] }. If a non-empty container override is specified, the name parameter 8140// must be included. 8141type ContainerOverride struct { 8142 _ struct{} `type:"structure"` 8143 8144 // The command to send to the container that overrides the default command from 8145 // the Docker image or the task definition. You must also specify a container 8146 // name. 8147 Command []*string `locationName:"command" type:"list"` 8148 8149 // The number of cpu units reserved for the container, instead of the default 8150 // value from the task definition. You must also specify a container name. 8151 Cpu *int64 `locationName:"cpu" type:"integer"` 8152 8153 // The environment variables to send to the container. You can add new environment 8154 // variables, which are added to the container at launch, or you can override 8155 // the existing environment variables from the Docker image or the task definition. 8156 // You must also specify a container name. 8157 Environment []*KeyValuePair `locationName:"environment" type:"list"` 8158 8159 // A list of files containing the environment variables to pass to a container, 8160 // instead of the value from the container definition. 8161 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 8162 8163 // The hard limit (in MiB) of memory to present to the container, instead of 8164 // the default value from the task definition. If your container attempts to 8165 // exceed the memory specified here, the container is killed. You must also 8166 // specify a container name. 8167 Memory *int64 `locationName:"memory" type:"integer"` 8168 8169 // The soft limit (in MiB) of memory to reserve for the container, instead of 8170 // the default value from the task definition. You must also specify a container 8171 // name. 8172 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8173 8174 // The name of the container that receives the override. This parameter is required 8175 // if any override is specified. 8176 Name *string `locationName:"name" type:"string"` 8177 8178 // The type and amount of a resource to assign to a container, instead of the 8179 // default value from the task definition. The only supported resource is a 8180 // GPU. 8181 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8182} 8183 8184// String returns the string representation 8185func (s ContainerOverride) String() string { 8186 return awsutil.Prettify(s) 8187} 8188 8189// GoString returns the string representation 8190func (s ContainerOverride) GoString() string { 8191 return s.String() 8192} 8193 8194// Validate inspects the fields of the type to determine if they are valid. 8195func (s *ContainerOverride) Validate() error { 8196 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 8197 if s.EnvironmentFiles != nil { 8198 for i, v := range s.EnvironmentFiles { 8199 if v == nil { 8200 continue 8201 } 8202 if err := v.Validate(); err != nil { 8203 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8204 } 8205 } 8206 } 8207 if s.ResourceRequirements != nil { 8208 for i, v := range s.ResourceRequirements { 8209 if v == nil { 8210 continue 8211 } 8212 if err := v.Validate(); err != nil { 8213 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8214 } 8215 } 8216 } 8217 8218 if invalidParams.Len() > 0 { 8219 return invalidParams 8220 } 8221 return nil 8222} 8223 8224// SetCommand sets the Command field's value. 8225func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 8226 s.Command = v 8227 return s 8228} 8229 8230// SetCpu sets the Cpu field's value. 8231func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 8232 s.Cpu = &v 8233 return s 8234} 8235 8236// SetEnvironment sets the Environment field's value. 8237func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 8238 s.Environment = v 8239 return s 8240} 8241 8242// SetEnvironmentFiles sets the EnvironmentFiles field's value. 8243func (s *ContainerOverride) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerOverride { 8244 s.EnvironmentFiles = v 8245 return s 8246} 8247 8248// SetMemory sets the Memory field's value. 8249func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 8250 s.Memory = &v 8251 return s 8252} 8253 8254// SetMemoryReservation sets the MemoryReservation field's value. 8255func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 8256 s.MemoryReservation = &v 8257 return s 8258} 8259 8260// SetName sets the Name field's value. 8261func (s *ContainerOverride) SetName(v string) *ContainerOverride { 8262 s.Name = &v 8263 return s 8264} 8265 8266// SetResourceRequirements sets the ResourceRequirements field's value. 8267func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 8268 s.ResourceRequirements = v 8269 return s 8270} 8271 8272// An object representing a change in state for a container. 8273type ContainerStateChange struct { 8274 _ struct{} `type:"structure"` 8275 8276 // The name of the container. 8277 ContainerName *string `locationName:"containerName" type:"string"` 8278 8279 // The exit code for the container, if the state change is a result of the container 8280 // exiting. 8281 ExitCode *int64 `locationName:"exitCode" type:"integer"` 8282 8283 // The container image SHA 256 digest. 8284 ImageDigest *string `locationName:"imageDigest" type:"string"` 8285 8286 // Any network bindings associated with the container. 8287 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 8288 8289 // The reason for the state change. 8290 Reason *string `locationName:"reason" type:"string"` 8291 8292 // The ID of the Docker container. 8293 RuntimeId *string `locationName:"runtimeId" type:"string"` 8294 8295 // The status of the container. 8296 Status *string `locationName:"status" type:"string"` 8297} 8298 8299// String returns the string representation 8300func (s ContainerStateChange) String() string { 8301 return awsutil.Prettify(s) 8302} 8303 8304// GoString returns the string representation 8305func (s ContainerStateChange) GoString() string { 8306 return s.String() 8307} 8308 8309// SetContainerName sets the ContainerName field's value. 8310func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 8311 s.ContainerName = &v 8312 return s 8313} 8314 8315// SetExitCode sets the ExitCode field's value. 8316func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 8317 s.ExitCode = &v 8318 return s 8319} 8320 8321// SetImageDigest sets the ImageDigest field's value. 8322func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 8323 s.ImageDigest = &v 8324 return s 8325} 8326 8327// SetNetworkBindings sets the NetworkBindings field's value. 8328func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 8329 s.NetworkBindings = v 8330 return s 8331} 8332 8333// SetReason sets the Reason field's value. 8334func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 8335 s.Reason = &v 8336 return s 8337} 8338 8339// SetRuntimeId sets the RuntimeId field's value. 8340func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 8341 s.RuntimeId = &v 8342 return s 8343} 8344 8345// SetStatus sets the Status field's value. 8346func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 8347 s.Status = &v 8348 return s 8349} 8350 8351type CreateCapacityProviderInput struct { 8352 _ struct{} `type:"structure"` 8353 8354 // The details of the Auto Scaling group for the capacity provider. 8355 // 8356 // AutoScalingGroupProvider is a required field 8357 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 8358 8359 // The name of the capacity provider. Up to 255 characters are allowed, including 8360 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 8361 // cannot be prefixed with "aws", "ecs", or "fargate". 8362 // 8363 // Name is a required field 8364 Name *string `locationName:"name" type:"string" required:"true"` 8365 8366 // The metadata that you apply to the capacity provider to help you categorize 8367 // and organize them. Each tag consists of a key and an optional value, both 8368 // of which you define. 8369 // 8370 // The following basic restrictions apply to tags: 8371 // 8372 // * Maximum number of tags per resource - 50 8373 // 8374 // * For each resource, each tag key must be unique, and each tag key can 8375 // have only one value. 8376 // 8377 // * Maximum key length - 128 Unicode characters in UTF-8 8378 // 8379 // * Maximum value length - 256 Unicode characters in UTF-8 8380 // 8381 // * If your tagging schema is used across multiple services and resources, 8382 // remember that other services may have restrictions on allowed characters. 8383 // Generally allowed characters are: letters, numbers, and spaces representable 8384 // in UTF-8, and the following characters: + - = . _ : / @. 8385 // 8386 // * Tag keys and values are case-sensitive. 8387 // 8388 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8389 // as a prefix for either keys or values as it is reserved for AWS use. You 8390 // cannot edit or delete tag keys or values with this prefix. Tags with this 8391 // prefix do not count against your tags per resource limit. 8392 Tags []*Tag `locationName:"tags" type:"list"` 8393} 8394 8395// String returns the string representation 8396func (s CreateCapacityProviderInput) String() string { 8397 return awsutil.Prettify(s) 8398} 8399 8400// GoString returns the string representation 8401func (s CreateCapacityProviderInput) GoString() string { 8402 return s.String() 8403} 8404 8405// Validate inspects the fields of the type to determine if they are valid. 8406func (s *CreateCapacityProviderInput) Validate() error { 8407 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 8408 if s.AutoScalingGroupProvider == nil { 8409 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 8410 } 8411 if s.Name == nil { 8412 invalidParams.Add(request.NewErrParamRequired("Name")) 8413 } 8414 if s.AutoScalingGroupProvider != nil { 8415 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 8416 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 8417 } 8418 } 8419 if s.Tags != nil { 8420 for i, v := range s.Tags { 8421 if v == nil { 8422 continue 8423 } 8424 if err := v.Validate(); err != nil { 8425 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8426 } 8427 } 8428 } 8429 8430 if invalidParams.Len() > 0 { 8431 return invalidParams 8432 } 8433 return nil 8434} 8435 8436// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 8437func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 8438 s.AutoScalingGroupProvider = v 8439 return s 8440} 8441 8442// SetName sets the Name field's value. 8443func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 8444 s.Name = &v 8445 return s 8446} 8447 8448// SetTags sets the Tags field's value. 8449func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 8450 s.Tags = v 8451 return s 8452} 8453 8454type CreateCapacityProviderOutput struct { 8455 _ struct{} `type:"structure"` 8456 8457 // The full description of the new capacity provider. 8458 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 8459} 8460 8461// String returns the string representation 8462func (s CreateCapacityProviderOutput) String() string { 8463 return awsutil.Prettify(s) 8464} 8465 8466// GoString returns the string representation 8467func (s CreateCapacityProviderOutput) GoString() string { 8468 return s.String() 8469} 8470 8471// SetCapacityProvider sets the CapacityProvider field's value. 8472func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 8473 s.CapacityProvider = v 8474 return s 8475} 8476 8477type CreateClusterInput struct { 8478 _ struct{} `type:"structure"` 8479 8480 // The short name of one or more capacity providers to associate with the cluster. 8481 // 8482 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8483 // provider must already be created and not already associated with another 8484 // cluster. New capacity providers can be created with the CreateCapacityProvider 8485 // API operation. 8486 // 8487 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8488 // capacity providers. The AWS Fargate capacity providers are available to all 8489 // accounts and only need to be associated with a cluster to be used. 8490 // 8491 // The PutClusterCapacityProviders API operation is used to update the list 8492 // of available capacity providers for a cluster after the cluster is created. 8493 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 8494 8495 // The name of your cluster. If you do not specify a name for your cluster, 8496 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 8497 // numbers, and hyphens are allowed. 8498 ClusterName *string `locationName:"clusterName" type:"string"` 8499 8500 // The capacity provider strategy to use by default for the cluster. 8501 // 8502 // When creating a service or running a task on a cluster, if no capacity provider 8503 // or launch type is specified then the default capacity provider strategy for 8504 // the cluster is used. 8505 // 8506 // A capacity provider strategy consists of one or more capacity providers along 8507 // with the base and weight to assign to them. A capacity provider must be associated 8508 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8509 // API is used to associate a capacity provider with a cluster. Only capacity 8510 // providers with an ACTIVE or UPDATING status can be used. 8511 // 8512 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8513 // provider must already be created. New capacity providers can be created with 8514 // the CreateCapacityProvider API operation. 8515 // 8516 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8517 // capacity providers. The AWS Fargate capacity providers are available to all 8518 // accounts and only need to be associated with a cluster to be used. 8519 // 8520 // If a default capacity provider strategy is not defined for a cluster during 8521 // creation, it can be defined later with the PutClusterCapacityProviders API 8522 // operation. 8523 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 8524 8525 // The setting to use when creating a cluster. This parameter is used to enable 8526 // CloudWatch Container Insights for a cluster. If this value is specified, 8527 // it will override the containerInsights value set with PutAccountSetting or 8528 // PutAccountSettingDefault. 8529 Settings []*ClusterSetting `locationName:"settings" type:"list"` 8530 8531 // The metadata that you apply to the cluster to help you categorize and organize 8532 // them. Each tag consists of a key and an optional value, both of which you 8533 // define. 8534 // 8535 // The following basic restrictions apply to tags: 8536 // 8537 // * Maximum number of tags per resource - 50 8538 // 8539 // * For each resource, each tag key must be unique, and each tag key can 8540 // have only one value. 8541 // 8542 // * Maximum key length - 128 Unicode characters in UTF-8 8543 // 8544 // * Maximum value length - 256 Unicode characters in UTF-8 8545 // 8546 // * If your tagging schema is used across multiple services and resources, 8547 // remember that other services may have restrictions on allowed characters. 8548 // Generally allowed characters are: letters, numbers, and spaces representable 8549 // in UTF-8, and the following characters: + - = . _ : / @. 8550 // 8551 // * Tag keys and values are case-sensitive. 8552 // 8553 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8554 // as a prefix for either keys or values as it is reserved for AWS use. You 8555 // cannot edit or delete tag keys or values with this prefix. Tags with this 8556 // prefix do not count against your tags per resource limit. 8557 Tags []*Tag `locationName:"tags" type:"list"` 8558} 8559 8560// String returns the string representation 8561func (s CreateClusterInput) String() string { 8562 return awsutil.Prettify(s) 8563} 8564 8565// GoString returns the string representation 8566func (s CreateClusterInput) GoString() string { 8567 return s.String() 8568} 8569 8570// Validate inspects the fields of the type to determine if they are valid. 8571func (s *CreateClusterInput) Validate() error { 8572 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 8573 if s.DefaultCapacityProviderStrategy != nil { 8574 for i, v := range s.DefaultCapacityProviderStrategy { 8575 if v == nil { 8576 continue 8577 } 8578 if err := v.Validate(); err != nil { 8579 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8580 } 8581 } 8582 } 8583 if s.Tags != nil { 8584 for i, v := range s.Tags { 8585 if v == nil { 8586 continue 8587 } 8588 if err := v.Validate(); err != nil { 8589 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8590 } 8591 } 8592 } 8593 8594 if invalidParams.Len() > 0 { 8595 return invalidParams 8596 } 8597 return nil 8598} 8599 8600// SetCapacityProviders sets the CapacityProviders field's value. 8601func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 8602 s.CapacityProviders = v 8603 return s 8604} 8605 8606// SetClusterName sets the ClusterName field's value. 8607func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 8608 s.ClusterName = &v 8609 return s 8610} 8611 8612// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 8613func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 8614 s.DefaultCapacityProviderStrategy = v 8615 return s 8616} 8617 8618// SetSettings sets the Settings field's value. 8619func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 8620 s.Settings = v 8621 return s 8622} 8623 8624// SetTags sets the Tags field's value. 8625func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 8626 s.Tags = v 8627 return s 8628} 8629 8630type CreateClusterOutput struct { 8631 _ struct{} `type:"structure"` 8632 8633 // The full description of your new cluster. 8634 Cluster *Cluster `locationName:"cluster" type:"structure"` 8635} 8636 8637// String returns the string representation 8638func (s CreateClusterOutput) String() string { 8639 return awsutil.Prettify(s) 8640} 8641 8642// GoString returns the string representation 8643func (s CreateClusterOutput) GoString() string { 8644 return s.String() 8645} 8646 8647// SetCluster sets the Cluster field's value. 8648func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 8649 s.Cluster = v 8650 return s 8651} 8652 8653type CreateServiceInput struct { 8654 _ struct{} `type:"structure"` 8655 8656 // The capacity provider strategy to use for the service. 8657 // 8658 // A capacity provider strategy consists of one or more capacity providers along 8659 // with the base and weight to assign to them. A capacity provider must be associated 8660 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8661 // API is used to associate a capacity provider with a cluster. Only capacity 8662 // providers with an ACTIVE or UPDATING status can be used. 8663 // 8664 // If a capacityProviderStrategy is specified, the launchType parameter must 8665 // be omitted. If no capacityProviderStrategy or launchType is specified, the 8666 // defaultCapacityProviderStrategy for the cluster is used. 8667 // 8668 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8669 // provider must already be created. New capacity providers can be created with 8670 // the CreateCapacityProvider API operation. 8671 // 8672 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8673 // capacity providers. The AWS Fargate capacity providers are available to all 8674 // accounts and only need to be associated with a cluster to be used. 8675 // 8676 // The PutClusterCapacityProviders API operation is used to update the list 8677 // of available capacity providers for a cluster after the cluster is created. 8678 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 8679 8680 // Unique, case-sensitive identifier that you provide to ensure the idempotency 8681 // of the request. Up to 32 ASCII characters are allowed. 8682 ClientToken *string `locationName:"clientToken" type:"string"` 8683 8684 // The short name or full Amazon Resource Name (ARN) of the cluster on which 8685 // to run your service. If you do not specify a cluster, the default cluster 8686 // is assumed. 8687 Cluster *string `locationName:"cluster" type:"string"` 8688 8689 // Optional deployment parameters that control how many tasks run during the 8690 // deployment and the ordering of stopping and starting tasks. 8691 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 8692 8693 // The deployment controller to use for the service. 8694 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 8695 8696 // The number of instantiations of the specified task definition to place and 8697 // keep running on your cluster. 8698 // 8699 // This is required if schedulingStrategy is REPLICA or is not specified. If 8700 // schedulingStrategy is DAEMON then this is not required. 8701 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 8702 8703 // Specifies whether to enable Amazon ECS managed tags for the tasks within 8704 // the service. For more information, see Tagging Your Amazon ECS Resources 8705 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 8706 // in the Amazon Elastic Container Service Developer Guide. 8707 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 8708 8709 // The period of time, in seconds, that the Amazon ECS service scheduler should 8710 // ignore unhealthy Elastic Load Balancing target health checks after a task 8711 // has first started. This is only used when your service is configured to use 8712 // a load balancer. If your service has a load balancer defined and you don't 8713 // specify a health check grace period value, the default value of 0 is used. 8714 // 8715 // If your service's tasks take a while to start and respond to Elastic Load 8716 // Balancing health checks, you can specify a health check grace period of up 8717 // to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler 8718 // ignores health check status. This grace period can prevent the service scheduler 8719 // from marking tasks as unhealthy and stopping them before they have time to 8720 // come up. 8721 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 8722 8723 // The launch type on which to run your service. For more information, see Amazon 8724 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 8725 // in the Amazon Elastic Container Service Developer Guide. 8726 // 8727 // If a launchType is specified, the capacityProviderStrategy parameter must 8728 // be omitted. 8729 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 8730 8731 // A load balancer object representing the load balancers to use with your service. 8732 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 8733 // in the Amazon Elastic Container Service Developer Guide. 8734 // 8735 // If the service is using the rolling update (ECS) deployment controller and 8736 // using either an Application Load Balancer or Network Load Balancer, you can 8737 // specify multiple target groups to attach to the service. The service-linked 8738 // role is required for services that make use of multiple target groups. For 8739 // more information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8740 // in the Amazon Elastic Container Service Developer Guide. 8741 // 8742 // If the service is using the CODE_DEPLOY deployment controller, the service 8743 // is required to use either an Application Load Balancer or Network Load Balancer. 8744 // When creating an AWS CodeDeploy deployment group, you specify two target 8745 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 8746 // determines which task set in your service has the status PRIMARY and associates 8747 // one target group with it, and then associates the other target group with 8748 // the replacement task set. The load balancer can also have up to two listeners: 8749 // a required listener for production traffic and an optional listener that 8750 // allows you perform validation tests with Lambda functions before routing 8751 // production traffic to it. 8752 // 8753 // After you create a service using the ECS deployment controller, the load 8754 // balancer name or target group ARN, container name, and container port specified 8755 // in the service definition are immutable. If you are using the CODE_DEPLOY 8756 // deployment controller, these values can be changed when updating the service. 8757 // 8758 // For Application Load Balancers and Network Load Balancers, this object must 8759 // contain the load balancer target group ARN, the container name (as it appears 8760 // in a container definition), and the container port to access from the load 8761 // balancer. When a task from this service is placed on a container instance, 8762 // the container instance and port combination is registered as a target in 8763 // the target group specified here. 8764 // 8765 // For Classic Load Balancers, this object must contain the load balancer name, 8766 // the container name (as it appears in a container definition), and the container 8767 // port to access from the load balancer. When a task from this service is placed 8768 // on a container instance, the container instance is registered with the load 8769 // balancer specified here. 8770 // 8771 // Services with tasks that use the awsvpc network mode (for example, those 8772 // with the Fargate launch type) only support Application Load Balancers and 8773 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 8774 // you create any target groups for these services, you must choose ip as the 8775 // target type, not instance, because tasks that use the awsvpc network mode 8776 // are associated with an elastic network interface, not an Amazon EC2 instance. 8777 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 8778 8779 // The network configuration for the service. This parameter is required for 8780 // task definitions that use the awsvpc network mode to receive their own elastic 8781 // network interface, and it is not supported for other network modes. For more 8782 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 8783 // in the Amazon Elastic Container Service Developer Guide. 8784 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 8785 8786 // An array of placement constraint objects to use for tasks in your service. 8787 // You can specify a maximum of 10 constraints per task (this limit includes 8788 // constraints in the task definition and those specified at runtime). 8789 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 8790 8791 // The placement strategy objects to use for tasks in your service. You can 8792 // specify a maximum of five strategy rules per service. 8793 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 8794 8795 // The platform version that your tasks in the service are running on. A platform 8796 // version is specified only for tasks using the Fargate launch type. If one 8797 // isn't specified, the LATEST platform version is used by default. For more 8798 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 8799 // in the Amazon Elastic Container Service Developer Guide. 8800 PlatformVersion *string `locationName:"platformVersion" type:"string"` 8801 8802 // Specifies whether to propagate the tags from the task definition or the service 8803 // to the tasks in the service. If no value is specified, the tags are not propagated. 8804 // Tags can only be propagated to the tasks within the service during service 8805 // creation. To add tags to a task after service creation, use the TagResource 8806 // API action. 8807 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 8808 8809 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 8810 // ECS to make calls to your load balancer on your behalf. This parameter is 8811 // only permitted if you are using a load balancer with your service and your 8812 // task definition does not use the awsvpc network mode. If you specify the 8813 // role parameter, you must also specify a load balancer object with the loadBalancers 8814 // parameter. 8815 // 8816 // If your account has already created the Amazon ECS service-linked role, that 8817 // role is used by default for your service unless you specify a role here. 8818 // The service-linked role is required if your task definition uses the awsvpc 8819 // network mode or if the service is configured to use service discovery, an 8820 // external deployment controller, multiple target groups, or Elastic Inference 8821 // accelerators in which case you should not specify a role here. For more information, 8822 // see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8823 // in the Amazon Elastic Container Service Developer Guide. 8824 // 8825 // If your specified role has a path other than /, then you must either specify 8826 // the full role ARN (this is recommended) or prefix the role name with the 8827 // path. For example, if a role with the name bar has a path of /foo/ then you 8828 // would specify /foo/bar as the role name. For more information, see Friendly 8829 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 8830 // in the IAM User Guide. 8831 Role *string `locationName:"role" type:"string"` 8832 8833 // The scheduling strategy to use for the service. For more information, see 8834 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 8835 // 8836 // There are two service scheduler strategies available: 8837 // 8838 // * REPLICA-The replica scheduling strategy places and maintains the desired 8839 // number of tasks across your cluster. By default, the service scheduler 8840 // spreads tasks across Availability Zones. You can use task placement strategies 8841 // and constraints to customize task placement decisions. This scheduler 8842 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 8843 // deployment controller types. 8844 // 8845 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 8846 // active container instance that meets all of the task placement constraints 8847 // that you specify in your cluster. The service scheduler also evaluates 8848 // the task placement constraints for running tasks and will stop tasks that 8849 // do not meet the placement constraints. When you're using this strategy, 8850 // you don't need to specify a desired number of tasks, a task placement 8851 // strategy, or use Service Auto Scaling policies. Tasks using the Fargate 8852 // launch type or the CODE_DEPLOY or EXTERNAL deployment controller types 8853 // don't support the DAEMON scheduling strategy. 8854 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 8855 8856 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 8857 // and hyphens are allowed. Service names must be unique within a cluster, but 8858 // you can have similarly named services in multiple clusters within a Region 8859 // or across multiple Regions. 8860 // 8861 // ServiceName is a required field 8862 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 8863 8864 // The details of the service discovery registries to assign to this service. 8865 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 8866 // 8867 // Service discovery is supported for Fargate tasks if you are using platform 8868 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 8869 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 8870 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 8871 8872 // The metadata that you apply to the service to help you categorize and organize 8873 // them. Each tag consists of a key and an optional value, both of which you 8874 // define. When a service is deleted, the tags are deleted as well. 8875 // 8876 // The following basic restrictions apply to tags: 8877 // 8878 // * Maximum number of tags per resource - 50 8879 // 8880 // * For each resource, each tag key must be unique, and each tag key can 8881 // have only one value. 8882 // 8883 // * Maximum key length - 128 Unicode characters in UTF-8 8884 // 8885 // * Maximum value length - 256 Unicode characters in UTF-8 8886 // 8887 // * If your tagging schema is used across multiple services and resources, 8888 // remember that other services may have restrictions on allowed characters. 8889 // Generally allowed characters are: letters, numbers, and spaces representable 8890 // in UTF-8, and the following characters: + - = . _ : / @. 8891 // 8892 // * Tag keys and values are case-sensitive. 8893 // 8894 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8895 // as a prefix for either keys or values as it is reserved for AWS use. You 8896 // cannot edit or delete tag keys or values with this prefix. Tags with this 8897 // prefix do not count against your tags per resource limit. 8898 Tags []*Tag `locationName:"tags" type:"list"` 8899 8900 // The family and revision (family:revision) or full ARN of the task definition 8901 // to run in your service. If a revision is not specified, the latest ACTIVE 8902 // revision is used. 8903 // 8904 // A task definition must be specified if the service is using the ECS deployment 8905 // controller. 8906 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 8907} 8908 8909// String returns the string representation 8910func (s CreateServiceInput) String() string { 8911 return awsutil.Prettify(s) 8912} 8913 8914// GoString returns the string representation 8915func (s CreateServiceInput) GoString() string { 8916 return s.String() 8917} 8918 8919// Validate inspects the fields of the type to determine if they are valid. 8920func (s *CreateServiceInput) Validate() error { 8921 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 8922 if s.ServiceName == nil { 8923 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 8924 } 8925 if s.CapacityProviderStrategy != nil { 8926 for i, v := range s.CapacityProviderStrategy { 8927 if v == nil { 8928 continue 8929 } 8930 if err := v.Validate(); err != nil { 8931 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8932 } 8933 } 8934 } 8935 if s.DeploymentController != nil { 8936 if err := s.DeploymentController.Validate(); err != nil { 8937 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 8938 } 8939 } 8940 if s.NetworkConfiguration != nil { 8941 if err := s.NetworkConfiguration.Validate(); err != nil { 8942 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 8943 } 8944 } 8945 if s.Tags != nil { 8946 for i, v := range s.Tags { 8947 if v == nil { 8948 continue 8949 } 8950 if err := v.Validate(); err != nil { 8951 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8952 } 8953 } 8954 } 8955 8956 if invalidParams.Len() > 0 { 8957 return invalidParams 8958 } 8959 return nil 8960} 8961 8962// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 8963func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 8964 s.CapacityProviderStrategy = v 8965 return s 8966} 8967 8968// SetClientToken sets the ClientToken field's value. 8969func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 8970 s.ClientToken = &v 8971 return s 8972} 8973 8974// SetCluster sets the Cluster field's value. 8975func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 8976 s.Cluster = &v 8977 return s 8978} 8979 8980// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 8981func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 8982 s.DeploymentConfiguration = v 8983 return s 8984} 8985 8986// SetDeploymentController sets the DeploymentController field's value. 8987func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 8988 s.DeploymentController = v 8989 return s 8990} 8991 8992// SetDesiredCount sets the DesiredCount field's value. 8993func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 8994 s.DesiredCount = &v 8995 return s 8996} 8997 8998// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 8999func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 9000 s.EnableECSManagedTags = &v 9001 return s 9002} 9003 9004// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 9005func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 9006 s.HealthCheckGracePeriodSeconds = &v 9007 return s 9008} 9009 9010// SetLaunchType sets the LaunchType field's value. 9011func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 9012 s.LaunchType = &v 9013 return s 9014} 9015 9016// SetLoadBalancers sets the LoadBalancers field's value. 9017func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 9018 s.LoadBalancers = v 9019 return s 9020} 9021 9022// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9023func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 9024 s.NetworkConfiguration = v 9025 return s 9026} 9027 9028// SetPlacementConstraints sets the PlacementConstraints field's value. 9029func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 9030 s.PlacementConstraints = v 9031 return s 9032} 9033 9034// SetPlacementStrategy sets the PlacementStrategy field's value. 9035func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 9036 s.PlacementStrategy = v 9037 return s 9038} 9039 9040// SetPlatformVersion sets the PlatformVersion field's value. 9041func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 9042 s.PlatformVersion = &v 9043 return s 9044} 9045 9046// SetPropagateTags sets the PropagateTags field's value. 9047func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 9048 s.PropagateTags = &v 9049 return s 9050} 9051 9052// SetRole sets the Role field's value. 9053func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 9054 s.Role = &v 9055 return s 9056} 9057 9058// SetSchedulingStrategy sets the SchedulingStrategy field's value. 9059func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 9060 s.SchedulingStrategy = &v 9061 return s 9062} 9063 9064// SetServiceName sets the ServiceName field's value. 9065func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 9066 s.ServiceName = &v 9067 return s 9068} 9069 9070// SetServiceRegistries sets the ServiceRegistries field's value. 9071func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 9072 s.ServiceRegistries = v 9073 return s 9074} 9075 9076// SetTags sets the Tags field's value. 9077func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 9078 s.Tags = v 9079 return s 9080} 9081 9082// SetTaskDefinition sets the TaskDefinition field's value. 9083func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 9084 s.TaskDefinition = &v 9085 return s 9086} 9087 9088type CreateServiceOutput struct { 9089 _ struct{} `type:"structure"` 9090 9091 // The full description of your service following the create call. 9092 // 9093 // If a service is using the ECS deployment controller, the deploymentController 9094 // and taskSets parameters will not be returned. 9095 // 9096 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 9097 // taskSets and deployments parameters will be returned, however the deployments 9098 // parameter will be an empty list. 9099 Service *Service `locationName:"service" type:"structure"` 9100} 9101 9102// String returns the string representation 9103func (s CreateServiceOutput) String() string { 9104 return awsutil.Prettify(s) 9105} 9106 9107// GoString returns the string representation 9108func (s CreateServiceOutput) GoString() string { 9109 return s.String() 9110} 9111 9112// SetService sets the Service field's value. 9113func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 9114 s.Service = v 9115 return s 9116} 9117 9118type CreateTaskSetInput struct { 9119 _ struct{} `type:"structure"` 9120 9121 // The capacity provider strategy to use for the task set. 9122 // 9123 // A capacity provider strategy consists of one or more capacity providers along 9124 // with the base and weight to assign to them. A capacity provider must be associated 9125 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 9126 // API is used to associate a capacity provider with a cluster. Only capacity 9127 // providers with an ACTIVE or UPDATING status can be used. 9128 // 9129 // If a capacityProviderStrategy is specified, the launchType parameter must 9130 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9131 // defaultCapacityProviderStrategy for the cluster is used. 9132 // 9133 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9134 // provider must already be created. New capacity providers can be created with 9135 // the CreateCapacityProvider API operation. 9136 // 9137 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9138 // capacity providers. The AWS Fargate capacity providers are available to all 9139 // accounts and only need to be associated with a cluster to be used. 9140 // 9141 // The PutClusterCapacityProviders API operation is used to update the list 9142 // of available capacity providers for a cluster after the cluster is created. 9143 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9144 9145 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9146 // of the request. Up to 32 ASCII characters are allowed. 9147 ClientToken *string `locationName:"clientToken" type:"string"` 9148 9149 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9150 // the service to create the task set in. 9151 // 9152 // Cluster is a required field 9153 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9154 9155 // An optional non-unique tag that identifies this task set in external systems. 9156 // If the task set is associated with a service discovery registry, the tasks 9157 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 9158 // set to the provided value. 9159 ExternalId *string `locationName:"externalId" type:"string"` 9160 9161 // The launch type that new tasks in the task set will use. For more information, 9162 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9163 // in the Amazon Elastic Container Service Developer Guide. 9164 // 9165 // If a launchType is specified, the capacityProviderStrategy parameter must 9166 // be omitted. 9167 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9168 9169 // A load balancer object representing the load balancer to use with the task 9170 // set. The supported load balancer types are either an Application Load Balancer 9171 // or a Network Load Balancer. 9172 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9173 9174 // An object representing the network configuration for a task or service. 9175 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9176 9177 // The platform version that the tasks in the task set should use. A platform 9178 // version is specified only for tasks using the Fargate launch type. If one 9179 // isn't specified, the LATEST platform version is used by default. 9180 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9181 9182 // A floating-point percentage of the desired number of tasks to place and keep 9183 // running in the task set. 9184 Scale *Scale `locationName:"scale" type:"structure"` 9185 9186 // The short name or full Amazon Resource Name (ARN) of the service to create 9187 // the task set in. 9188 // 9189 // Service is a required field 9190 Service *string `locationName:"service" type:"string" required:"true"` 9191 9192 // The details of the service discovery registries to assign to this task set. 9193 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9194 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9195 9196 // The metadata that you apply to the task set to help you categorize and organize 9197 // them. Each tag consists of a key and an optional value, both of which you 9198 // define. When a service is deleted, the tags are deleted as well. 9199 // 9200 // The following basic restrictions apply to tags: 9201 // 9202 // * Maximum number of tags per resource - 50 9203 // 9204 // * For each resource, each tag key must be unique, and each tag key can 9205 // have only one value. 9206 // 9207 // * Maximum key length - 128 Unicode characters in UTF-8 9208 // 9209 // * Maximum value length - 256 Unicode characters in UTF-8 9210 // 9211 // * If your tagging schema is used across multiple services and resources, 9212 // remember that other services may have restrictions on allowed characters. 9213 // Generally allowed characters are: letters, numbers, and spaces representable 9214 // in UTF-8, and the following characters: + - = . _ : / @. 9215 // 9216 // * Tag keys and values are case-sensitive. 9217 // 9218 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9219 // as a prefix for either keys or values as it is reserved for AWS use. You 9220 // cannot edit or delete tag keys or values with this prefix. Tags with this 9221 // prefix do not count against your tags per resource limit. 9222 Tags []*Tag `locationName:"tags" type:"list"` 9223 9224 // The task definition for the tasks in the task set to use. 9225 // 9226 // TaskDefinition is a required field 9227 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9228} 9229 9230// String returns the string representation 9231func (s CreateTaskSetInput) String() string { 9232 return awsutil.Prettify(s) 9233} 9234 9235// GoString returns the string representation 9236func (s CreateTaskSetInput) GoString() string { 9237 return s.String() 9238} 9239 9240// Validate inspects the fields of the type to determine if they are valid. 9241func (s *CreateTaskSetInput) Validate() error { 9242 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 9243 if s.Cluster == nil { 9244 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9245 } 9246 if s.Service == nil { 9247 invalidParams.Add(request.NewErrParamRequired("Service")) 9248 } 9249 if s.TaskDefinition == nil { 9250 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9251 } 9252 if s.CapacityProviderStrategy != nil { 9253 for i, v := range s.CapacityProviderStrategy { 9254 if v == nil { 9255 continue 9256 } 9257 if err := v.Validate(); err != nil { 9258 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9259 } 9260 } 9261 } 9262 if s.NetworkConfiguration != nil { 9263 if err := s.NetworkConfiguration.Validate(); err != nil { 9264 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9265 } 9266 } 9267 if s.Tags != nil { 9268 for i, v := range s.Tags { 9269 if v == nil { 9270 continue 9271 } 9272 if err := v.Validate(); err != nil { 9273 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9274 } 9275 } 9276 } 9277 9278 if invalidParams.Len() > 0 { 9279 return invalidParams 9280 } 9281 return nil 9282} 9283 9284// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9285func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 9286 s.CapacityProviderStrategy = v 9287 return s 9288} 9289 9290// SetClientToken sets the ClientToken field's value. 9291func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 9292 s.ClientToken = &v 9293 return s 9294} 9295 9296// SetCluster sets the Cluster field's value. 9297func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 9298 s.Cluster = &v 9299 return s 9300} 9301 9302// SetExternalId sets the ExternalId field's value. 9303func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 9304 s.ExternalId = &v 9305 return s 9306} 9307 9308// SetLaunchType sets the LaunchType field's value. 9309func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 9310 s.LaunchType = &v 9311 return s 9312} 9313 9314// SetLoadBalancers sets the LoadBalancers field's value. 9315func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 9316 s.LoadBalancers = v 9317 return s 9318} 9319 9320// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9321func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 9322 s.NetworkConfiguration = v 9323 return s 9324} 9325 9326// SetPlatformVersion sets the PlatformVersion field's value. 9327func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 9328 s.PlatformVersion = &v 9329 return s 9330} 9331 9332// SetScale sets the Scale field's value. 9333func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 9334 s.Scale = v 9335 return s 9336} 9337 9338// SetService sets the Service field's value. 9339func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 9340 s.Service = &v 9341 return s 9342} 9343 9344// SetServiceRegistries sets the ServiceRegistries field's value. 9345func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 9346 s.ServiceRegistries = v 9347 return s 9348} 9349 9350// SetTags sets the Tags field's value. 9351func (s *CreateTaskSetInput) SetTags(v []*Tag) *CreateTaskSetInput { 9352 s.Tags = v 9353 return s 9354} 9355 9356// SetTaskDefinition sets the TaskDefinition field's value. 9357func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 9358 s.TaskDefinition = &v 9359 return s 9360} 9361 9362type CreateTaskSetOutput struct { 9363 _ struct{} `type:"structure"` 9364 9365 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9366 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9367 // desired number of tasks, how many tasks are running, and whether the task 9368 // set serves production traffic. 9369 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9370} 9371 9372// String returns the string representation 9373func (s CreateTaskSetOutput) String() string { 9374 return awsutil.Prettify(s) 9375} 9376 9377// GoString returns the string representation 9378func (s CreateTaskSetOutput) GoString() string { 9379 return s.String() 9380} 9381 9382// SetTaskSet sets the TaskSet field's value. 9383func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 9384 s.TaskSet = v 9385 return s 9386} 9387 9388type DeleteAccountSettingInput struct { 9389 _ struct{} `type:"structure"` 9390 9391 // The resource name for which to disable the account setting. If serviceLongArnFormat 9392 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 9393 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 9394 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 9395 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 9396 // the ENI limit for your Amazon ECS container instances is affected. 9397 // 9398 // Name is a required field 9399 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 9400 9401 // The ARN of the principal, which can be an IAM user, IAM role, or the root 9402 // user. If you specify the root user, it disables the account setting for all 9403 // IAM users, IAM roles, and the root user of the account unless an IAM user 9404 // or role explicitly overrides these settings. If this field is omitted, the 9405 // setting is changed only for the authenticated user. 9406 PrincipalArn *string `locationName:"principalArn" type:"string"` 9407} 9408 9409// String returns the string representation 9410func (s DeleteAccountSettingInput) String() string { 9411 return awsutil.Prettify(s) 9412} 9413 9414// GoString returns the string representation 9415func (s DeleteAccountSettingInput) GoString() string { 9416 return s.String() 9417} 9418 9419// Validate inspects the fields of the type to determine if they are valid. 9420func (s *DeleteAccountSettingInput) Validate() error { 9421 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 9422 if s.Name == nil { 9423 invalidParams.Add(request.NewErrParamRequired("Name")) 9424 } 9425 9426 if invalidParams.Len() > 0 { 9427 return invalidParams 9428 } 9429 return nil 9430} 9431 9432// SetName sets the Name field's value. 9433func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 9434 s.Name = &v 9435 return s 9436} 9437 9438// SetPrincipalArn sets the PrincipalArn field's value. 9439func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 9440 s.PrincipalArn = &v 9441 return s 9442} 9443 9444type DeleteAccountSettingOutput struct { 9445 _ struct{} `type:"structure"` 9446 9447 // The account setting for the specified principal ARN. 9448 Setting *Setting `locationName:"setting" type:"structure"` 9449} 9450 9451// String returns the string representation 9452func (s DeleteAccountSettingOutput) String() string { 9453 return awsutil.Prettify(s) 9454} 9455 9456// GoString returns the string representation 9457func (s DeleteAccountSettingOutput) GoString() string { 9458 return s.String() 9459} 9460 9461// SetSetting sets the Setting field's value. 9462func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 9463 s.Setting = v 9464 return s 9465} 9466 9467type DeleteAttributesInput struct { 9468 _ struct{} `type:"structure"` 9469 9470 // The attributes to delete from your resource. You can specify up to 10 attributes 9471 // per request. For custom attributes, specify the attribute name and target 9472 // ID, but do not specify the value. If you specify the target ID using the 9473 // short form, you must also specify the target type. 9474 // 9475 // Attributes is a required field 9476 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 9477 9478 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 9479 // the resource to delete attributes. If you do not specify a cluster, the default 9480 // cluster is assumed. 9481 Cluster *string `locationName:"cluster" type:"string"` 9482} 9483 9484// String returns the string representation 9485func (s DeleteAttributesInput) String() string { 9486 return awsutil.Prettify(s) 9487} 9488 9489// GoString returns the string representation 9490func (s DeleteAttributesInput) GoString() string { 9491 return s.String() 9492} 9493 9494// Validate inspects the fields of the type to determine if they are valid. 9495func (s *DeleteAttributesInput) Validate() error { 9496 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 9497 if s.Attributes == nil { 9498 invalidParams.Add(request.NewErrParamRequired("Attributes")) 9499 } 9500 if s.Attributes != nil { 9501 for i, v := range s.Attributes { 9502 if v == nil { 9503 continue 9504 } 9505 if err := v.Validate(); err != nil { 9506 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 9507 } 9508 } 9509 } 9510 9511 if invalidParams.Len() > 0 { 9512 return invalidParams 9513 } 9514 return nil 9515} 9516 9517// SetAttributes sets the Attributes field's value. 9518func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 9519 s.Attributes = v 9520 return s 9521} 9522 9523// SetCluster sets the Cluster field's value. 9524func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 9525 s.Cluster = &v 9526 return s 9527} 9528 9529type DeleteAttributesOutput struct { 9530 _ struct{} `type:"structure"` 9531 9532 // A list of attribute objects that were successfully deleted from your resource. 9533 Attributes []*Attribute `locationName:"attributes" type:"list"` 9534} 9535 9536// String returns the string representation 9537func (s DeleteAttributesOutput) String() string { 9538 return awsutil.Prettify(s) 9539} 9540 9541// GoString returns the string representation 9542func (s DeleteAttributesOutput) GoString() string { 9543 return s.String() 9544} 9545 9546// SetAttributes sets the Attributes field's value. 9547func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 9548 s.Attributes = v 9549 return s 9550} 9551 9552type DeleteClusterInput struct { 9553 _ struct{} `type:"structure"` 9554 9555 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 9556 // 9557 // Cluster is a required field 9558 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9559} 9560 9561// String returns the string representation 9562func (s DeleteClusterInput) String() string { 9563 return awsutil.Prettify(s) 9564} 9565 9566// GoString returns the string representation 9567func (s DeleteClusterInput) GoString() string { 9568 return s.String() 9569} 9570 9571// Validate inspects the fields of the type to determine if they are valid. 9572func (s *DeleteClusterInput) Validate() error { 9573 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 9574 if s.Cluster == nil { 9575 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9576 } 9577 9578 if invalidParams.Len() > 0 { 9579 return invalidParams 9580 } 9581 return nil 9582} 9583 9584// SetCluster sets the Cluster field's value. 9585func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 9586 s.Cluster = &v 9587 return s 9588} 9589 9590type DeleteClusterOutput struct { 9591 _ struct{} `type:"structure"` 9592 9593 // The full description of the deleted cluster. 9594 Cluster *Cluster `locationName:"cluster" type:"structure"` 9595} 9596 9597// String returns the string representation 9598func (s DeleteClusterOutput) String() string { 9599 return awsutil.Prettify(s) 9600} 9601 9602// GoString returns the string representation 9603func (s DeleteClusterOutput) GoString() string { 9604 return s.String() 9605} 9606 9607// SetCluster sets the Cluster field's value. 9608func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 9609 s.Cluster = v 9610 return s 9611} 9612 9613type DeleteServiceInput struct { 9614 _ struct{} `type:"structure"` 9615 9616 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9617 // the service to delete. If you do not specify a cluster, the default cluster 9618 // is assumed. 9619 Cluster *string `locationName:"cluster" type:"string"` 9620 9621 // If true, allows you to delete a service even if it has not been scaled down 9622 // to zero tasks. It is only necessary to use this if the service is using the 9623 // REPLICA scheduling strategy. 9624 Force *bool `locationName:"force" type:"boolean"` 9625 9626 // The name of the service to delete. 9627 // 9628 // Service is a required field 9629 Service *string `locationName:"service" type:"string" required:"true"` 9630} 9631 9632// String returns the string representation 9633func (s DeleteServiceInput) String() string { 9634 return awsutil.Prettify(s) 9635} 9636 9637// GoString returns the string representation 9638func (s DeleteServiceInput) GoString() string { 9639 return s.String() 9640} 9641 9642// Validate inspects the fields of the type to determine if they are valid. 9643func (s *DeleteServiceInput) Validate() error { 9644 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 9645 if s.Service == nil { 9646 invalidParams.Add(request.NewErrParamRequired("Service")) 9647 } 9648 9649 if invalidParams.Len() > 0 { 9650 return invalidParams 9651 } 9652 return nil 9653} 9654 9655// SetCluster sets the Cluster field's value. 9656func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 9657 s.Cluster = &v 9658 return s 9659} 9660 9661// SetForce sets the Force field's value. 9662func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 9663 s.Force = &v 9664 return s 9665} 9666 9667// SetService sets the Service field's value. 9668func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 9669 s.Service = &v 9670 return s 9671} 9672 9673type DeleteServiceOutput struct { 9674 _ struct{} `type:"structure"` 9675 9676 // The full description of the deleted service. 9677 Service *Service `locationName:"service" type:"structure"` 9678} 9679 9680// String returns the string representation 9681func (s DeleteServiceOutput) String() string { 9682 return awsutil.Prettify(s) 9683} 9684 9685// GoString returns the string representation 9686func (s DeleteServiceOutput) GoString() string { 9687 return s.String() 9688} 9689 9690// SetService sets the Service field's value. 9691func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 9692 s.Service = v 9693 return s 9694} 9695 9696type DeleteTaskSetInput struct { 9697 _ struct{} `type:"structure"` 9698 9699 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9700 // the service that the task set exists in to delete. 9701 // 9702 // Cluster is a required field 9703 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9704 9705 // If true, this allows you to delete a task set even if it hasn't been scaled 9706 // down to zero. 9707 Force *bool `locationName:"force" type:"boolean"` 9708 9709 // The short name or full Amazon Resource Name (ARN) of the service that hosts 9710 // the task set to delete. 9711 // 9712 // Service is a required field 9713 Service *string `locationName:"service" type:"string" required:"true"` 9714 9715 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 9716 // 9717 // TaskSet is a required field 9718 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 9719} 9720 9721// String returns the string representation 9722func (s DeleteTaskSetInput) String() string { 9723 return awsutil.Prettify(s) 9724} 9725 9726// GoString returns the string representation 9727func (s DeleteTaskSetInput) GoString() string { 9728 return s.String() 9729} 9730 9731// Validate inspects the fields of the type to determine if they are valid. 9732func (s *DeleteTaskSetInput) Validate() error { 9733 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 9734 if s.Cluster == nil { 9735 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9736 } 9737 if s.Service == nil { 9738 invalidParams.Add(request.NewErrParamRequired("Service")) 9739 } 9740 if s.TaskSet == nil { 9741 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 9742 } 9743 9744 if invalidParams.Len() > 0 { 9745 return invalidParams 9746 } 9747 return nil 9748} 9749 9750// SetCluster sets the Cluster field's value. 9751func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 9752 s.Cluster = &v 9753 return s 9754} 9755 9756// SetForce sets the Force field's value. 9757func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 9758 s.Force = &v 9759 return s 9760} 9761 9762// SetService sets the Service field's value. 9763func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 9764 s.Service = &v 9765 return s 9766} 9767 9768// SetTaskSet sets the TaskSet field's value. 9769func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 9770 s.TaskSet = &v 9771 return s 9772} 9773 9774type DeleteTaskSetOutput struct { 9775 _ struct{} `type:"structure"` 9776 9777 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9778 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9779 // desired number of tasks, how many tasks are running, and whether the task 9780 // set serves production traffic. 9781 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9782} 9783 9784// String returns the string representation 9785func (s DeleteTaskSetOutput) String() string { 9786 return awsutil.Prettify(s) 9787} 9788 9789// GoString returns the string representation 9790func (s DeleteTaskSetOutput) GoString() string { 9791 return s.String() 9792} 9793 9794// SetTaskSet sets the TaskSet field's value. 9795func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 9796 s.TaskSet = v 9797 return s 9798} 9799 9800// The details of an Amazon ECS service deployment. This is used only when a 9801// service uses the ECS deployment controller type. 9802type Deployment struct { 9803 _ struct{} `type:"structure"` 9804 9805 // The capacity provider strategy that the deployment is using. 9806 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9807 9808 // The Unix timestamp for when the service deployment was created. 9809 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 9810 9811 // The most recent desired count of tasks that was specified for the service 9812 // to deploy or maintain. 9813 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 9814 9815 // The ID of the deployment. 9816 Id *string `locationName:"id" type:"string"` 9817 9818 // The launch type the tasks in the service are using. For more information, 9819 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9820 // in the Amazon Elastic Container Service Developer Guide. 9821 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9822 9823 // The VPC subnet and security group configuration for tasks that receive their 9824 // own elastic network interface by using the awsvpc networking mode. 9825 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9826 9827 // The number of tasks in the deployment that are in the PENDING status. 9828 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 9829 9830 // The platform version on which your tasks in the service are running. A platform 9831 // version is only specified for tasks using the Fargate launch type. If one 9832 // is not specified, the LATEST platform version is used by default. For more 9833 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 9834 // in the Amazon Elastic Container Service Developer Guide. 9835 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9836 9837 // The number of tasks in the deployment that are in the RUNNING status. 9838 RunningCount *int64 `locationName:"runningCount" type:"integer"` 9839 9840 // The status of the deployment. The following describes each state: 9841 // 9842 // PRIMARY 9843 // 9844 // The most recent deployment of a service. 9845 // 9846 // ACTIVE 9847 // 9848 // A service deployment that still has running tasks, but are in the process 9849 // of being replaced with a new PRIMARY deployment. 9850 // 9851 // INACTIVE 9852 // 9853 // A deployment that has been completely replaced. 9854 Status *string `locationName:"status" type:"string"` 9855 9856 // The most recent task definition that was specified for the tasks in the service 9857 // to use. 9858 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9859 9860 // The Unix timestamp for when the service deployment was last updated. 9861 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 9862} 9863 9864// String returns the string representation 9865func (s Deployment) String() string { 9866 return awsutil.Prettify(s) 9867} 9868 9869// GoString returns the string representation 9870func (s Deployment) GoString() string { 9871 return s.String() 9872} 9873 9874// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9875func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 9876 s.CapacityProviderStrategy = v 9877 return s 9878} 9879 9880// SetCreatedAt sets the CreatedAt field's value. 9881func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 9882 s.CreatedAt = &v 9883 return s 9884} 9885 9886// SetDesiredCount sets the DesiredCount field's value. 9887func (s *Deployment) SetDesiredCount(v int64) *Deployment { 9888 s.DesiredCount = &v 9889 return s 9890} 9891 9892// SetId sets the Id field's value. 9893func (s *Deployment) SetId(v string) *Deployment { 9894 s.Id = &v 9895 return s 9896} 9897 9898// SetLaunchType sets the LaunchType field's value. 9899func (s *Deployment) SetLaunchType(v string) *Deployment { 9900 s.LaunchType = &v 9901 return s 9902} 9903 9904// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9905func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 9906 s.NetworkConfiguration = v 9907 return s 9908} 9909 9910// SetPendingCount sets the PendingCount field's value. 9911func (s *Deployment) SetPendingCount(v int64) *Deployment { 9912 s.PendingCount = &v 9913 return s 9914} 9915 9916// SetPlatformVersion sets the PlatformVersion field's value. 9917func (s *Deployment) SetPlatformVersion(v string) *Deployment { 9918 s.PlatformVersion = &v 9919 return s 9920} 9921 9922// SetRunningCount sets the RunningCount field's value. 9923func (s *Deployment) SetRunningCount(v int64) *Deployment { 9924 s.RunningCount = &v 9925 return s 9926} 9927 9928// SetStatus sets the Status field's value. 9929func (s *Deployment) SetStatus(v string) *Deployment { 9930 s.Status = &v 9931 return s 9932} 9933 9934// SetTaskDefinition sets the TaskDefinition field's value. 9935func (s *Deployment) SetTaskDefinition(v string) *Deployment { 9936 s.TaskDefinition = &v 9937 return s 9938} 9939 9940// SetUpdatedAt sets the UpdatedAt field's value. 9941func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 9942 s.UpdatedAt = &v 9943 return s 9944} 9945 9946// Optional deployment parameters that control how many tasks run during a deployment 9947// and the ordering of stopping and starting tasks. 9948type DeploymentConfiguration struct { 9949 _ struct{} `type:"structure"` 9950 9951 // If a service is using the rolling update (ECS) deployment type, the maximum 9952 // percent parameter represents an upper limit on the number of tasks in a service 9953 // that are allowed in the RUNNING or PENDING state during a deployment, as 9954 // a percentage of the desired number of tasks (rounded down to the nearest 9955 // integer), and while any container instances are in the DRAINING state if 9956 // the service contains tasks using the EC2 launch type. This parameter enables 9957 // you to define the deployment batch size. For example, if your service has 9958 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 9959 // may start four new tasks before stopping the four older tasks (provided that 9960 // the cluster resources required to do this are available). The default value 9961 // for maximum percent is 200%. 9962 // 9963 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 9964 // types and tasks that use the EC2 launch type, the maximum percent value is 9965 // set to the default value and is used to define the upper limit on the number 9966 // of the tasks in the service that remain in the RUNNING state while the container 9967 // instances are in the DRAINING state. If the tasks in the service use the 9968 // Fargate launch type, the maximum percent value is not used, although it is 9969 // returned when describing your service. 9970 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 9971 9972 // If a service is using the rolling update (ECS) deployment type, the minimum 9973 // healthy percent represents a lower limit on the number of tasks in a service 9974 // that must remain in the RUNNING state during a deployment, as a percentage 9975 // of the desired number of tasks (rounded up to the nearest integer), and while 9976 // any container instances are in the DRAINING state if the service contains 9977 // tasks using the EC2 launch type. This parameter enables you to deploy without 9978 // using additional cluster capacity. For example, if your service has a desired 9979 // number of four tasks and a minimum healthy percent of 50%, the scheduler 9980 // may stop two existing tasks to free up cluster capacity before starting two 9981 // new tasks. Tasks for services that do not use a load balancer are considered 9982 // healthy if they are in the RUNNING state; tasks for services that do use 9983 // a load balancer are considered healthy if they are in the RUNNING state and 9984 // they are reported as healthy by the load balancer. The default value for 9985 // minimum healthy percent is 100%. 9986 // 9987 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 9988 // types and tasks that use the EC2 launch type, the minimum healthy percent 9989 // value is set to the default value and is used to define the lower limit on 9990 // the number of the tasks in the service that remain in the RUNNING state while 9991 // the container instances are in the DRAINING state. If the tasks in the service 9992 // use the Fargate launch type, the minimum healthy percent value is not used, 9993 // although it is returned when describing your service. 9994 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 9995} 9996 9997// String returns the string representation 9998func (s DeploymentConfiguration) String() string { 9999 return awsutil.Prettify(s) 10000} 10001 10002// GoString returns the string representation 10003func (s DeploymentConfiguration) GoString() string { 10004 return s.String() 10005} 10006 10007// SetMaximumPercent sets the MaximumPercent field's value. 10008func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 10009 s.MaximumPercent = &v 10010 return s 10011} 10012 10013// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 10014func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 10015 s.MinimumHealthyPercent = &v 10016 return s 10017} 10018 10019// The deployment controller to use for the service. For more information, see 10020// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 10021// in the Amazon Elastic Container Service Developer Guide. 10022type DeploymentController struct { 10023 _ struct{} `type:"structure"` 10024 10025 // The deployment controller type to use. 10026 // 10027 // There are three deployment controller types available: 10028 // 10029 // ECS 10030 // 10031 // The rolling update (ECS) deployment type involves replacing the current running 10032 // version of the container with the latest version. The number of containers 10033 // Amazon ECS adds or removes from the service during a rolling update is controlled 10034 // by adjusting the minimum and maximum number of healthy tasks allowed during 10035 // a service deployment, as specified in the DeploymentConfiguration. 10036 // 10037 // CODE_DEPLOY 10038 // 10039 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 10040 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 10041 // of a service before sending production traffic to it. 10042 // 10043 // EXTERNAL 10044 // 10045 // The external (EXTERNAL) deployment type enables you to use any third-party 10046 // deployment controller for full control over the deployment process for an 10047 // Amazon ECS service. 10048 // 10049 // Type is a required field 10050 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 10051} 10052 10053// String returns the string representation 10054func (s DeploymentController) String() string { 10055 return awsutil.Prettify(s) 10056} 10057 10058// GoString returns the string representation 10059func (s DeploymentController) GoString() string { 10060 return s.String() 10061} 10062 10063// Validate inspects the fields of the type to determine if they are valid. 10064func (s *DeploymentController) Validate() error { 10065 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 10066 if s.Type == nil { 10067 invalidParams.Add(request.NewErrParamRequired("Type")) 10068 } 10069 10070 if invalidParams.Len() > 0 { 10071 return invalidParams 10072 } 10073 return nil 10074} 10075 10076// SetType sets the Type field's value. 10077func (s *DeploymentController) SetType(v string) *DeploymentController { 10078 s.Type = &v 10079 return s 10080} 10081 10082type DeregisterContainerInstanceInput struct { 10083 _ struct{} `type:"structure"` 10084 10085 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10086 // the container instance to deregister. If you do not specify a cluster, the 10087 // default cluster is assumed. 10088 Cluster *string `locationName:"cluster" type:"string"` 10089 10090 // The container instance ID or full ARN of the container instance to deregister. 10091 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 10092 // container instance, the AWS account ID of the container instance owner, the 10093 // container-instance namespace, and then the container instance ID. For example, 10094 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10095 // 10096 // ContainerInstance is a required field 10097 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 10098 10099 // Forces the deregistration of the container instance. If you have tasks running 10100 // on the container instance when you deregister it with the force option, these 10101 // tasks remain running until you terminate the instance or the tasks stop through 10102 // some other means, but they are orphaned (no longer monitored or accounted 10103 // for by Amazon ECS). If an orphaned task on your container instance is part 10104 // of an Amazon ECS service, then the service scheduler starts another copy 10105 // of that task, on a different container instance if possible. 10106 // 10107 // Any containers in orphaned service tasks that are registered with a Classic 10108 // Load Balancer or an Application Load Balancer target group are deregistered. 10109 // They begin connection draining according to the settings on the load balancer 10110 // or target group. 10111 Force *bool `locationName:"force" type:"boolean"` 10112} 10113 10114// String returns the string representation 10115func (s DeregisterContainerInstanceInput) String() string { 10116 return awsutil.Prettify(s) 10117} 10118 10119// GoString returns the string representation 10120func (s DeregisterContainerInstanceInput) GoString() string { 10121 return s.String() 10122} 10123 10124// Validate inspects the fields of the type to determine if they are valid. 10125func (s *DeregisterContainerInstanceInput) Validate() error { 10126 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 10127 if s.ContainerInstance == nil { 10128 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 10129 } 10130 10131 if invalidParams.Len() > 0 { 10132 return invalidParams 10133 } 10134 return nil 10135} 10136 10137// SetCluster sets the Cluster field's value. 10138func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 10139 s.Cluster = &v 10140 return s 10141} 10142 10143// SetContainerInstance sets the ContainerInstance field's value. 10144func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 10145 s.ContainerInstance = &v 10146 return s 10147} 10148 10149// SetForce sets the Force field's value. 10150func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 10151 s.Force = &v 10152 return s 10153} 10154 10155type DeregisterContainerInstanceOutput struct { 10156 _ struct{} `type:"structure"` 10157 10158 // The container instance that was deregistered. 10159 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 10160} 10161 10162// String returns the string representation 10163func (s DeregisterContainerInstanceOutput) String() string { 10164 return awsutil.Prettify(s) 10165} 10166 10167// GoString returns the string representation 10168func (s DeregisterContainerInstanceOutput) GoString() string { 10169 return s.String() 10170} 10171 10172// SetContainerInstance sets the ContainerInstance field's value. 10173func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 10174 s.ContainerInstance = v 10175 return s 10176} 10177 10178type DeregisterTaskDefinitionInput struct { 10179 _ struct{} `type:"structure"` 10180 10181 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 10182 // of the task definition to deregister. You must specify a revision. 10183 // 10184 // TaskDefinition is a required field 10185 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10186} 10187 10188// String returns the string representation 10189func (s DeregisterTaskDefinitionInput) String() string { 10190 return awsutil.Prettify(s) 10191} 10192 10193// GoString returns the string representation 10194func (s DeregisterTaskDefinitionInput) GoString() string { 10195 return s.String() 10196} 10197 10198// Validate inspects the fields of the type to determine if they are valid. 10199func (s *DeregisterTaskDefinitionInput) Validate() error { 10200 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 10201 if s.TaskDefinition == nil { 10202 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10203 } 10204 10205 if invalidParams.Len() > 0 { 10206 return invalidParams 10207 } 10208 return nil 10209} 10210 10211// SetTaskDefinition sets the TaskDefinition field's value. 10212func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 10213 s.TaskDefinition = &v 10214 return s 10215} 10216 10217type DeregisterTaskDefinitionOutput struct { 10218 _ struct{} `type:"structure"` 10219 10220 // The full description of the deregistered task. 10221 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10222} 10223 10224// String returns the string representation 10225func (s DeregisterTaskDefinitionOutput) String() string { 10226 return awsutil.Prettify(s) 10227} 10228 10229// GoString returns the string representation 10230func (s DeregisterTaskDefinitionOutput) GoString() string { 10231 return s.String() 10232} 10233 10234// SetTaskDefinition sets the TaskDefinition field's value. 10235func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 10236 s.TaskDefinition = v 10237 return s 10238} 10239 10240type DescribeCapacityProvidersInput struct { 10241 _ struct{} `type:"structure"` 10242 10243 // The short name or full Amazon Resource Name (ARN) of one or more capacity 10244 // providers. Up to 100 capacity providers can be described in an action. 10245 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 10246 10247 // Specifies whether or not you want to see the resource tags for the capacity 10248 // provider. If TAGS is specified, the tags are included in the response. If 10249 // this field is omitted, tags are not included in the response. 10250 Include []*string `locationName:"include" type:"list"` 10251 10252 // The maximum number of account setting results returned by DescribeCapacityProviders 10253 // in paginated output. When this parameter is used, DescribeCapacityProviders 10254 // only returns maxResults results in a single page along with a nextToken response 10255 // element. The remaining results of the initial request can be seen by sending 10256 // another DescribeCapacityProviders request with the returned nextToken value. 10257 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 10258 // returns up to 10 results and a nextToken value if applicable. 10259 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10260 10261 // The nextToken value returned from a previous paginated DescribeCapacityProviders 10262 // request where maxResults was used and the results exceeded the value of that 10263 // parameter. Pagination continues from the end of the previous results that 10264 // returned the nextToken value. 10265 // 10266 // This token should be treated as an opaque identifier that is only used to 10267 // retrieve the next items in a list and not for other programmatic purposes. 10268 NextToken *string `locationName:"nextToken" type:"string"` 10269} 10270 10271// String returns the string representation 10272func (s DescribeCapacityProvidersInput) String() string { 10273 return awsutil.Prettify(s) 10274} 10275 10276// GoString returns the string representation 10277func (s DescribeCapacityProvidersInput) GoString() string { 10278 return s.String() 10279} 10280 10281// SetCapacityProviders sets the CapacityProviders field's value. 10282func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 10283 s.CapacityProviders = v 10284 return s 10285} 10286 10287// SetInclude sets the Include field's value. 10288func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 10289 s.Include = v 10290 return s 10291} 10292 10293// SetMaxResults sets the MaxResults field's value. 10294func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 10295 s.MaxResults = &v 10296 return s 10297} 10298 10299// SetNextToken sets the NextToken field's value. 10300func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 10301 s.NextToken = &v 10302 return s 10303} 10304 10305type DescribeCapacityProvidersOutput struct { 10306 _ struct{} `type:"structure"` 10307 10308 // The list of capacity providers. 10309 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 10310 10311 // Any failures associated with the call. 10312 Failures []*Failure `locationName:"failures" type:"list"` 10313 10314 // The nextToken value to include in a future DescribeCapacityProviders request. 10315 // When the results of a DescribeCapacityProviders request exceed maxResults, 10316 // this value can be used to retrieve the next page of results. This value is 10317 // null when there are no more results to return. 10318 NextToken *string `locationName:"nextToken" type:"string"` 10319} 10320 10321// String returns the string representation 10322func (s DescribeCapacityProvidersOutput) String() string { 10323 return awsutil.Prettify(s) 10324} 10325 10326// GoString returns the string representation 10327func (s DescribeCapacityProvidersOutput) GoString() string { 10328 return s.String() 10329} 10330 10331// SetCapacityProviders sets the CapacityProviders field's value. 10332func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 10333 s.CapacityProviders = v 10334 return s 10335} 10336 10337// SetFailures sets the Failures field's value. 10338func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 10339 s.Failures = v 10340 return s 10341} 10342 10343// SetNextToken sets the NextToken field's value. 10344func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 10345 s.NextToken = &v 10346 return s 10347} 10348 10349type DescribeClustersInput struct { 10350 _ struct{} `type:"structure"` 10351 10352 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 10353 // entries. If you do not specify a cluster, the default cluster is assumed. 10354 Clusters []*string `locationName:"clusters" type:"list"` 10355 10356 // Whether to include additional information about your clusters in the response. 10357 // If this field is omitted, the attachments, statistics, and tags are not included. 10358 // 10359 // If ATTACHMENTS is specified, the attachments for the container instances 10360 // or tasks within the cluster are included. 10361 // 10362 // If SETTINGS is specified, the settings for the cluster are included. 10363 // 10364 // If STATISTICS is specified, the following additional information, separated 10365 // by launch type, is included: 10366 // 10367 // * runningEC2TasksCount 10368 // 10369 // * runningFargateTasksCount 10370 // 10371 // * pendingEC2TasksCount 10372 // 10373 // * pendingFargateTasksCount 10374 // 10375 // * activeEC2ServiceCount 10376 // 10377 // * activeFargateServiceCount 10378 // 10379 // * drainingEC2ServiceCount 10380 // 10381 // * drainingFargateServiceCount 10382 // 10383 // If TAGS is specified, the metadata tags associated with the cluster are included. 10384 Include []*string `locationName:"include" type:"list"` 10385} 10386 10387// String returns the string representation 10388func (s DescribeClustersInput) String() string { 10389 return awsutil.Prettify(s) 10390} 10391 10392// GoString returns the string representation 10393func (s DescribeClustersInput) GoString() string { 10394 return s.String() 10395} 10396 10397// SetClusters sets the Clusters field's value. 10398func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 10399 s.Clusters = v 10400 return s 10401} 10402 10403// SetInclude sets the Include field's value. 10404func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 10405 s.Include = v 10406 return s 10407} 10408 10409type DescribeClustersOutput struct { 10410 _ struct{} `type:"structure"` 10411 10412 // The list of clusters. 10413 Clusters []*Cluster `locationName:"clusters" type:"list"` 10414 10415 // Any failures associated with the call. 10416 Failures []*Failure `locationName:"failures" type:"list"` 10417} 10418 10419// String returns the string representation 10420func (s DescribeClustersOutput) String() string { 10421 return awsutil.Prettify(s) 10422} 10423 10424// GoString returns the string representation 10425func (s DescribeClustersOutput) GoString() string { 10426 return s.String() 10427} 10428 10429// SetClusters sets the Clusters field's value. 10430func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 10431 s.Clusters = v 10432 return s 10433} 10434 10435// SetFailures sets the Failures field's value. 10436func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 10437 s.Failures = v 10438 return s 10439} 10440 10441type DescribeContainerInstancesInput struct { 10442 _ struct{} `type:"structure"` 10443 10444 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10445 // the container instances to describe. If you do not specify a cluster, the 10446 // default cluster is assumed. This parameter is required if the container instance 10447 // or container instances you are describing were launched in any cluster other 10448 // than the default cluster. 10449 Cluster *string `locationName:"cluster" type:"string"` 10450 10451 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 10452 // entries. 10453 // 10454 // ContainerInstances is a required field 10455 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 10456 10457 // Specifies whether you want to see the resource tags for the container instance. 10458 // If TAGS is specified, the tags are included in the response. If this field 10459 // is omitted, tags are not included in the response. 10460 Include []*string `locationName:"include" type:"list"` 10461} 10462 10463// String returns the string representation 10464func (s DescribeContainerInstancesInput) String() string { 10465 return awsutil.Prettify(s) 10466} 10467 10468// GoString returns the string representation 10469func (s DescribeContainerInstancesInput) GoString() string { 10470 return s.String() 10471} 10472 10473// Validate inspects the fields of the type to determine if they are valid. 10474func (s *DescribeContainerInstancesInput) Validate() error { 10475 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 10476 if s.ContainerInstances == nil { 10477 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 10478 } 10479 10480 if invalidParams.Len() > 0 { 10481 return invalidParams 10482 } 10483 return nil 10484} 10485 10486// SetCluster sets the Cluster field's value. 10487func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 10488 s.Cluster = &v 10489 return s 10490} 10491 10492// SetContainerInstances sets the ContainerInstances field's value. 10493func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 10494 s.ContainerInstances = v 10495 return s 10496} 10497 10498// SetInclude sets the Include field's value. 10499func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 10500 s.Include = v 10501 return s 10502} 10503 10504type DescribeContainerInstancesOutput struct { 10505 _ struct{} `type:"structure"` 10506 10507 // The list of container instances. 10508 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 10509 10510 // Any failures associated with the call. 10511 Failures []*Failure `locationName:"failures" type:"list"` 10512} 10513 10514// String returns the string representation 10515func (s DescribeContainerInstancesOutput) String() string { 10516 return awsutil.Prettify(s) 10517} 10518 10519// GoString returns the string representation 10520func (s DescribeContainerInstancesOutput) GoString() string { 10521 return s.String() 10522} 10523 10524// SetContainerInstances sets the ContainerInstances field's value. 10525func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 10526 s.ContainerInstances = v 10527 return s 10528} 10529 10530// SetFailures sets the Failures field's value. 10531func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 10532 s.Failures = v 10533 return s 10534} 10535 10536type DescribeServicesInput struct { 10537 _ struct{} `type:"structure"` 10538 10539 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 10540 // service to describe. If you do not specify a cluster, the default cluster 10541 // is assumed. This parameter is required if the service or services you are 10542 // describing were launched in any cluster other than the default cluster. 10543 Cluster *string `locationName:"cluster" type:"string"` 10544 10545 // Specifies whether you want to see the resource tags for the service. If TAGS 10546 // is specified, the tags are included in the response. If this field is omitted, 10547 // tags are not included in the response. 10548 Include []*string `locationName:"include" type:"list"` 10549 10550 // A list of services to describe. You may specify up to 10 services to describe 10551 // in a single operation. 10552 // 10553 // Services is a required field 10554 Services []*string `locationName:"services" type:"list" required:"true"` 10555} 10556 10557// String returns the string representation 10558func (s DescribeServicesInput) String() string { 10559 return awsutil.Prettify(s) 10560} 10561 10562// GoString returns the string representation 10563func (s DescribeServicesInput) GoString() string { 10564 return s.String() 10565} 10566 10567// Validate inspects the fields of the type to determine if they are valid. 10568func (s *DescribeServicesInput) Validate() error { 10569 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 10570 if s.Services == nil { 10571 invalidParams.Add(request.NewErrParamRequired("Services")) 10572 } 10573 10574 if invalidParams.Len() > 0 { 10575 return invalidParams 10576 } 10577 return nil 10578} 10579 10580// SetCluster sets the Cluster field's value. 10581func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 10582 s.Cluster = &v 10583 return s 10584} 10585 10586// SetInclude sets the Include field's value. 10587func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 10588 s.Include = v 10589 return s 10590} 10591 10592// SetServices sets the Services field's value. 10593func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 10594 s.Services = v 10595 return s 10596} 10597 10598type DescribeServicesOutput struct { 10599 _ struct{} `type:"structure"` 10600 10601 // Any failures associated with the call. 10602 Failures []*Failure `locationName:"failures" type:"list"` 10603 10604 // The list of services described. 10605 Services []*Service `locationName:"services" type:"list"` 10606} 10607 10608// String returns the string representation 10609func (s DescribeServicesOutput) String() string { 10610 return awsutil.Prettify(s) 10611} 10612 10613// GoString returns the string representation 10614func (s DescribeServicesOutput) GoString() string { 10615 return s.String() 10616} 10617 10618// SetFailures sets the Failures field's value. 10619func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 10620 s.Failures = v 10621 return s 10622} 10623 10624// SetServices sets the Services field's value. 10625func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 10626 s.Services = v 10627 return s 10628} 10629 10630type DescribeTaskDefinitionInput struct { 10631 _ struct{} `type:"structure"` 10632 10633 // Specifies whether to see the resource tags for the task definition. If TAGS 10634 // is specified, the tags are included in the response. If this field is omitted, 10635 // tags are not included in the response. 10636 Include []*string `locationName:"include" type:"list"` 10637 10638 // The family for the latest ACTIVE revision, family and revision (family:revision) 10639 // for a specific revision in the family, or full Amazon Resource Name (ARN) 10640 // of the task definition to describe. 10641 // 10642 // TaskDefinition is a required field 10643 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10644} 10645 10646// String returns the string representation 10647func (s DescribeTaskDefinitionInput) String() string { 10648 return awsutil.Prettify(s) 10649} 10650 10651// GoString returns the string representation 10652func (s DescribeTaskDefinitionInput) GoString() string { 10653 return s.String() 10654} 10655 10656// Validate inspects the fields of the type to determine if they are valid. 10657func (s *DescribeTaskDefinitionInput) Validate() error { 10658 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 10659 if s.TaskDefinition == nil { 10660 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10661 } 10662 10663 if invalidParams.Len() > 0 { 10664 return invalidParams 10665 } 10666 return nil 10667} 10668 10669// SetInclude sets the Include field's value. 10670func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 10671 s.Include = v 10672 return s 10673} 10674 10675// SetTaskDefinition sets the TaskDefinition field's value. 10676func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 10677 s.TaskDefinition = &v 10678 return s 10679} 10680 10681type DescribeTaskDefinitionOutput struct { 10682 _ struct{} `type:"structure"` 10683 10684 // The metadata that is applied to the task definition to help you categorize 10685 // and organize them. Each tag consists of a key and an optional value, both 10686 // of which you define. 10687 // 10688 // The following basic restrictions apply to tags: 10689 // 10690 // * Maximum number of tags per resource - 50 10691 // 10692 // * For each resource, each tag key must be unique, and each tag key can 10693 // have only one value. 10694 // 10695 // * Maximum key length - 128 Unicode characters in UTF-8 10696 // 10697 // * Maximum value length - 256 Unicode characters in UTF-8 10698 // 10699 // * If your tagging schema is used across multiple services and resources, 10700 // remember that other services may have restrictions on allowed characters. 10701 // Generally allowed characters are: letters, numbers, and spaces representable 10702 // in UTF-8, and the following characters: + - = . _ : / @. 10703 // 10704 // * Tag keys and values are case-sensitive. 10705 // 10706 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 10707 // as a prefix for either keys or values as it is reserved for AWS use. You 10708 // cannot edit or delete tag keys or values with this prefix. Tags with this 10709 // prefix do not count against your tags per resource limit. 10710 Tags []*Tag `locationName:"tags" type:"list"` 10711 10712 // The full task definition description. 10713 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10714} 10715 10716// String returns the string representation 10717func (s DescribeTaskDefinitionOutput) String() string { 10718 return awsutil.Prettify(s) 10719} 10720 10721// GoString returns the string representation 10722func (s DescribeTaskDefinitionOutput) GoString() string { 10723 return s.String() 10724} 10725 10726// SetTags sets the Tags field's value. 10727func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 10728 s.Tags = v 10729 return s 10730} 10731 10732// SetTaskDefinition sets the TaskDefinition field's value. 10733func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 10734 s.TaskDefinition = v 10735 return s 10736} 10737 10738type DescribeTaskSetsInput struct { 10739 _ struct{} `type:"structure"` 10740 10741 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10742 // the service that the task sets exist in. 10743 // 10744 // Cluster is a required field 10745 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10746 10747 // Specifies whether to see the resource tags for the task set. If TAGS is specified, 10748 // the tags are included in the response. If this field is omitted, tags are 10749 // not included in the response. 10750 Include []*string `locationName:"include" type:"list"` 10751 10752 // The short name or full Amazon Resource Name (ARN) of the service that the 10753 // task sets exist in. 10754 // 10755 // Service is a required field 10756 Service *string `locationName:"service" type:"string" required:"true"` 10757 10758 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 10759 TaskSets []*string `locationName:"taskSets" type:"list"` 10760} 10761 10762// String returns the string representation 10763func (s DescribeTaskSetsInput) String() string { 10764 return awsutil.Prettify(s) 10765} 10766 10767// GoString returns the string representation 10768func (s DescribeTaskSetsInput) GoString() string { 10769 return s.String() 10770} 10771 10772// Validate inspects the fields of the type to determine if they are valid. 10773func (s *DescribeTaskSetsInput) Validate() error { 10774 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 10775 if s.Cluster == nil { 10776 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10777 } 10778 if s.Service == nil { 10779 invalidParams.Add(request.NewErrParamRequired("Service")) 10780 } 10781 10782 if invalidParams.Len() > 0 { 10783 return invalidParams 10784 } 10785 return nil 10786} 10787 10788// SetCluster sets the Cluster field's value. 10789func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 10790 s.Cluster = &v 10791 return s 10792} 10793 10794// SetInclude sets the Include field's value. 10795func (s *DescribeTaskSetsInput) SetInclude(v []*string) *DescribeTaskSetsInput { 10796 s.Include = v 10797 return s 10798} 10799 10800// SetService sets the Service field's value. 10801func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 10802 s.Service = &v 10803 return s 10804} 10805 10806// SetTaskSets sets the TaskSets field's value. 10807func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 10808 s.TaskSets = v 10809 return s 10810} 10811 10812type DescribeTaskSetsOutput struct { 10813 _ struct{} `type:"structure"` 10814 10815 // Any failures associated with the call. 10816 Failures []*Failure `locationName:"failures" type:"list"` 10817 10818 // The list of task sets described. 10819 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 10820} 10821 10822// String returns the string representation 10823func (s DescribeTaskSetsOutput) String() string { 10824 return awsutil.Prettify(s) 10825} 10826 10827// GoString returns the string representation 10828func (s DescribeTaskSetsOutput) GoString() string { 10829 return s.String() 10830} 10831 10832// SetFailures sets the Failures field's value. 10833func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 10834 s.Failures = v 10835 return s 10836} 10837 10838// SetTaskSets sets the TaskSets field's value. 10839func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 10840 s.TaskSets = v 10841 return s 10842} 10843 10844type DescribeTasksInput struct { 10845 _ struct{} `type:"structure"` 10846 10847 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10848 // the task or tasks to describe. If you do not specify a cluster, the default 10849 // cluster is assumed. This parameter is required if the task or tasks you are 10850 // describing were launched in any cluster other than the default cluster. 10851 Cluster *string `locationName:"cluster" type:"string"` 10852 10853 // Specifies whether you want to see the resource tags for the task. If TAGS 10854 // is specified, the tags are included in the response. If this field is omitted, 10855 // tags are not included in the response. 10856 Include []*string `locationName:"include" type:"list"` 10857 10858 // A list of up to 100 task IDs or full ARN entries. 10859 // 10860 // Tasks is a required field 10861 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 10862} 10863 10864// String returns the string representation 10865func (s DescribeTasksInput) String() string { 10866 return awsutil.Prettify(s) 10867} 10868 10869// GoString returns the string representation 10870func (s DescribeTasksInput) GoString() string { 10871 return s.String() 10872} 10873 10874// Validate inspects the fields of the type to determine if they are valid. 10875func (s *DescribeTasksInput) Validate() error { 10876 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 10877 if s.Tasks == nil { 10878 invalidParams.Add(request.NewErrParamRequired("Tasks")) 10879 } 10880 10881 if invalidParams.Len() > 0 { 10882 return invalidParams 10883 } 10884 return nil 10885} 10886 10887// SetCluster sets the Cluster field's value. 10888func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 10889 s.Cluster = &v 10890 return s 10891} 10892 10893// SetInclude sets the Include field's value. 10894func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 10895 s.Include = v 10896 return s 10897} 10898 10899// SetTasks sets the Tasks field's value. 10900func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 10901 s.Tasks = v 10902 return s 10903} 10904 10905type DescribeTasksOutput struct { 10906 _ struct{} `type:"structure"` 10907 10908 // Any failures associated with the call. 10909 Failures []*Failure `locationName:"failures" type:"list"` 10910 10911 // The list of tasks. 10912 Tasks []*Task `locationName:"tasks" type:"list"` 10913} 10914 10915// String returns the string representation 10916func (s DescribeTasksOutput) String() string { 10917 return awsutil.Prettify(s) 10918} 10919 10920// GoString returns the string representation 10921func (s DescribeTasksOutput) GoString() string { 10922 return s.String() 10923} 10924 10925// SetFailures sets the Failures field's value. 10926func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 10927 s.Failures = v 10928 return s 10929} 10930 10931// SetTasks sets the Tasks field's value. 10932func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 10933 s.Tasks = v 10934 return s 10935} 10936 10937// An object representing a container instance host device. 10938type Device struct { 10939 _ struct{} `type:"structure"` 10940 10941 // The path inside the container at which to expose the host device. 10942 ContainerPath *string `locationName:"containerPath" type:"string"` 10943 10944 // The path for the device on the host container instance. 10945 // 10946 // HostPath is a required field 10947 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 10948 10949 // The explicit permissions to provide to the container for the device. By default, 10950 // the container has permissions for read, write, and mknod for the device. 10951 Permissions []*string `locationName:"permissions" type:"list"` 10952} 10953 10954// String returns the string representation 10955func (s Device) String() string { 10956 return awsutil.Prettify(s) 10957} 10958 10959// GoString returns the string representation 10960func (s Device) GoString() string { 10961 return s.String() 10962} 10963 10964// Validate inspects the fields of the type to determine if they are valid. 10965func (s *Device) Validate() error { 10966 invalidParams := request.ErrInvalidParams{Context: "Device"} 10967 if s.HostPath == nil { 10968 invalidParams.Add(request.NewErrParamRequired("HostPath")) 10969 } 10970 10971 if invalidParams.Len() > 0 { 10972 return invalidParams 10973 } 10974 return nil 10975} 10976 10977// SetContainerPath sets the ContainerPath field's value. 10978func (s *Device) SetContainerPath(v string) *Device { 10979 s.ContainerPath = &v 10980 return s 10981} 10982 10983// SetHostPath sets the HostPath field's value. 10984func (s *Device) SetHostPath(v string) *Device { 10985 s.HostPath = &v 10986 return s 10987} 10988 10989// SetPermissions sets the Permissions field's value. 10990func (s *Device) SetPermissions(v []*string) *Device { 10991 s.Permissions = v 10992 return s 10993} 10994 10995type DiscoverPollEndpointInput struct { 10996 _ struct{} `type:"structure"` 10997 10998 // The short name or full Amazon Resource Name (ARN) of the cluster to which 10999 // the container instance belongs. 11000 Cluster *string `locationName:"cluster" type:"string"` 11001 11002 // The container instance ID or full ARN of the container instance. The ARN 11003 // contains the arn:aws:ecs namespace, followed by the Region of the container 11004 // instance, the AWS account ID of the container instance owner, the container-instance 11005 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 11006 ContainerInstance *string `locationName:"containerInstance" type:"string"` 11007} 11008 11009// String returns the string representation 11010func (s DiscoverPollEndpointInput) String() string { 11011 return awsutil.Prettify(s) 11012} 11013 11014// GoString returns the string representation 11015func (s DiscoverPollEndpointInput) GoString() string { 11016 return s.String() 11017} 11018 11019// SetCluster sets the Cluster field's value. 11020func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 11021 s.Cluster = &v 11022 return s 11023} 11024 11025// SetContainerInstance sets the ContainerInstance field's value. 11026func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 11027 s.ContainerInstance = &v 11028 return s 11029} 11030 11031type DiscoverPollEndpointOutput struct { 11032 _ struct{} `type:"structure"` 11033 11034 // The endpoint for the Amazon ECS agent to poll. 11035 Endpoint *string `locationName:"endpoint" type:"string"` 11036 11037 // The telemetry endpoint for the Amazon ECS agent. 11038 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 11039} 11040 11041// String returns the string representation 11042func (s DiscoverPollEndpointOutput) String() string { 11043 return awsutil.Prettify(s) 11044} 11045 11046// GoString returns the string representation 11047func (s DiscoverPollEndpointOutput) GoString() string { 11048 return s.String() 11049} 11050 11051// SetEndpoint sets the Endpoint field's value. 11052func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 11053 s.Endpoint = &v 11054 return s 11055} 11056 11057// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 11058func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 11059 s.TelemetryEndpoint = &v 11060 return s 11061} 11062 11063// This parameter is specified when you are using Docker volumes. Docker volumes 11064// are only supported when you are using the EC2 launch type. Windows containers 11065// only support the use of the local driver. To use bind mounts, specify a host 11066// instead. 11067type DockerVolumeConfiguration struct { 11068 _ struct{} `type:"structure"` 11069 11070 // If this value is true, the Docker volume is created if it does not already 11071 // exist. 11072 // 11073 // This field is only used if the scope is shared. 11074 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 11075 11076 // The Docker volume driver to use. The driver value must match the driver name 11077 // provided by Docker because it is used for task placement. If the driver was 11078 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 11079 // driver name from your container instance. If the driver was installed using 11080 // another method, use Docker plugin discovery to retrieve the driver name. 11081 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 11082 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11083 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11084 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11085 Driver *string `locationName:"driver" type:"string"` 11086 11087 // A map of Docker driver-specific options passed through. This parameter maps 11088 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11089 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11090 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11091 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 11092 11093 // Custom metadata to add to your Docker volume. This parameter maps to Labels 11094 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11095 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11096 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11097 Labels map[string]*string `locationName:"labels" type:"map"` 11098 11099 // The scope for the Docker volume that determines its lifecycle. Docker volumes 11100 // that are scoped to a task are automatically provisioned when the task starts 11101 // and destroyed when the task stops. Docker volumes that are scoped as shared 11102 // persist after the task stops. 11103 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 11104} 11105 11106// String returns the string representation 11107func (s DockerVolumeConfiguration) String() string { 11108 return awsutil.Prettify(s) 11109} 11110 11111// GoString returns the string representation 11112func (s DockerVolumeConfiguration) GoString() string { 11113 return s.String() 11114} 11115 11116// SetAutoprovision sets the Autoprovision field's value. 11117func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 11118 s.Autoprovision = &v 11119 return s 11120} 11121 11122// SetDriver sets the Driver field's value. 11123func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 11124 s.Driver = &v 11125 return s 11126} 11127 11128// SetDriverOpts sets the DriverOpts field's value. 11129func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 11130 s.DriverOpts = v 11131 return s 11132} 11133 11134// SetLabels sets the Labels field's value. 11135func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 11136 s.Labels = v 11137 return s 11138} 11139 11140// SetScope sets the Scope field's value. 11141func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 11142 s.Scope = &v 11143 return s 11144} 11145 11146// The authorization configuration details for the Amazon EFS file system. 11147type EFSAuthorizationConfig struct { 11148 _ struct{} `type:"structure"` 11149 11150 // The Amazon EFS access point ID to use. If an access point is specified, the 11151 // root directory value specified in the EFSVolumeConfiguration will be relative 11152 // to the directory set for the access point. If an access point is used, transit 11153 // encryption must be enabled in the EFSVolumeConfiguration. For more information, 11154 // see Working with Amazon EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 11155 // in the Amazon Elastic File System User Guide. 11156 AccessPointId *string `locationName:"accessPointId" type:"string"` 11157 11158 // Whether or not to use the Amazon ECS task IAM role defined in a task definition 11159 // when mounting the Amazon EFS file system. If enabled, transit encryption 11160 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 11161 // the default value of DISABLED is used. For more information, see Using Amazon 11162 // EFS Access Points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) 11163 // in the Amazon Elastic Container Service Developer Guide. 11164 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 11165} 11166 11167// String returns the string representation 11168func (s EFSAuthorizationConfig) String() string { 11169 return awsutil.Prettify(s) 11170} 11171 11172// GoString returns the string representation 11173func (s EFSAuthorizationConfig) GoString() string { 11174 return s.String() 11175} 11176 11177// SetAccessPointId sets the AccessPointId field's value. 11178func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 11179 s.AccessPointId = &v 11180 return s 11181} 11182 11183// SetIam sets the Iam field's value. 11184func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 11185 s.Iam = &v 11186 return s 11187} 11188 11189// This parameter is specified when you are using an Amazon Elastic File System 11190// file system for task storage. For more information, see Amazon EFS Volumes 11191// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) 11192// in the Amazon Elastic Container Service Developer Guide. 11193type EFSVolumeConfiguration struct { 11194 _ struct{} `type:"structure"` 11195 11196 // The authorization configuration details for the Amazon EFS file system. 11197 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 11198 11199 // The Amazon EFS file system ID to use. 11200 // 11201 // FileSystemId is a required field 11202 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 11203 11204 // The directory within the Amazon EFS file system to mount as the root directory 11205 // inside the host. If this parameter is omitted, the root of the Amazon EFS 11206 // volume will be used. Specifying / will have the same effect as omitting this 11207 // parameter. 11208 RootDirectory *string `locationName:"rootDirectory" type:"string"` 11209 11210 // Whether or not to enable encryption for Amazon EFS data in transit between 11211 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 11212 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 11213 // the default value of DISABLED is used. For more information, see Encrypting 11214 // Data in Transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 11215 // in the Amazon Elastic File System User Guide. 11216 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 11217 11218 // The port to use when sending encrypted data between the Amazon ECS host and 11219 // the Amazon EFS server. If you do not specify a transit encryption port, it 11220 // will use the port selection strategy that the Amazon EFS mount helper uses. 11221 // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) 11222 // in the Amazon Elastic File System User Guide. 11223 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 11224} 11225 11226// String returns the string representation 11227func (s EFSVolumeConfiguration) String() string { 11228 return awsutil.Prettify(s) 11229} 11230 11231// GoString returns the string representation 11232func (s EFSVolumeConfiguration) GoString() string { 11233 return s.String() 11234} 11235 11236// Validate inspects the fields of the type to determine if they are valid. 11237func (s *EFSVolumeConfiguration) Validate() error { 11238 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 11239 if s.FileSystemId == nil { 11240 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 11241 } 11242 11243 if invalidParams.Len() > 0 { 11244 return invalidParams 11245 } 11246 return nil 11247} 11248 11249// SetAuthorizationConfig sets the AuthorizationConfig field's value. 11250func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 11251 s.AuthorizationConfig = v 11252 return s 11253} 11254 11255// SetFileSystemId sets the FileSystemId field's value. 11256func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 11257 s.FileSystemId = &v 11258 return s 11259} 11260 11261// SetRootDirectory sets the RootDirectory field's value. 11262func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 11263 s.RootDirectory = &v 11264 return s 11265} 11266 11267// SetTransitEncryption sets the TransitEncryption field's value. 11268func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 11269 s.TransitEncryption = &v 11270 return s 11271} 11272 11273// SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 11274func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 11275 s.TransitEncryptionPort = &v 11276 return s 11277} 11278 11279// A list of files containing the environment variables to pass to a container. 11280// You can specify up to ten environment files. The file must have a .env file 11281// extension. Each line in an environment file should contain an environment 11282// variable in VARIABLE=VALUE format. Lines beginning with # are treated as 11283// comments and are ignored. For more information on the environment variable 11284// file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 11285// 11286// If there are environment variables specified using the environment parameter 11287// in a container definition, they take precedence over the variables contained 11288// within an environment file. If multiple environment files are specified that 11289// contain the same variable, they are processed from the top down. It is recommended 11290// to use unique variable names. For more information, see Specifying Environment 11291// Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 11292// in the Amazon Elastic Container Service Developer Guide. 11293// 11294// This field is not valid for containers in tasks using the Fargate launch 11295// type. 11296type EnvironmentFile struct { 11297 _ struct{} `type:"structure"` 11298 11299 // The file type to use. The only supported value is s3. 11300 // 11301 // Type is a required field 11302 Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentFileType"` 11303 11304 // The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment 11305 // variable file. 11306 // 11307 // Value is a required field 11308 Value *string `locationName:"value" type:"string" required:"true"` 11309} 11310 11311// String returns the string representation 11312func (s EnvironmentFile) String() string { 11313 return awsutil.Prettify(s) 11314} 11315 11316// GoString returns the string representation 11317func (s EnvironmentFile) GoString() string { 11318 return s.String() 11319} 11320 11321// Validate inspects the fields of the type to determine if they are valid. 11322func (s *EnvironmentFile) Validate() error { 11323 invalidParams := request.ErrInvalidParams{Context: "EnvironmentFile"} 11324 if s.Type == nil { 11325 invalidParams.Add(request.NewErrParamRequired("Type")) 11326 } 11327 if s.Value == nil { 11328 invalidParams.Add(request.NewErrParamRequired("Value")) 11329 } 11330 11331 if invalidParams.Len() > 0 { 11332 return invalidParams 11333 } 11334 return nil 11335} 11336 11337// SetType sets the Type field's value. 11338func (s *EnvironmentFile) SetType(v string) *EnvironmentFile { 11339 s.Type = &v 11340 return s 11341} 11342 11343// SetValue sets the Value field's value. 11344func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { 11345 s.Value = &v 11346 return s 11347} 11348 11349// A failed resource. 11350type Failure struct { 11351 _ struct{} `type:"structure"` 11352 11353 // The Amazon Resource Name (ARN) of the failed resource. 11354 Arn *string `locationName:"arn" type:"string"` 11355 11356 // The details of the failure. 11357 Detail *string `locationName:"detail" type:"string"` 11358 11359 // The reason for the failure. 11360 Reason *string `locationName:"reason" type:"string"` 11361} 11362 11363// String returns the string representation 11364func (s Failure) String() string { 11365 return awsutil.Prettify(s) 11366} 11367 11368// GoString returns the string representation 11369func (s Failure) GoString() string { 11370 return s.String() 11371} 11372 11373// SetArn sets the Arn field's value. 11374func (s *Failure) SetArn(v string) *Failure { 11375 s.Arn = &v 11376 return s 11377} 11378 11379// SetDetail sets the Detail field's value. 11380func (s *Failure) SetDetail(v string) *Failure { 11381 s.Detail = &v 11382 return s 11383} 11384 11385// SetReason sets the Reason field's value. 11386func (s *Failure) SetReason(v string) *Failure { 11387 s.Reason = &v 11388 return s 11389} 11390 11391// The FireLens configuration for the container. This is used to specify and 11392// configure a log router for container logs. For more information, see Custom 11393// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 11394// in the Amazon Elastic Container Service Developer Guide. 11395type FirelensConfiguration struct { 11396 _ struct{} `type:"structure"` 11397 11398 // The options to use when configuring the log router. This field is optional 11399 // and can be used to specify a custom configuration file or to add additional 11400 // metadata, such as the task, task definition, cluster, and container instance 11401 // 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"}. 11402 // For more information, see Creating a Task Definition that Uses a FireLens 11403 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 11404 // in the Amazon Elastic Container Service Developer Guide. 11405 Options map[string]*string `locationName:"options" type:"map"` 11406 11407 // The log router to use. The valid values are fluentd or fluentbit. 11408 // 11409 // Type is a required field 11410 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 11411} 11412 11413// String returns the string representation 11414func (s FirelensConfiguration) String() string { 11415 return awsutil.Prettify(s) 11416} 11417 11418// GoString returns the string representation 11419func (s FirelensConfiguration) GoString() string { 11420 return s.String() 11421} 11422 11423// Validate inspects the fields of the type to determine if they are valid. 11424func (s *FirelensConfiguration) Validate() error { 11425 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 11426 if s.Type == nil { 11427 invalidParams.Add(request.NewErrParamRequired("Type")) 11428 } 11429 11430 if invalidParams.Len() > 0 { 11431 return invalidParams 11432 } 11433 return nil 11434} 11435 11436// SetOptions sets the Options field's value. 11437func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 11438 s.Options = v 11439 return s 11440} 11441 11442// SetType sets the Type field's value. 11443func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 11444 s.Type = &v 11445 return s 11446} 11447 11448// An object representing a container health check. Health check parameters 11449// that are specified in a container definition override any Docker health checks 11450// that exist in the container image (such as those specified in a parent image 11451// or from the image's Dockerfile). 11452// 11453// You can view the health status of both individual containers and a task with 11454// the DescribeTasks API operation or when viewing the task details in the console. 11455// 11456// The following describes the possible healthStatus values for a container: 11457// 11458// * HEALTHY-The container health check has passed successfully. 11459// 11460// * UNHEALTHY-The container health check has failed. 11461// 11462// * UNKNOWN-The container health check is being evaluated or there is no 11463// container health check defined. 11464// 11465// The following describes the possible healthStatus values for a task. The 11466// container health check status of nonessential containers do not have an effect 11467// on the health status of a task. 11468// 11469// * HEALTHY-All essential containers within the task have passed their health 11470// checks. 11471// 11472// * UNHEALTHY-One or more essential containers have failed their health 11473// check. 11474// 11475// * UNKNOWN-The essential containers within the task are still having their 11476// health checks evaluated or there are no container health checks defined. 11477// 11478// If a task is run manually, and not as part of a service, the task will continue 11479// its lifecycle regardless of its health status. For tasks that are part of 11480// a service, if the task reports as unhealthy then the task will be stopped 11481// and the service scheduler will replace it. 11482// 11483// The following are notes about container health check support: 11484// 11485// * Container health checks require version 1.17.0 or greater of the Amazon 11486// ECS container agent. For more information, see Updating the Amazon ECS 11487// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 11488// 11489// * Container health checks are supported for Fargate tasks if you are using 11490// platform version 1.1.0 or greater. For more information, see AWS Fargate 11491// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 11492// 11493// * Container health checks are not supported for tasks that are part of 11494// a service that is configured to use a Classic Load Balancer. 11495type HealthCheck struct { 11496 _ struct{} `type:"structure"` 11497 11498 // A string array representing the command that the container runs to determine 11499 // if it is healthy. The string array must start with CMD to execute the command 11500 // arguments directly, or CMD-SHELL to run the command with the container's 11501 // default shell. For example: 11502 // 11503 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 11504 // 11505 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 11506 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11507 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 11508 // 11509 // Command is a required field 11510 Command []*string `locationName:"command" type:"list" required:"true"` 11511 11512 // The time period in seconds between each health check execution. You may specify 11513 // between 5 and 300 seconds. The default value is 30 seconds. 11514 Interval *int64 `locationName:"interval" type:"integer"` 11515 11516 // The number of times to retry a failed health check before the container is 11517 // considered unhealthy. You may specify between 1 and 10 retries. The default 11518 // value is 3. 11519 Retries *int64 `locationName:"retries" type:"integer"` 11520 11521 // The optional grace period within which to provide containers time to bootstrap 11522 // before failed health checks count towards the maximum number of retries. 11523 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 11524 // default. 11525 // 11526 // If a health check succeeds within the startPeriod, then the container is 11527 // considered healthy and any subsequent failures count toward the maximum number 11528 // of retries. 11529 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 11530 11531 // The time period in seconds to wait for a health check to succeed before it 11532 // is considered a failure. You may specify between 2 and 60 seconds. The default 11533 // value is 5. 11534 Timeout *int64 `locationName:"timeout" type:"integer"` 11535} 11536 11537// String returns the string representation 11538func (s HealthCheck) String() string { 11539 return awsutil.Prettify(s) 11540} 11541 11542// GoString returns the string representation 11543func (s HealthCheck) GoString() string { 11544 return s.String() 11545} 11546 11547// Validate inspects the fields of the type to determine if they are valid. 11548func (s *HealthCheck) Validate() error { 11549 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 11550 if s.Command == nil { 11551 invalidParams.Add(request.NewErrParamRequired("Command")) 11552 } 11553 11554 if invalidParams.Len() > 0 { 11555 return invalidParams 11556 } 11557 return nil 11558} 11559 11560// SetCommand sets the Command field's value. 11561func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 11562 s.Command = v 11563 return s 11564} 11565 11566// SetInterval sets the Interval field's value. 11567func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 11568 s.Interval = &v 11569 return s 11570} 11571 11572// SetRetries sets the Retries field's value. 11573func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 11574 s.Retries = &v 11575 return s 11576} 11577 11578// SetStartPeriod sets the StartPeriod field's value. 11579func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 11580 s.StartPeriod = &v 11581 return s 11582} 11583 11584// SetTimeout sets the Timeout field's value. 11585func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 11586 s.Timeout = &v 11587 return s 11588} 11589 11590// Hostnames and IP address entries that are added to the /etc/hosts file of 11591// a container via the extraHosts parameter of its ContainerDefinition. 11592type HostEntry struct { 11593 _ struct{} `type:"structure"` 11594 11595 // The hostname to use in the /etc/hosts entry. 11596 // 11597 // Hostname is a required field 11598 Hostname *string `locationName:"hostname" type:"string" required:"true"` 11599 11600 // The IP address to use in the /etc/hosts entry. 11601 // 11602 // IpAddress is a required field 11603 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 11604} 11605 11606// String returns the string representation 11607func (s HostEntry) String() string { 11608 return awsutil.Prettify(s) 11609} 11610 11611// GoString returns the string representation 11612func (s HostEntry) GoString() string { 11613 return s.String() 11614} 11615 11616// Validate inspects the fields of the type to determine if they are valid. 11617func (s *HostEntry) Validate() error { 11618 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 11619 if s.Hostname == nil { 11620 invalidParams.Add(request.NewErrParamRequired("Hostname")) 11621 } 11622 if s.IpAddress == nil { 11623 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 11624 } 11625 11626 if invalidParams.Len() > 0 { 11627 return invalidParams 11628 } 11629 return nil 11630} 11631 11632// SetHostname sets the Hostname field's value. 11633func (s *HostEntry) SetHostname(v string) *HostEntry { 11634 s.Hostname = &v 11635 return s 11636} 11637 11638// SetIpAddress sets the IpAddress field's value. 11639func (s *HostEntry) SetIpAddress(v string) *HostEntry { 11640 s.IpAddress = &v 11641 return s 11642} 11643 11644// Details on a container instance bind mount host volume. 11645type HostVolumeProperties struct { 11646 _ struct{} `type:"structure"` 11647 11648 // When the host parameter is used, specify a sourcePath to declare the path 11649 // on the host container instance that is presented to the container. If this 11650 // parameter is empty, then the Docker daemon has assigned a host path for you. 11651 // If the host parameter contains a sourcePath file location, then the data 11652 // volume persists at the specified location on the host container instance 11653 // until you delete it manually. If the sourcePath value does not exist on the 11654 // host container instance, the Docker daemon creates it. If the location does 11655 // exist, the contents of the source path folder are exported. 11656 // 11657 // If you are using the Fargate launch type, the sourcePath parameter is not 11658 // supported. 11659 SourcePath *string `locationName:"sourcePath" type:"string"` 11660} 11661 11662// String returns the string representation 11663func (s HostVolumeProperties) String() string { 11664 return awsutil.Prettify(s) 11665} 11666 11667// GoString returns the string representation 11668func (s HostVolumeProperties) GoString() string { 11669 return s.String() 11670} 11671 11672// SetSourcePath sets the SourcePath field's value. 11673func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 11674 s.SourcePath = &v 11675 return s 11676} 11677 11678// Details on a Elastic Inference accelerator. For more information, see Working 11679// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11680// in the Amazon Elastic Container Service Developer Guide. 11681type InferenceAccelerator struct { 11682 _ struct{} `type:"structure"` 11683 11684 // The Elastic Inference accelerator device name. The deviceName must also be 11685 // referenced in a container definition as a ResourceRequirement. 11686 // 11687 // DeviceName is a required field 11688 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 11689 11690 // The Elastic Inference accelerator type to use. 11691 // 11692 // DeviceType is a required field 11693 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 11694} 11695 11696// String returns the string representation 11697func (s InferenceAccelerator) String() string { 11698 return awsutil.Prettify(s) 11699} 11700 11701// GoString returns the string representation 11702func (s InferenceAccelerator) GoString() string { 11703 return s.String() 11704} 11705 11706// Validate inspects the fields of the type to determine if they are valid. 11707func (s *InferenceAccelerator) Validate() error { 11708 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 11709 if s.DeviceName == nil { 11710 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 11711 } 11712 if s.DeviceType == nil { 11713 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 11714 } 11715 11716 if invalidParams.Len() > 0 { 11717 return invalidParams 11718 } 11719 return nil 11720} 11721 11722// SetDeviceName sets the DeviceName field's value. 11723func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 11724 s.DeviceName = &v 11725 return s 11726} 11727 11728// SetDeviceType sets the DeviceType field's value. 11729func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 11730 s.DeviceType = &v 11731 return s 11732} 11733 11734// Details on an Elastic Inference accelerator task override. This parameter 11735// is used to override the Elastic Inference accelerator specified in the task 11736// definition. For more information, see Working with Amazon Elastic Inference 11737// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11738// in the Amazon Elastic Container Service Developer Guide. 11739type InferenceAcceleratorOverride struct { 11740 _ struct{} `type:"structure"` 11741 11742 // The Elastic Inference accelerator device name to override for the task. This 11743 // parameter must match a deviceName specified in the task definition. 11744 DeviceName *string `locationName:"deviceName" type:"string"` 11745 11746 // The Elastic Inference accelerator type to use. 11747 DeviceType *string `locationName:"deviceType" type:"string"` 11748} 11749 11750// String returns the string representation 11751func (s InferenceAcceleratorOverride) String() string { 11752 return awsutil.Prettify(s) 11753} 11754 11755// GoString returns the string representation 11756func (s InferenceAcceleratorOverride) GoString() string { 11757 return s.String() 11758} 11759 11760// SetDeviceName sets the DeviceName field's value. 11761func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 11762 s.DeviceName = &v 11763 return s 11764} 11765 11766// SetDeviceType sets the DeviceType field's value. 11767func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 11768 s.DeviceType = &v 11769 return s 11770} 11771 11772// The specified parameter is invalid. Review the available parameters for the 11773// API request. 11774type InvalidParameterException struct { 11775 _ struct{} `type:"structure"` 11776 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11777 11778 Message_ *string `locationName:"message" type:"string"` 11779} 11780 11781// String returns the string representation 11782func (s InvalidParameterException) String() string { 11783 return awsutil.Prettify(s) 11784} 11785 11786// GoString returns the string representation 11787func (s InvalidParameterException) GoString() string { 11788 return s.String() 11789} 11790 11791func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 11792 return &InvalidParameterException{ 11793 RespMetadata: v, 11794 } 11795} 11796 11797// Code returns the exception type name. 11798func (s *InvalidParameterException) Code() string { 11799 return "InvalidParameterException" 11800} 11801 11802// Message returns the exception's message. 11803func (s *InvalidParameterException) Message() string { 11804 if s.Message_ != nil { 11805 return *s.Message_ 11806 } 11807 return "" 11808} 11809 11810// OrigErr always returns nil, satisfies awserr.Error interface. 11811func (s *InvalidParameterException) OrigErr() error { 11812 return nil 11813} 11814 11815func (s *InvalidParameterException) Error() string { 11816 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11817} 11818 11819// Status code returns the HTTP status code for the request's response error. 11820func (s *InvalidParameterException) StatusCode() int { 11821 return s.RespMetadata.StatusCode 11822} 11823 11824// RequestID returns the service's response RequestID for request. 11825func (s *InvalidParameterException) RequestID() string { 11826 return s.RespMetadata.RequestID 11827} 11828 11829// The Linux capabilities for the container that are added to or dropped from 11830// the default configuration provided by Docker. For more information on the 11831// default capabilities and the non-default available capabilities, see Runtime 11832// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 11833// in the Docker run reference. For more detailed information on these Linux 11834// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 11835// Linux manual page. 11836type KernelCapabilities struct { 11837 _ struct{} `type:"structure"` 11838 11839 // The Linux capabilities for the container that have been added to the default 11840 // configuration provided by Docker. This parameter maps to CapAdd in the Create 11841 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11842 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11843 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 11844 // 11845 // The SYS_PTRACE capability is supported for tasks that use the Fargate launch 11846 // type if they are also using platform version 1.4.0. The other capabilities 11847 // are not supported for any platform versions. 11848 // 11849 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 11850 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 11851 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 11852 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 11853 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 11854 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 11855 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 11856 // "WAKE_ALARM" 11857 Add []*string `locationName:"add" type:"list"` 11858 11859 // The Linux capabilities for the container that have been removed from the 11860 // default configuration provided by Docker. This parameter maps to CapDrop 11861 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11862 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11863 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 11864 // 11865 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 11866 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 11867 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 11868 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 11869 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 11870 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 11871 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 11872 // "WAKE_ALARM" 11873 Drop []*string `locationName:"drop" type:"list"` 11874} 11875 11876// String returns the string representation 11877func (s KernelCapabilities) String() string { 11878 return awsutil.Prettify(s) 11879} 11880 11881// GoString returns the string representation 11882func (s KernelCapabilities) GoString() string { 11883 return s.String() 11884} 11885 11886// SetAdd sets the Add field's value. 11887func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 11888 s.Add = v 11889 return s 11890} 11891 11892// SetDrop sets the Drop field's value. 11893func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 11894 s.Drop = v 11895 return s 11896} 11897 11898// A key-value pair object. 11899type KeyValuePair struct { 11900 _ struct{} `type:"structure"` 11901 11902 // The name of the key-value pair. For environment variables, this is the name 11903 // of the environment variable. 11904 Name *string `locationName:"name" type:"string"` 11905 11906 // The value of the key-value pair. For environment variables, this is the value 11907 // of the environment variable. 11908 Value *string `locationName:"value" type:"string"` 11909} 11910 11911// String returns the string representation 11912func (s KeyValuePair) String() string { 11913 return awsutil.Prettify(s) 11914} 11915 11916// GoString returns the string representation 11917func (s KeyValuePair) GoString() string { 11918 return s.String() 11919} 11920 11921// SetName sets the Name field's value. 11922func (s *KeyValuePair) SetName(v string) *KeyValuePair { 11923 s.Name = &v 11924 return s 11925} 11926 11927// SetValue sets the Value field's value. 11928func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 11929 s.Value = &v 11930 return s 11931} 11932 11933// The limit for the resource has been exceeded. 11934type LimitExceededException struct { 11935 _ struct{} `type:"structure"` 11936 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11937 11938 Message_ *string `locationName:"message" type:"string"` 11939} 11940 11941// String returns the string representation 11942func (s LimitExceededException) String() string { 11943 return awsutil.Prettify(s) 11944} 11945 11946// GoString returns the string representation 11947func (s LimitExceededException) GoString() string { 11948 return s.String() 11949} 11950 11951func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 11952 return &LimitExceededException{ 11953 RespMetadata: v, 11954 } 11955} 11956 11957// Code returns the exception type name. 11958func (s *LimitExceededException) Code() string { 11959 return "LimitExceededException" 11960} 11961 11962// Message returns the exception's message. 11963func (s *LimitExceededException) Message() string { 11964 if s.Message_ != nil { 11965 return *s.Message_ 11966 } 11967 return "" 11968} 11969 11970// OrigErr always returns nil, satisfies awserr.Error interface. 11971func (s *LimitExceededException) OrigErr() error { 11972 return nil 11973} 11974 11975func (s *LimitExceededException) Error() string { 11976 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 11977} 11978 11979// Status code returns the HTTP status code for the request's response error. 11980func (s *LimitExceededException) StatusCode() int { 11981 return s.RespMetadata.StatusCode 11982} 11983 11984// RequestID returns the service's response RequestID for request. 11985func (s *LimitExceededException) RequestID() string { 11986 return s.RespMetadata.RequestID 11987} 11988 11989// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 11990type LinuxParameters struct { 11991 _ struct{} `type:"structure"` 11992 11993 // The Linux capabilities for the container that are added to or dropped from 11994 // the default configuration provided by Docker. 11995 // 11996 // For tasks that use the Fargate launch type, capabilities is supported for 11997 // all platform versions but the add parameter is only supported if using platform 11998 // version 1.4.0 or later. 11999 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 12000 12001 // Any host devices to expose to the container. This parameter maps to Devices 12002 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12003 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12004 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 12005 // 12006 // If you are using tasks that use the Fargate launch type, the devices parameter 12007 // is not supported. 12008 Devices []*Device `locationName:"devices" type:"list"` 12009 12010 // Run an init process inside the container that forwards signals and reaps 12011 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 12012 // This parameter requires version 1.25 of the Docker Remote API or greater 12013 // on your container instance. To check the Docker Remote API version on your 12014 // container instance, log in to your container instance and run the following 12015 // command: sudo docker version --format '{{.Server.APIVersion}}' 12016 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 12017 12018 // The total amount of swap memory (in MiB) a container can use. This parameter 12019 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 12020 // where the value would be the sum of the container memory plus the maxSwap 12021 // value. 12022 // 12023 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 12024 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 12025 // the container will use the swap configuration for the container instance 12026 // it is running on. A maxSwap value must be set for the swappiness parameter 12027 // to be used. 12028 // 12029 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 12030 // is not supported. 12031 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 12032 12033 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 12034 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 12035 // 12036 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 12037 // parameter is not supported. 12038 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 12039 12040 // This allows you to tune a container's memory swappiness behavior. A swappiness 12041 // value of 0 will cause swapping to not happen unless absolutely necessary. 12042 // A swappiness value of 100 will cause pages to be swapped very aggressively. 12043 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 12044 // is not specified, a default value of 60 is used. If a value is not specified 12045 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 12046 // option to docker run (https://docs.docker.com/engine/reference/run/). 12047 // 12048 // If you are using tasks that use the Fargate launch type, the swappiness parameter 12049 // is not supported. 12050 Swappiness *int64 `locationName:"swappiness" type:"integer"` 12051 12052 // The container path, mount options, and size (in MiB) of the tmpfs mount. 12053 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 12054 // 12055 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 12056 // is not supported. 12057 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 12058} 12059 12060// String returns the string representation 12061func (s LinuxParameters) String() string { 12062 return awsutil.Prettify(s) 12063} 12064 12065// GoString returns the string representation 12066func (s LinuxParameters) GoString() string { 12067 return s.String() 12068} 12069 12070// Validate inspects the fields of the type to determine if they are valid. 12071func (s *LinuxParameters) Validate() error { 12072 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 12073 if s.Devices != nil { 12074 for i, v := range s.Devices { 12075 if v == nil { 12076 continue 12077 } 12078 if err := v.Validate(); err != nil { 12079 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 12080 } 12081 } 12082 } 12083 if s.Tmpfs != nil { 12084 for i, v := range s.Tmpfs { 12085 if v == nil { 12086 continue 12087 } 12088 if err := v.Validate(); err != nil { 12089 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 12090 } 12091 } 12092 } 12093 12094 if invalidParams.Len() > 0 { 12095 return invalidParams 12096 } 12097 return nil 12098} 12099 12100// SetCapabilities sets the Capabilities field's value. 12101func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 12102 s.Capabilities = v 12103 return s 12104} 12105 12106// SetDevices sets the Devices field's value. 12107func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 12108 s.Devices = v 12109 return s 12110} 12111 12112// SetInitProcessEnabled sets the InitProcessEnabled field's value. 12113func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 12114 s.InitProcessEnabled = &v 12115 return s 12116} 12117 12118// SetMaxSwap sets the MaxSwap field's value. 12119func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 12120 s.MaxSwap = &v 12121 return s 12122} 12123 12124// SetSharedMemorySize sets the SharedMemorySize field's value. 12125func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 12126 s.SharedMemorySize = &v 12127 return s 12128} 12129 12130// SetSwappiness sets the Swappiness field's value. 12131func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 12132 s.Swappiness = &v 12133 return s 12134} 12135 12136// SetTmpfs sets the Tmpfs field's value. 12137func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 12138 s.Tmpfs = v 12139 return s 12140} 12141 12142type ListAccountSettingsInput struct { 12143 _ struct{} `type:"structure"` 12144 12145 // Specifies whether to return the effective settings. If true, the account 12146 // settings for the root user or the default setting for the principalArn are 12147 // returned. If false, the account settings for the principalArn are returned 12148 // if they are set. Otherwise, no account settings are returned. 12149 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 12150 12151 // The maximum number of account setting results returned by ListAccountSettings 12152 // in paginated output. When this parameter is used, ListAccountSettings only 12153 // returns maxResults results in a single page along with a nextToken response 12154 // element. The remaining results of the initial request can be seen by sending 12155 // another ListAccountSettings request with the returned nextToken value. This 12156 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 12157 // returns up to 10 results and a nextToken value if applicable. 12158 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12159 12160 // The resource name you want to list the account settings for. 12161 Name *string `locationName:"name" type:"string" enum:"SettingName"` 12162 12163 // The nextToken value returned from a ListAccountSettings request indicating 12164 // that more results are available to fulfill the request and further calls 12165 // will be needed. If maxResults was provided, it is possible the number of 12166 // results to be fewer than maxResults. 12167 // 12168 // This token should be treated as an opaque identifier that is only used to 12169 // retrieve the next items in a list and not for other programmatic purposes. 12170 NextToken *string `locationName:"nextToken" type:"string"` 12171 12172 // The ARN of the principal, which can be an IAM user, IAM role, or the root 12173 // user. If this field is omitted, the account settings are listed only for 12174 // the authenticated user. 12175 PrincipalArn *string `locationName:"principalArn" type:"string"` 12176 12177 // The value of the account settings with which to filter results. You must 12178 // also specify an account setting name to use this parameter. 12179 Value *string `locationName:"value" type:"string"` 12180} 12181 12182// String returns the string representation 12183func (s ListAccountSettingsInput) String() string { 12184 return awsutil.Prettify(s) 12185} 12186 12187// GoString returns the string representation 12188func (s ListAccountSettingsInput) GoString() string { 12189 return s.String() 12190} 12191 12192// SetEffectiveSettings sets the EffectiveSettings field's value. 12193func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 12194 s.EffectiveSettings = &v 12195 return s 12196} 12197 12198// SetMaxResults sets the MaxResults field's value. 12199func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 12200 s.MaxResults = &v 12201 return s 12202} 12203 12204// SetName sets the Name field's value. 12205func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 12206 s.Name = &v 12207 return s 12208} 12209 12210// SetNextToken sets the NextToken field's value. 12211func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 12212 s.NextToken = &v 12213 return s 12214} 12215 12216// SetPrincipalArn sets the PrincipalArn field's value. 12217func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 12218 s.PrincipalArn = &v 12219 return s 12220} 12221 12222// SetValue sets the Value field's value. 12223func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 12224 s.Value = &v 12225 return s 12226} 12227 12228type ListAccountSettingsOutput struct { 12229 _ struct{} `type:"structure"` 12230 12231 // The nextToken value to include in a future ListAccountSettings request. When 12232 // the results of a ListAccountSettings request exceed maxResults, this value 12233 // can be used to retrieve the next page of results. This value is null when 12234 // there are no more results to return. 12235 NextToken *string `locationName:"nextToken" type:"string"` 12236 12237 // The account settings for the resource. 12238 Settings []*Setting `locationName:"settings" type:"list"` 12239} 12240 12241// String returns the string representation 12242func (s ListAccountSettingsOutput) String() string { 12243 return awsutil.Prettify(s) 12244} 12245 12246// GoString returns the string representation 12247func (s ListAccountSettingsOutput) GoString() string { 12248 return s.String() 12249} 12250 12251// SetNextToken sets the NextToken field's value. 12252func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 12253 s.NextToken = &v 12254 return s 12255} 12256 12257// SetSettings sets the Settings field's value. 12258func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 12259 s.Settings = v 12260 return s 12261} 12262 12263type ListAttributesInput struct { 12264 _ struct{} `type:"structure"` 12265 12266 // The name of the attribute with which to filter the results. 12267 AttributeName *string `locationName:"attributeName" type:"string"` 12268 12269 // The value of the attribute with which to filter results. You must also specify 12270 // an attribute name to use this parameter. 12271 AttributeValue *string `locationName:"attributeValue" type:"string"` 12272 12273 // The short name or full Amazon Resource Name (ARN) of the cluster to list 12274 // attributes. If you do not specify a cluster, the default cluster is assumed. 12275 Cluster *string `locationName:"cluster" type:"string"` 12276 12277 // The maximum number of cluster results returned by ListAttributes in paginated 12278 // output. When this parameter is used, ListAttributes only returns maxResults 12279 // results in a single page along with a nextToken response element. The remaining 12280 // results of the initial request can be seen by sending another ListAttributes 12281 // request with the returned nextToken value. This value can be between 1 and 12282 // 100. If this parameter is not used, then ListAttributes returns up to 100 12283 // results and a nextToken value if applicable. 12284 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12285 12286 // The nextToken value returned from a ListAttributes request indicating that 12287 // more results are available to fulfill the request and further calls will 12288 // be needed. If maxResults was provided, it is possible the number of results 12289 // to be fewer than maxResults. 12290 // 12291 // This token should be treated as an opaque identifier that is only used to 12292 // retrieve the next items in a list and not for other programmatic purposes. 12293 NextToken *string `locationName:"nextToken" type:"string"` 12294 12295 // The type of the target with which to list attributes. 12296 // 12297 // TargetType is a required field 12298 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 12299} 12300 12301// String returns the string representation 12302func (s ListAttributesInput) String() string { 12303 return awsutil.Prettify(s) 12304} 12305 12306// GoString returns the string representation 12307func (s ListAttributesInput) GoString() string { 12308 return s.String() 12309} 12310 12311// Validate inspects the fields of the type to determine if they are valid. 12312func (s *ListAttributesInput) Validate() error { 12313 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 12314 if s.TargetType == nil { 12315 invalidParams.Add(request.NewErrParamRequired("TargetType")) 12316 } 12317 12318 if invalidParams.Len() > 0 { 12319 return invalidParams 12320 } 12321 return nil 12322} 12323 12324// SetAttributeName sets the AttributeName field's value. 12325func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 12326 s.AttributeName = &v 12327 return s 12328} 12329 12330// SetAttributeValue sets the AttributeValue field's value. 12331func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 12332 s.AttributeValue = &v 12333 return s 12334} 12335 12336// SetCluster sets the Cluster field's value. 12337func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 12338 s.Cluster = &v 12339 return s 12340} 12341 12342// SetMaxResults sets the MaxResults field's value. 12343func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 12344 s.MaxResults = &v 12345 return s 12346} 12347 12348// SetNextToken sets the NextToken field's value. 12349func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 12350 s.NextToken = &v 12351 return s 12352} 12353 12354// SetTargetType sets the TargetType field's value. 12355func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 12356 s.TargetType = &v 12357 return s 12358} 12359 12360type ListAttributesOutput struct { 12361 _ struct{} `type:"structure"` 12362 12363 // A list of attribute objects that meet the criteria of the request. 12364 Attributes []*Attribute `locationName:"attributes" type:"list"` 12365 12366 // The nextToken value to include in a future ListAttributes request. When the 12367 // results of a ListAttributes request exceed maxResults, this value can be 12368 // used to retrieve the next page of results. This value is null when there 12369 // are no more results to return. 12370 NextToken *string `locationName:"nextToken" type:"string"` 12371} 12372 12373// String returns the string representation 12374func (s ListAttributesOutput) String() string { 12375 return awsutil.Prettify(s) 12376} 12377 12378// GoString returns the string representation 12379func (s ListAttributesOutput) GoString() string { 12380 return s.String() 12381} 12382 12383// SetAttributes sets the Attributes field's value. 12384func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 12385 s.Attributes = v 12386 return s 12387} 12388 12389// SetNextToken sets the NextToken field's value. 12390func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 12391 s.NextToken = &v 12392 return s 12393} 12394 12395type ListClustersInput struct { 12396 _ struct{} `type:"structure"` 12397 12398 // The maximum number of cluster results returned by ListClusters in paginated 12399 // output. When this parameter is used, ListClusters only returns maxResults 12400 // results in a single page along with a nextToken response element. The remaining 12401 // results of the initial request can be seen by sending another ListClusters 12402 // request with the returned nextToken value. This value can be between 1 and 12403 // 100. If this parameter is not used, then ListClusters returns up to 100 results 12404 // and a nextToken value if applicable. 12405 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12406 12407 // The nextToken value returned from a ListClusters request indicating that 12408 // more results are available to fulfill the request and further calls will 12409 // be needed. If maxResults was provided, it is possible the number of results 12410 // to be fewer than maxResults. 12411 // 12412 // This token should be treated as an opaque identifier that is only used to 12413 // retrieve the next items in a list and not for other programmatic purposes. 12414 NextToken *string `locationName:"nextToken" type:"string"` 12415} 12416 12417// String returns the string representation 12418func (s ListClustersInput) String() string { 12419 return awsutil.Prettify(s) 12420} 12421 12422// GoString returns the string representation 12423func (s ListClustersInput) GoString() string { 12424 return s.String() 12425} 12426 12427// SetMaxResults sets the MaxResults field's value. 12428func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 12429 s.MaxResults = &v 12430 return s 12431} 12432 12433// SetNextToken sets the NextToken field's value. 12434func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 12435 s.NextToken = &v 12436 return s 12437} 12438 12439type ListClustersOutput struct { 12440 _ struct{} `type:"structure"` 12441 12442 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 12443 // with your account. 12444 ClusterArns []*string `locationName:"clusterArns" type:"list"` 12445 12446 // The nextToken value to include in a future ListClusters request. When the 12447 // results of a ListClusters request exceed maxResults, this value can be used 12448 // to retrieve the next page of results. This value is null when there are no 12449 // more results to return. 12450 NextToken *string `locationName:"nextToken" type:"string"` 12451} 12452 12453// String returns the string representation 12454func (s ListClustersOutput) String() string { 12455 return awsutil.Prettify(s) 12456} 12457 12458// GoString returns the string representation 12459func (s ListClustersOutput) GoString() string { 12460 return s.String() 12461} 12462 12463// SetClusterArns sets the ClusterArns field's value. 12464func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 12465 s.ClusterArns = v 12466 return s 12467} 12468 12469// SetNextToken sets the NextToken field's value. 12470func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 12471 s.NextToken = &v 12472 return s 12473} 12474 12475type ListContainerInstancesInput struct { 12476 _ struct{} `type:"structure"` 12477 12478 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12479 // the container instances to list. If you do not specify a cluster, the default 12480 // cluster is assumed. 12481 Cluster *string `locationName:"cluster" type:"string"` 12482 12483 // You can filter the results of a ListContainerInstances operation with cluster 12484 // query language statements. For more information, see Cluster Query Language 12485 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 12486 // in the Amazon Elastic Container Service Developer Guide. 12487 Filter *string `locationName:"filter" type:"string"` 12488 12489 // The maximum number of container instance results returned by ListContainerInstances 12490 // in paginated output. When this parameter is used, ListContainerInstances 12491 // only returns maxResults results in a single page along with a nextToken response 12492 // element. The remaining results of the initial request can be seen by sending 12493 // another ListContainerInstances request with the returned nextToken value. 12494 // This value can be between 1 and 100. If this parameter is not used, then 12495 // ListContainerInstances returns up to 100 results and a nextToken value if 12496 // applicable. 12497 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12498 12499 // The nextToken value returned from a ListContainerInstances request indicating 12500 // that more results are available to fulfill the request and further calls 12501 // will be needed. If maxResults was provided, it is possible the number of 12502 // results to be fewer than maxResults. 12503 // 12504 // This token should be treated as an opaque identifier that is only used to 12505 // retrieve the next items in a list and not for other programmatic purposes. 12506 NextToken *string `locationName:"nextToken" type:"string"` 12507 12508 // Filters the container instances by status. For example, if you specify the 12509 // DRAINING status, the results include only container instances that have been 12510 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 12511 // this parameter, the default is to include container instances set to all 12512 // states other than INACTIVE. 12513 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 12514} 12515 12516// String returns the string representation 12517func (s ListContainerInstancesInput) String() string { 12518 return awsutil.Prettify(s) 12519} 12520 12521// GoString returns the string representation 12522func (s ListContainerInstancesInput) GoString() string { 12523 return s.String() 12524} 12525 12526// SetCluster sets the Cluster field's value. 12527func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 12528 s.Cluster = &v 12529 return s 12530} 12531 12532// SetFilter sets the Filter field's value. 12533func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 12534 s.Filter = &v 12535 return s 12536} 12537 12538// SetMaxResults sets the MaxResults field's value. 12539func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 12540 s.MaxResults = &v 12541 return s 12542} 12543 12544// SetNextToken sets the NextToken field's value. 12545func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 12546 s.NextToken = &v 12547 return s 12548} 12549 12550// SetStatus sets the Status field's value. 12551func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 12552 s.Status = &v 12553 return s 12554} 12555 12556type ListContainerInstancesOutput struct { 12557 _ struct{} `type:"structure"` 12558 12559 // The list of container instances with full ARN entries for each container 12560 // instance associated with the specified cluster. 12561 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 12562 12563 // The nextToken value to include in a future ListContainerInstances request. 12564 // When the results of a ListContainerInstances request exceed maxResults, this 12565 // value can be used to retrieve the next page of results. This value is null 12566 // when there are no more results to return. 12567 NextToken *string `locationName:"nextToken" type:"string"` 12568} 12569 12570// String returns the string representation 12571func (s ListContainerInstancesOutput) String() string { 12572 return awsutil.Prettify(s) 12573} 12574 12575// GoString returns the string representation 12576func (s ListContainerInstancesOutput) GoString() string { 12577 return s.String() 12578} 12579 12580// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 12581func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 12582 s.ContainerInstanceArns = v 12583 return s 12584} 12585 12586// SetNextToken sets the NextToken field's value. 12587func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 12588 s.NextToken = &v 12589 return s 12590} 12591 12592type ListServicesInput struct { 12593 _ struct{} `type:"structure"` 12594 12595 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12596 // the services to list. If you do not specify a cluster, the default cluster 12597 // is assumed. 12598 Cluster *string `locationName:"cluster" type:"string"` 12599 12600 // The launch type for the services to list. 12601 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12602 12603 // The maximum number of service results returned by ListServices in paginated 12604 // output. When this parameter is used, ListServices only returns maxResults 12605 // results in a single page along with a nextToken response element. The remaining 12606 // results of the initial request can be seen by sending another ListServices 12607 // request with the returned nextToken value. This value can be between 1 and 12608 // 100. If this parameter is not used, then ListServices returns up to 10 results 12609 // and a nextToken value if applicable. 12610 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12611 12612 // The nextToken value returned from a ListServices request indicating that 12613 // more results are available to fulfill the request and further calls will 12614 // be needed. If maxResults was provided, it is possible the number of results 12615 // to be fewer than maxResults. 12616 // 12617 // This token should be treated as an opaque identifier that is only used to 12618 // retrieve the next items in a list and not for other programmatic purposes. 12619 NextToken *string `locationName:"nextToken" type:"string"` 12620 12621 // The scheduling strategy for services to list. 12622 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 12623} 12624 12625// String returns the string representation 12626func (s ListServicesInput) String() string { 12627 return awsutil.Prettify(s) 12628} 12629 12630// GoString returns the string representation 12631func (s ListServicesInput) GoString() string { 12632 return s.String() 12633} 12634 12635// SetCluster sets the Cluster field's value. 12636func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 12637 s.Cluster = &v 12638 return s 12639} 12640 12641// SetLaunchType sets the LaunchType field's value. 12642func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 12643 s.LaunchType = &v 12644 return s 12645} 12646 12647// SetMaxResults sets the MaxResults field's value. 12648func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 12649 s.MaxResults = &v 12650 return s 12651} 12652 12653// SetNextToken sets the NextToken field's value. 12654func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 12655 s.NextToken = &v 12656 return s 12657} 12658 12659// SetSchedulingStrategy sets the SchedulingStrategy field's value. 12660func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 12661 s.SchedulingStrategy = &v 12662 return s 12663} 12664 12665type ListServicesOutput struct { 12666 _ struct{} `type:"structure"` 12667 12668 // The nextToken value to include in a future ListServices request. When the 12669 // results of a ListServices request exceed maxResults, this value can be used 12670 // to retrieve the next page of results. This value is null when there are no 12671 // more results to return. 12672 NextToken *string `locationName:"nextToken" type:"string"` 12673 12674 // The list of full ARN entries for each service associated with the specified 12675 // cluster. 12676 ServiceArns []*string `locationName:"serviceArns" type:"list"` 12677} 12678 12679// String returns the string representation 12680func (s ListServicesOutput) String() string { 12681 return awsutil.Prettify(s) 12682} 12683 12684// GoString returns the string representation 12685func (s ListServicesOutput) GoString() string { 12686 return s.String() 12687} 12688 12689// SetNextToken sets the NextToken field's value. 12690func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 12691 s.NextToken = &v 12692 return s 12693} 12694 12695// SetServiceArns sets the ServiceArns field's value. 12696func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 12697 s.ServiceArns = v 12698 return s 12699} 12700 12701type ListTagsForResourceInput struct { 12702 _ struct{} `type:"structure"` 12703 12704 // The Amazon Resource Name (ARN) that identifies the resource for which to 12705 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 12706 // task definitions, clusters, and container instances. 12707 // 12708 // ResourceArn is a required field 12709 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 12710} 12711 12712// String returns the string representation 12713func (s ListTagsForResourceInput) String() string { 12714 return awsutil.Prettify(s) 12715} 12716 12717// GoString returns the string representation 12718func (s ListTagsForResourceInput) GoString() string { 12719 return s.String() 12720} 12721 12722// Validate inspects the fields of the type to determine if they are valid. 12723func (s *ListTagsForResourceInput) Validate() error { 12724 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 12725 if s.ResourceArn == nil { 12726 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 12727 } 12728 12729 if invalidParams.Len() > 0 { 12730 return invalidParams 12731 } 12732 return nil 12733} 12734 12735// SetResourceArn sets the ResourceArn field's value. 12736func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 12737 s.ResourceArn = &v 12738 return s 12739} 12740 12741type ListTagsForResourceOutput struct { 12742 _ struct{} `type:"structure"` 12743 12744 // The tags for the resource. 12745 Tags []*Tag `locationName:"tags" type:"list"` 12746} 12747 12748// String returns the string representation 12749func (s ListTagsForResourceOutput) String() string { 12750 return awsutil.Prettify(s) 12751} 12752 12753// GoString returns the string representation 12754func (s ListTagsForResourceOutput) GoString() string { 12755 return s.String() 12756} 12757 12758// SetTags sets the Tags field's value. 12759func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 12760 s.Tags = v 12761 return s 12762} 12763 12764type ListTaskDefinitionFamiliesInput struct { 12765 _ struct{} `type:"structure"` 12766 12767 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 12768 // If you specify a familyPrefix, only task definition family names that begin 12769 // with the familyPrefix string are returned. 12770 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 12771 12772 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 12773 // in paginated output. When this parameter is used, ListTaskDefinitions only 12774 // returns maxResults results in a single page along with a nextToken response 12775 // element. The remaining results of the initial request can be seen by sending 12776 // another ListTaskDefinitionFamilies request with the returned nextToken value. 12777 // This value can be between 1 and 100. If this parameter is not used, then 12778 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 12779 // if applicable. 12780 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12781 12782 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 12783 // that more results are available to fulfill the request and further calls 12784 // will be needed. If maxResults was provided, it is possible the number of 12785 // results to be fewer than maxResults. 12786 // 12787 // This token should be treated as an opaque identifier that is only used to 12788 // retrieve the next items in a list and not for other programmatic purposes. 12789 NextToken *string `locationName:"nextToken" type:"string"` 12790 12791 // The task definition family status with which to filter the ListTaskDefinitionFamilies 12792 // results. By default, both ACTIVE and INACTIVE task definition families are 12793 // listed. If this parameter is set to ACTIVE, only task definition families 12794 // that have an ACTIVE task definition revision are returned. If this parameter 12795 // is set to INACTIVE, only task definition families that do not have any ACTIVE 12796 // task definition revisions are returned. If you paginate the resulting output, 12797 // be sure to keep the status value constant in each subsequent request. 12798 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 12799} 12800 12801// String returns the string representation 12802func (s ListTaskDefinitionFamiliesInput) String() string { 12803 return awsutil.Prettify(s) 12804} 12805 12806// GoString returns the string representation 12807func (s ListTaskDefinitionFamiliesInput) GoString() string { 12808 return s.String() 12809} 12810 12811// SetFamilyPrefix sets the FamilyPrefix field's value. 12812func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 12813 s.FamilyPrefix = &v 12814 return s 12815} 12816 12817// SetMaxResults sets the MaxResults field's value. 12818func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 12819 s.MaxResults = &v 12820 return s 12821} 12822 12823// SetNextToken sets the NextToken field's value. 12824func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 12825 s.NextToken = &v 12826 return s 12827} 12828 12829// SetStatus sets the Status field's value. 12830func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 12831 s.Status = &v 12832 return s 12833} 12834 12835type ListTaskDefinitionFamiliesOutput struct { 12836 _ struct{} `type:"structure"` 12837 12838 // The list of task definition family names that match the ListTaskDefinitionFamilies 12839 // request. 12840 Families []*string `locationName:"families" type:"list"` 12841 12842 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 12843 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 12844 // this value can be used to retrieve the next page of results. This value is 12845 // null when there are no more results to return. 12846 NextToken *string `locationName:"nextToken" type:"string"` 12847} 12848 12849// String returns the string representation 12850func (s ListTaskDefinitionFamiliesOutput) String() string { 12851 return awsutil.Prettify(s) 12852} 12853 12854// GoString returns the string representation 12855func (s ListTaskDefinitionFamiliesOutput) GoString() string { 12856 return s.String() 12857} 12858 12859// SetFamilies sets the Families field's value. 12860func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 12861 s.Families = v 12862 return s 12863} 12864 12865// SetNextToken sets the NextToken field's value. 12866func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 12867 s.NextToken = &v 12868 return s 12869} 12870 12871type ListTaskDefinitionsInput struct { 12872 _ struct{} `type:"structure"` 12873 12874 // The full family name with which to filter the ListTaskDefinitions results. 12875 // Specifying a familyPrefix limits the listed task definitions to task definition 12876 // revisions that belong to that family. 12877 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 12878 12879 // The maximum number of task definition results returned by ListTaskDefinitions 12880 // in paginated output. When this parameter is used, ListTaskDefinitions only 12881 // returns maxResults results in a single page along with a nextToken response 12882 // element. The remaining results of the initial request can be seen by sending 12883 // another ListTaskDefinitions request with the returned nextToken value. This 12884 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 12885 // returns up to 100 results and a nextToken value if applicable. 12886 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12887 12888 // The nextToken value returned from a ListTaskDefinitions request indicating 12889 // that more results are available to fulfill the request and further calls 12890 // will be needed. If maxResults was provided, it is possible the number of 12891 // results to be fewer than maxResults. 12892 // 12893 // This token should be treated as an opaque identifier that is only used to 12894 // retrieve the next items in a list and not for other programmatic purposes. 12895 NextToken *string `locationName:"nextToken" type:"string"` 12896 12897 // The order in which to sort the results. Valid values are ASC and DESC. By 12898 // default (ASC), task definitions are listed lexicographically by family name 12899 // and in ascending numerical order by revision so that the newest task definitions 12900 // in a family are listed last. Setting this parameter to DESC reverses the 12901 // sort order on family name and revision so that the newest task definitions 12902 // in a family are listed first. 12903 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 12904 12905 // The task definition status with which to filter the ListTaskDefinitions results. 12906 // By default, only ACTIVE task definitions are listed. By setting this parameter 12907 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 12908 // active task or service still references them. If you paginate the resulting 12909 // output, be sure to keep the status value constant in each subsequent request. 12910 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 12911} 12912 12913// String returns the string representation 12914func (s ListTaskDefinitionsInput) String() string { 12915 return awsutil.Prettify(s) 12916} 12917 12918// GoString returns the string representation 12919func (s ListTaskDefinitionsInput) GoString() string { 12920 return s.String() 12921} 12922 12923// SetFamilyPrefix sets the FamilyPrefix field's value. 12924func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 12925 s.FamilyPrefix = &v 12926 return s 12927} 12928 12929// SetMaxResults sets the MaxResults field's value. 12930func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 12931 s.MaxResults = &v 12932 return s 12933} 12934 12935// SetNextToken sets the NextToken field's value. 12936func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 12937 s.NextToken = &v 12938 return s 12939} 12940 12941// SetSort sets the Sort field's value. 12942func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 12943 s.Sort = &v 12944 return s 12945} 12946 12947// SetStatus sets the Status field's value. 12948func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 12949 s.Status = &v 12950 return s 12951} 12952 12953type ListTaskDefinitionsOutput struct { 12954 _ struct{} `type:"structure"` 12955 12956 // The nextToken value to include in a future ListTaskDefinitions request. When 12957 // the results of a ListTaskDefinitions request exceed maxResults, this value 12958 // can be used to retrieve the next page of results. This value is null when 12959 // there are no more results to return. 12960 NextToken *string `locationName:"nextToken" type:"string"` 12961 12962 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 12963 // request. 12964 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 12965} 12966 12967// String returns the string representation 12968func (s ListTaskDefinitionsOutput) String() string { 12969 return awsutil.Prettify(s) 12970} 12971 12972// GoString returns the string representation 12973func (s ListTaskDefinitionsOutput) GoString() string { 12974 return s.String() 12975} 12976 12977// SetNextToken sets the NextToken field's value. 12978func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 12979 s.NextToken = &v 12980 return s 12981} 12982 12983// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 12984func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 12985 s.TaskDefinitionArns = v 12986 return s 12987} 12988 12989type ListTasksInput struct { 12990 _ struct{} `type:"structure"` 12991 12992 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12993 // the tasks to list. If you do not specify a cluster, the default cluster is 12994 // assumed. 12995 Cluster *string `locationName:"cluster" type:"string"` 12996 12997 // The container instance ID or full ARN of the container instance with which 12998 // to filter the ListTasks results. Specifying a containerInstance limits the 12999 // results to tasks that belong to that container instance. 13000 ContainerInstance *string `locationName:"containerInstance" type:"string"` 13001 13002 // The task desired status with which to filter the ListTasks results. Specifying 13003 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 13004 // set the desired status to STOPPED. This can be useful for debugging tasks 13005 // that are not starting properly or have died or finished. The default status 13006 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 13007 // status to RUNNING. 13008 // 13009 // Although you can filter results based on a desired status of PENDING, this 13010 // does not return any results. Amazon ECS never sets the desired status of 13011 // a task to that value (only a task's lastStatus may have a value of PENDING). 13012 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 13013 13014 // The name of the family with which to filter the ListTasks results. Specifying 13015 // a family limits the results to tasks that belong to that family. 13016 Family *string `locationName:"family" type:"string"` 13017 13018 // The launch type for services to list. 13019 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13020 13021 // The maximum number of task results returned by ListTasks in paginated output. 13022 // When this parameter is used, ListTasks only returns maxResults results in 13023 // a single page along with a nextToken response element. The remaining results 13024 // of the initial request can be seen by sending another ListTasks request with 13025 // the returned nextToken value. This value can be between 1 and 100. If this 13026 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 13027 // value if applicable. 13028 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13029 13030 // The nextToken value returned from a ListTasks request indicating that more 13031 // results are available to fulfill the request and further calls will be needed. 13032 // If maxResults was provided, it is possible the number of results to be fewer 13033 // than maxResults. 13034 // 13035 // This token should be treated as an opaque identifier that is only used to 13036 // retrieve the next items in a list and not for other programmatic purposes. 13037 NextToken *string `locationName:"nextToken" type:"string"` 13038 13039 // The name of the service with which to filter the ListTasks results. Specifying 13040 // a serviceName limits the results to tasks that belong to that service. 13041 ServiceName *string `locationName:"serviceName" type:"string"` 13042 13043 // The startedBy value with which to filter the task results. Specifying a startedBy 13044 // value limits the results to tasks that were started with that value. 13045 StartedBy *string `locationName:"startedBy" type:"string"` 13046} 13047 13048// String returns the string representation 13049func (s ListTasksInput) String() string { 13050 return awsutil.Prettify(s) 13051} 13052 13053// GoString returns the string representation 13054func (s ListTasksInput) GoString() string { 13055 return s.String() 13056} 13057 13058// SetCluster sets the Cluster field's value. 13059func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 13060 s.Cluster = &v 13061 return s 13062} 13063 13064// SetContainerInstance sets the ContainerInstance field's value. 13065func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 13066 s.ContainerInstance = &v 13067 return s 13068} 13069 13070// SetDesiredStatus sets the DesiredStatus field's value. 13071func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 13072 s.DesiredStatus = &v 13073 return s 13074} 13075 13076// SetFamily sets the Family field's value. 13077func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 13078 s.Family = &v 13079 return s 13080} 13081 13082// SetLaunchType sets the LaunchType field's value. 13083func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 13084 s.LaunchType = &v 13085 return s 13086} 13087 13088// SetMaxResults sets the MaxResults field's value. 13089func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 13090 s.MaxResults = &v 13091 return s 13092} 13093 13094// SetNextToken sets the NextToken field's value. 13095func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 13096 s.NextToken = &v 13097 return s 13098} 13099 13100// SetServiceName sets the ServiceName field's value. 13101func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 13102 s.ServiceName = &v 13103 return s 13104} 13105 13106// SetStartedBy sets the StartedBy field's value. 13107func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 13108 s.StartedBy = &v 13109 return s 13110} 13111 13112type ListTasksOutput struct { 13113 _ struct{} `type:"structure"` 13114 13115 // The nextToken value to include in a future ListTasks request. When the results 13116 // of a ListTasks request exceed maxResults, this value can be used to retrieve 13117 // the next page of results. This value is null when there are no more results 13118 // to return. 13119 NextToken *string `locationName:"nextToken" type:"string"` 13120 13121 // The list of task ARN entries for the ListTasks request. 13122 TaskArns []*string `locationName:"taskArns" type:"list"` 13123} 13124 13125// String returns the string representation 13126func (s ListTasksOutput) String() string { 13127 return awsutil.Prettify(s) 13128} 13129 13130// GoString returns the string representation 13131func (s ListTasksOutput) GoString() string { 13132 return s.String() 13133} 13134 13135// SetNextToken sets the NextToken field's value. 13136func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 13137 s.NextToken = &v 13138 return s 13139} 13140 13141// SetTaskArns sets the TaskArns field's value. 13142func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 13143 s.TaskArns = v 13144 return s 13145} 13146 13147// The load balancer configuration to use with a service or task set. 13148// 13149// For specific notes and restrictions regarding the use of load balancers with 13150// services and task sets, see the CreateService and CreateTaskSet actions. 13151type LoadBalancer struct { 13152 _ struct{} `type:"structure"` 13153 13154 // The name of the container (as it appears in a container definition) to associate 13155 // with the load balancer. 13156 ContainerName *string `locationName:"containerName" type:"string"` 13157 13158 // The port on the container to associate with the load balancer. This port 13159 // must correspond to a containerPort in the task definition the tasks in the 13160 // service are using. For tasks that use the EC2 launch type, the container 13161 // instance they are launched on must allow ingress traffic on the hostPort 13162 // of the port mapping. 13163 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13164 13165 // The name of the load balancer to associate with the Amazon ECS service or 13166 // task set. 13167 // 13168 // A load balancer name is only specified when using a Classic Load Balancer. 13169 // If you are using an Application Load Balancer or a Network Load Balancer 13170 // the load balancer name parameter should be omitted. 13171 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 13172 13173 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 13174 // group or groups associated with a service or task set. 13175 // 13176 // A target group ARN is only specified when using an Application Load Balancer 13177 // or Network Load Balancer. If you are using a Classic Load Balancer the target 13178 // group ARN should be omitted. 13179 // 13180 // For services using the ECS deployment controller, you can specify one or 13181 // multiple target groups. For more information, see Registering Multiple Target 13182 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 13183 // in the Amazon Elastic Container Service Developer Guide. 13184 // 13185 // For services using the CODE_DEPLOY deployment controller, you are required 13186 // to define two target groups for the load balancer. For more information, 13187 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 13188 // in the Amazon Elastic Container Service Developer Guide. 13189 // 13190 // If your service's task definition uses the awsvpc network mode (which is 13191 // required for the Fargate launch type), you must choose ip as the target type, 13192 // not instance, when creating your target groups because tasks that use the 13193 // awsvpc network mode are associated with an elastic network interface, not 13194 // an Amazon EC2 instance. 13195 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 13196} 13197 13198// String returns the string representation 13199func (s LoadBalancer) String() string { 13200 return awsutil.Prettify(s) 13201} 13202 13203// GoString returns the string representation 13204func (s LoadBalancer) GoString() string { 13205 return s.String() 13206} 13207 13208// SetContainerName sets the ContainerName field's value. 13209func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 13210 s.ContainerName = &v 13211 return s 13212} 13213 13214// SetContainerPort sets the ContainerPort field's value. 13215func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 13216 s.ContainerPort = &v 13217 return s 13218} 13219 13220// SetLoadBalancerName sets the LoadBalancerName field's value. 13221func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 13222 s.LoadBalancerName = &v 13223 return s 13224} 13225 13226// SetTargetGroupArn sets the TargetGroupArn field's value. 13227func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 13228 s.TargetGroupArn = &v 13229 return s 13230} 13231 13232// The log configuration specification for the container. 13233// 13234// This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13235// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13236// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 13237// By default, containers use the same logging driver that the Docker daemon 13238// uses; however the container may use a different logging driver than the Docker 13239// daemon by specifying a log driver with this parameter in the container definition. 13240// To use a different logging driver for a container, the log system must be 13241// configured properly on the container instance (or on a different log server 13242// for remote logging options). For more information on the options for different 13243// supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 13244// in the Docker documentation. 13245// 13246// The following should be noted when specifying a log configuration for your 13247// containers: 13248// 13249// * Amazon ECS currently supports a subset of the logging drivers available 13250// to the Docker daemon (shown in the valid values below). Additional log 13251// drivers may be available in future releases of the Amazon ECS container 13252// agent. 13253// 13254// * This parameter requires version 1.18 of the Docker Remote API or greater 13255// on your container instance. 13256// 13257// * For tasks using the EC2 launch type, the Amazon ECS container agent 13258// running on a container instance must register the logging drivers available 13259// on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable 13260// before containers placed on that instance can use these log configuration 13261// options. For more information, see Amazon ECS Container Agent Configuration 13262// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 13263// in the Amazon Elastic Container Service Developer Guide. 13264// 13265// * For tasks using the Fargate launch type, because you do not have access 13266// to the underlying infrastructure your tasks are hosted on, any additional 13267// software needed will have to be installed outside of the task. For example, 13268// the Fluentd output aggregators or a remote host running Logstash to send 13269// Gelf logs to. 13270type LogConfiguration struct { 13271 _ struct{} `type:"structure"` 13272 13273 // The log driver to use for the container. The valid values listed earlier 13274 // are log drivers that the Amazon ECS container agent can communicate with 13275 // by default. 13276 // 13277 // For tasks using the Fargate launch type, the supported log drivers are awslogs, 13278 // splunk, and awsfirelens. 13279 // 13280 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 13281 // fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens. 13282 // 13283 // For more information about using the awslogs log driver, see Using the awslogs 13284 // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 13285 // in the Amazon Elastic Container Service Developer Guide. 13286 // 13287 // For more information about using the awsfirelens log driver, see Custom Log 13288 // Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 13289 // in the Amazon Elastic Container Service Developer Guide. 13290 // 13291 // If you have a custom driver that is not listed, you can fork the Amazon ECS 13292 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 13293 // and customize it to work with that driver. We encourage you to submit pull 13294 // requests for changes that you would like to have included. However, we do 13295 // not currently provide support for running modified copies of this software. 13296 // 13297 // LogDriver is a required field 13298 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 13299 13300 // The configuration options to send to the log driver. This parameter requires 13301 // version 1.19 of the Docker Remote API or greater on your container instance. 13302 // To check the Docker Remote API version on your container instance, log in 13303 // to your container instance and run the following command: sudo docker version 13304 // --format '{{.Server.APIVersion}}' 13305 Options map[string]*string `locationName:"options" type:"map"` 13306 13307 // The secrets to pass to the log configuration. For more information, see Specifying 13308 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 13309 // in the Amazon Elastic Container Service Developer Guide. 13310 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 13311} 13312 13313// String returns the string representation 13314func (s LogConfiguration) String() string { 13315 return awsutil.Prettify(s) 13316} 13317 13318// GoString returns the string representation 13319func (s LogConfiguration) GoString() string { 13320 return s.String() 13321} 13322 13323// Validate inspects the fields of the type to determine if they are valid. 13324func (s *LogConfiguration) Validate() error { 13325 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 13326 if s.LogDriver == nil { 13327 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 13328 } 13329 if s.SecretOptions != nil { 13330 for i, v := range s.SecretOptions { 13331 if v == nil { 13332 continue 13333 } 13334 if err := v.Validate(); err != nil { 13335 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 13336 } 13337 } 13338 } 13339 13340 if invalidParams.Len() > 0 { 13341 return invalidParams 13342 } 13343 return nil 13344} 13345 13346// SetLogDriver sets the LogDriver field's value. 13347func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 13348 s.LogDriver = &v 13349 return s 13350} 13351 13352// SetOptions sets the Options field's value. 13353func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 13354 s.Options = v 13355 return s 13356} 13357 13358// SetSecretOptions sets the SecretOptions field's value. 13359func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 13360 s.SecretOptions = v 13361 return s 13362} 13363 13364// The managed scaling settings for the Auto Scaling group capacity provider. 13365// 13366// When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 13367// actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 13368// policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 13369// value as the target value for the metric. For more information, see Using 13370// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 13371// in the Amazon Elastic Container Service Developer Guide. 13372// 13373// If managed scaling is disabled, the user must manage the scaling of the Auto 13374// Scaling group. 13375type ManagedScaling struct { 13376 _ struct{} `type:"structure"` 13377 13378 // The maximum number of container instances that Amazon ECS will scale in or 13379 // scale out at one time. If this parameter is omitted, the default value of 13380 // 10000 is used. 13381 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 13382 13383 // The minimum number of container instances that Amazon ECS will scale in or 13384 // scale out at one time. If this parameter is omitted, the default value of 13385 // 1 is used. 13386 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 13387 13388 // Whether or not to enable managed scaling for the capacity provider. 13389 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 13390 13391 // The target capacity value for the capacity provider. The specified value 13392 // must be greater than 0 and less than or equal to 100. A value of 100 will 13393 // result in the Amazon EC2 instances in your Auto Scaling group being completely 13394 // utilized. 13395 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 13396} 13397 13398// String returns the string representation 13399func (s ManagedScaling) String() string { 13400 return awsutil.Prettify(s) 13401} 13402 13403// GoString returns the string representation 13404func (s ManagedScaling) GoString() string { 13405 return s.String() 13406} 13407 13408// Validate inspects the fields of the type to determine if they are valid. 13409func (s *ManagedScaling) Validate() error { 13410 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 13411 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 13412 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 13413 } 13414 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 13415 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 13416 } 13417 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 13418 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 13419 } 13420 13421 if invalidParams.Len() > 0 { 13422 return invalidParams 13423 } 13424 return nil 13425} 13426 13427// SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 13428func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 13429 s.MaximumScalingStepSize = &v 13430 return s 13431} 13432 13433// SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 13434func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 13435 s.MinimumScalingStepSize = &v 13436 return s 13437} 13438 13439// SetStatus sets the Status field's value. 13440func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 13441 s.Status = &v 13442 return s 13443} 13444 13445// SetTargetCapacity sets the TargetCapacity field's value. 13446func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 13447 s.TargetCapacity = &v 13448 return s 13449} 13450 13451// Amazon ECS is unable to determine the current version of the Amazon ECS container 13452// agent on the container instance and does not have enough information to proceed 13453// with an update. This could be because the agent running on the container 13454// instance is an older or custom version that does not use our version information. 13455type MissingVersionException struct { 13456 _ struct{} `type:"structure"` 13457 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13458 13459 Message_ *string `locationName:"message" type:"string"` 13460} 13461 13462// String returns the string representation 13463func (s MissingVersionException) String() string { 13464 return awsutil.Prettify(s) 13465} 13466 13467// GoString returns the string representation 13468func (s MissingVersionException) GoString() string { 13469 return s.String() 13470} 13471 13472func newErrorMissingVersionException(v protocol.ResponseMetadata) error { 13473 return &MissingVersionException{ 13474 RespMetadata: v, 13475 } 13476} 13477 13478// Code returns the exception type name. 13479func (s *MissingVersionException) Code() string { 13480 return "MissingVersionException" 13481} 13482 13483// Message returns the exception's message. 13484func (s *MissingVersionException) Message() string { 13485 if s.Message_ != nil { 13486 return *s.Message_ 13487 } 13488 return "" 13489} 13490 13491// OrigErr always returns nil, satisfies awserr.Error interface. 13492func (s *MissingVersionException) OrigErr() error { 13493 return nil 13494} 13495 13496func (s *MissingVersionException) Error() string { 13497 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13498} 13499 13500// Status code returns the HTTP status code for the request's response error. 13501func (s *MissingVersionException) StatusCode() int { 13502 return s.RespMetadata.StatusCode 13503} 13504 13505// RequestID returns the service's response RequestID for request. 13506func (s *MissingVersionException) RequestID() string { 13507 return s.RespMetadata.RequestID 13508} 13509 13510// Details on a volume mount point that is used in a container definition. 13511type MountPoint struct { 13512 _ struct{} `type:"structure"` 13513 13514 // The path on the container to mount the host volume at. 13515 ContainerPath *string `locationName:"containerPath" type:"string"` 13516 13517 // If this value is true, the container has read-only access to the volume. 13518 // If this value is false, then the container can write to the volume. The default 13519 // value is false. 13520 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 13521 13522 // The name of the volume to mount. Must be a volume name referenced in the 13523 // name parameter of task definition volume. 13524 SourceVolume *string `locationName:"sourceVolume" type:"string"` 13525} 13526 13527// String returns the string representation 13528func (s MountPoint) String() string { 13529 return awsutil.Prettify(s) 13530} 13531 13532// GoString returns the string representation 13533func (s MountPoint) GoString() string { 13534 return s.String() 13535} 13536 13537// SetContainerPath sets the ContainerPath field's value. 13538func (s *MountPoint) SetContainerPath(v string) *MountPoint { 13539 s.ContainerPath = &v 13540 return s 13541} 13542 13543// SetReadOnly sets the ReadOnly field's value. 13544func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 13545 s.ReadOnly = &v 13546 return s 13547} 13548 13549// SetSourceVolume sets the SourceVolume field's value. 13550func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 13551 s.SourceVolume = &v 13552 return s 13553} 13554 13555// Details on the network bindings between a container and its host container 13556// instance. After a task reaches the RUNNING status, manual and automatic host 13557// and container port assignments are visible in the networkBindings section 13558// of DescribeTasks API responses. 13559type NetworkBinding struct { 13560 _ struct{} `type:"structure"` 13561 13562 // The IP address that the container is bound to on the container instance. 13563 BindIP *string `locationName:"bindIP" type:"string"` 13564 13565 // The port number on the container that is used with the network binding. 13566 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13567 13568 // The port number on the host that is used with the network binding. 13569 HostPort *int64 `locationName:"hostPort" type:"integer"` 13570 13571 // The protocol used for the network binding. 13572 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 13573} 13574 13575// String returns the string representation 13576func (s NetworkBinding) String() string { 13577 return awsutil.Prettify(s) 13578} 13579 13580// GoString returns the string representation 13581func (s NetworkBinding) GoString() string { 13582 return s.String() 13583} 13584 13585// SetBindIP sets the BindIP field's value. 13586func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 13587 s.BindIP = &v 13588 return s 13589} 13590 13591// SetContainerPort sets the ContainerPort field's value. 13592func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 13593 s.ContainerPort = &v 13594 return s 13595} 13596 13597// SetHostPort sets the HostPort field's value. 13598func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 13599 s.HostPort = &v 13600 return s 13601} 13602 13603// SetProtocol sets the Protocol field's value. 13604func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 13605 s.Protocol = &v 13606 return s 13607} 13608 13609// An object representing the network configuration for a task or service. 13610type NetworkConfiguration struct { 13611 _ struct{} `type:"structure"` 13612 13613 // The VPC subnets and security groups associated with a task. 13614 // 13615 // All specified subnets and security groups must be from the same VPC. 13616 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 13617} 13618 13619// String returns the string representation 13620func (s NetworkConfiguration) String() string { 13621 return awsutil.Prettify(s) 13622} 13623 13624// GoString returns the string representation 13625func (s NetworkConfiguration) GoString() string { 13626 return s.String() 13627} 13628 13629// Validate inspects the fields of the type to determine if they are valid. 13630func (s *NetworkConfiguration) Validate() error { 13631 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 13632 if s.AwsvpcConfiguration != nil { 13633 if err := s.AwsvpcConfiguration.Validate(); err != nil { 13634 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 13635 } 13636 } 13637 13638 if invalidParams.Len() > 0 { 13639 return invalidParams 13640 } 13641 return nil 13642} 13643 13644// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 13645func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 13646 s.AwsvpcConfiguration = v 13647 return s 13648} 13649 13650// An object representing the elastic network interface for tasks that use the 13651// awsvpc network mode. 13652type NetworkInterface struct { 13653 _ struct{} `type:"structure"` 13654 13655 // The attachment ID for the network interface. 13656 AttachmentId *string `locationName:"attachmentId" type:"string"` 13657 13658 // The private IPv6 address for the network interface. 13659 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 13660 13661 // The private IPv4 address for the network interface. 13662 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 13663} 13664 13665// String returns the string representation 13666func (s NetworkInterface) String() string { 13667 return awsutil.Prettify(s) 13668} 13669 13670// GoString returns the string representation 13671func (s NetworkInterface) GoString() string { 13672 return s.String() 13673} 13674 13675// SetAttachmentId sets the AttachmentId field's value. 13676func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 13677 s.AttachmentId = &v 13678 return s 13679} 13680 13681// SetIpv6Address sets the Ipv6Address field's value. 13682func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 13683 s.Ipv6Address = &v 13684 return s 13685} 13686 13687// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 13688func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 13689 s.PrivateIpv4Address = &v 13690 return s 13691} 13692 13693// There is no update available for this Amazon ECS container agent. This could 13694// be because the agent is already running the latest version, or it is so old 13695// that there is no update path to the current version. 13696type NoUpdateAvailableException struct { 13697 _ struct{} `type:"structure"` 13698 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13699 13700 Message_ *string `locationName:"message" type:"string"` 13701} 13702 13703// String returns the string representation 13704func (s NoUpdateAvailableException) String() string { 13705 return awsutil.Prettify(s) 13706} 13707 13708// GoString returns the string representation 13709func (s NoUpdateAvailableException) GoString() string { 13710 return s.String() 13711} 13712 13713func newErrorNoUpdateAvailableException(v protocol.ResponseMetadata) error { 13714 return &NoUpdateAvailableException{ 13715 RespMetadata: v, 13716 } 13717} 13718 13719// Code returns the exception type name. 13720func (s *NoUpdateAvailableException) Code() string { 13721 return "NoUpdateAvailableException" 13722} 13723 13724// Message returns the exception's message. 13725func (s *NoUpdateAvailableException) Message() string { 13726 if s.Message_ != nil { 13727 return *s.Message_ 13728 } 13729 return "" 13730} 13731 13732// OrigErr always returns nil, satisfies awserr.Error interface. 13733func (s *NoUpdateAvailableException) OrigErr() error { 13734 return nil 13735} 13736 13737func (s *NoUpdateAvailableException) Error() string { 13738 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13739} 13740 13741// Status code returns the HTTP status code for the request's response error. 13742func (s *NoUpdateAvailableException) StatusCode() int { 13743 return s.RespMetadata.StatusCode 13744} 13745 13746// RequestID returns the service's response RequestID for request. 13747func (s *NoUpdateAvailableException) RequestID() string { 13748 return s.RespMetadata.RequestID 13749} 13750 13751// An object representing a constraint on task placement. For more information, 13752// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 13753// in the Amazon Elastic Container Service Developer Guide. 13754// 13755// If you are using the Fargate launch type, task placement constraints are 13756// not supported. 13757type PlacementConstraint struct { 13758 _ struct{} `type:"structure"` 13759 13760 // A cluster query language expression to apply to the constraint. You cannot 13761 // specify an expression if the constraint type is distinctInstance. For more 13762 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 13763 // in the Amazon Elastic Container Service Developer Guide. 13764 Expression *string `locationName:"expression" type:"string"` 13765 13766 // The type of constraint. Use distinctInstance to ensure that each task in 13767 // a particular group is running on a different container instance. Use memberOf 13768 // to restrict the selection to a group of valid candidates. 13769 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 13770} 13771 13772// String returns the string representation 13773func (s PlacementConstraint) String() string { 13774 return awsutil.Prettify(s) 13775} 13776 13777// GoString returns the string representation 13778func (s PlacementConstraint) GoString() string { 13779 return s.String() 13780} 13781 13782// SetExpression sets the Expression field's value. 13783func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 13784 s.Expression = &v 13785 return s 13786} 13787 13788// SetType sets the Type field's value. 13789func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 13790 s.Type = &v 13791 return s 13792} 13793 13794// The task placement strategy for a task or service. For more information, 13795// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 13796// in the Amazon Elastic Container Service Developer Guide. 13797type PlacementStrategy struct { 13798 _ struct{} `type:"structure"` 13799 13800 // The field to apply the placement strategy against. For the spread placement 13801 // strategy, valid values are instanceId (or host, which has the same effect), 13802 // or any platform or custom attribute that is applied to a container instance, 13803 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 13804 // valid values are cpu and memory. For the random placement strategy, this 13805 // field is not used. 13806 Field *string `locationName:"field" type:"string"` 13807 13808 // The type of placement strategy. The random placement strategy randomly places 13809 // tasks on available candidates. The spread placement strategy spreads placement 13810 // across available candidates evenly based on the field parameter. The binpack 13811 // strategy places tasks on available candidates that have the least available 13812 // amount of the resource that is specified with the field parameter. For example, 13813 // if you binpack on memory, a task is placed on the instance with the least 13814 // amount of remaining memory (but still enough to run the task). 13815 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 13816} 13817 13818// String returns the string representation 13819func (s PlacementStrategy) String() string { 13820 return awsutil.Prettify(s) 13821} 13822 13823// GoString returns the string representation 13824func (s PlacementStrategy) GoString() string { 13825 return s.String() 13826} 13827 13828// SetField sets the Field field's value. 13829func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 13830 s.Field = &v 13831 return s 13832} 13833 13834// SetType sets the Type field's value. 13835func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 13836 s.Type = &v 13837 return s 13838} 13839 13840// The devices that are available on the container instance. The only supported 13841// device type is a GPU. 13842type PlatformDevice struct { 13843 _ struct{} `type:"structure"` 13844 13845 // The ID for the GPU(s) on the container instance. The available GPU IDs can 13846 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 13847 // file. 13848 // 13849 // Id is a required field 13850 Id *string `locationName:"id" type:"string" required:"true"` 13851 13852 // The type of device that is available on the container instance. The only 13853 // supported value is GPU. 13854 // 13855 // Type is a required field 13856 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 13857} 13858 13859// String returns the string representation 13860func (s PlatformDevice) String() string { 13861 return awsutil.Prettify(s) 13862} 13863 13864// GoString returns the string representation 13865func (s PlatformDevice) GoString() string { 13866 return s.String() 13867} 13868 13869// Validate inspects the fields of the type to determine if they are valid. 13870func (s *PlatformDevice) Validate() error { 13871 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 13872 if s.Id == nil { 13873 invalidParams.Add(request.NewErrParamRequired("Id")) 13874 } 13875 if s.Type == nil { 13876 invalidParams.Add(request.NewErrParamRequired("Type")) 13877 } 13878 13879 if invalidParams.Len() > 0 { 13880 return invalidParams 13881 } 13882 return nil 13883} 13884 13885// SetId sets the Id field's value. 13886func (s *PlatformDevice) SetId(v string) *PlatformDevice { 13887 s.Id = &v 13888 return s 13889} 13890 13891// SetType sets the Type field's value. 13892func (s *PlatformDevice) SetType(v string) *PlatformDevice { 13893 s.Type = &v 13894 return s 13895} 13896 13897// The specified platform version does not satisfy the task definition's required 13898// capabilities. 13899type PlatformTaskDefinitionIncompatibilityException struct { 13900 _ struct{} `type:"structure"` 13901 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13902 13903 Message_ *string `locationName:"message" type:"string"` 13904} 13905 13906// String returns the string representation 13907func (s PlatformTaskDefinitionIncompatibilityException) String() string { 13908 return awsutil.Prettify(s) 13909} 13910 13911// GoString returns the string representation 13912func (s PlatformTaskDefinitionIncompatibilityException) GoString() string { 13913 return s.String() 13914} 13915 13916func newErrorPlatformTaskDefinitionIncompatibilityException(v protocol.ResponseMetadata) error { 13917 return &PlatformTaskDefinitionIncompatibilityException{ 13918 RespMetadata: v, 13919 } 13920} 13921 13922// Code returns the exception type name. 13923func (s *PlatformTaskDefinitionIncompatibilityException) Code() string { 13924 return "PlatformTaskDefinitionIncompatibilityException" 13925} 13926 13927// Message returns the exception's message. 13928func (s *PlatformTaskDefinitionIncompatibilityException) Message() string { 13929 if s.Message_ != nil { 13930 return *s.Message_ 13931 } 13932 return "" 13933} 13934 13935// OrigErr always returns nil, satisfies awserr.Error interface. 13936func (s *PlatformTaskDefinitionIncompatibilityException) OrigErr() error { 13937 return nil 13938} 13939 13940func (s *PlatformTaskDefinitionIncompatibilityException) Error() string { 13941 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13942} 13943 13944// Status code returns the HTTP status code for the request's response error. 13945func (s *PlatformTaskDefinitionIncompatibilityException) StatusCode() int { 13946 return s.RespMetadata.StatusCode 13947} 13948 13949// RequestID returns the service's response RequestID for request. 13950func (s *PlatformTaskDefinitionIncompatibilityException) RequestID() string { 13951 return s.RespMetadata.RequestID 13952} 13953 13954// The specified platform version does not exist. 13955type PlatformUnknownException struct { 13956 _ struct{} `type:"structure"` 13957 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13958 13959 Message_ *string `locationName:"message" type:"string"` 13960} 13961 13962// String returns the string representation 13963func (s PlatformUnknownException) String() string { 13964 return awsutil.Prettify(s) 13965} 13966 13967// GoString returns the string representation 13968func (s PlatformUnknownException) GoString() string { 13969 return s.String() 13970} 13971 13972func newErrorPlatformUnknownException(v protocol.ResponseMetadata) error { 13973 return &PlatformUnknownException{ 13974 RespMetadata: v, 13975 } 13976} 13977 13978// Code returns the exception type name. 13979func (s *PlatformUnknownException) Code() string { 13980 return "PlatformUnknownException" 13981} 13982 13983// Message returns the exception's message. 13984func (s *PlatformUnknownException) Message() string { 13985 if s.Message_ != nil { 13986 return *s.Message_ 13987 } 13988 return "" 13989} 13990 13991// OrigErr always returns nil, satisfies awserr.Error interface. 13992func (s *PlatformUnknownException) OrigErr() error { 13993 return nil 13994} 13995 13996func (s *PlatformUnknownException) Error() string { 13997 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13998} 13999 14000// Status code returns the HTTP status code for the request's response error. 14001func (s *PlatformUnknownException) StatusCode() int { 14002 return s.RespMetadata.StatusCode 14003} 14004 14005// RequestID returns the service's response RequestID for request. 14006func (s *PlatformUnknownException) RequestID() string { 14007 return s.RespMetadata.RequestID 14008} 14009 14010// Port mappings allow containers to access ports on the host container instance 14011// to send or receive traffic. Port mappings are specified as part of the container 14012// definition. 14013// 14014// If you are using containers in a task with the awsvpc or host network mode, 14015// exposed ports should be specified using containerPort. The hostPort can be 14016// left blank or it must be the same value as the containerPort. 14017// 14018// After a task reaches the RUNNING status, manual and automatic host and container 14019// port assignments are visible in the networkBindings section of DescribeTasks 14020// API responses. 14021type PortMapping struct { 14022 _ struct{} `type:"structure"` 14023 14024 // The port number on the container that is bound to the user-specified or automatically 14025 // assigned host port. 14026 // 14027 // If you are using containers in a task with the awsvpc or host network mode, 14028 // exposed ports should be specified using containerPort. 14029 // 14030 // If you are using containers in a task with the bridge network mode and you 14031 // specify a container port and not a host port, your container automatically 14032 // receives a host port in the ephemeral port range. For more information, see 14033 // hostPort. Port mappings that are automatically assigned in this way do not 14034 // count toward the 100 reserved ports limit of a container instance. 14035 // 14036 // You cannot expose the same container port for multiple protocols. An error 14037 // will be returned if this is attempted. 14038 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14039 14040 // The port number on the container instance to reserve for your container. 14041 // 14042 // If you are using containers in a task with the awsvpc or host network mode, 14043 // the hostPort can either be left blank or set to the same value as the containerPort. 14044 // 14045 // If you are using containers in a task with the bridge network mode, you can 14046 // specify a non-reserved host port for your container port mapping, or you 14047 // can omit the hostPort (or set it to 0) while specifying a containerPort and 14048 // your container automatically receives a port in the ephemeral port range 14049 // for your container instance operating system and Docker version. 14050 // 14051 // The default ephemeral port range for Docker version 1.6.0 and later is listed 14052 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 14053 // parameter is unavailable, the default ephemeral port range from 49153 through 14054 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 14055 // range as these are reserved for automatic assignment. In general, ports below 14056 // 32768 are outside of the ephemeral port range. 14057 // 14058 // The default ephemeral port range from 49153 through 65535 is always used 14059 // for Docker versions before 1.6.0. 14060 // 14061 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 14062 // and the Amazon ECS container agent ports 51678-51680. Any host port that 14063 // was previously specified in a running task is also reserved while the task 14064 // is running (after a task stops, the host port is released). The current reserved 14065 // ports are displayed in the remainingResources of DescribeContainerInstances 14066 // output. A container instance can have up to 100 reserved ports at a time, 14067 // including the default reserved ports. Automatically assigned ports don't 14068 // count toward the 100 reserved ports limit. 14069 HostPort *int64 `locationName:"hostPort" type:"integer"` 14070 14071 // The protocol used for the port mapping. Valid values are tcp and udp. The 14072 // default is tcp. 14073 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 14074} 14075 14076// String returns the string representation 14077func (s PortMapping) String() string { 14078 return awsutil.Prettify(s) 14079} 14080 14081// GoString returns the string representation 14082func (s PortMapping) GoString() string { 14083 return s.String() 14084} 14085 14086// SetContainerPort sets the ContainerPort field's value. 14087func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 14088 s.ContainerPort = &v 14089 return s 14090} 14091 14092// SetHostPort sets the HostPort field's value. 14093func (s *PortMapping) SetHostPort(v int64) *PortMapping { 14094 s.HostPort = &v 14095 return s 14096} 14097 14098// SetProtocol sets the Protocol field's value. 14099func (s *PortMapping) SetProtocol(v string) *PortMapping { 14100 s.Protocol = &v 14101 return s 14102} 14103 14104// The configuration details for the App Mesh proxy. 14105// 14106// For tasks using the EC2 launch type, the container instances require at least 14107// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 14108// ecs-init package to enable a proxy configuration. If your container instances 14109// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 14110// then they contain the required versions of the container agent and ecs-init. 14111// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 14112// in the Amazon Elastic Container Service Developer Guide. 14113// 14114// For tasks using the Fargate launch type, the task or service requires platform 14115// version 1.3.0 or later. 14116type ProxyConfiguration struct { 14117 _ struct{} `type:"structure"` 14118 14119 // The name of the container that will serve as the App Mesh proxy. 14120 // 14121 // ContainerName is a required field 14122 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 14123 14124 // The set of network configuration parameters to provide the Container Network 14125 // Interface (CNI) plugin, specified as key-value pairs. 14126 // 14127 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 14128 // defined by the user parameter in a container definition. This is used 14129 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 14130 // this field can be empty. 14131 // 14132 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 14133 // defined by the user parameter in a container definition. This is used 14134 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 14135 // this field can be empty. 14136 // 14137 // * AppPorts - (Required) The list of ports that the application uses. Network 14138 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 14139 // 14140 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 14141 // to the AppPorts is directed to. 14142 // 14143 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 14144 // from the AppPorts is directed to. 14145 // 14146 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 14147 // ports is ignored and not redirected to the ProxyEgressPort. It can be 14148 // an empty list. 14149 // 14150 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 14151 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 14152 // can be an empty list. 14153 Properties []*KeyValuePair `locationName:"properties" type:"list"` 14154 14155 // The proxy type. The only supported value is APPMESH. 14156 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 14157} 14158 14159// String returns the string representation 14160func (s ProxyConfiguration) String() string { 14161 return awsutil.Prettify(s) 14162} 14163 14164// GoString returns the string representation 14165func (s ProxyConfiguration) GoString() string { 14166 return s.String() 14167} 14168 14169// Validate inspects the fields of the type to determine if they are valid. 14170func (s *ProxyConfiguration) Validate() error { 14171 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 14172 if s.ContainerName == nil { 14173 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 14174 } 14175 14176 if invalidParams.Len() > 0 { 14177 return invalidParams 14178 } 14179 return nil 14180} 14181 14182// SetContainerName sets the ContainerName field's value. 14183func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 14184 s.ContainerName = &v 14185 return s 14186} 14187 14188// SetProperties sets the Properties field's value. 14189func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 14190 s.Properties = v 14191 return s 14192} 14193 14194// SetType sets the Type field's value. 14195func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 14196 s.Type = &v 14197 return s 14198} 14199 14200type PutAccountSettingDefaultInput struct { 14201 _ struct{} `type:"structure"` 14202 14203 // The resource name for which to modify the account setting. If serviceLongArnFormat 14204 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 14205 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 14206 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 14207 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 14208 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 14209 // is specified, the default setting for CloudWatch Container Insights for your 14210 // clusters is affected. 14211 // 14212 // Name is a required field 14213 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14214 14215 // The account setting value for the specified principal ARN. Accepted values 14216 // are enabled and disabled. 14217 // 14218 // Value is a required field 14219 Value *string `locationName:"value" type:"string" required:"true"` 14220} 14221 14222// String returns the string representation 14223func (s PutAccountSettingDefaultInput) String() string { 14224 return awsutil.Prettify(s) 14225} 14226 14227// GoString returns the string representation 14228func (s PutAccountSettingDefaultInput) GoString() string { 14229 return s.String() 14230} 14231 14232// Validate inspects the fields of the type to determine if they are valid. 14233func (s *PutAccountSettingDefaultInput) Validate() error { 14234 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 14235 if s.Name == nil { 14236 invalidParams.Add(request.NewErrParamRequired("Name")) 14237 } 14238 if s.Value == nil { 14239 invalidParams.Add(request.NewErrParamRequired("Value")) 14240 } 14241 14242 if invalidParams.Len() > 0 { 14243 return invalidParams 14244 } 14245 return nil 14246} 14247 14248// SetName sets the Name field's value. 14249func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 14250 s.Name = &v 14251 return s 14252} 14253 14254// SetValue sets the Value field's value. 14255func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 14256 s.Value = &v 14257 return s 14258} 14259 14260type PutAccountSettingDefaultOutput struct { 14261 _ struct{} `type:"structure"` 14262 14263 // The current account setting for a resource. 14264 Setting *Setting `locationName:"setting" type:"structure"` 14265} 14266 14267// String returns the string representation 14268func (s PutAccountSettingDefaultOutput) String() string { 14269 return awsutil.Prettify(s) 14270} 14271 14272// GoString returns the string representation 14273func (s PutAccountSettingDefaultOutput) GoString() string { 14274 return s.String() 14275} 14276 14277// SetSetting sets the Setting field's value. 14278func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 14279 s.Setting = v 14280 return s 14281} 14282 14283type PutAccountSettingInput struct { 14284 _ struct{} `type:"structure"` 14285 14286 // The Amazon ECS resource name for which to modify the account setting. If 14287 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 14288 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 14289 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 14290 // the ARN and resource ID for your Amazon ECS container instances is affected. 14291 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 14292 // for your Amazon ECS container instances is affected. If containerInsights 14293 // is specified, the default setting for CloudWatch Container Insights for your 14294 // clusters is affected. 14295 // 14296 // Name is a required field 14297 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14298 14299 // The ARN of the principal, which can be an IAM user, IAM role, or the root 14300 // user. If you specify the root user, it modifies the account setting for all 14301 // IAM users, IAM roles, and the root user of the account unless an IAM user 14302 // or role explicitly overrides these settings. If this field is omitted, the 14303 // setting is changed only for the authenticated user. 14304 PrincipalArn *string `locationName:"principalArn" type:"string"` 14305 14306 // The account setting value for the specified principal ARN. Accepted values 14307 // are enabled and disabled. 14308 // 14309 // Value is a required field 14310 Value *string `locationName:"value" type:"string" required:"true"` 14311} 14312 14313// String returns the string representation 14314func (s PutAccountSettingInput) String() string { 14315 return awsutil.Prettify(s) 14316} 14317 14318// GoString returns the string representation 14319func (s PutAccountSettingInput) GoString() string { 14320 return s.String() 14321} 14322 14323// Validate inspects the fields of the type to determine if they are valid. 14324func (s *PutAccountSettingInput) Validate() error { 14325 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 14326 if s.Name == nil { 14327 invalidParams.Add(request.NewErrParamRequired("Name")) 14328 } 14329 if s.Value == nil { 14330 invalidParams.Add(request.NewErrParamRequired("Value")) 14331 } 14332 14333 if invalidParams.Len() > 0 { 14334 return invalidParams 14335 } 14336 return nil 14337} 14338 14339// SetName sets the Name field's value. 14340func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 14341 s.Name = &v 14342 return s 14343} 14344 14345// SetPrincipalArn sets the PrincipalArn field's value. 14346func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 14347 s.PrincipalArn = &v 14348 return s 14349} 14350 14351// SetValue sets the Value field's value. 14352func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 14353 s.Value = &v 14354 return s 14355} 14356 14357type PutAccountSettingOutput struct { 14358 _ struct{} `type:"structure"` 14359 14360 // The current account setting for a resource. 14361 Setting *Setting `locationName:"setting" type:"structure"` 14362} 14363 14364// String returns the string representation 14365func (s PutAccountSettingOutput) String() string { 14366 return awsutil.Prettify(s) 14367} 14368 14369// GoString returns the string representation 14370func (s PutAccountSettingOutput) GoString() string { 14371 return s.String() 14372} 14373 14374// SetSetting sets the Setting field's value. 14375func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 14376 s.Setting = v 14377 return s 14378} 14379 14380type PutAttributesInput struct { 14381 _ struct{} `type:"structure"` 14382 14383 // The attributes to apply to your resource. You can specify up to 10 custom 14384 // attributes per resource. You can specify up to 10 attributes in a single 14385 // call. 14386 // 14387 // Attributes is a required field 14388 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 14389 14390 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 14391 // the resource to apply attributes. If you do not specify a cluster, the default 14392 // cluster is assumed. 14393 Cluster *string `locationName:"cluster" type:"string"` 14394} 14395 14396// String returns the string representation 14397func (s PutAttributesInput) String() string { 14398 return awsutil.Prettify(s) 14399} 14400 14401// GoString returns the string representation 14402func (s PutAttributesInput) GoString() string { 14403 return s.String() 14404} 14405 14406// Validate inspects the fields of the type to determine if they are valid. 14407func (s *PutAttributesInput) Validate() error { 14408 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 14409 if s.Attributes == nil { 14410 invalidParams.Add(request.NewErrParamRequired("Attributes")) 14411 } 14412 if s.Attributes != nil { 14413 for i, v := range s.Attributes { 14414 if v == nil { 14415 continue 14416 } 14417 if err := v.Validate(); err != nil { 14418 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14419 } 14420 } 14421 } 14422 14423 if invalidParams.Len() > 0 { 14424 return invalidParams 14425 } 14426 return nil 14427} 14428 14429// SetAttributes sets the Attributes field's value. 14430func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 14431 s.Attributes = v 14432 return s 14433} 14434 14435// SetCluster sets the Cluster field's value. 14436func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 14437 s.Cluster = &v 14438 return s 14439} 14440 14441type PutAttributesOutput struct { 14442 _ struct{} `type:"structure"` 14443 14444 // The attributes applied to your resource. 14445 Attributes []*Attribute `locationName:"attributes" type:"list"` 14446} 14447 14448// String returns the string representation 14449func (s PutAttributesOutput) String() string { 14450 return awsutil.Prettify(s) 14451} 14452 14453// GoString returns the string representation 14454func (s PutAttributesOutput) GoString() string { 14455 return s.String() 14456} 14457 14458// SetAttributes sets the Attributes field's value. 14459func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 14460 s.Attributes = v 14461 return s 14462} 14463 14464type PutClusterCapacityProvidersInput struct { 14465 _ struct{} `type:"structure"` 14466 14467 // The name of one or more capacity providers to associate with the cluster. 14468 // 14469 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14470 // provider must already be created. New capacity providers can be created with 14471 // the CreateCapacityProvider API operation. 14472 // 14473 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14474 // capacity providers. The AWS Fargate capacity providers are available to all 14475 // accounts and only need to be associated with a cluster to be used. 14476 // 14477 // CapacityProviders is a required field 14478 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 14479 14480 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 14481 // the capacity provider settings for. If you do not specify a cluster, the 14482 // default cluster is assumed. 14483 // 14484 // Cluster is a required field 14485 Cluster *string `locationName:"cluster" type:"string" required:"true"` 14486 14487 // The capacity provider strategy to use by default for the cluster. 14488 // 14489 // When creating a service or running a task on a cluster, if no capacity provider 14490 // or launch type is specified then the default capacity provider strategy for 14491 // the cluster is used. 14492 // 14493 // A capacity provider strategy consists of one or more capacity providers along 14494 // with the base and weight to assign to them. A capacity provider must be associated 14495 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 14496 // API is used to associate a capacity provider with a cluster. Only capacity 14497 // providers with an ACTIVE or UPDATING status can be used. 14498 // 14499 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14500 // provider must already be created. New capacity providers can be created with 14501 // the CreateCapacityProvider API operation. 14502 // 14503 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14504 // capacity providers. The AWS Fargate capacity providers are available to all 14505 // accounts and only need to be associated with a cluster to be used. 14506 // 14507 // DefaultCapacityProviderStrategy is a required field 14508 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 14509} 14510 14511// String returns the string representation 14512func (s PutClusterCapacityProvidersInput) String() string { 14513 return awsutil.Prettify(s) 14514} 14515 14516// GoString returns the string representation 14517func (s PutClusterCapacityProvidersInput) GoString() string { 14518 return s.String() 14519} 14520 14521// Validate inspects the fields of the type to determine if they are valid. 14522func (s *PutClusterCapacityProvidersInput) Validate() error { 14523 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 14524 if s.CapacityProviders == nil { 14525 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 14526 } 14527 if s.Cluster == nil { 14528 invalidParams.Add(request.NewErrParamRequired("Cluster")) 14529 } 14530 if s.DefaultCapacityProviderStrategy == nil { 14531 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 14532 } 14533 if s.DefaultCapacityProviderStrategy != nil { 14534 for i, v := range s.DefaultCapacityProviderStrategy { 14535 if v == nil { 14536 continue 14537 } 14538 if err := v.Validate(); err != nil { 14539 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 14540 } 14541 } 14542 } 14543 14544 if invalidParams.Len() > 0 { 14545 return invalidParams 14546 } 14547 return nil 14548} 14549 14550// SetCapacityProviders sets the CapacityProviders field's value. 14551func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 14552 s.CapacityProviders = v 14553 return s 14554} 14555 14556// SetCluster sets the Cluster field's value. 14557func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 14558 s.Cluster = &v 14559 return s 14560} 14561 14562// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 14563func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 14564 s.DefaultCapacityProviderStrategy = v 14565 return s 14566} 14567 14568type PutClusterCapacityProvidersOutput struct { 14569 _ struct{} `type:"structure"` 14570 14571 // A regional grouping of one or more container instances on which you can run 14572 // task requests. Each account receives a default cluster the first time you 14573 // use the Amazon ECS service, but you may also create other clusters. Clusters 14574 // may contain more than one instance type simultaneously. 14575 Cluster *Cluster `locationName:"cluster" type:"structure"` 14576} 14577 14578// String returns the string representation 14579func (s PutClusterCapacityProvidersOutput) String() string { 14580 return awsutil.Prettify(s) 14581} 14582 14583// GoString returns the string representation 14584func (s PutClusterCapacityProvidersOutput) GoString() string { 14585 return s.String() 14586} 14587 14588// SetCluster sets the Cluster field's value. 14589func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 14590 s.Cluster = v 14591 return s 14592} 14593 14594type RegisterContainerInstanceInput struct { 14595 _ struct{} `type:"structure"` 14596 14597 // The container instance attributes that this container instance supports. 14598 Attributes []*Attribute `locationName:"attributes" type:"list"` 14599 14600 // The short name or full Amazon Resource Name (ARN) of the cluster with which 14601 // to register your container instance. If you do not specify a cluster, the 14602 // default cluster is assumed. 14603 Cluster *string `locationName:"cluster" type:"string"` 14604 14605 // The ARN of the container instance (if it was previously registered). 14606 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 14607 14608 // The instance identity document for the EC2 instance to register. This document 14609 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 14610 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 14611 14612 // The instance identity document signature for the EC2 instance to register. 14613 // This signature can be found by running the following command from the instance: 14614 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 14615 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 14616 14617 // The devices that are available on the container instance. The only supported 14618 // device type is a GPU. 14619 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 14620 14621 // The metadata that you apply to the container instance to help you categorize 14622 // and organize them. Each tag consists of a key and an optional value, both 14623 // of which you define. 14624 // 14625 // The following basic restrictions apply to tags: 14626 // 14627 // * Maximum number of tags per resource - 50 14628 // 14629 // * For each resource, each tag key must be unique, and each tag key can 14630 // have only one value. 14631 // 14632 // * Maximum key length - 128 Unicode characters in UTF-8 14633 // 14634 // * Maximum value length - 256 Unicode characters in UTF-8 14635 // 14636 // * If your tagging schema is used across multiple services and resources, 14637 // remember that other services may have restrictions on allowed characters. 14638 // Generally allowed characters are: letters, numbers, and spaces representable 14639 // in UTF-8, and the following characters: + - = . _ : / @. 14640 // 14641 // * Tag keys and values are case-sensitive. 14642 // 14643 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14644 // as a prefix for either keys or values as it is reserved for AWS use. You 14645 // cannot edit or delete tag keys or values with this prefix. Tags with this 14646 // prefix do not count against your tags per resource limit. 14647 Tags []*Tag `locationName:"tags" type:"list"` 14648 14649 // The resources available on the instance. 14650 TotalResources []*Resource `locationName:"totalResources" type:"list"` 14651 14652 // The version information for the Amazon ECS container agent and Docker daemon 14653 // running on the container instance. 14654 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 14655} 14656 14657// String returns the string representation 14658func (s RegisterContainerInstanceInput) String() string { 14659 return awsutil.Prettify(s) 14660} 14661 14662// GoString returns the string representation 14663func (s RegisterContainerInstanceInput) GoString() string { 14664 return s.String() 14665} 14666 14667// Validate inspects the fields of the type to determine if they are valid. 14668func (s *RegisterContainerInstanceInput) Validate() error { 14669 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 14670 if s.Attributes != nil { 14671 for i, v := range s.Attributes { 14672 if v == nil { 14673 continue 14674 } 14675 if err := v.Validate(); err != nil { 14676 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14677 } 14678 } 14679 } 14680 if s.PlatformDevices != nil { 14681 for i, v := range s.PlatformDevices { 14682 if v == nil { 14683 continue 14684 } 14685 if err := v.Validate(); err != nil { 14686 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 14687 } 14688 } 14689 } 14690 if s.Tags != nil { 14691 for i, v := range s.Tags { 14692 if v == nil { 14693 continue 14694 } 14695 if err := v.Validate(); err != nil { 14696 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14697 } 14698 } 14699 } 14700 14701 if invalidParams.Len() > 0 { 14702 return invalidParams 14703 } 14704 return nil 14705} 14706 14707// SetAttributes sets the Attributes field's value. 14708func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 14709 s.Attributes = v 14710 return s 14711} 14712 14713// SetCluster sets the Cluster field's value. 14714func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 14715 s.Cluster = &v 14716 return s 14717} 14718 14719// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 14720func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 14721 s.ContainerInstanceArn = &v 14722 return s 14723} 14724 14725// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 14726func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 14727 s.InstanceIdentityDocument = &v 14728 return s 14729} 14730 14731// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 14732func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 14733 s.InstanceIdentityDocumentSignature = &v 14734 return s 14735} 14736 14737// SetPlatformDevices sets the PlatformDevices field's value. 14738func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 14739 s.PlatformDevices = v 14740 return s 14741} 14742 14743// SetTags sets the Tags field's value. 14744func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 14745 s.Tags = v 14746 return s 14747} 14748 14749// SetTotalResources sets the TotalResources field's value. 14750func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 14751 s.TotalResources = v 14752 return s 14753} 14754 14755// SetVersionInfo sets the VersionInfo field's value. 14756func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 14757 s.VersionInfo = v 14758 return s 14759} 14760 14761type RegisterContainerInstanceOutput struct { 14762 _ struct{} `type:"structure"` 14763 14764 // The container instance that was registered. 14765 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 14766} 14767 14768// String returns the string representation 14769func (s RegisterContainerInstanceOutput) String() string { 14770 return awsutil.Prettify(s) 14771} 14772 14773// GoString returns the string representation 14774func (s RegisterContainerInstanceOutput) GoString() string { 14775 return s.String() 14776} 14777 14778// SetContainerInstance sets the ContainerInstance field's value. 14779func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 14780 s.ContainerInstance = v 14781 return s 14782} 14783 14784type RegisterTaskDefinitionInput struct { 14785 _ struct{} `type:"structure"` 14786 14787 // A list of container definitions in JSON format that describe the different 14788 // containers that make up your task. 14789 // 14790 // ContainerDefinitions is a required field 14791 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 14792 14793 // The number of CPU units used by the task. It can be expressed as an integer 14794 // using CPU units, for example 1024, or as a string using vCPUs, for example 14795 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 14796 // integer indicating the CPU units when the task definition is registered. 14797 // 14798 // Task-level CPU and memory parameters are ignored for Windows containers. 14799 // We recommend specifying container-level resources for Windows containers. 14800 // 14801 // If you are using the EC2 launch type, this field is optional. Supported values 14802 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 14803 // 14804 // If you are using the Fargate launch type, this field is required and you 14805 // must use one of the following values, which determines your range of supported 14806 // values for the memory parameter: 14807 // 14808 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 14809 // 2048 (2 GB) 14810 // 14811 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 14812 // (3 GB), 4096 (4 GB) 14813 // 14814 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 14815 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 14816 // 14817 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 14818 // (16 GB) in increments of 1024 (1 GB) 14819 // 14820 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 14821 // (30 GB) in increments of 1024 (1 GB) 14822 Cpu *string `locationName:"cpu" type:"string"` 14823 14824 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 14825 // ECS container agent and the Docker daemon can assume. 14826 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 14827 14828 // You must specify a family for a task definition, which allows you to track 14829 // multiple versions of the same task definition. The family is used as a name 14830 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 14831 // and hyphens are allowed. 14832 // 14833 // Family is a required field 14834 Family *string `locationName:"family" type:"string" required:"true"` 14835 14836 // The Elastic Inference accelerators to use for the containers in the task. 14837 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 14838 14839 // The IPC resource namespace to use for the containers in the task. The valid 14840 // values are host, task, or none. If host is specified, then all containers 14841 // within the tasks that specified the host IPC mode on the same container instance 14842 // share the same IPC resources with the host Amazon EC2 instance. If task is 14843 // specified, all containers within the specified task share the same IPC resources. 14844 // If none is specified, then IPC resources within the containers of a task 14845 // are private and not shared with other containers in a task or on the container 14846 // instance. If no value is specified, then the IPC resource namespace sharing 14847 // depends on the Docker daemon setting on the container instance. For more 14848 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 14849 // in the Docker run reference. 14850 // 14851 // If the host IPC mode is used, be aware that there is a heightened risk of 14852 // undesired IPC namespace expose. For more information, see Docker security 14853 // (https://docs.docker.com/engine/security/security/). 14854 // 14855 // If you are setting namespaced kernel parameters using systemControls for 14856 // the containers in the task, the following will apply to your IPC resource 14857 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 14858 // in the Amazon Elastic Container Service Developer Guide. 14859 // 14860 // * For tasks that use the host IPC mode, IPC namespace related systemControls 14861 // are not supported. 14862 // 14863 // * For tasks that use the task IPC mode, IPC namespace related systemControls 14864 // will apply to all containers within a task. 14865 // 14866 // This parameter is not supported for Windows containers or tasks using the 14867 // Fargate launch type. 14868 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 14869 14870 // The amount of memory (in MiB) used by the task. It can be expressed as an 14871 // integer using MiB, for example 1024, or as a string using GB, for example 14872 // 1GB or 1 GB, in a task definition. String values are converted to an integer 14873 // indicating the MiB when the task definition is registered. 14874 // 14875 // Task-level CPU and memory parameters are ignored for Windows containers. 14876 // We recommend specifying container-level resources for Windows containers. 14877 // 14878 // If using the EC2 launch type, this field is optional. 14879 // 14880 // If using the Fargate launch type, this field is required and you must use 14881 // one of the following values, which determines your range of supported values 14882 // for the cpu parameter: 14883 // 14884 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 14885 // vCPU) 14886 // 14887 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 14888 // 512 (.5 vCPU) 14889 // 14890 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 14891 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 14892 // 14893 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 14894 // Available cpu values: 2048 (2 vCPU) 14895 // 14896 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 14897 // Available cpu values: 4096 (4 vCPU) 14898 Memory *string `locationName:"memory" type:"string"` 14899 14900 // The Docker networking mode to use for the containers in the task. The valid 14901 // values are none, bridge, awsvpc, and host. The default Docker network mode 14902 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 14903 // is required. If you are using the EC2 launch type, any network mode can be 14904 // used. If the network mode is set to none, you cannot specify port mappings 14905 // in your container definitions, and the tasks containers do not have external 14906 // connectivity. The host and awsvpc network modes offer the highest networking 14907 // performance for containers because they use the EC2 network stack instead 14908 // of the virtualized network stack provided by the bridge mode. 14909 // 14910 // With the host and awsvpc network modes, exposed container ports are mapped 14911 // directly to the corresponding host port (for the host network mode) or the 14912 // attached elastic network interface port (for the awsvpc network mode), so 14913 // you cannot take advantage of dynamic host port mappings. 14914 // 14915 // If the network mode is awsvpc, the task is allocated an elastic network interface, 14916 // and you must specify a NetworkConfiguration value when you create a service 14917 // or run a task with the task definition. For more information, see Task Networking 14918 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 14919 // in the Amazon Elastic Container Service Developer Guide. 14920 // 14921 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 14922 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 14923 // mode. 14924 // 14925 // If the network mode is host, you cannot run multiple instantiations of the 14926 // same task on a single container instance when port mappings are used. 14927 // 14928 // Docker for Windows uses different network modes than Docker for Linux. When 14929 // you register a task definition with Windows containers, you must not specify 14930 // a network mode. If you use the console to register a task definition with 14931 // Windows containers, you must choose the <default> network mode object. 14932 // 14933 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 14934 // in the Docker run reference. 14935 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 14936 14937 // The process namespace to use for the containers in the task. The valid values 14938 // are host or task. If host is specified, then all containers within the tasks 14939 // that specified the host PID mode on the same container instance share the 14940 // same process namespace with the host Amazon EC2 instance. If task is specified, 14941 // all containers within the specified task share the same process namespace. 14942 // If no value is specified, the default is a private namespace. For more information, 14943 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 14944 // in the Docker run reference. 14945 // 14946 // If the host PID mode is used, be aware that there is a heightened risk of 14947 // undesired process namespace expose. For more information, see Docker security 14948 // (https://docs.docker.com/engine/security/security/). 14949 // 14950 // This parameter is not supported for Windows containers or tasks using the 14951 // Fargate launch type. 14952 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 14953 14954 // An array of placement constraint objects to use for the task. You can specify 14955 // a maximum of 10 constraints per task (this limit includes constraints in 14956 // the task definition and those specified at runtime). 14957 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 14958 14959 // The configuration details for the App Mesh proxy. 14960 // 14961 // For tasks using the EC2 launch type, the container instances require at least 14962 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 14963 // ecs-init package to enable a proxy configuration. If your container instances 14964 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 14965 // then they contain the required versions of the container agent and ecs-init. 14966 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 14967 // in the Amazon Elastic Container Service Developer Guide. 14968 // 14969 // For tasks using the Fargate launch type, the task or service requires platform 14970 // version 1.3.0 or later. 14971 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 14972 14973 // The launch type required by the task. If no value is specified, it defaults 14974 // to EC2. 14975 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 14976 14977 // The metadata that you apply to the task definition to help you categorize 14978 // and organize them. Each tag consists of a key and an optional value, both 14979 // of which you define. 14980 // 14981 // The following basic restrictions apply to tags: 14982 // 14983 // * Maximum number of tags per resource - 50 14984 // 14985 // * For each resource, each tag key must be unique, and each tag key can 14986 // have only one value. 14987 // 14988 // * Maximum key length - 128 Unicode characters in UTF-8 14989 // 14990 // * Maximum value length - 256 Unicode characters in UTF-8 14991 // 14992 // * If your tagging schema is used across multiple services and resources, 14993 // remember that other services may have restrictions on allowed characters. 14994 // Generally allowed characters are: letters, numbers, and spaces representable 14995 // in UTF-8, and the following characters: + - = . _ : / @. 14996 // 14997 // * Tag keys and values are case-sensitive. 14998 // 14999 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15000 // as a prefix for either keys or values as it is reserved for AWS use. You 15001 // cannot edit or delete tag keys or values with this prefix. Tags with this 15002 // prefix do not count against your tags per resource limit. 15003 Tags []*Tag `locationName:"tags" type:"list"` 15004 15005 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 15006 // in this task can assume. All containers in this task are granted the permissions 15007 // that are specified in this role. For more information, see IAM Roles for 15008 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 15009 // in the Amazon Elastic Container Service Developer Guide. 15010 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 15011 15012 // A list of volume definitions in JSON format that containers in your task 15013 // may use. 15014 Volumes []*Volume `locationName:"volumes" type:"list"` 15015} 15016 15017// String returns the string representation 15018func (s RegisterTaskDefinitionInput) String() string { 15019 return awsutil.Prettify(s) 15020} 15021 15022// GoString returns the string representation 15023func (s RegisterTaskDefinitionInput) GoString() string { 15024 return s.String() 15025} 15026 15027// Validate inspects the fields of the type to determine if they are valid. 15028func (s *RegisterTaskDefinitionInput) Validate() error { 15029 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 15030 if s.ContainerDefinitions == nil { 15031 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 15032 } 15033 if s.Family == nil { 15034 invalidParams.Add(request.NewErrParamRequired("Family")) 15035 } 15036 if s.ContainerDefinitions != nil { 15037 for i, v := range s.ContainerDefinitions { 15038 if v == nil { 15039 continue 15040 } 15041 if err := v.Validate(); err != nil { 15042 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 15043 } 15044 } 15045 } 15046 if s.InferenceAccelerators != nil { 15047 for i, v := range s.InferenceAccelerators { 15048 if v == nil { 15049 continue 15050 } 15051 if err := v.Validate(); err != nil { 15052 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 15053 } 15054 } 15055 } 15056 if s.ProxyConfiguration != nil { 15057 if err := s.ProxyConfiguration.Validate(); err != nil { 15058 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 15059 } 15060 } 15061 if s.Tags != nil { 15062 for i, v := range s.Tags { 15063 if v == nil { 15064 continue 15065 } 15066 if err := v.Validate(); err != nil { 15067 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15068 } 15069 } 15070 } 15071 if s.Volumes != nil { 15072 for i, v := range s.Volumes { 15073 if v == nil { 15074 continue 15075 } 15076 if err := v.Validate(); err != nil { 15077 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 15078 } 15079 } 15080 } 15081 15082 if invalidParams.Len() > 0 { 15083 return invalidParams 15084 } 15085 return nil 15086} 15087 15088// SetContainerDefinitions sets the ContainerDefinitions field's value. 15089func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 15090 s.ContainerDefinitions = v 15091 return s 15092} 15093 15094// SetCpu sets the Cpu field's value. 15095func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 15096 s.Cpu = &v 15097 return s 15098} 15099 15100// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 15101func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 15102 s.ExecutionRoleArn = &v 15103 return s 15104} 15105 15106// SetFamily sets the Family field's value. 15107func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 15108 s.Family = &v 15109 return s 15110} 15111 15112// SetInferenceAccelerators sets the InferenceAccelerators field's value. 15113func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 15114 s.InferenceAccelerators = v 15115 return s 15116} 15117 15118// SetIpcMode sets the IpcMode field's value. 15119func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 15120 s.IpcMode = &v 15121 return s 15122} 15123 15124// SetMemory sets the Memory field's value. 15125func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 15126 s.Memory = &v 15127 return s 15128} 15129 15130// SetNetworkMode sets the NetworkMode field's value. 15131func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 15132 s.NetworkMode = &v 15133 return s 15134} 15135 15136// SetPidMode sets the PidMode field's value. 15137func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 15138 s.PidMode = &v 15139 return s 15140} 15141 15142// SetPlacementConstraints sets the PlacementConstraints field's value. 15143func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 15144 s.PlacementConstraints = v 15145 return s 15146} 15147 15148// SetProxyConfiguration sets the ProxyConfiguration field's value. 15149func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 15150 s.ProxyConfiguration = v 15151 return s 15152} 15153 15154// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 15155func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 15156 s.RequiresCompatibilities = v 15157 return s 15158} 15159 15160// SetTags sets the Tags field's value. 15161func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 15162 s.Tags = v 15163 return s 15164} 15165 15166// SetTaskRoleArn sets the TaskRoleArn field's value. 15167func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 15168 s.TaskRoleArn = &v 15169 return s 15170} 15171 15172// SetVolumes sets the Volumes field's value. 15173func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 15174 s.Volumes = v 15175 return s 15176} 15177 15178type RegisterTaskDefinitionOutput struct { 15179 _ struct{} `type:"structure"` 15180 15181 // The list of tags associated with the task definition. 15182 Tags []*Tag `locationName:"tags" type:"list"` 15183 15184 // The full description of the registered task definition. 15185 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 15186} 15187 15188// String returns the string representation 15189func (s RegisterTaskDefinitionOutput) String() string { 15190 return awsutil.Prettify(s) 15191} 15192 15193// GoString returns the string representation 15194func (s RegisterTaskDefinitionOutput) GoString() string { 15195 return s.String() 15196} 15197 15198// SetTags sets the Tags field's value. 15199func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 15200 s.Tags = v 15201 return s 15202} 15203 15204// SetTaskDefinition sets the TaskDefinition field's value. 15205func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 15206 s.TaskDefinition = v 15207 return s 15208} 15209 15210// The repository credentials for private registry authentication. 15211type RepositoryCredentials struct { 15212 _ struct{} `type:"structure"` 15213 15214 // The Amazon Resource Name (ARN) of the secret containing the private repository 15215 // credentials. 15216 // 15217 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 15218 // exists in the same Region as the task that you are launching then you can 15219 // use either the full ARN or the name of the secret. When you are using the 15220 // AWS Management Console, you must specify the full ARN of the secret. 15221 // 15222 // CredentialsParameter is a required field 15223 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 15224} 15225 15226// String returns the string representation 15227func (s RepositoryCredentials) String() string { 15228 return awsutil.Prettify(s) 15229} 15230 15231// GoString returns the string representation 15232func (s RepositoryCredentials) GoString() string { 15233 return s.String() 15234} 15235 15236// Validate inspects the fields of the type to determine if they are valid. 15237func (s *RepositoryCredentials) Validate() error { 15238 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 15239 if s.CredentialsParameter == nil { 15240 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 15241 } 15242 15243 if invalidParams.Len() > 0 { 15244 return invalidParams 15245 } 15246 return nil 15247} 15248 15249// SetCredentialsParameter sets the CredentialsParameter field's value. 15250func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 15251 s.CredentialsParameter = &v 15252 return s 15253} 15254 15255// Describes the resources available for a container instance. 15256type Resource struct { 15257 _ struct{} `type:"structure"` 15258 15259 // When the doubleValue type is set, the value of the resource must be a double 15260 // precision floating-point type. 15261 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 15262 15263 // When the integerValue type is set, the value of the resource must be an integer. 15264 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 15265 15266 // When the longValue type is set, the value of the resource must be an extended 15267 // precision floating-point type. 15268 LongValue *int64 `locationName:"longValue" type:"long"` 15269 15270 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 15271 // resource. 15272 Name *string `locationName:"name" type:"string"` 15273 15274 // When the stringSetValue type is set, the value of the resource must be a 15275 // string type. 15276 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 15277 15278 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 15279 Type *string `locationName:"type" type:"string"` 15280} 15281 15282// String returns the string representation 15283func (s Resource) String() string { 15284 return awsutil.Prettify(s) 15285} 15286 15287// GoString returns the string representation 15288func (s Resource) GoString() string { 15289 return s.String() 15290} 15291 15292// SetDoubleValue sets the DoubleValue field's value. 15293func (s *Resource) SetDoubleValue(v float64) *Resource { 15294 s.DoubleValue = &v 15295 return s 15296} 15297 15298// SetIntegerValue sets the IntegerValue field's value. 15299func (s *Resource) SetIntegerValue(v int64) *Resource { 15300 s.IntegerValue = &v 15301 return s 15302} 15303 15304// SetLongValue sets the LongValue field's value. 15305func (s *Resource) SetLongValue(v int64) *Resource { 15306 s.LongValue = &v 15307 return s 15308} 15309 15310// SetName sets the Name field's value. 15311func (s *Resource) SetName(v string) *Resource { 15312 s.Name = &v 15313 return s 15314} 15315 15316// SetStringSetValue sets the StringSetValue field's value. 15317func (s *Resource) SetStringSetValue(v []*string) *Resource { 15318 s.StringSetValue = v 15319 return s 15320} 15321 15322// SetType sets the Type field's value. 15323func (s *Resource) SetType(v string) *Resource { 15324 s.Type = &v 15325 return s 15326} 15327 15328// The specified resource is in-use and cannot be removed. 15329type ResourceInUseException struct { 15330 _ struct{} `type:"structure"` 15331 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15332 15333 Message_ *string `locationName:"message" type:"string"` 15334} 15335 15336// String returns the string representation 15337func (s ResourceInUseException) String() string { 15338 return awsutil.Prettify(s) 15339} 15340 15341// GoString returns the string representation 15342func (s ResourceInUseException) GoString() string { 15343 return s.String() 15344} 15345 15346func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 15347 return &ResourceInUseException{ 15348 RespMetadata: v, 15349 } 15350} 15351 15352// Code returns the exception type name. 15353func (s *ResourceInUseException) Code() string { 15354 return "ResourceInUseException" 15355} 15356 15357// Message returns the exception's message. 15358func (s *ResourceInUseException) Message() string { 15359 if s.Message_ != nil { 15360 return *s.Message_ 15361 } 15362 return "" 15363} 15364 15365// OrigErr always returns nil, satisfies awserr.Error interface. 15366func (s *ResourceInUseException) OrigErr() error { 15367 return nil 15368} 15369 15370func (s *ResourceInUseException) Error() string { 15371 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15372} 15373 15374// Status code returns the HTTP status code for the request's response error. 15375func (s *ResourceInUseException) StatusCode() int { 15376 return s.RespMetadata.StatusCode 15377} 15378 15379// RequestID returns the service's response RequestID for request. 15380func (s *ResourceInUseException) RequestID() string { 15381 return s.RespMetadata.RequestID 15382} 15383 15384// The specified resource could not be found. 15385type ResourceNotFoundException struct { 15386 _ struct{} `type:"structure"` 15387 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15388 15389 Message_ *string `locationName:"message" type:"string"` 15390} 15391 15392// String returns the string representation 15393func (s ResourceNotFoundException) String() string { 15394 return awsutil.Prettify(s) 15395} 15396 15397// GoString returns the string representation 15398func (s ResourceNotFoundException) GoString() string { 15399 return s.String() 15400} 15401 15402func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 15403 return &ResourceNotFoundException{ 15404 RespMetadata: v, 15405 } 15406} 15407 15408// Code returns the exception type name. 15409func (s *ResourceNotFoundException) Code() string { 15410 return "ResourceNotFoundException" 15411} 15412 15413// Message returns the exception's message. 15414func (s *ResourceNotFoundException) Message() string { 15415 if s.Message_ != nil { 15416 return *s.Message_ 15417 } 15418 return "" 15419} 15420 15421// OrigErr always returns nil, satisfies awserr.Error interface. 15422func (s *ResourceNotFoundException) OrigErr() error { 15423 return nil 15424} 15425 15426func (s *ResourceNotFoundException) Error() string { 15427 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15428} 15429 15430// Status code returns the HTTP status code for the request's response error. 15431func (s *ResourceNotFoundException) StatusCode() int { 15432 return s.RespMetadata.StatusCode 15433} 15434 15435// RequestID returns the service's response RequestID for request. 15436func (s *ResourceNotFoundException) RequestID() string { 15437 return s.RespMetadata.RequestID 15438} 15439 15440// The type and amount of a resource to assign to a container. The supported 15441// resource types are GPUs and Elastic Inference accelerators. For more information, 15442// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 15443// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 15444// in the Amazon Elastic Container Service Developer Guide 15445type ResourceRequirement struct { 15446 _ struct{} `type:"structure"` 15447 15448 // The type of resource to assign to a container. The supported values are GPU 15449 // or InferenceAccelerator. 15450 // 15451 // Type is a required field 15452 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 15453 15454 // The value for the specified resource type. 15455 // 15456 // If the GPU type is used, the value is the number of physical GPUs the Amazon 15457 // ECS container agent will reserve for the container. The number of GPUs reserved 15458 // for all containers in a task should not exceed the number of available GPUs 15459 // on the container instance the task is launched on. 15460 // 15461 // If the InferenceAccelerator type is used, the value should match the deviceName 15462 // for an InferenceAccelerator specified in a task definition. 15463 // 15464 // Value is a required field 15465 Value *string `locationName:"value" type:"string" required:"true"` 15466} 15467 15468// String returns the string representation 15469func (s ResourceRequirement) String() string { 15470 return awsutil.Prettify(s) 15471} 15472 15473// GoString returns the string representation 15474func (s ResourceRequirement) GoString() string { 15475 return s.String() 15476} 15477 15478// Validate inspects the fields of the type to determine if they are valid. 15479func (s *ResourceRequirement) Validate() error { 15480 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 15481 if s.Type == nil { 15482 invalidParams.Add(request.NewErrParamRequired("Type")) 15483 } 15484 if s.Value == nil { 15485 invalidParams.Add(request.NewErrParamRequired("Value")) 15486 } 15487 15488 if invalidParams.Len() > 0 { 15489 return invalidParams 15490 } 15491 return nil 15492} 15493 15494// SetType sets the Type field's value. 15495func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 15496 s.Type = &v 15497 return s 15498} 15499 15500// SetValue sets the Value field's value. 15501func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 15502 s.Value = &v 15503 return s 15504} 15505 15506type RunTaskInput struct { 15507 _ struct{} `type:"structure"` 15508 15509 // The capacity provider strategy to use for the task. 15510 // 15511 // A capacity provider strategy consists of one or more capacity providers along 15512 // with the base and weight to assign to them. A capacity provider must be associated 15513 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 15514 // API is used to associate a capacity provider with a cluster. Only capacity 15515 // providers with an ACTIVE or UPDATING status can be used. 15516 // 15517 // If a capacityProviderStrategy is specified, the launchType parameter must 15518 // be omitted. If no capacityProviderStrategy or launchType is specified, the 15519 // defaultCapacityProviderStrategy for the cluster is used. 15520 // 15521 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15522 // provider must already be created. New capacity providers can be created with 15523 // the CreateCapacityProvider API operation. 15524 // 15525 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15526 // capacity providers. The AWS Fargate capacity providers are available to all 15527 // accounts and only need to be associated with a cluster to be used. 15528 // 15529 // The PutClusterCapacityProviders API operation is used to update the list 15530 // of available capacity providers for a cluster after the cluster is created. 15531 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 15532 15533 // The short name or full Amazon Resource Name (ARN) of the cluster on which 15534 // to run your task. If you do not specify a cluster, the default cluster is 15535 // assumed. 15536 Cluster *string `locationName:"cluster" type:"string"` 15537 15538 // The number of instantiations of the specified task to place on your cluster. 15539 // You can specify up to 10 tasks per call. 15540 Count *int64 `locationName:"count" type:"integer"` 15541 15542 // Specifies whether to enable Amazon ECS managed tags for the task. For more 15543 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 15544 // in the Amazon Elastic Container Service Developer Guide. 15545 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 15546 15547 // The name of the task group to associate with the task. The default value 15548 // is the family name of the task definition (for example, family:my-family-name). 15549 Group *string `locationName:"group" type:"string"` 15550 15551 // The launch type on which to run your task. For more information, see Amazon 15552 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 15553 // in the Amazon Elastic Container Service Developer Guide. 15554 // 15555 // If a launchType is specified, the capacityProviderStrategy parameter must 15556 // be omitted. 15557 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15558 15559 // The network configuration for the task. This parameter is required for task 15560 // definitions that use the awsvpc network mode to receive their own elastic 15561 // network interface, and it is not supported for other network modes. For more 15562 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15563 // in the Amazon Elastic Container Service Developer Guide. 15564 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15565 15566 // A list of container overrides in JSON format that specify the name of a container 15567 // in the specified task definition and the overrides it should receive. You 15568 // can override the default command for a container (that is specified in the 15569 // task definition or Docker image) with a command override. You can also override 15570 // existing environment variables (that are specified in the task definition 15571 // or Docker image) on a container or add new environment variables to it with 15572 // an environment override. 15573 // 15574 // A total of 8192 characters are allowed for overrides. This limit includes 15575 // the JSON formatting characters of the override structure. 15576 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 15577 15578 // An array of placement constraint objects to use for the task. You can specify 15579 // up to 10 constraints per task (including constraints in the task definition 15580 // and those specified at runtime). 15581 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 15582 15583 // The placement strategy objects to use for the task. You can specify a maximum 15584 // of five strategy rules per task. 15585 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 15586 15587 // The platform version the task should run. A platform version is only specified 15588 // for tasks using the Fargate launch type. If one is not specified, the LATEST 15589 // platform version is used by default. For more information, see AWS Fargate 15590 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 15591 // in the Amazon Elastic Container Service Developer Guide. 15592 PlatformVersion *string `locationName:"platformVersion" type:"string"` 15593 15594 // Specifies whether to propagate the tags from the task definition to the task. 15595 // If no value is specified, the tags are not propagated. Tags can only be propagated 15596 // to the task during task creation. To add tags to a task after task creation, 15597 // use the TagResource API action. 15598 // 15599 // An error will be received if you specify the SERVICE option when running 15600 // a task. 15601 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 15602 15603 // The reference ID to use for the task. 15604 ReferenceId *string `locationName:"referenceId" type:"string"` 15605 15606 // An optional tag specified when a task is started. For example, if you automatically 15607 // trigger a task to run a batch process job, you could apply a unique identifier 15608 // for that job to your task with the startedBy parameter. You can then identify 15609 // which tasks belong to that job by filtering the results of a ListTasks call 15610 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 15611 // hyphens, and underscores are allowed. 15612 // 15613 // If a task is started by an Amazon ECS service, then the startedBy parameter 15614 // contains the deployment ID of the service that starts it. 15615 StartedBy *string `locationName:"startedBy" type:"string"` 15616 15617 // The metadata that you apply to the task to help you categorize and organize 15618 // them. Each tag consists of a key and an optional value, both of which you 15619 // define. 15620 // 15621 // The following basic restrictions apply to tags: 15622 // 15623 // * Maximum number of tags per resource - 50 15624 // 15625 // * For each resource, each tag key must be unique, and each tag key can 15626 // have only one value. 15627 // 15628 // * Maximum key length - 128 Unicode characters in UTF-8 15629 // 15630 // * Maximum value length - 256 Unicode characters in UTF-8 15631 // 15632 // * If your tagging schema is used across multiple services and resources, 15633 // remember that other services may have restrictions on allowed characters. 15634 // Generally allowed characters are: letters, numbers, and spaces representable 15635 // in UTF-8, and the following characters: + - = . _ : / @. 15636 // 15637 // * Tag keys and values are case-sensitive. 15638 // 15639 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15640 // as a prefix for either keys or values as it is reserved for AWS use. You 15641 // cannot edit or delete tag keys or values with this prefix. Tags with this 15642 // prefix do not count against your tags per resource limit. 15643 Tags []*Tag `locationName:"tags" type:"list"` 15644 15645 // The family and revision (family:revision) or full ARN of the task definition 15646 // to run. If a revision is not specified, the latest ACTIVE revision is used. 15647 // 15648 // TaskDefinition is a required field 15649 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 15650} 15651 15652// String returns the string representation 15653func (s RunTaskInput) String() string { 15654 return awsutil.Prettify(s) 15655} 15656 15657// GoString returns the string representation 15658func (s RunTaskInput) GoString() string { 15659 return s.String() 15660} 15661 15662// Validate inspects the fields of the type to determine if they are valid. 15663func (s *RunTaskInput) Validate() error { 15664 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 15665 if s.TaskDefinition == nil { 15666 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 15667 } 15668 if s.CapacityProviderStrategy != nil { 15669 for i, v := range s.CapacityProviderStrategy { 15670 if v == nil { 15671 continue 15672 } 15673 if err := v.Validate(); err != nil { 15674 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 15675 } 15676 } 15677 } 15678 if s.NetworkConfiguration != nil { 15679 if err := s.NetworkConfiguration.Validate(); err != nil { 15680 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 15681 } 15682 } 15683 if s.Overrides != nil { 15684 if err := s.Overrides.Validate(); err != nil { 15685 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 15686 } 15687 } 15688 if s.Tags != nil { 15689 for i, v := range s.Tags { 15690 if v == nil { 15691 continue 15692 } 15693 if err := v.Validate(); err != nil { 15694 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15695 } 15696 } 15697 } 15698 15699 if invalidParams.Len() > 0 { 15700 return invalidParams 15701 } 15702 return nil 15703} 15704 15705// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 15706func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 15707 s.CapacityProviderStrategy = v 15708 return s 15709} 15710 15711// SetCluster sets the Cluster field's value. 15712func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 15713 s.Cluster = &v 15714 return s 15715} 15716 15717// SetCount sets the Count field's value. 15718func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 15719 s.Count = &v 15720 return s 15721} 15722 15723// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 15724func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 15725 s.EnableECSManagedTags = &v 15726 return s 15727} 15728 15729// SetGroup sets the Group field's value. 15730func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 15731 s.Group = &v 15732 return s 15733} 15734 15735// SetLaunchType sets the LaunchType field's value. 15736func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 15737 s.LaunchType = &v 15738 return s 15739} 15740 15741// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15742func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 15743 s.NetworkConfiguration = v 15744 return s 15745} 15746 15747// SetOverrides sets the Overrides field's value. 15748func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 15749 s.Overrides = v 15750 return s 15751} 15752 15753// SetPlacementConstraints sets the PlacementConstraints field's value. 15754func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 15755 s.PlacementConstraints = v 15756 return s 15757} 15758 15759// SetPlacementStrategy sets the PlacementStrategy field's value. 15760func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 15761 s.PlacementStrategy = v 15762 return s 15763} 15764 15765// SetPlatformVersion sets the PlatformVersion field's value. 15766func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 15767 s.PlatformVersion = &v 15768 return s 15769} 15770 15771// SetPropagateTags sets the PropagateTags field's value. 15772func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 15773 s.PropagateTags = &v 15774 return s 15775} 15776 15777// SetReferenceId sets the ReferenceId field's value. 15778func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 15779 s.ReferenceId = &v 15780 return s 15781} 15782 15783// SetStartedBy sets the StartedBy field's value. 15784func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 15785 s.StartedBy = &v 15786 return s 15787} 15788 15789// SetTags sets the Tags field's value. 15790func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 15791 s.Tags = v 15792 return s 15793} 15794 15795// SetTaskDefinition sets the TaskDefinition field's value. 15796func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 15797 s.TaskDefinition = &v 15798 return s 15799} 15800 15801type RunTaskOutput struct { 15802 _ struct{} `type:"structure"` 15803 15804 // Any failures associated with the call. 15805 Failures []*Failure `locationName:"failures" type:"list"` 15806 15807 // A full description of the tasks that were run. The tasks that were successfully 15808 // placed on your cluster are described here. 15809 Tasks []*Task `locationName:"tasks" type:"list"` 15810} 15811 15812// String returns the string representation 15813func (s RunTaskOutput) String() string { 15814 return awsutil.Prettify(s) 15815} 15816 15817// GoString returns the string representation 15818func (s RunTaskOutput) GoString() string { 15819 return s.String() 15820} 15821 15822// SetFailures sets the Failures field's value. 15823func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 15824 s.Failures = v 15825 return s 15826} 15827 15828// SetTasks sets the Tasks field's value. 15829func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 15830 s.Tasks = v 15831 return s 15832} 15833 15834// A floating-point percentage of the desired number of tasks to place and keep 15835// running in the task set. 15836type Scale struct { 15837 _ struct{} `type:"structure"` 15838 15839 // The unit of measure for the scale value. 15840 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 15841 15842 // The value, specified as a percent total of a service's desiredCount, to scale 15843 // the task set. Accepted values are numbers between 0 and 100. 15844 Value *float64 `locationName:"value" type:"double"` 15845} 15846 15847// String returns the string representation 15848func (s Scale) String() string { 15849 return awsutil.Prettify(s) 15850} 15851 15852// GoString returns the string representation 15853func (s Scale) GoString() string { 15854 return s.String() 15855} 15856 15857// SetUnit sets the Unit field's value. 15858func (s *Scale) SetUnit(v string) *Scale { 15859 s.Unit = &v 15860 return s 15861} 15862 15863// SetValue sets the Value field's value. 15864func (s *Scale) SetValue(v float64) *Scale { 15865 s.Value = &v 15866 return s 15867} 15868 15869// An object representing the secret to expose to your container. Secrets can 15870// be exposed to a container in the following ways: 15871// 15872// * To inject sensitive data into your containers as environment variables, 15873// use the secrets container definition parameter. 15874// 15875// * To reference sensitive information in the log configuration of a container, 15876// use the secretOptions container definition parameter. 15877// 15878// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 15879// in the Amazon Elastic Container Service Developer Guide. 15880type Secret struct { 15881 _ struct{} `type:"structure"` 15882 15883 // The name of the secret. 15884 // 15885 // Name is a required field 15886 Name *string `locationName:"name" type:"string" required:"true"` 15887 15888 // The secret to expose to the container. The supported values are either the 15889 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 15890 // in the AWS Systems Manager Parameter Store. 15891 // 15892 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 15893 // as the task you are launching, then you can use either the full ARN or name 15894 // of the parameter. If the parameter exists in a different Region, then the 15895 // full ARN must be specified. 15896 // 15897 // ValueFrom is a required field 15898 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 15899} 15900 15901// String returns the string representation 15902func (s Secret) String() string { 15903 return awsutil.Prettify(s) 15904} 15905 15906// GoString returns the string representation 15907func (s Secret) GoString() string { 15908 return s.String() 15909} 15910 15911// Validate inspects the fields of the type to determine if they are valid. 15912func (s *Secret) Validate() error { 15913 invalidParams := request.ErrInvalidParams{Context: "Secret"} 15914 if s.Name == nil { 15915 invalidParams.Add(request.NewErrParamRequired("Name")) 15916 } 15917 if s.ValueFrom == nil { 15918 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 15919 } 15920 15921 if invalidParams.Len() > 0 { 15922 return invalidParams 15923 } 15924 return nil 15925} 15926 15927// SetName sets the Name field's value. 15928func (s *Secret) SetName(v string) *Secret { 15929 s.Name = &v 15930 return s 15931} 15932 15933// SetValueFrom sets the ValueFrom field's value. 15934func (s *Secret) SetValueFrom(v string) *Secret { 15935 s.ValueFrom = &v 15936 return s 15937} 15938 15939// These errors are usually caused by a server issue. 15940type ServerException struct { 15941 _ struct{} `type:"structure"` 15942 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15943 15944 Message_ *string `locationName:"message" type:"string"` 15945} 15946 15947// String returns the string representation 15948func (s ServerException) String() string { 15949 return awsutil.Prettify(s) 15950} 15951 15952// GoString returns the string representation 15953func (s ServerException) GoString() string { 15954 return s.String() 15955} 15956 15957func newErrorServerException(v protocol.ResponseMetadata) error { 15958 return &ServerException{ 15959 RespMetadata: v, 15960 } 15961} 15962 15963// Code returns the exception type name. 15964func (s *ServerException) Code() string { 15965 return "ServerException" 15966} 15967 15968// Message returns the exception's message. 15969func (s *ServerException) Message() string { 15970 if s.Message_ != nil { 15971 return *s.Message_ 15972 } 15973 return "" 15974} 15975 15976// OrigErr always returns nil, satisfies awserr.Error interface. 15977func (s *ServerException) OrigErr() error { 15978 return nil 15979} 15980 15981func (s *ServerException) Error() string { 15982 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15983} 15984 15985// Status code returns the HTTP status code for the request's response error. 15986func (s *ServerException) StatusCode() int { 15987 return s.RespMetadata.StatusCode 15988} 15989 15990// RequestID returns the service's response RequestID for request. 15991func (s *ServerException) RequestID() string { 15992 return s.RespMetadata.RequestID 15993} 15994 15995// Details on a service within a cluster 15996type Service struct { 15997 _ struct{} `type:"structure"` 15998 15999 // The capacity provider strategy associated with the service. 16000 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 16001 16002 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 16003 ClusterArn *string `locationName:"clusterArn" type:"string"` 16004 16005 // The Unix timestamp for when the service was created. 16006 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16007 16008 // The principal that created the service. 16009 CreatedBy *string `locationName:"createdBy" type:"string"` 16010 16011 // Optional deployment parameters that control how many tasks run during the 16012 // deployment and the ordering of stopping and starting tasks. 16013 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 16014 16015 // The deployment controller type the service is using. When using the DescribeServices 16016 // API, this field is omitted if the service is using the ECS deployment controller 16017 // type. 16018 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 16019 16020 // The current state of deployments for the service. 16021 Deployments []*Deployment `locationName:"deployments" type:"list"` 16022 16023 // The desired number of instantiations of the task definition to keep running 16024 // on the service. This value is specified when the service is created with 16025 // CreateService, and it can be modified with UpdateService. 16026 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 16027 16028 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 16029 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16030 // in the Amazon Elastic Container Service Developer Guide. 16031 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16032 16033 // The event stream for your service. A maximum of 100 of the latest events 16034 // are displayed. 16035 Events []*ServiceEvent `locationName:"events" type:"list"` 16036 16037 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 16038 // unhealthy Elastic Load Balancing target health checks after a task has first 16039 // started. 16040 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 16041 16042 // The launch type on which your service is running. If no value is specified, 16043 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 16044 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16045 // in the Amazon Elastic Container Service Developer Guide. 16046 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 16047 16048 // A list of Elastic Load Balancing load balancer objects, containing the load 16049 // balancer name, the container name (as it appears in a container definition), 16050 // and the container port to access from the load balancer. 16051 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 16052 16053 // The VPC subnet and security group configuration for tasks that receive their 16054 // own elastic network interface by using the awsvpc networking mode. 16055 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16056 16057 // The number of tasks in the cluster that are in the PENDING state. 16058 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 16059 16060 // The placement constraints for the tasks in the service. 16061 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 16062 16063 // The placement strategy that determines how tasks for the service are placed. 16064 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 16065 16066 // The platform version on which to run your service. A platform version is 16067 // only specified for tasks using the Fargate launch type. If one is not specified, 16068 // the LATEST platform version is used by default. For more information, see 16069 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16070 // in the Amazon Elastic Container Service Developer Guide. 16071 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16072 16073 // Specifies whether to propagate the tags from the task definition or the service 16074 // to the task. If no value is specified, the tags are not propagated. 16075 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16076 16077 // The ARN of the IAM role associated with the service that allows the Amazon 16078 // ECS container agent to register container instances with an Elastic Load 16079 // Balancing load balancer. 16080 RoleArn *string `locationName:"roleArn" type:"string"` 16081 16082 // The number of tasks in the cluster that are in the RUNNING state. 16083 RunningCount *int64 `locationName:"runningCount" type:"integer"` 16084 16085 // The scheduling strategy to use for the service. For more information, see 16086 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 16087 // 16088 // There are two service scheduler strategies available: 16089 // 16090 // * REPLICA-The replica scheduling strategy places and maintains the desired 16091 // number of tasks across your cluster. By default, the service scheduler 16092 // spreads tasks across Availability Zones. You can use task placement strategies 16093 // and constraints to customize task placement decisions. 16094 // 16095 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 16096 // active container instance that meets all of the task placement constraints 16097 // that you specify in your cluster. The service scheduler also evaluates 16098 // the task placement constraints for running tasks and will stop tasks that 16099 // do not meet the placement constraints. Fargate tasks do not support the 16100 // DAEMON scheduling strategy. 16101 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 16102 16103 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 16104 // followed by the Region of the service, the AWS account ID of the service 16105 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 16106 ServiceArn *string `locationName:"serviceArn" type:"string"` 16107 16108 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 16109 // and hyphens are allowed. Service names must be unique within a cluster, but 16110 // you can have similarly named services in multiple clusters within a Region 16111 // or across multiple Regions. 16112 ServiceName *string `locationName:"serviceName" type:"string"` 16113 16114 // The details of the service discovery registries to assign to this service. 16115 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 16116 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 16117 16118 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 16119 Status *string `locationName:"status" type:"string"` 16120 16121 // The metadata that you apply to the service to help you categorize and organize 16122 // them. Each tag consists of a key and an optional value, both of which you 16123 // define. 16124 // 16125 // The following basic restrictions apply to tags: 16126 // 16127 // * Maximum number of tags per resource - 50 16128 // 16129 // * For each resource, each tag key must be unique, and each tag key can 16130 // have only one value. 16131 // 16132 // * Maximum key length - 128 Unicode characters in UTF-8 16133 // 16134 // * Maximum value length - 256 Unicode characters in UTF-8 16135 // 16136 // * If your tagging schema is used across multiple services and resources, 16137 // remember that other services may have restrictions on allowed characters. 16138 // Generally allowed characters are: letters, numbers, and spaces representable 16139 // in UTF-8, and the following characters: + - = . _ : / @. 16140 // 16141 // * Tag keys and values are case-sensitive. 16142 // 16143 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16144 // as a prefix for either keys or values as it is reserved for AWS use. You 16145 // cannot edit or delete tag keys or values with this prefix. Tags with this 16146 // prefix do not count against your tags per resource limit. 16147 Tags []*Tag `locationName:"tags" type:"list"` 16148 16149 // The task definition to use for tasks in the service. This value is specified 16150 // when the service is created with CreateService, and it can be modified with 16151 // UpdateService. 16152 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 16153 16154 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 16155 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 16156 // desired number of tasks, how many tasks are running, and whether the task 16157 // set serves production traffic. 16158 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 16159} 16160 16161// String returns the string representation 16162func (s Service) String() string { 16163 return awsutil.Prettify(s) 16164} 16165 16166// GoString returns the string representation 16167func (s Service) GoString() string { 16168 return s.String() 16169} 16170 16171// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 16172func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 16173 s.CapacityProviderStrategy = v 16174 return s 16175} 16176 16177// SetClusterArn sets the ClusterArn field's value. 16178func (s *Service) SetClusterArn(v string) *Service { 16179 s.ClusterArn = &v 16180 return s 16181} 16182 16183// SetCreatedAt sets the CreatedAt field's value. 16184func (s *Service) SetCreatedAt(v time.Time) *Service { 16185 s.CreatedAt = &v 16186 return s 16187} 16188 16189// SetCreatedBy sets the CreatedBy field's value. 16190func (s *Service) SetCreatedBy(v string) *Service { 16191 s.CreatedBy = &v 16192 return s 16193} 16194 16195// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 16196func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 16197 s.DeploymentConfiguration = v 16198 return s 16199} 16200 16201// SetDeploymentController sets the DeploymentController field's value. 16202func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 16203 s.DeploymentController = v 16204 return s 16205} 16206 16207// SetDeployments sets the Deployments field's value. 16208func (s *Service) SetDeployments(v []*Deployment) *Service { 16209 s.Deployments = v 16210 return s 16211} 16212 16213// SetDesiredCount sets the DesiredCount field's value. 16214func (s *Service) SetDesiredCount(v int64) *Service { 16215 s.DesiredCount = &v 16216 return s 16217} 16218 16219// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16220func (s *Service) SetEnableECSManagedTags(v bool) *Service { 16221 s.EnableECSManagedTags = &v 16222 return s 16223} 16224 16225// SetEvents sets the Events field's value. 16226func (s *Service) SetEvents(v []*ServiceEvent) *Service { 16227 s.Events = v 16228 return s 16229} 16230 16231// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 16232func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 16233 s.HealthCheckGracePeriodSeconds = &v 16234 return s 16235} 16236 16237// SetLaunchType sets the LaunchType field's value. 16238func (s *Service) SetLaunchType(v string) *Service { 16239 s.LaunchType = &v 16240 return s 16241} 16242 16243// SetLoadBalancers sets the LoadBalancers field's value. 16244func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 16245 s.LoadBalancers = v 16246 return s 16247} 16248 16249// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16250func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 16251 s.NetworkConfiguration = v 16252 return s 16253} 16254 16255// SetPendingCount sets the PendingCount field's value. 16256func (s *Service) SetPendingCount(v int64) *Service { 16257 s.PendingCount = &v 16258 return s 16259} 16260 16261// SetPlacementConstraints sets the PlacementConstraints field's value. 16262func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 16263 s.PlacementConstraints = v 16264 return s 16265} 16266 16267// SetPlacementStrategy sets the PlacementStrategy field's value. 16268func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 16269 s.PlacementStrategy = v 16270 return s 16271} 16272 16273// SetPlatformVersion sets the PlatformVersion field's value. 16274func (s *Service) SetPlatformVersion(v string) *Service { 16275 s.PlatformVersion = &v 16276 return s 16277} 16278 16279// SetPropagateTags sets the PropagateTags field's value. 16280func (s *Service) SetPropagateTags(v string) *Service { 16281 s.PropagateTags = &v 16282 return s 16283} 16284 16285// SetRoleArn sets the RoleArn field's value. 16286func (s *Service) SetRoleArn(v string) *Service { 16287 s.RoleArn = &v 16288 return s 16289} 16290 16291// SetRunningCount sets the RunningCount field's value. 16292func (s *Service) SetRunningCount(v int64) *Service { 16293 s.RunningCount = &v 16294 return s 16295} 16296 16297// SetSchedulingStrategy sets the SchedulingStrategy field's value. 16298func (s *Service) SetSchedulingStrategy(v string) *Service { 16299 s.SchedulingStrategy = &v 16300 return s 16301} 16302 16303// SetServiceArn sets the ServiceArn field's value. 16304func (s *Service) SetServiceArn(v string) *Service { 16305 s.ServiceArn = &v 16306 return s 16307} 16308 16309// SetServiceName sets the ServiceName field's value. 16310func (s *Service) SetServiceName(v string) *Service { 16311 s.ServiceName = &v 16312 return s 16313} 16314 16315// SetServiceRegistries sets the ServiceRegistries field's value. 16316func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 16317 s.ServiceRegistries = v 16318 return s 16319} 16320 16321// SetStatus sets the Status field's value. 16322func (s *Service) SetStatus(v string) *Service { 16323 s.Status = &v 16324 return s 16325} 16326 16327// SetTags sets the Tags field's value. 16328func (s *Service) SetTags(v []*Tag) *Service { 16329 s.Tags = v 16330 return s 16331} 16332 16333// SetTaskDefinition sets the TaskDefinition field's value. 16334func (s *Service) SetTaskDefinition(v string) *Service { 16335 s.TaskDefinition = &v 16336 return s 16337} 16338 16339// SetTaskSets sets the TaskSets field's value. 16340func (s *Service) SetTaskSets(v []*TaskSet) *Service { 16341 s.TaskSets = v 16342 return s 16343} 16344 16345// Details on an event associated with a service. 16346type ServiceEvent struct { 16347 _ struct{} `type:"structure"` 16348 16349 // The Unix timestamp for when the event was triggered. 16350 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16351 16352 // The ID string of the event. 16353 Id *string `locationName:"id" type:"string"` 16354 16355 // The event message. 16356 Message *string `locationName:"message" type:"string"` 16357} 16358 16359// String returns the string representation 16360func (s ServiceEvent) String() string { 16361 return awsutil.Prettify(s) 16362} 16363 16364// GoString returns the string representation 16365func (s ServiceEvent) GoString() string { 16366 return s.String() 16367} 16368 16369// SetCreatedAt sets the CreatedAt field's value. 16370func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 16371 s.CreatedAt = &v 16372 return s 16373} 16374 16375// SetId sets the Id field's value. 16376func (s *ServiceEvent) SetId(v string) *ServiceEvent { 16377 s.Id = &v 16378 return s 16379} 16380 16381// SetMessage sets the Message field's value. 16382func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 16383 s.Message = &v 16384 return s 16385} 16386 16387// The specified service is not active. You can't update a service that is inactive. 16388// If you have previously deleted a service, you can re-create it with CreateService. 16389type ServiceNotActiveException struct { 16390 _ struct{} `type:"structure"` 16391 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16392 16393 Message_ *string `locationName:"message" type:"string"` 16394} 16395 16396// String returns the string representation 16397func (s ServiceNotActiveException) String() string { 16398 return awsutil.Prettify(s) 16399} 16400 16401// GoString returns the string representation 16402func (s ServiceNotActiveException) GoString() string { 16403 return s.String() 16404} 16405 16406func newErrorServiceNotActiveException(v protocol.ResponseMetadata) error { 16407 return &ServiceNotActiveException{ 16408 RespMetadata: v, 16409 } 16410} 16411 16412// Code returns the exception type name. 16413func (s *ServiceNotActiveException) Code() string { 16414 return "ServiceNotActiveException" 16415} 16416 16417// Message returns the exception's message. 16418func (s *ServiceNotActiveException) Message() string { 16419 if s.Message_ != nil { 16420 return *s.Message_ 16421 } 16422 return "" 16423} 16424 16425// OrigErr always returns nil, satisfies awserr.Error interface. 16426func (s *ServiceNotActiveException) OrigErr() error { 16427 return nil 16428} 16429 16430func (s *ServiceNotActiveException) Error() string { 16431 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16432} 16433 16434// Status code returns the HTTP status code for the request's response error. 16435func (s *ServiceNotActiveException) StatusCode() int { 16436 return s.RespMetadata.StatusCode 16437} 16438 16439// RequestID returns the service's response RequestID for request. 16440func (s *ServiceNotActiveException) RequestID() string { 16441 return s.RespMetadata.RequestID 16442} 16443 16444// The specified service could not be found. You can view your available services 16445// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 16446type ServiceNotFoundException struct { 16447 _ struct{} `type:"structure"` 16448 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16449 16450 Message_ *string `locationName:"message" type:"string"` 16451} 16452 16453// String returns the string representation 16454func (s ServiceNotFoundException) String() string { 16455 return awsutil.Prettify(s) 16456} 16457 16458// GoString returns the string representation 16459func (s ServiceNotFoundException) GoString() string { 16460 return s.String() 16461} 16462 16463func newErrorServiceNotFoundException(v protocol.ResponseMetadata) error { 16464 return &ServiceNotFoundException{ 16465 RespMetadata: v, 16466 } 16467} 16468 16469// Code returns the exception type name. 16470func (s *ServiceNotFoundException) Code() string { 16471 return "ServiceNotFoundException" 16472} 16473 16474// Message returns the exception's message. 16475func (s *ServiceNotFoundException) Message() string { 16476 if s.Message_ != nil { 16477 return *s.Message_ 16478 } 16479 return "" 16480} 16481 16482// OrigErr always returns nil, satisfies awserr.Error interface. 16483func (s *ServiceNotFoundException) OrigErr() error { 16484 return nil 16485} 16486 16487func (s *ServiceNotFoundException) Error() string { 16488 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16489} 16490 16491// Status code returns the HTTP status code for the request's response error. 16492func (s *ServiceNotFoundException) StatusCode() int { 16493 return s.RespMetadata.StatusCode 16494} 16495 16496// RequestID returns the service's response RequestID for request. 16497func (s *ServiceNotFoundException) RequestID() string { 16498 return s.RespMetadata.RequestID 16499} 16500 16501// Details of the service registry. 16502type ServiceRegistry struct { 16503 _ struct{} `type:"structure"` 16504 16505 // The container name value, already specified in the task definition, to be 16506 // used for your service discovery service. If the task definition that your 16507 // service task specifies uses the bridge or host network mode, you must specify 16508 // a containerName and containerPort combination from the task definition. If 16509 // the task definition that your service task specifies uses the awsvpc network 16510 // mode and a type SRV DNS record is used, you must specify either a containerName 16511 // and containerPort combination or a port value, but not both. 16512 ContainerName *string `locationName:"containerName" type:"string"` 16513 16514 // The port value, already specified in the task definition, to be used for 16515 // your service discovery service. If the task definition your service task 16516 // specifies uses the bridge or host network mode, you must specify a containerName 16517 // and containerPort combination from the task definition. If the task definition 16518 // your service task specifies uses the awsvpc network mode and a type SRV DNS 16519 // record is used, you must specify either a containerName and containerPort 16520 // combination or a port value, but not both. 16521 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 16522 16523 // The port value used if your service discovery service specified an SRV record. 16524 // This field may be used if both the awsvpc network mode and SRV records are 16525 // used. 16526 Port *int64 `locationName:"port" type:"integer"` 16527 16528 // The Amazon Resource Name (ARN) of the service registry. The currently supported 16529 // service registry is AWS Cloud Map. For more information, see CreateService 16530 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 16531 RegistryArn *string `locationName:"registryArn" type:"string"` 16532} 16533 16534// String returns the string representation 16535func (s ServiceRegistry) String() string { 16536 return awsutil.Prettify(s) 16537} 16538 16539// GoString returns the string representation 16540func (s ServiceRegistry) GoString() string { 16541 return s.String() 16542} 16543 16544// SetContainerName sets the ContainerName field's value. 16545func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 16546 s.ContainerName = &v 16547 return s 16548} 16549 16550// SetContainerPort sets the ContainerPort field's value. 16551func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 16552 s.ContainerPort = &v 16553 return s 16554} 16555 16556// SetPort sets the Port field's value. 16557func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 16558 s.Port = &v 16559 return s 16560} 16561 16562// SetRegistryArn sets the RegistryArn field's value. 16563func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 16564 s.RegistryArn = &v 16565 return s 16566} 16567 16568// The current account setting for a resource. 16569type Setting struct { 16570 _ struct{} `type:"structure"` 16571 16572 // The Amazon ECS resource name. 16573 Name *string `locationName:"name" type:"string" enum:"SettingName"` 16574 16575 // The ARN of the principal, which can be an IAM user, IAM role, or the root 16576 // user. If this field is omitted, the authenticated user is assumed. 16577 PrincipalArn *string `locationName:"principalArn" type:"string"` 16578 16579 // Whether the account setting is enabled or disabled for the specified resource. 16580 Value *string `locationName:"value" type:"string"` 16581} 16582 16583// String returns the string representation 16584func (s Setting) String() string { 16585 return awsutil.Prettify(s) 16586} 16587 16588// GoString returns the string representation 16589func (s Setting) GoString() string { 16590 return s.String() 16591} 16592 16593// SetName sets the Name field's value. 16594func (s *Setting) SetName(v string) *Setting { 16595 s.Name = &v 16596 return s 16597} 16598 16599// SetPrincipalArn sets the PrincipalArn field's value. 16600func (s *Setting) SetPrincipalArn(v string) *Setting { 16601 s.PrincipalArn = &v 16602 return s 16603} 16604 16605// SetValue sets the Value field's value. 16606func (s *Setting) SetValue(v string) *Setting { 16607 s.Value = &v 16608 return s 16609} 16610 16611type StartTaskInput struct { 16612 _ struct{} `type:"structure"` 16613 16614 // The short name or full Amazon Resource Name (ARN) of the cluster on which 16615 // to start your task. If you do not specify a cluster, the default cluster 16616 // is assumed. 16617 Cluster *string `locationName:"cluster" type:"string"` 16618 16619 // The container instance IDs or full ARN entries for the container instances 16620 // on which you would like to place your task. You can specify up to 10 container 16621 // instances. 16622 // 16623 // ContainerInstances is a required field 16624 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 16625 16626 // Specifies whether to enable Amazon ECS managed tags for the task. For more 16627 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16628 // in the Amazon Elastic Container Service Developer Guide. 16629 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16630 16631 // The name of the task group to associate with the task. The default value 16632 // is the family name of the task definition (for example, family:my-family-name). 16633 Group *string `locationName:"group" type:"string"` 16634 16635 // The VPC subnet and security group configuration for tasks that receive their 16636 // own elastic network interface by using the awsvpc networking mode. 16637 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16638 16639 // A list of container overrides in JSON format that specify the name of a container 16640 // in the specified task definition and the overrides it should receive. You 16641 // can override the default command for a container (that is specified in the 16642 // task definition or Docker image) with a command override. You can also override 16643 // existing environment variables (that are specified in the task definition 16644 // or Docker image) on a container or add new environment variables to it with 16645 // an environment override. 16646 // 16647 // A total of 8192 characters are allowed for overrides. This limit includes 16648 // the JSON formatting characters of the override structure. 16649 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 16650 16651 // Specifies whether to propagate the tags from the task definition or the service 16652 // to the task. If no value is specified, the tags are not propagated. 16653 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16654 16655 // The reference ID to use for the task. 16656 ReferenceId *string `locationName:"referenceId" type:"string"` 16657 16658 // An optional tag specified when a task is started. For example, if you automatically 16659 // trigger a task to run a batch process job, you could apply a unique identifier 16660 // for that job to your task with the startedBy parameter. You can then identify 16661 // which tasks belong to that job by filtering the results of a ListTasks call 16662 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 16663 // hyphens, and underscores are allowed. 16664 // 16665 // If a task is started by an Amazon ECS service, then the startedBy parameter 16666 // contains the deployment ID of the service that starts it. 16667 StartedBy *string `locationName:"startedBy" type:"string"` 16668 16669 // The metadata that you apply to the task to help you categorize and organize 16670 // them. Each tag consists of a key and an optional value, both of which you 16671 // define. 16672 // 16673 // The following basic restrictions apply to tags: 16674 // 16675 // * Maximum number of tags per resource - 50 16676 // 16677 // * For each resource, each tag key must be unique, and each tag key can 16678 // have only one value. 16679 // 16680 // * Maximum key length - 128 Unicode characters in UTF-8 16681 // 16682 // * Maximum value length - 256 Unicode characters in UTF-8 16683 // 16684 // * If your tagging schema is used across multiple services and resources, 16685 // remember that other services may have restrictions on allowed characters. 16686 // Generally allowed characters are: letters, numbers, and spaces representable 16687 // in UTF-8, and the following characters: + - = . _ : / @. 16688 // 16689 // * Tag keys and values are case-sensitive. 16690 // 16691 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16692 // as a prefix for either keys or values as it is reserved for AWS use. You 16693 // cannot edit or delete tag keys or values with this prefix. Tags with this 16694 // prefix do not count against your tags per resource limit. 16695 Tags []*Tag `locationName:"tags" type:"list"` 16696 16697 // The family and revision (family:revision) or full ARN of the task definition 16698 // to start. If a revision is not specified, the latest ACTIVE revision is used. 16699 // 16700 // TaskDefinition is a required field 16701 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 16702} 16703 16704// String returns the string representation 16705func (s StartTaskInput) String() string { 16706 return awsutil.Prettify(s) 16707} 16708 16709// GoString returns the string representation 16710func (s StartTaskInput) GoString() string { 16711 return s.String() 16712} 16713 16714// Validate inspects the fields of the type to determine if they are valid. 16715func (s *StartTaskInput) Validate() error { 16716 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 16717 if s.ContainerInstances == nil { 16718 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 16719 } 16720 if s.TaskDefinition == nil { 16721 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 16722 } 16723 if s.NetworkConfiguration != nil { 16724 if err := s.NetworkConfiguration.Validate(); err != nil { 16725 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 16726 } 16727 } 16728 if s.Overrides != nil { 16729 if err := s.Overrides.Validate(); err != nil { 16730 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 16731 } 16732 } 16733 if s.Tags != nil { 16734 for i, v := range s.Tags { 16735 if v == nil { 16736 continue 16737 } 16738 if err := v.Validate(); err != nil { 16739 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16740 } 16741 } 16742 } 16743 16744 if invalidParams.Len() > 0 { 16745 return invalidParams 16746 } 16747 return nil 16748} 16749 16750// SetCluster sets the Cluster field's value. 16751func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 16752 s.Cluster = &v 16753 return s 16754} 16755 16756// SetContainerInstances sets the ContainerInstances field's value. 16757func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 16758 s.ContainerInstances = v 16759 return s 16760} 16761 16762// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16763func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 16764 s.EnableECSManagedTags = &v 16765 return s 16766} 16767 16768// SetGroup sets the Group field's value. 16769func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 16770 s.Group = &v 16771 return s 16772} 16773 16774// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16775func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 16776 s.NetworkConfiguration = v 16777 return s 16778} 16779 16780// SetOverrides sets the Overrides field's value. 16781func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 16782 s.Overrides = v 16783 return s 16784} 16785 16786// SetPropagateTags sets the PropagateTags field's value. 16787func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 16788 s.PropagateTags = &v 16789 return s 16790} 16791 16792// SetReferenceId sets the ReferenceId field's value. 16793func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 16794 s.ReferenceId = &v 16795 return s 16796} 16797 16798// SetStartedBy sets the StartedBy field's value. 16799func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 16800 s.StartedBy = &v 16801 return s 16802} 16803 16804// SetTags sets the Tags field's value. 16805func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 16806 s.Tags = v 16807 return s 16808} 16809 16810// SetTaskDefinition sets the TaskDefinition field's value. 16811func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 16812 s.TaskDefinition = &v 16813 return s 16814} 16815 16816type StartTaskOutput struct { 16817 _ struct{} `type:"structure"` 16818 16819 // Any failures associated with the call. 16820 Failures []*Failure `locationName:"failures" type:"list"` 16821 16822 // A full description of the tasks that were started. Each task that was successfully 16823 // placed on your container instances is described. 16824 Tasks []*Task `locationName:"tasks" type:"list"` 16825} 16826 16827// String returns the string representation 16828func (s StartTaskOutput) String() string { 16829 return awsutil.Prettify(s) 16830} 16831 16832// GoString returns the string representation 16833func (s StartTaskOutput) GoString() string { 16834 return s.String() 16835} 16836 16837// SetFailures sets the Failures field's value. 16838func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 16839 s.Failures = v 16840 return s 16841} 16842 16843// SetTasks sets the Tasks field's value. 16844func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 16845 s.Tasks = v 16846 return s 16847} 16848 16849type StopTaskInput struct { 16850 _ struct{} `type:"structure"` 16851 16852 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 16853 // the task to stop. If you do not specify a cluster, the default cluster is 16854 // assumed. 16855 Cluster *string `locationName:"cluster" type:"string"` 16856 16857 // An optional message specified when a task is stopped. For example, if you 16858 // are using a custom scheduler, you can use this parameter to specify the reason 16859 // for stopping the task here, and the message appears in subsequent DescribeTasks 16860 // API operations on this task. Up to 255 characters are allowed in this message. 16861 Reason *string `locationName:"reason" type:"string"` 16862 16863 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 16864 // 16865 // Task is a required field 16866 Task *string `locationName:"task" type:"string" required:"true"` 16867} 16868 16869// String returns the string representation 16870func (s StopTaskInput) String() string { 16871 return awsutil.Prettify(s) 16872} 16873 16874// GoString returns the string representation 16875func (s StopTaskInput) GoString() string { 16876 return s.String() 16877} 16878 16879// Validate inspects the fields of the type to determine if they are valid. 16880func (s *StopTaskInput) Validate() error { 16881 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 16882 if s.Task == nil { 16883 invalidParams.Add(request.NewErrParamRequired("Task")) 16884 } 16885 16886 if invalidParams.Len() > 0 { 16887 return invalidParams 16888 } 16889 return nil 16890} 16891 16892// SetCluster sets the Cluster field's value. 16893func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 16894 s.Cluster = &v 16895 return s 16896} 16897 16898// SetReason sets the Reason field's value. 16899func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 16900 s.Reason = &v 16901 return s 16902} 16903 16904// SetTask sets the Task field's value. 16905func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 16906 s.Task = &v 16907 return s 16908} 16909 16910type StopTaskOutput struct { 16911 _ struct{} `type:"structure"` 16912 16913 // The task that was stopped. 16914 Task *Task `locationName:"task" type:"structure"` 16915} 16916 16917// String returns the string representation 16918func (s StopTaskOutput) String() string { 16919 return awsutil.Prettify(s) 16920} 16921 16922// GoString returns the string representation 16923func (s StopTaskOutput) GoString() string { 16924 return s.String() 16925} 16926 16927// SetTask sets the Task field's value. 16928func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 16929 s.Task = v 16930 return s 16931} 16932 16933type SubmitAttachmentStateChangesInput struct { 16934 _ struct{} `type:"structure"` 16935 16936 // Any attachments associated with the state change request. 16937 // 16938 // Attachments is a required field 16939 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 16940 16941 // The short name or full ARN of the cluster that hosts the container instance 16942 // the attachment belongs to. 16943 Cluster *string `locationName:"cluster" type:"string"` 16944} 16945 16946// String returns the string representation 16947func (s SubmitAttachmentStateChangesInput) String() string { 16948 return awsutil.Prettify(s) 16949} 16950 16951// GoString returns the string representation 16952func (s SubmitAttachmentStateChangesInput) GoString() string { 16953 return s.String() 16954} 16955 16956// Validate inspects the fields of the type to determine if they are valid. 16957func (s *SubmitAttachmentStateChangesInput) Validate() error { 16958 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 16959 if s.Attachments == nil { 16960 invalidParams.Add(request.NewErrParamRequired("Attachments")) 16961 } 16962 if s.Attachments != nil { 16963 for i, v := range s.Attachments { 16964 if v == nil { 16965 continue 16966 } 16967 if err := v.Validate(); err != nil { 16968 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 16969 } 16970 } 16971 } 16972 16973 if invalidParams.Len() > 0 { 16974 return invalidParams 16975 } 16976 return nil 16977} 16978 16979// SetAttachments sets the Attachments field's value. 16980func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 16981 s.Attachments = v 16982 return s 16983} 16984 16985// SetCluster sets the Cluster field's value. 16986func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 16987 s.Cluster = &v 16988 return s 16989} 16990 16991type SubmitAttachmentStateChangesOutput struct { 16992 _ struct{} `type:"structure"` 16993 16994 // Acknowledgement of the state change. 16995 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 16996} 16997 16998// String returns the string representation 16999func (s SubmitAttachmentStateChangesOutput) String() string { 17000 return awsutil.Prettify(s) 17001} 17002 17003// GoString returns the string representation 17004func (s SubmitAttachmentStateChangesOutput) GoString() string { 17005 return s.String() 17006} 17007 17008// SetAcknowledgment sets the Acknowledgment field's value. 17009func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 17010 s.Acknowledgment = &v 17011 return s 17012} 17013 17014type SubmitContainerStateChangeInput struct { 17015 _ struct{} `type:"structure"` 17016 17017 // The short name or full ARN of the cluster that hosts the container. 17018 Cluster *string `locationName:"cluster" type:"string"` 17019 17020 // The name of the container. 17021 ContainerName *string `locationName:"containerName" type:"string"` 17022 17023 // The exit code returned for the state change request. 17024 ExitCode *int64 `locationName:"exitCode" type:"integer"` 17025 17026 // The network bindings of the container. 17027 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 17028 17029 // The reason for the state change request. 17030 Reason *string `locationName:"reason" type:"string"` 17031 17032 // The ID of the Docker container. 17033 RuntimeId *string `locationName:"runtimeId" type:"string"` 17034 17035 // The status of the state change request. 17036 Status *string `locationName:"status" type:"string"` 17037 17038 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 17039 // container. 17040 Task *string `locationName:"task" type:"string"` 17041} 17042 17043// String returns the string representation 17044func (s SubmitContainerStateChangeInput) String() string { 17045 return awsutil.Prettify(s) 17046} 17047 17048// GoString returns the string representation 17049func (s SubmitContainerStateChangeInput) GoString() string { 17050 return s.String() 17051} 17052 17053// SetCluster sets the Cluster field's value. 17054func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 17055 s.Cluster = &v 17056 return s 17057} 17058 17059// SetContainerName sets the ContainerName field's value. 17060func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 17061 s.ContainerName = &v 17062 return s 17063} 17064 17065// SetExitCode sets the ExitCode field's value. 17066func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 17067 s.ExitCode = &v 17068 return s 17069} 17070 17071// SetNetworkBindings sets the NetworkBindings field's value. 17072func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 17073 s.NetworkBindings = v 17074 return s 17075} 17076 17077// SetReason sets the Reason field's value. 17078func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 17079 s.Reason = &v 17080 return s 17081} 17082 17083// SetRuntimeId sets the RuntimeId field's value. 17084func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 17085 s.RuntimeId = &v 17086 return s 17087} 17088 17089// SetStatus sets the Status field's value. 17090func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 17091 s.Status = &v 17092 return s 17093} 17094 17095// SetTask sets the Task field's value. 17096func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 17097 s.Task = &v 17098 return s 17099} 17100 17101type SubmitContainerStateChangeOutput struct { 17102 _ struct{} `type:"structure"` 17103 17104 // Acknowledgement of the state change. 17105 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17106} 17107 17108// String returns the string representation 17109func (s SubmitContainerStateChangeOutput) String() string { 17110 return awsutil.Prettify(s) 17111} 17112 17113// GoString returns the string representation 17114func (s SubmitContainerStateChangeOutput) GoString() string { 17115 return s.String() 17116} 17117 17118// SetAcknowledgment sets the Acknowledgment field's value. 17119func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 17120 s.Acknowledgment = &v 17121 return s 17122} 17123 17124type SubmitTaskStateChangeInput struct { 17125 _ struct{} `type:"structure"` 17126 17127 // Any attachments associated with the state change request. 17128 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 17129 17130 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17131 // the task. 17132 Cluster *string `locationName:"cluster" type:"string"` 17133 17134 // Any containers associated with the state change request. 17135 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 17136 17137 // The Unix timestamp for when the task execution stopped. 17138 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17139 17140 // The Unix timestamp for when the container image pull began. 17141 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17142 17143 // The Unix timestamp for when the container image pull completed. 17144 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17145 17146 // The reason for the state change request. 17147 Reason *string `locationName:"reason" type:"string"` 17148 17149 // The status of the state change request. 17150 Status *string `locationName:"status" type:"string"` 17151 17152 // The task ID or full ARN of the task in the state change request. 17153 Task *string `locationName:"task" type:"string"` 17154} 17155 17156// String returns the string representation 17157func (s SubmitTaskStateChangeInput) String() string { 17158 return awsutil.Prettify(s) 17159} 17160 17161// GoString returns the string representation 17162func (s SubmitTaskStateChangeInput) GoString() string { 17163 return s.String() 17164} 17165 17166// Validate inspects the fields of the type to determine if they are valid. 17167func (s *SubmitTaskStateChangeInput) Validate() error { 17168 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 17169 if s.Attachments != nil { 17170 for i, v := range s.Attachments { 17171 if v == nil { 17172 continue 17173 } 17174 if err := v.Validate(); err != nil { 17175 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 17176 } 17177 } 17178 } 17179 17180 if invalidParams.Len() > 0 { 17181 return invalidParams 17182 } 17183 return nil 17184} 17185 17186// SetAttachments sets the Attachments field's value. 17187func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 17188 s.Attachments = v 17189 return s 17190} 17191 17192// SetCluster sets the Cluster field's value. 17193func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 17194 s.Cluster = &v 17195 return s 17196} 17197 17198// SetContainers sets the Containers field's value. 17199func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 17200 s.Containers = v 17201 return s 17202} 17203 17204// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 17205func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17206 s.ExecutionStoppedAt = &v 17207 return s 17208} 17209 17210// SetPullStartedAt sets the PullStartedAt field's value. 17211func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 17212 s.PullStartedAt = &v 17213 return s 17214} 17215 17216// SetPullStoppedAt sets the PullStoppedAt field's value. 17217func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17218 s.PullStoppedAt = &v 17219 return s 17220} 17221 17222// SetReason sets the Reason field's value. 17223func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 17224 s.Reason = &v 17225 return s 17226} 17227 17228// SetStatus sets the Status field's value. 17229func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 17230 s.Status = &v 17231 return s 17232} 17233 17234// SetTask sets the Task field's value. 17235func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 17236 s.Task = &v 17237 return s 17238} 17239 17240type SubmitTaskStateChangeOutput struct { 17241 _ struct{} `type:"structure"` 17242 17243 // Acknowledgement of the state change. 17244 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17245} 17246 17247// String returns the string representation 17248func (s SubmitTaskStateChangeOutput) String() string { 17249 return awsutil.Prettify(s) 17250} 17251 17252// GoString returns the string representation 17253func (s SubmitTaskStateChangeOutput) GoString() string { 17254 return s.String() 17255} 17256 17257// SetAcknowledgment sets the Acknowledgment field's value. 17258func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 17259 s.Acknowledgment = &v 17260 return s 17261} 17262 17263// A list of namespaced kernel parameters to set in the container. This parameter 17264// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 17265// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 17266// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 17267// 17268// It is not recommended that you specify network-related systemControls parameters 17269// for multiple containers in a single task that also uses either the awsvpc 17270// or host network mode for the following reasons: 17271// 17272// * For tasks that use the awsvpc network mode, if you set systemControls 17273// for any container, it applies to all containers in the task. If you set 17274// different systemControls for multiple containers in a single task, the 17275// container that is started last determines which systemControls take effect. 17276// 17277// * For tasks that use the host network mode, the systemControls parameter 17278// applies to the container instance's kernel parameter as well as that of 17279// all containers of any tasks running on that container instance. 17280type SystemControl struct { 17281 _ struct{} `type:"structure"` 17282 17283 // The namespaced kernel parameter for which to set a value. 17284 Namespace *string `locationName:"namespace" type:"string"` 17285 17286 // The value for the namespaced kernel parameter specified in namespace. 17287 Value *string `locationName:"value" type:"string"` 17288} 17289 17290// String returns the string representation 17291func (s SystemControl) String() string { 17292 return awsutil.Prettify(s) 17293} 17294 17295// GoString returns the string representation 17296func (s SystemControl) GoString() string { 17297 return s.String() 17298} 17299 17300// SetNamespace sets the Namespace field's value. 17301func (s *SystemControl) SetNamespace(v string) *SystemControl { 17302 s.Namespace = &v 17303 return s 17304} 17305 17306// SetValue sets the Value field's value. 17307func (s *SystemControl) SetValue(v string) *SystemControl { 17308 s.Value = &v 17309 return s 17310} 17311 17312// The metadata that you apply to a resource to help you categorize and organize 17313// them. Each tag consists of a key and an optional value, both of which you 17314// define. 17315// 17316// The following basic restrictions apply to tags: 17317// 17318// * Maximum number of tags per resource - 50 17319// 17320// * For each resource, each tag key must be unique, and each tag key can 17321// have only one value. 17322// 17323// * Maximum key length - 128 Unicode characters in UTF-8 17324// 17325// * Maximum value length - 256 Unicode characters in UTF-8 17326// 17327// * If your tagging schema is used across multiple services and resources, 17328// remember that other services may have restrictions on allowed characters. 17329// Generally allowed characters are: letters, numbers, and spaces representable 17330// in UTF-8, and the following characters: + - = . _ : / @. 17331// 17332// * Tag keys and values are case-sensitive. 17333// 17334// * Do not use aws:, AWS:, or any upper or lowercase combination of such 17335// as a prefix for either keys or values as it is reserved for AWS use. You 17336// cannot edit or delete tag keys or values with this prefix. Tags with this 17337// prefix do not count against your tags per resource limit. 17338type Tag struct { 17339 _ struct{} `type:"structure"` 17340 17341 // One part of a key-value pair that make up a tag. A key is a general label 17342 // that acts like a category for more specific tag values. 17343 Key *string `locationName:"key" min:"1" type:"string"` 17344 17345 // The optional part of a key-value pair that make up a tag. A value acts as 17346 // a descriptor within a tag category (key). 17347 Value *string `locationName:"value" type:"string"` 17348} 17349 17350// String returns the string representation 17351func (s Tag) String() string { 17352 return awsutil.Prettify(s) 17353} 17354 17355// GoString returns the string representation 17356func (s Tag) GoString() string { 17357 return s.String() 17358} 17359 17360// Validate inspects the fields of the type to determine if they are valid. 17361func (s *Tag) Validate() error { 17362 invalidParams := request.ErrInvalidParams{Context: "Tag"} 17363 if s.Key != nil && len(*s.Key) < 1 { 17364 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17365 } 17366 17367 if invalidParams.Len() > 0 { 17368 return invalidParams 17369 } 17370 return nil 17371} 17372 17373// SetKey sets the Key field's value. 17374func (s *Tag) SetKey(v string) *Tag { 17375 s.Key = &v 17376 return s 17377} 17378 17379// SetValue sets the Value field's value. 17380func (s *Tag) SetValue(v string) *Tag { 17381 s.Value = &v 17382 return s 17383} 17384 17385type TagResourceInput struct { 17386 _ struct{} `type:"structure"` 17387 17388 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 17389 // the supported resources are Amazon ECS capacity providers, tasks, services, 17390 // task definitions, clusters, and container instances. 17391 // 17392 // ResourceArn is a required field 17393 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 17394 17395 // The tags to add to the resource. A tag is an array of key-value pairs. 17396 // 17397 // The following basic restrictions apply to tags: 17398 // 17399 // * Maximum number of tags per resource - 50 17400 // 17401 // * For each resource, each tag key must be unique, and each tag key can 17402 // have only one value. 17403 // 17404 // * Maximum key length - 128 Unicode characters in UTF-8 17405 // 17406 // * Maximum value length - 256 Unicode characters in UTF-8 17407 // 17408 // * If your tagging schema is used across multiple services and resources, 17409 // remember that other services may have restrictions on allowed characters. 17410 // Generally allowed characters are: letters, numbers, and spaces representable 17411 // in UTF-8, and the following characters: + - = . _ : / @. 17412 // 17413 // * Tag keys and values are case-sensitive. 17414 // 17415 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17416 // as a prefix for either keys or values as it is reserved for AWS use. You 17417 // cannot edit or delete tag keys or values with this prefix. Tags with this 17418 // prefix do not count against your tags per resource limit. 17419 // 17420 // Tags is a required field 17421 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 17422} 17423 17424// String returns the string representation 17425func (s TagResourceInput) String() string { 17426 return awsutil.Prettify(s) 17427} 17428 17429// GoString returns the string representation 17430func (s TagResourceInput) GoString() string { 17431 return s.String() 17432} 17433 17434// Validate inspects the fields of the type to determine if they are valid. 17435func (s *TagResourceInput) Validate() error { 17436 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 17437 if s.ResourceArn == nil { 17438 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 17439 } 17440 if s.Tags == nil { 17441 invalidParams.Add(request.NewErrParamRequired("Tags")) 17442 } 17443 if s.Tags != nil { 17444 for i, v := range s.Tags { 17445 if v == nil { 17446 continue 17447 } 17448 if err := v.Validate(); err != nil { 17449 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17450 } 17451 } 17452 } 17453 17454 if invalidParams.Len() > 0 { 17455 return invalidParams 17456 } 17457 return nil 17458} 17459 17460// SetResourceArn sets the ResourceArn field's value. 17461func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 17462 s.ResourceArn = &v 17463 return s 17464} 17465 17466// SetTags sets the Tags field's value. 17467func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 17468 s.Tags = v 17469 return s 17470} 17471 17472type TagResourceOutput struct { 17473 _ struct{} `type:"structure"` 17474} 17475 17476// String returns the string representation 17477func (s TagResourceOutput) String() string { 17478 return awsutil.Prettify(s) 17479} 17480 17481// GoString returns the string representation 17482func (s TagResourceOutput) GoString() string { 17483 return s.String() 17484} 17485 17486// The specified target could not be found. You can view your available container 17487// instances with ListContainerInstances. Amazon ECS container instances are 17488// cluster-specific and Region-specific. 17489type TargetNotFoundException struct { 17490 _ struct{} `type:"structure"` 17491 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17492 17493 Message_ *string `locationName:"message" type:"string"` 17494} 17495 17496// String returns the string representation 17497func (s TargetNotFoundException) String() string { 17498 return awsutil.Prettify(s) 17499} 17500 17501// GoString returns the string representation 17502func (s TargetNotFoundException) GoString() string { 17503 return s.String() 17504} 17505 17506func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error { 17507 return &TargetNotFoundException{ 17508 RespMetadata: v, 17509 } 17510} 17511 17512// Code returns the exception type name. 17513func (s *TargetNotFoundException) Code() string { 17514 return "TargetNotFoundException" 17515} 17516 17517// Message returns the exception's message. 17518func (s *TargetNotFoundException) Message() string { 17519 if s.Message_ != nil { 17520 return *s.Message_ 17521 } 17522 return "" 17523} 17524 17525// OrigErr always returns nil, satisfies awserr.Error interface. 17526func (s *TargetNotFoundException) OrigErr() error { 17527 return nil 17528} 17529 17530func (s *TargetNotFoundException) Error() string { 17531 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17532} 17533 17534// Status code returns the HTTP status code for the request's response error. 17535func (s *TargetNotFoundException) StatusCode() int { 17536 return s.RespMetadata.StatusCode 17537} 17538 17539// RequestID returns the service's response RequestID for request. 17540func (s *TargetNotFoundException) RequestID() string { 17541 return s.RespMetadata.RequestID 17542} 17543 17544// Details on a task in a cluster. 17545type Task struct { 17546 _ struct{} `type:"structure"` 17547 17548 // The Elastic Network Adapter associated with the task if the task uses the 17549 // awsvpc network mode. 17550 Attachments []*Attachment `locationName:"attachments" type:"list"` 17551 17552 // The attributes of the task 17553 Attributes []*Attribute `locationName:"attributes" type:"list"` 17554 17555 // The availability zone of the task. 17556 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 17557 17558 // The capacity provider associated with the task. 17559 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 17560 17561 // The ARN of the cluster that hosts the task. 17562 ClusterArn *string `locationName:"clusterArn" type:"string"` 17563 17564 // The connectivity status of a task. 17565 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 17566 17567 // The Unix timestamp for when the task last went into CONNECTED status. 17568 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 17569 17570 // The ARN of the container instances that host the task. 17571 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 17572 17573 // The containers associated with the task. 17574 Containers []*Container `locationName:"containers" type:"list"` 17575 17576 // The number of CPU units used by the task as expressed in a task definition. 17577 // It can be expressed as an integer using CPU units, for example 1024. It can 17578 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 17579 // String values are converted to an integer indicating the CPU units when the 17580 // task definition is registered. 17581 // 17582 // If you are using the EC2 launch type, this field is optional. Supported values 17583 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 17584 // 17585 // If you are using the Fargate launch type, this field is required and you 17586 // must use one of the following values, which determines your range of supported 17587 // values for the memory parameter: 17588 // 17589 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 17590 // 2048 (2 GB) 17591 // 17592 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 17593 // (3 GB), 4096 (4 GB) 17594 // 17595 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 17596 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 17597 // 17598 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 17599 // (16 GB) in increments of 1024 (1 GB) 17600 // 17601 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 17602 // (30 GB) in increments of 1024 (1 GB) 17603 Cpu *string `locationName:"cpu" type:"string"` 17604 17605 // The Unix timestamp for when the task was created (the task entered the PENDING 17606 // state). 17607 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 17608 17609 // The desired status of the task. For more information, see Task Lifecycle 17610 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17611 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 17612 17613 // The Unix timestamp for when the task execution stopped. 17614 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17615 17616 // The name of the task group associated with the task. 17617 Group *string `locationName:"group" type:"string"` 17618 17619 // The health status for the task, which is determined by the health of the 17620 // essential containers in the task. If all essential containers in the task 17621 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 17622 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 17623 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 17624 // 17625 // The Amazon ECS container agent does not monitor or report on Docker health 17626 // checks that are embedded in a container image (such as those specified in 17627 // a parent image or from the image's Dockerfile) and not specified in the container 17628 // definition. Health check parameters that are specified in a container definition 17629 // override any Docker health checks that exist in the container image. 17630 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 17631 17632 // The Elastic Inference accelerator associated with the task. 17633 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 17634 17635 // The last known status of the task. For more information, see Task Lifecycle 17636 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17637 LastStatus *string `locationName:"lastStatus" type:"string"` 17638 17639 // The launch type on which your task is running. For more information, see 17640 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 17641 // in the Amazon Elastic Container Service Developer Guide. 17642 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 17643 17644 // The amount of memory (in MiB) used by the task as expressed in a task definition. 17645 // It can be expressed as an integer using MiB, for example 1024. It can also 17646 // be expressed as a string using GB, for example 1GB or 1 GB. String values 17647 // are converted to an integer indicating the MiB when the task definition is 17648 // registered. 17649 // 17650 // If you are using the EC2 launch type, this field is optional. 17651 // 17652 // If you are using the Fargate launch type, this field is required and you 17653 // must use one of the following values, which determines your range of supported 17654 // values for the cpu parameter: 17655 // 17656 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 17657 // vCPU) 17658 // 17659 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 17660 // 512 (.5 vCPU) 17661 // 17662 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 17663 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 17664 // 17665 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 17666 // Available cpu values: 2048 (2 vCPU) 17667 // 17668 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 17669 // Available cpu values: 4096 (4 vCPU) 17670 Memory *string `locationName:"memory" type:"string"` 17671 17672 // One or more container overrides. 17673 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 17674 17675 // The platform version on which your task is running. A platform version is 17676 // only specified for tasks using the Fargate launch type. If one is not specified, 17677 // the LATEST platform version is used by default. For more information, see 17678 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 17679 // in the Amazon Elastic Container Service Developer Guide. 17680 PlatformVersion *string `locationName:"platformVersion" type:"string"` 17681 17682 // The Unix timestamp for when the container image pull began. 17683 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17684 17685 // The Unix timestamp for when the container image pull completed. 17686 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17687 17688 // The Unix timestamp for when the task started (the task transitioned from 17689 // the PENDING state to the RUNNING state). 17690 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 17691 17692 // The tag specified when a task is started. If the task is started by an Amazon 17693 // ECS service, then the startedBy parameter contains the deployment ID of the 17694 // service that starts it. 17695 StartedBy *string `locationName:"startedBy" type:"string"` 17696 17697 // The stop code indicating why a task was stopped. The stoppedReason may contain 17698 // additional details. 17699 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 17700 17701 // The Unix timestamp for when the task was stopped (the task transitioned from 17702 // the RUNNING state to the STOPPED state). 17703 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 17704 17705 // The reason that the task was stopped. 17706 StoppedReason *string `locationName:"stoppedReason" type:"string"` 17707 17708 // The Unix timestamp for when the task stops (transitions from the RUNNING 17709 // state to STOPPED). 17710 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 17711 17712 // The metadata that you apply to the task to help you categorize and organize 17713 // them. Each tag consists of a key and an optional value, both of which you 17714 // define. 17715 // 17716 // The following basic restrictions apply to tags: 17717 // 17718 // * Maximum number of tags per resource - 50 17719 // 17720 // * For each resource, each tag key must be unique, and each tag key can 17721 // have only one value. 17722 // 17723 // * Maximum key length - 128 Unicode characters in UTF-8 17724 // 17725 // * Maximum value length - 256 Unicode characters in UTF-8 17726 // 17727 // * If your tagging schema is used across multiple services and resources, 17728 // remember that other services may have restrictions on allowed characters. 17729 // Generally allowed characters are: letters, numbers, and spaces representable 17730 // in UTF-8, and the following characters: + - = . _ : / @. 17731 // 17732 // * Tag keys and values are case-sensitive. 17733 // 17734 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17735 // as a prefix for either keys or values as it is reserved for AWS use. You 17736 // cannot edit or delete tag keys or values with this prefix. Tags with this 17737 // prefix do not count against your tags per resource limit. 17738 Tags []*Tag `locationName:"tags" type:"list"` 17739 17740 // The Amazon Resource Name (ARN) of the task. 17741 TaskArn *string `locationName:"taskArn" type:"string"` 17742 17743 // The ARN of the task definition that creates the task. 17744 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 17745 17746 // The version counter for the task. Every time a task experiences a change 17747 // that triggers a CloudWatch event, the version counter is incremented. If 17748 // you are replicating your Amazon ECS task state with CloudWatch Events, you 17749 // can compare the version of a task reported by the Amazon ECS API actions 17750 // with the version reported in CloudWatch Events for the task (inside the detail 17751 // object) to verify that the version in your event stream is current. 17752 Version *int64 `locationName:"version" type:"long"` 17753} 17754 17755// String returns the string representation 17756func (s Task) String() string { 17757 return awsutil.Prettify(s) 17758} 17759 17760// GoString returns the string representation 17761func (s Task) GoString() string { 17762 return s.String() 17763} 17764 17765// SetAttachments sets the Attachments field's value. 17766func (s *Task) SetAttachments(v []*Attachment) *Task { 17767 s.Attachments = v 17768 return s 17769} 17770 17771// SetAttributes sets the Attributes field's value. 17772func (s *Task) SetAttributes(v []*Attribute) *Task { 17773 s.Attributes = v 17774 return s 17775} 17776 17777// SetAvailabilityZone sets the AvailabilityZone field's value. 17778func (s *Task) SetAvailabilityZone(v string) *Task { 17779 s.AvailabilityZone = &v 17780 return s 17781} 17782 17783// SetCapacityProviderName sets the CapacityProviderName field's value. 17784func (s *Task) SetCapacityProviderName(v string) *Task { 17785 s.CapacityProviderName = &v 17786 return s 17787} 17788 17789// SetClusterArn sets the ClusterArn field's value. 17790func (s *Task) SetClusterArn(v string) *Task { 17791 s.ClusterArn = &v 17792 return s 17793} 17794 17795// SetConnectivity sets the Connectivity field's value. 17796func (s *Task) SetConnectivity(v string) *Task { 17797 s.Connectivity = &v 17798 return s 17799} 17800 17801// SetConnectivityAt sets the ConnectivityAt field's value. 17802func (s *Task) SetConnectivityAt(v time.Time) *Task { 17803 s.ConnectivityAt = &v 17804 return s 17805} 17806 17807// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 17808func (s *Task) SetContainerInstanceArn(v string) *Task { 17809 s.ContainerInstanceArn = &v 17810 return s 17811} 17812 17813// SetContainers sets the Containers field's value. 17814func (s *Task) SetContainers(v []*Container) *Task { 17815 s.Containers = v 17816 return s 17817} 17818 17819// SetCpu sets the Cpu field's value. 17820func (s *Task) SetCpu(v string) *Task { 17821 s.Cpu = &v 17822 return s 17823} 17824 17825// SetCreatedAt sets the CreatedAt field's value. 17826func (s *Task) SetCreatedAt(v time.Time) *Task { 17827 s.CreatedAt = &v 17828 return s 17829} 17830 17831// SetDesiredStatus sets the DesiredStatus field's value. 17832func (s *Task) SetDesiredStatus(v string) *Task { 17833 s.DesiredStatus = &v 17834 return s 17835} 17836 17837// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 17838func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 17839 s.ExecutionStoppedAt = &v 17840 return s 17841} 17842 17843// SetGroup sets the Group field's value. 17844func (s *Task) SetGroup(v string) *Task { 17845 s.Group = &v 17846 return s 17847} 17848 17849// SetHealthStatus sets the HealthStatus field's value. 17850func (s *Task) SetHealthStatus(v string) *Task { 17851 s.HealthStatus = &v 17852 return s 17853} 17854 17855// SetInferenceAccelerators sets the InferenceAccelerators field's value. 17856func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 17857 s.InferenceAccelerators = v 17858 return s 17859} 17860 17861// SetLastStatus sets the LastStatus field's value. 17862func (s *Task) SetLastStatus(v string) *Task { 17863 s.LastStatus = &v 17864 return s 17865} 17866 17867// SetLaunchType sets the LaunchType field's value. 17868func (s *Task) SetLaunchType(v string) *Task { 17869 s.LaunchType = &v 17870 return s 17871} 17872 17873// SetMemory sets the Memory field's value. 17874func (s *Task) SetMemory(v string) *Task { 17875 s.Memory = &v 17876 return s 17877} 17878 17879// SetOverrides sets the Overrides field's value. 17880func (s *Task) SetOverrides(v *TaskOverride) *Task { 17881 s.Overrides = v 17882 return s 17883} 17884 17885// SetPlatformVersion sets the PlatformVersion field's value. 17886func (s *Task) SetPlatformVersion(v string) *Task { 17887 s.PlatformVersion = &v 17888 return s 17889} 17890 17891// SetPullStartedAt sets the PullStartedAt field's value. 17892func (s *Task) SetPullStartedAt(v time.Time) *Task { 17893 s.PullStartedAt = &v 17894 return s 17895} 17896 17897// SetPullStoppedAt sets the PullStoppedAt field's value. 17898func (s *Task) SetPullStoppedAt(v time.Time) *Task { 17899 s.PullStoppedAt = &v 17900 return s 17901} 17902 17903// SetStartedAt sets the StartedAt field's value. 17904func (s *Task) SetStartedAt(v time.Time) *Task { 17905 s.StartedAt = &v 17906 return s 17907} 17908 17909// SetStartedBy sets the StartedBy field's value. 17910func (s *Task) SetStartedBy(v string) *Task { 17911 s.StartedBy = &v 17912 return s 17913} 17914 17915// SetStopCode sets the StopCode field's value. 17916func (s *Task) SetStopCode(v string) *Task { 17917 s.StopCode = &v 17918 return s 17919} 17920 17921// SetStoppedAt sets the StoppedAt field's value. 17922func (s *Task) SetStoppedAt(v time.Time) *Task { 17923 s.StoppedAt = &v 17924 return s 17925} 17926 17927// SetStoppedReason sets the StoppedReason field's value. 17928func (s *Task) SetStoppedReason(v string) *Task { 17929 s.StoppedReason = &v 17930 return s 17931} 17932 17933// SetStoppingAt sets the StoppingAt field's value. 17934func (s *Task) SetStoppingAt(v time.Time) *Task { 17935 s.StoppingAt = &v 17936 return s 17937} 17938 17939// SetTags sets the Tags field's value. 17940func (s *Task) SetTags(v []*Tag) *Task { 17941 s.Tags = v 17942 return s 17943} 17944 17945// SetTaskArn sets the TaskArn field's value. 17946func (s *Task) SetTaskArn(v string) *Task { 17947 s.TaskArn = &v 17948 return s 17949} 17950 17951// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 17952func (s *Task) SetTaskDefinitionArn(v string) *Task { 17953 s.TaskDefinitionArn = &v 17954 return s 17955} 17956 17957// SetVersion sets the Version field's value. 17958func (s *Task) SetVersion(v int64) *Task { 17959 s.Version = &v 17960 return s 17961} 17962 17963// The details of a task definition which describes the container and volume 17964// definitions of an Amazon Elastic Container Service task. You can specify 17965// which Docker images to use, the required resources, and other configurations 17966// related to launching the task definition through an Amazon ECS service or 17967// task. 17968type TaskDefinition struct { 17969 _ struct{} `type:"structure"` 17970 17971 // The launch type to use with your task. For more information, see Amazon ECS 17972 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 17973 // in the Amazon Elastic Container Service Developer Guide. 17974 Compatibilities []*string `locationName:"compatibilities" type:"list"` 17975 17976 // A list of container definitions in JSON format that describe the different 17977 // containers that make up your task. For more information about container definition 17978 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 17979 // in the Amazon Elastic Container Service Developer Guide. 17980 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 17981 17982 // The number of cpu units used by the task. If you are using the EC2 launch 17983 // type, this field is optional and any value can be used. If you are using 17984 // the Fargate launch type, this field is required and you must use one of the 17985 // following values, which determines your range of valid values for the memory 17986 // parameter: 17987 // 17988 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 17989 // 2048 (2 GB) 17990 // 17991 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 17992 // (3 GB), 4096 (4 GB) 17993 // 17994 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 17995 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 17996 // 17997 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 17998 // (16 GB) in increments of 1024 (1 GB) 17999 // 18000 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 18001 // (30 GB) in increments of 1024 (1 GB) 18002 Cpu *string `locationName:"cpu" type:"string"` 18003 18004 // The Amazon Resource Name (ARN) of the task execution role that containers 18005 // in this task can assume. All containers in this task are granted the permissions 18006 // that are specified in this role. 18007 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18008 18009 // The name of a family that this task definition is registered to. Up to 255 18010 // letters (uppercase and lowercase), numbers, hyphens, and underscores are 18011 // allowed. 18012 // 18013 // A family groups multiple versions of a task definition. Amazon ECS gives 18014 // the first task definition that you registered to a family a revision number 18015 // of 1. Amazon ECS gives sequential revision numbers to each task definition 18016 // that you add. 18017 Family *string `locationName:"family" type:"string"` 18018 18019 // The Elastic Inference accelerator associated with the task. 18020 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 18021 18022 // The IPC resource namespace to use for the containers in the task. The valid 18023 // values are host, task, or none. If host is specified, then all containers 18024 // within the tasks that specified the host IPC mode on the same container instance 18025 // share the same IPC resources with the host Amazon EC2 instance. If task is 18026 // specified, all containers within the specified task share the same IPC resources. 18027 // If none is specified, then IPC resources within the containers of a task 18028 // are private and not shared with other containers in a task or on the container 18029 // instance. If no value is specified, then the IPC resource namespace sharing 18030 // depends on the Docker daemon setting on the container instance. For more 18031 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 18032 // in the Docker run reference. 18033 // 18034 // If the host IPC mode is used, be aware that there is a heightened risk of 18035 // undesired IPC namespace expose. For more information, see Docker security 18036 // (https://docs.docker.com/engine/security/security/). 18037 // 18038 // If you are setting namespaced kernel parameters using systemControls for 18039 // the containers in the task, the following will apply to your IPC resource 18040 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 18041 // in the Amazon Elastic Container Service Developer Guide. 18042 // 18043 // * For tasks that use the host IPC mode, IPC namespace related systemControls 18044 // are not supported. 18045 // 18046 // * For tasks that use the task IPC mode, IPC namespace related systemControls 18047 // will apply to all containers within a task. 18048 // 18049 // This parameter is not supported for Windows containers or tasks using the 18050 // Fargate launch type. 18051 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 18052 18053 // The amount (in MiB) of memory used by the task. 18054 // 18055 // If using the EC2 launch type, this field is optional and any value can be 18056 // used. If a task-level memory value is specified then the container-level 18057 // memory value is optional. 18058 // 18059 // If using the Fargate launch type, this field is required and you must use 18060 // one of the following values, which determines your range of valid values 18061 // for the cpu parameter: 18062 // 18063 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 18064 // vCPU) 18065 // 18066 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 18067 // 512 (.5 vCPU) 18068 // 18069 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 18070 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 18071 // 18072 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 18073 // Available cpu values: 2048 (2 vCPU) 18074 // 18075 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 18076 // Available cpu values: 4096 (4 vCPU) 18077 Memory *string `locationName:"memory" type:"string"` 18078 18079 // The Docker networking mode to use for the containers in the task. The valid 18080 // values are none, bridge, awsvpc, and host. The default Docker network mode 18081 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 18082 // is required. If you are using the EC2 launch type, any network mode can be 18083 // used. If the network mode is set to none, you cannot specify port mappings 18084 // in your container definitions, and the tasks containers do not have external 18085 // connectivity. The host and awsvpc network modes offer the highest networking 18086 // performance for containers because they use the EC2 network stack instead 18087 // of the virtualized network stack provided by the bridge mode. 18088 // 18089 // With the host and awsvpc network modes, exposed container ports are mapped 18090 // directly to the corresponding host port (for the host network mode) or the 18091 // attached elastic network interface port (for the awsvpc network mode), so 18092 // you cannot take advantage of dynamic host port mappings. 18093 // 18094 // If the network mode is awsvpc, the task is allocated an elastic network interface, 18095 // and you must specify a NetworkConfiguration value when you create a service 18096 // or run a task with the task definition. For more information, see Task Networking 18097 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 18098 // in the Amazon Elastic Container Service Developer Guide. 18099 // 18100 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 18101 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 18102 // mode. 18103 // 18104 // If the network mode is host, you cannot run multiple instantiations of the 18105 // same task on a single container instance when port mappings are used. 18106 // 18107 // Docker for Windows uses different network modes than Docker for Linux. When 18108 // you register a task definition with Windows containers, you must not specify 18109 // a network mode. If you use the console to register a task definition with 18110 // Windows containers, you must choose the <default> network mode object. 18111 // 18112 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 18113 // in the Docker run reference. 18114 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 18115 18116 // The process namespace to use for the containers in the task. The valid values 18117 // are host or task. If host is specified, then all containers within the tasks 18118 // that specified the host PID mode on the same container instance share the 18119 // same process namespace with the host Amazon EC2 instance. If task is specified, 18120 // all containers within the specified task share the same process namespace. 18121 // If no value is specified, the default is a private namespace. For more information, 18122 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 18123 // in the Docker run reference. 18124 // 18125 // If the host PID mode is used, be aware that there is a heightened risk of 18126 // undesired process namespace expose. For more information, see Docker security 18127 // (https://docs.docker.com/engine/security/security/). 18128 // 18129 // This parameter is not supported for Windows containers or tasks using the 18130 // Fargate launch type. 18131 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 18132 18133 // An array of placement constraint objects to use for tasks. This field is 18134 // not valid if you are using the Fargate launch type for your task. 18135 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 18136 18137 // The configuration details for the App Mesh proxy. 18138 // 18139 // Your Amazon ECS container instances require at least version 1.26.0 of the 18140 // container agent and at least version 1.26.0-1 of the ecs-init package to 18141 // enable a proxy configuration. If your container instances are launched from 18142 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 18143 // the required versions of the container agent and ecs-init. For more information, 18144 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 18145 // in the Amazon Elastic Container Service Developer Guide. 18146 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 18147 18148 // The container instance attributes required by your task. This field is not 18149 // valid if you are using the Fargate launch type for your task. 18150 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 18151 18152 // The launch type the task requires. If no value is specified, it will default 18153 // to EC2. Valid values include EC2 and FARGATE. 18154 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 18155 18156 // The revision of the task in a particular family. The revision is a version 18157 // number of a task definition in a family. When you register a task definition 18158 // for the first time, the revision is 1. Each time that you register a new 18159 // revision of a task definition in the same family, the revision value always 18160 // increases by one, even if you have deregistered previous revisions in this 18161 // family. 18162 Revision *int64 `locationName:"revision" type:"integer"` 18163 18164 // The status of the task definition. 18165 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 18166 18167 // The full Amazon Resource Name (ARN) of the task definition. 18168 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 18169 18170 // The short name or full Amazon Resource Name (ARN) of the AWS Identity and 18171 // Access Management (IAM) role that grants containers in the task permission 18172 // to call AWS APIs on your behalf. For more information, see Amazon ECS Task 18173 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 18174 // in the Amazon Elastic Container Service Developer Guide. 18175 // 18176 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 18177 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 18178 // must also run some configuration code in order to take advantage of the feature. 18179 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 18180 // in the Amazon Elastic Container Service Developer Guide. 18181 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18182 18183 // The list of volume definitions for the task. 18184 // 18185 // If your tasks are using the Fargate launch type, the host and sourcePath 18186 // parameters are not supported. 18187 // 18188 // For more information about volume definition parameters and defaults, see 18189 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 18190 // in the Amazon Elastic Container Service Developer Guide. 18191 Volumes []*Volume `locationName:"volumes" type:"list"` 18192} 18193 18194// String returns the string representation 18195func (s TaskDefinition) String() string { 18196 return awsutil.Prettify(s) 18197} 18198 18199// GoString returns the string representation 18200func (s TaskDefinition) GoString() string { 18201 return s.String() 18202} 18203 18204// SetCompatibilities sets the Compatibilities field's value. 18205func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 18206 s.Compatibilities = v 18207 return s 18208} 18209 18210// SetContainerDefinitions sets the ContainerDefinitions field's value. 18211func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 18212 s.ContainerDefinitions = v 18213 return s 18214} 18215 18216// SetCpu sets the Cpu field's value. 18217func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 18218 s.Cpu = &v 18219 return s 18220} 18221 18222// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18223func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 18224 s.ExecutionRoleArn = &v 18225 return s 18226} 18227 18228// SetFamily sets the Family field's value. 18229func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 18230 s.Family = &v 18231 return s 18232} 18233 18234// SetInferenceAccelerators sets the InferenceAccelerators field's value. 18235func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 18236 s.InferenceAccelerators = v 18237 return s 18238} 18239 18240// SetIpcMode sets the IpcMode field's value. 18241func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 18242 s.IpcMode = &v 18243 return s 18244} 18245 18246// SetMemory sets the Memory field's value. 18247func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 18248 s.Memory = &v 18249 return s 18250} 18251 18252// SetNetworkMode sets the NetworkMode field's value. 18253func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 18254 s.NetworkMode = &v 18255 return s 18256} 18257 18258// SetPidMode sets the PidMode field's value. 18259func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 18260 s.PidMode = &v 18261 return s 18262} 18263 18264// SetPlacementConstraints sets the PlacementConstraints field's value. 18265func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 18266 s.PlacementConstraints = v 18267 return s 18268} 18269 18270// SetProxyConfiguration sets the ProxyConfiguration field's value. 18271func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 18272 s.ProxyConfiguration = v 18273 return s 18274} 18275 18276// SetRequiresAttributes sets the RequiresAttributes field's value. 18277func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 18278 s.RequiresAttributes = v 18279 return s 18280} 18281 18282// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 18283func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 18284 s.RequiresCompatibilities = v 18285 return s 18286} 18287 18288// SetRevision sets the Revision field's value. 18289func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 18290 s.Revision = &v 18291 return s 18292} 18293 18294// SetStatus sets the Status field's value. 18295func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 18296 s.Status = &v 18297 return s 18298} 18299 18300// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 18301func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 18302 s.TaskDefinitionArn = &v 18303 return s 18304} 18305 18306// SetTaskRoleArn sets the TaskRoleArn field's value. 18307func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 18308 s.TaskRoleArn = &v 18309 return s 18310} 18311 18312// SetVolumes sets the Volumes field's value. 18313func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 18314 s.Volumes = v 18315 return s 18316} 18317 18318// An object representing a constraint on task placement in the task definition. 18319// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 18320// in the Amazon Elastic Container Service Developer Guide. 18321// 18322// If you are using the Fargate launch type, task placement constraints are 18323// not supported. 18324type TaskDefinitionPlacementConstraint struct { 18325 _ struct{} `type:"structure"` 18326 18327 // A cluster query language expression to apply to the constraint. For more 18328 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 18329 // in the Amazon Elastic Container Service Developer Guide. 18330 Expression *string `locationName:"expression" type:"string"` 18331 18332 // The type of constraint. The MemberOf constraint restricts selection to be 18333 // from a group of valid candidates. 18334 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 18335} 18336 18337// String returns the string representation 18338func (s TaskDefinitionPlacementConstraint) String() string { 18339 return awsutil.Prettify(s) 18340} 18341 18342// GoString returns the string representation 18343func (s TaskDefinitionPlacementConstraint) GoString() string { 18344 return s.String() 18345} 18346 18347// SetExpression sets the Expression field's value. 18348func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 18349 s.Expression = &v 18350 return s 18351} 18352 18353// SetType sets the Type field's value. 18354func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 18355 s.Type = &v 18356 return s 18357} 18358 18359// The overrides associated with a task. 18360type TaskOverride struct { 18361 _ struct{} `type:"structure"` 18362 18363 // One or more container overrides sent to a task. 18364 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 18365 18366 // The cpu override for the task. 18367 Cpu *string `locationName:"cpu" type:"string"` 18368 18369 // The Amazon Resource Name (ARN) of the task execution role that the Amazon 18370 // ECS container agent and the Docker daemon can assume. 18371 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18372 18373 // The Elastic Inference accelerator override for the task. 18374 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 18375 18376 // The memory override for the task. 18377 Memory *string `locationName:"memory" type:"string"` 18378 18379 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 18380 // can assume. All containers in this task are granted the permissions that 18381 // are specified in this role. 18382 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18383} 18384 18385// String returns the string representation 18386func (s TaskOverride) String() string { 18387 return awsutil.Prettify(s) 18388} 18389 18390// GoString returns the string representation 18391func (s TaskOverride) GoString() string { 18392 return s.String() 18393} 18394 18395// Validate inspects the fields of the type to determine if they are valid. 18396func (s *TaskOverride) Validate() error { 18397 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 18398 if s.ContainerOverrides != nil { 18399 for i, v := range s.ContainerOverrides { 18400 if v == nil { 18401 continue 18402 } 18403 if err := v.Validate(); err != nil { 18404 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 18405 } 18406 } 18407 } 18408 18409 if invalidParams.Len() > 0 { 18410 return invalidParams 18411 } 18412 return nil 18413} 18414 18415// SetContainerOverrides sets the ContainerOverrides field's value. 18416func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 18417 s.ContainerOverrides = v 18418 return s 18419} 18420 18421// SetCpu sets the Cpu field's value. 18422func (s *TaskOverride) SetCpu(v string) *TaskOverride { 18423 s.Cpu = &v 18424 return s 18425} 18426 18427// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18428func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 18429 s.ExecutionRoleArn = &v 18430 return s 18431} 18432 18433// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 18434func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 18435 s.InferenceAcceleratorOverrides = v 18436 return s 18437} 18438 18439// SetMemory sets the Memory field's value. 18440func (s *TaskOverride) SetMemory(v string) *TaskOverride { 18441 s.Memory = &v 18442 return s 18443} 18444 18445// SetTaskRoleArn sets the TaskRoleArn field's value. 18446func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 18447 s.TaskRoleArn = &v 18448 return s 18449} 18450 18451// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 18452// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 18453// desired number of tasks, how many tasks are running, and whether the task 18454// set serves production traffic. 18455type TaskSet struct { 18456 _ struct{} `type:"structure"` 18457 18458 // The capacity provider strategy associated with the task set. 18459 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 18460 18461 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 18462 // the task set exists in. 18463 ClusterArn *string `locationName:"clusterArn" type:"string"` 18464 18465 // The computed desired count for the task set. This is calculated by multiplying 18466 // the service's desiredCount by the task set's scale percentage. The result 18467 // is always rounded up. For example, if the computed desired count is 1.2, 18468 // it rounds up to 2 tasks. 18469 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 18470 18471 // The Unix timestamp for when the task set was created. 18472 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 18473 18474 // The external ID associated with the task set. 18475 // 18476 // If a task set is created by an AWS CodeDeploy deployment, the externalId 18477 // parameter contains the AWS CodeDeploy deployment ID. 18478 // 18479 // If a task set is created for an external deployment and is associated with 18480 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 18481 // AWS Cloud Map attribute. 18482 ExternalId *string `locationName:"externalId" type:"string"` 18483 18484 // The ID of the task set. 18485 Id *string `locationName:"id" type:"string"` 18486 18487 // The launch type the tasks in the task set are using. For more information, 18488 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18489 // in the Amazon Elastic Container Service Developer Guide. 18490 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 18491 18492 // Details on a load balancer that is used with a task set. 18493 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 18494 18495 // The network configuration for the task set. 18496 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 18497 18498 // The number of tasks in the task set that are in the PENDING status during 18499 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 18500 // state. A task set enters the PENDING status when it launches for the first 18501 // time or when it is restarted after being in the STOPPED state. 18502 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 18503 18504 // The platform version on which the tasks in the task set are running. A platform 18505 // version is only specified for tasks using the Fargate launch type. If one 18506 // is not specified, the LATEST platform version is used by default. For more 18507 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 18508 // in the Amazon Elastic Container Service Developer Guide. 18509 PlatformVersion *string `locationName:"platformVersion" type:"string"` 18510 18511 // The number of tasks in the task set that are in the RUNNING status during 18512 // a deployment. A task in the RUNNING state is running and ready for use. 18513 RunningCount *int64 `locationName:"runningCount" type:"integer"` 18514 18515 // A floating-point percentage of the desired number of tasks to place and keep 18516 // running in the task set. 18517 Scale *Scale `locationName:"scale" type:"structure"` 18518 18519 // The Amazon Resource Name (ARN) of the service the task set exists in. 18520 ServiceArn *string `locationName:"serviceArn" type:"string"` 18521 18522 // The details of the service discovery registries to assign to this task set. 18523 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 18524 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 18525 18526 // The stability status, which indicates whether the task set has reached a 18527 // steady state. If the following conditions are met, the task set will be in 18528 // STEADY_STATE: 18529 // 18530 // * The task runningCount is equal to the computedDesiredCount. 18531 // 18532 // * The pendingCount is 0. 18533 // 18534 // * There are no tasks running on container instances in the DRAINING status. 18535 // 18536 // * All tasks are reporting a healthy status from the load balancers, service 18537 // discovery, and container health checks. 18538 // 18539 // If any of those conditions are not met, the stability status returns STABILIZING. 18540 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 18541 18542 // The Unix timestamp for when the task set stability status was retrieved. 18543 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 18544 18545 // The tag specified when a task set is started. If the task set is created 18546 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 18547 // For a task set created for an external deployment, the startedBy field isn't 18548 // used. 18549 StartedBy *string `locationName:"startedBy" type:"string"` 18550 18551 // The status of the task set. The following describes each state: 18552 // 18553 // PRIMARY 18554 // 18555 // The task set is serving production traffic. 18556 // 18557 // ACTIVE 18558 // 18559 // The task set is not serving production traffic. 18560 // 18561 // DRAINING 18562 // 18563 // The tasks in the task set are being stopped and their corresponding targets 18564 // are being deregistered from their target group. 18565 Status *string `locationName:"status" type:"string"` 18566 18567 // The metadata that you apply to the task set to help you categorize and organize 18568 // them. Each tag consists of a key and an optional value, both of which you 18569 // define. 18570 // 18571 // The following basic restrictions apply to tags: 18572 // 18573 // * Maximum number of tags per resource - 50 18574 // 18575 // * For each resource, each tag key must be unique, and each tag key can 18576 // have only one value. 18577 // 18578 // * Maximum key length - 128 Unicode characters in UTF-8 18579 // 18580 // * Maximum value length - 256 Unicode characters in UTF-8 18581 // 18582 // * If your tagging schema is used across multiple services and resources, 18583 // remember that other services may have restrictions on allowed characters. 18584 // Generally allowed characters are: letters, numbers, and spaces representable 18585 // in UTF-8, and the following characters: + - = . _ : / @. 18586 // 18587 // * Tag keys and values are case-sensitive. 18588 // 18589 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18590 // as a prefix for either keys or values as it is reserved for AWS use. You 18591 // cannot edit or delete tag keys or values with this prefix. Tags with this 18592 // prefix do not count against your tags per resource limit. 18593 Tags []*Tag `locationName:"tags" type:"list"` 18594 18595 // The task definition the task set is using. 18596 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 18597 18598 // The Amazon Resource Name (ARN) of the task set. 18599 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 18600 18601 // The Unix timestamp for when the task set was last updated. 18602 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 18603} 18604 18605// String returns the string representation 18606func (s TaskSet) String() string { 18607 return awsutil.Prettify(s) 18608} 18609 18610// GoString returns the string representation 18611func (s TaskSet) GoString() string { 18612 return s.String() 18613} 18614 18615// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 18616func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 18617 s.CapacityProviderStrategy = v 18618 return s 18619} 18620 18621// SetClusterArn sets the ClusterArn field's value. 18622func (s *TaskSet) SetClusterArn(v string) *TaskSet { 18623 s.ClusterArn = &v 18624 return s 18625} 18626 18627// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 18628func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 18629 s.ComputedDesiredCount = &v 18630 return s 18631} 18632 18633// SetCreatedAt sets the CreatedAt field's value. 18634func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 18635 s.CreatedAt = &v 18636 return s 18637} 18638 18639// SetExternalId sets the ExternalId field's value. 18640func (s *TaskSet) SetExternalId(v string) *TaskSet { 18641 s.ExternalId = &v 18642 return s 18643} 18644 18645// SetId sets the Id field's value. 18646func (s *TaskSet) SetId(v string) *TaskSet { 18647 s.Id = &v 18648 return s 18649} 18650 18651// SetLaunchType sets the LaunchType field's value. 18652func (s *TaskSet) SetLaunchType(v string) *TaskSet { 18653 s.LaunchType = &v 18654 return s 18655} 18656 18657// SetLoadBalancers sets the LoadBalancers field's value. 18658func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 18659 s.LoadBalancers = v 18660 return s 18661} 18662 18663// SetNetworkConfiguration sets the NetworkConfiguration field's value. 18664func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 18665 s.NetworkConfiguration = v 18666 return s 18667} 18668 18669// SetPendingCount sets the PendingCount field's value. 18670func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 18671 s.PendingCount = &v 18672 return s 18673} 18674 18675// SetPlatformVersion sets the PlatformVersion field's value. 18676func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 18677 s.PlatformVersion = &v 18678 return s 18679} 18680 18681// SetRunningCount sets the RunningCount field's value. 18682func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 18683 s.RunningCount = &v 18684 return s 18685} 18686 18687// SetScale sets the Scale field's value. 18688func (s *TaskSet) SetScale(v *Scale) *TaskSet { 18689 s.Scale = v 18690 return s 18691} 18692 18693// SetServiceArn sets the ServiceArn field's value. 18694func (s *TaskSet) SetServiceArn(v string) *TaskSet { 18695 s.ServiceArn = &v 18696 return s 18697} 18698 18699// SetServiceRegistries sets the ServiceRegistries field's value. 18700func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 18701 s.ServiceRegistries = v 18702 return s 18703} 18704 18705// SetStabilityStatus sets the StabilityStatus field's value. 18706func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 18707 s.StabilityStatus = &v 18708 return s 18709} 18710 18711// SetStabilityStatusAt sets the StabilityStatusAt field's value. 18712func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 18713 s.StabilityStatusAt = &v 18714 return s 18715} 18716 18717// SetStartedBy sets the StartedBy field's value. 18718func (s *TaskSet) SetStartedBy(v string) *TaskSet { 18719 s.StartedBy = &v 18720 return s 18721} 18722 18723// SetStatus sets the Status field's value. 18724func (s *TaskSet) SetStatus(v string) *TaskSet { 18725 s.Status = &v 18726 return s 18727} 18728 18729// SetTags sets the Tags field's value. 18730func (s *TaskSet) SetTags(v []*Tag) *TaskSet { 18731 s.Tags = v 18732 return s 18733} 18734 18735// SetTaskDefinition sets the TaskDefinition field's value. 18736func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 18737 s.TaskDefinition = &v 18738 return s 18739} 18740 18741// SetTaskSetArn sets the TaskSetArn field's value. 18742func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 18743 s.TaskSetArn = &v 18744 return s 18745} 18746 18747// SetUpdatedAt sets the UpdatedAt field's value. 18748func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 18749 s.UpdatedAt = &v 18750 return s 18751} 18752 18753// The specified task set could not be found. You can view your available task 18754// sets with DescribeTaskSets. Task sets are specific to each cluster, service 18755// and Region. 18756type TaskSetNotFoundException struct { 18757 _ struct{} `type:"structure"` 18758 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18759 18760 Message_ *string `locationName:"message" type:"string"` 18761} 18762 18763// String returns the string representation 18764func (s TaskSetNotFoundException) String() string { 18765 return awsutil.Prettify(s) 18766} 18767 18768// GoString returns the string representation 18769func (s TaskSetNotFoundException) GoString() string { 18770 return s.String() 18771} 18772 18773func newErrorTaskSetNotFoundException(v protocol.ResponseMetadata) error { 18774 return &TaskSetNotFoundException{ 18775 RespMetadata: v, 18776 } 18777} 18778 18779// Code returns the exception type name. 18780func (s *TaskSetNotFoundException) Code() string { 18781 return "TaskSetNotFoundException" 18782} 18783 18784// Message returns the exception's message. 18785func (s *TaskSetNotFoundException) Message() string { 18786 if s.Message_ != nil { 18787 return *s.Message_ 18788 } 18789 return "" 18790} 18791 18792// OrigErr always returns nil, satisfies awserr.Error interface. 18793func (s *TaskSetNotFoundException) OrigErr() error { 18794 return nil 18795} 18796 18797func (s *TaskSetNotFoundException) Error() string { 18798 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18799} 18800 18801// Status code returns the HTTP status code for the request's response error. 18802func (s *TaskSetNotFoundException) StatusCode() int { 18803 return s.RespMetadata.StatusCode 18804} 18805 18806// RequestID returns the service's response RequestID for request. 18807func (s *TaskSetNotFoundException) RequestID() string { 18808 return s.RespMetadata.RequestID 18809} 18810 18811// The container path, mount options, and size of the tmpfs mount. 18812type Tmpfs struct { 18813 _ struct{} `type:"structure"` 18814 18815 // The absolute file path where the tmpfs volume is to be mounted. 18816 // 18817 // ContainerPath is a required field 18818 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 18819 18820 // The list of tmpfs volume mount options. 18821 // 18822 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 18823 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 18824 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 18825 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 18826 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 18827 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 18828 MountOptions []*string `locationName:"mountOptions" type:"list"` 18829 18830 // The size (in MiB) of the tmpfs volume. 18831 // 18832 // Size is a required field 18833 Size *int64 `locationName:"size" type:"integer" required:"true"` 18834} 18835 18836// String returns the string representation 18837func (s Tmpfs) String() string { 18838 return awsutil.Prettify(s) 18839} 18840 18841// GoString returns the string representation 18842func (s Tmpfs) GoString() string { 18843 return s.String() 18844} 18845 18846// Validate inspects the fields of the type to determine if they are valid. 18847func (s *Tmpfs) Validate() error { 18848 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 18849 if s.ContainerPath == nil { 18850 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 18851 } 18852 if s.Size == nil { 18853 invalidParams.Add(request.NewErrParamRequired("Size")) 18854 } 18855 18856 if invalidParams.Len() > 0 { 18857 return invalidParams 18858 } 18859 return nil 18860} 18861 18862// SetContainerPath sets the ContainerPath field's value. 18863func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 18864 s.ContainerPath = &v 18865 return s 18866} 18867 18868// SetMountOptions sets the MountOptions field's value. 18869func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 18870 s.MountOptions = v 18871 return s 18872} 18873 18874// SetSize sets the Size field's value. 18875func (s *Tmpfs) SetSize(v int64) *Tmpfs { 18876 s.Size = &v 18877 return s 18878} 18879 18880// The ulimit settings to pass to the container. 18881type Ulimit struct { 18882 _ struct{} `type:"structure"` 18883 18884 // The hard limit for the ulimit type. 18885 // 18886 // HardLimit is a required field 18887 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 18888 18889 // The type of the ulimit. 18890 // 18891 // Name is a required field 18892 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 18893 18894 // The soft limit for the ulimit type. 18895 // 18896 // SoftLimit is a required field 18897 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 18898} 18899 18900// String returns the string representation 18901func (s Ulimit) String() string { 18902 return awsutil.Prettify(s) 18903} 18904 18905// GoString returns the string representation 18906func (s Ulimit) GoString() string { 18907 return s.String() 18908} 18909 18910// Validate inspects the fields of the type to determine if they are valid. 18911func (s *Ulimit) Validate() error { 18912 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 18913 if s.HardLimit == nil { 18914 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 18915 } 18916 if s.Name == nil { 18917 invalidParams.Add(request.NewErrParamRequired("Name")) 18918 } 18919 if s.SoftLimit == nil { 18920 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 18921 } 18922 18923 if invalidParams.Len() > 0 { 18924 return invalidParams 18925 } 18926 return nil 18927} 18928 18929// SetHardLimit sets the HardLimit field's value. 18930func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 18931 s.HardLimit = &v 18932 return s 18933} 18934 18935// SetName sets the Name field's value. 18936func (s *Ulimit) SetName(v string) *Ulimit { 18937 s.Name = &v 18938 return s 18939} 18940 18941// SetSoftLimit sets the SoftLimit field's value. 18942func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 18943 s.SoftLimit = &v 18944 return s 18945} 18946 18947// The specified task is not supported in this Region. 18948type UnsupportedFeatureException struct { 18949 _ struct{} `type:"structure"` 18950 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18951 18952 Message_ *string `locationName:"message" type:"string"` 18953} 18954 18955// String returns the string representation 18956func (s UnsupportedFeatureException) String() string { 18957 return awsutil.Prettify(s) 18958} 18959 18960// GoString returns the string representation 18961func (s UnsupportedFeatureException) GoString() string { 18962 return s.String() 18963} 18964 18965func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error { 18966 return &UnsupportedFeatureException{ 18967 RespMetadata: v, 18968 } 18969} 18970 18971// Code returns the exception type name. 18972func (s *UnsupportedFeatureException) Code() string { 18973 return "UnsupportedFeatureException" 18974} 18975 18976// Message returns the exception's message. 18977func (s *UnsupportedFeatureException) Message() string { 18978 if s.Message_ != nil { 18979 return *s.Message_ 18980 } 18981 return "" 18982} 18983 18984// OrigErr always returns nil, satisfies awserr.Error interface. 18985func (s *UnsupportedFeatureException) OrigErr() error { 18986 return nil 18987} 18988 18989func (s *UnsupportedFeatureException) Error() string { 18990 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 18991} 18992 18993// Status code returns the HTTP status code for the request's response error. 18994func (s *UnsupportedFeatureException) StatusCode() int { 18995 return s.RespMetadata.StatusCode 18996} 18997 18998// RequestID returns the service's response RequestID for request. 18999func (s *UnsupportedFeatureException) RequestID() string { 19000 return s.RespMetadata.RequestID 19001} 19002 19003type UntagResourceInput struct { 19004 _ struct{} `type:"structure"` 19005 19006 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 19007 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 19008 // services, task definitions, clusters, and container instances. 19009 // 19010 // ResourceArn is a required field 19011 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 19012 19013 // The keys of the tags to be removed. 19014 // 19015 // TagKeys is a required field 19016 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 19017} 19018 19019// String returns the string representation 19020func (s UntagResourceInput) String() string { 19021 return awsutil.Prettify(s) 19022} 19023 19024// GoString returns the string representation 19025func (s UntagResourceInput) GoString() string { 19026 return s.String() 19027} 19028 19029// Validate inspects the fields of the type to determine if they are valid. 19030func (s *UntagResourceInput) Validate() error { 19031 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 19032 if s.ResourceArn == nil { 19033 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 19034 } 19035 if s.TagKeys == nil { 19036 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 19037 } 19038 19039 if invalidParams.Len() > 0 { 19040 return invalidParams 19041 } 19042 return nil 19043} 19044 19045// SetResourceArn sets the ResourceArn field's value. 19046func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 19047 s.ResourceArn = &v 19048 return s 19049} 19050 19051// SetTagKeys sets the TagKeys field's value. 19052func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 19053 s.TagKeys = v 19054 return s 19055} 19056 19057type UntagResourceOutput struct { 19058 _ struct{} `type:"structure"` 19059} 19060 19061// String returns the string representation 19062func (s UntagResourceOutput) String() string { 19063 return awsutil.Prettify(s) 19064} 19065 19066// GoString returns the string representation 19067func (s UntagResourceOutput) GoString() string { 19068 return s.String() 19069} 19070 19071type UpdateClusterSettingsInput struct { 19072 _ struct{} `type:"structure"` 19073 19074 // The name of the cluster to modify the settings for. 19075 // 19076 // Cluster is a required field 19077 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19078 19079 // The setting to use by default for a cluster. This parameter is used to enable 19080 // CloudWatch Container Insights for a cluster. If this value is specified, 19081 // it will override the containerInsights value set with PutAccountSetting or 19082 // PutAccountSettingDefault. 19083 // 19084 // Settings is a required field 19085 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 19086} 19087 19088// String returns the string representation 19089func (s UpdateClusterSettingsInput) String() string { 19090 return awsutil.Prettify(s) 19091} 19092 19093// GoString returns the string representation 19094func (s UpdateClusterSettingsInput) GoString() string { 19095 return s.String() 19096} 19097 19098// Validate inspects the fields of the type to determine if they are valid. 19099func (s *UpdateClusterSettingsInput) Validate() error { 19100 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 19101 if s.Cluster == nil { 19102 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19103 } 19104 if s.Settings == nil { 19105 invalidParams.Add(request.NewErrParamRequired("Settings")) 19106 } 19107 19108 if invalidParams.Len() > 0 { 19109 return invalidParams 19110 } 19111 return nil 19112} 19113 19114// SetCluster sets the Cluster field's value. 19115func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 19116 s.Cluster = &v 19117 return s 19118} 19119 19120// SetSettings sets the Settings field's value. 19121func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 19122 s.Settings = v 19123 return s 19124} 19125 19126type UpdateClusterSettingsOutput struct { 19127 _ struct{} `type:"structure"` 19128 19129 // A regional grouping of one or more container instances on which you can run 19130 // task requests. Each account receives a default cluster the first time you 19131 // use the Amazon ECS service, but you may also create other clusters. Clusters 19132 // may contain more than one instance type simultaneously. 19133 Cluster *Cluster `locationName:"cluster" type:"structure"` 19134} 19135 19136// String returns the string representation 19137func (s UpdateClusterSettingsOutput) String() string { 19138 return awsutil.Prettify(s) 19139} 19140 19141// GoString returns the string representation 19142func (s UpdateClusterSettingsOutput) GoString() string { 19143 return s.String() 19144} 19145 19146// SetCluster sets the Cluster field's value. 19147func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 19148 s.Cluster = v 19149 return s 19150} 19151 19152type UpdateContainerAgentInput struct { 19153 _ struct{} `type:"structure"` 19154 19155 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19156 // container instance is running on. If you do not specify a cluster, the default 19157 // cluster is assumed. 19158 Cluster *string `locationName:"cluster" type:"string"` 19159 19160 // The container instance ID or full ARN entries for the container instance 19161 // on which you would like to update the Amazon ECS container agent. 19162 // 19163 // ContainerInstance is a required field 19164 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 19165} 19166 19167// String returns the string representation 19168func (s UpdateContainerAgentInput) String() string { 19169 return awsutil.Prettify(s) 19170} 19171 19172// GoString returns the string representation 19173func (s UpdateContainerAgentInput) GoString() string { 19174 return s.String() 19175} 19176 19177// Validate inspects the fields of the type to determine if they are valid. 19178func (s *UpdateContainerAgentInput) Validate() error { 19179 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 19180 if s.ContainerInstance == nil { 19181 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 19182 } 19183 19184 if invalidParams.Len() > 0 { 19185 return invalidParams 19186 } 19187 return nil 19188} 19189 19190// SetCluster sets the Cluster field's value. 19191func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 19192 s.Cluster = &v 19193 return s 19194} 19195 19196// SetContainerInstance sets the ContainerInstance field's value. 19197func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 19198 s.ContainerInstance = &v 19199 return s 19200} 19201 19202type UpdateContainerAgentOutput struct { 19203 _ struct{} `type:"structure"` 19204 19205 // The container instance for which the container agent was updated. 19206 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 19207} 19208 19209// String returns the string representation 19210func (s UpdateContainerAgentOutput) String() string { 19211 return awsutil.Prettify(s) 19212} 19213 19214// GoString returns the string representation 19215func (s UpdateContainerAgentOutput) GoString() string { 19216 return s.String() 19217} 19218 19219// SetContainerInstance sets the ContainerInstance field's value. 19220func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 19221 s.ContainerInstance = v 19222 return s 19223} 19224 19225type UpdateContainerInstancesStateInput struct { 19226 _ struct{} `type:"structure"` 19227 19228 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19229 // the container instance to update. If you do not specify a cluster, the default 19230 // cluster is assumed. 19231 Cluster *string `locationName:"cluster" type:"string"` 19232 19233 // A list of container instance IDs or full ARN entries. 19234 // 19235 // ContainerInstances is a required field 19236 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 19237 19238 // The container instance state with which to update the container instance. 19239 // The only valid values for this action are ACTIVE and DRAINING. A container 19240 // instance can only be updated to DRAINING status once it has reached an ACTIVE 19241 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 19242 // state you can describe the container instance but will be unable to update 19243 // the container instance state. 19244 // 19245 // Status is a required field 19246 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 19247} 19248 19249// String returns the string representation 19250func (s UpdateContainerInstancesStateInput) String() string { 19251 return awsutil.Prettify(s) 19252} 19253 19254// GoString returns the string representation 19255func (s UpdateContainerInstancesStateInput) GoString() string { 19256 return s.String() 19257} 19258 19259// Validate inspects the fields of the type to determine if they are valid. 19260func (s *UpdateContainerInstancesStateInput) Validate() error { 19261 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 19262 if s.ContainerInstances == nil { 19263 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 19264 } 19265 if s.Status == nil { 19266 invalidParams.Add(request.NewErrParamRequired("Status")) 19267 } 19268 19269 if invalidParams.Len() > 0 { 19270 return invalidParams 19271 } 19272 return nil 19273} 19274 19275// SetCluster sets the Cluster field's value. 19276func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 19277 s.Cluster = &v 19278 return s 19279} 19280 19281// SetContainerInstances sets the ContainerInstances field's value. 19282func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 19283 s.ContainerInstances = v 19284 return s 19285} 19286 19287// SetStatus sets the Status field's value. 19288func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 19289 s.Status = &v 19290 return s 19291} 19292 19293type UpdateContainerInstancesStateOutput struct { 19294 _ struct{} `type:"structure"` 19295 19296 // The list of container instances. 19297 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 19298 19299 // Any failures associated with the call. 19300 Failures []*Failure `locationName:"failures" type:"list"` 19301} 19302 19303// String returns the string representation 19304func (s UpdateContainerInstancesStateOutput) String() string { 19305 return awsutil.Prettify(s) 19306} 19307 19308// GoString returns the string representation 19309func (s UpdateContainerInstancesStateOutput) GoString() string { 19310 return s.String() 19311} 19312 19313// SetContainerInstances sets the ContainerInstances field's value. 19314func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 19315 s.ContainerInstances = v 19316 return s 19317} 19318 19319// SetFailures sets the Failures field's value. 19320func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 19321 s.Failures = v 19322 return s 19323} 19324 19325// There is already a current Amazon ECS container agent update in progress 19326// on the specified container instance. If the container agent becomes disconnected 19327// while it is in a transitional stage, such as PENDING or STAGING, the update 19328// process can get stuck in that state. However, when the agent reconnects, 19329// it resumes where it stopped previously. 19330type UpdateInProgressException struct { 19331 _ struct{} `type:"structure"` 19332 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19333 19334 Message_ *string `locationName:"message" type:"string"` 19335} 19336 19337// String returns the string representation 19338func (s UpdateInProgressException) String() string { 19339 return awsutil.Prettify(s) 19340} 19341 19342// GoString returns the string representation 19343func (s UpdateInProgressException) GoString() string { 19344 return s.String() 19345} 19346 19347func newErrorUpdateInProgressException(v protocol.ResponseMetadata) error { 19348 return &UpdateInProgressException{ 19349 RespMetadata: v, 19350 } 19351} 19352 19353// Code returns the exception type name. 19354func (s *UpdateInProgressException) Code() string { 19355 return "UpdateInProgressException" 19356} 19357 19358// Message returns the exception's message. 19359func (s *UpdateInProgressException) Message() string { 19360 if s.Message_ != nil { 19361 return *s.Message_ 19362 } 19363 return "" 19364} 19365 19366// OrigErr always returns nil, satisfies awserr.Error interface. 19367func (s *UpdateInProgressException) OrigErr() error { 19368 return nil 19369} 19370 19371func (s *UpdateInProgressException) Error() string { 19372 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19373} 19374 19375// Status code returns the HTTP status code for the request's response error. 19376func (s *UpdateInProgressException) StatusCode() int { 19377 return s.RespMetadata.StatusCode 19378} 19379 19380// RequestID returns the service's response RequestID for request. 19381func (s *UpdateInProgressException) RequestID() string { 19382 return s.RespMetadata.RequestID 19383} 19384 19385type UpdateServiceInput struct { 19386 _ struct{} `type:"structure"` 19387 19388 // The capacity provider strategy to update the service to use. 19389 // 19390 // If the service is using the default capacity provider strategy for the cluster, 19391 // the service can be updated to use one or more capacity providers as opposed 19392 // to the default capacity provider strategy. However, when a service is using 19393 // a capacity provider strategy that is not the default capacity provider strategy, 19394 // the service cannot be updated to use the cluster's default capacity provider 19395 // strategy. 19396 // 19397 // A capacity provider strategy consists of one or more capacity providers along 19398 // with the base and weight to assign to them. A capacity provider must be associated 19399 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 19400 // API is used to associate a capacity provider with a cluster. Only capacity 19401 // providers with an ACTIVE or UPDATING status can be used. 19402 // 19403 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 19404 // provider must already be created. New capacity providers can be created with 19405 // the CreateCapacityProvider API operation. 19406 // 19407 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 19408 // capacity providers. The AWS Fargate capacity providers are available to all 19409 // accounts and only need to be associated with a cluster to be used. 19410 // 19411 // The PutClusterCapacityProviders API operation is used to update the list 19412 // of available capacity providers for a cluster after the cluster is created. 19413 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 19414 19415 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19416 // service is running on. If you do not specify a cluster, the default cluster 19417 // is assumed. 19418 Cluster *string `locationName:"cluster" type:"string"` 19419 19420 // Optional deployment parameters that control how many tasks run during the 19421 // deployment and the ordering of stopping and starting tasks. 19422 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 19423 19424 // The number of instantiations of the task to place and keep running in your 19425 // service. 19426 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 19427 19428 // Whether to force a new deployment of the service. Deployments are not forced 19429 // by default. You can use this option to trigger a new deployment with no service 19430 // definition changes. For example, you can update a service's tasks to use 19431 // a newer Docker image with the same image/tag combination (my_image:latest) 19432 // or to roll Fargate tasks onto a newer platform version. 19433 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 19434 19435 // The period of time, in seconds, that the Amazon ECS service scheduler should 19436 // ignore unhealthy Elastic Load Balancing target health checks after a task 19437 // has first started. This is only valid if your service is configured to use 19438 // a load balancer. If your service's tasks take a while to start and respond 19439 // to Elastic Load Balancing health checks, you can specify a health check grace 19440 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 19441 // scheduler ignores the Elastic Load Balancing health check status. This grace 19442 // period can prevent the ECS service scheduler from marking tasks as unhealthy 19443 // and stopping them before they have time to come up. 19444 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 19445 19446 // An object representing the network configuration for a task or service. 19447 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 19448 19449 // An array of task placement constraint objects to update the service to use. 19450 // If no value is specified, the existing placement constraints for the service 19451 // will remain unchanged. If this value is specified, it will override any existing 19452 // placement constraints defined for the service. To remove all existing placement 19453 // constraints, specify an empty array. 19454 // 19455 // You can specify a maximum of 10 constraints per task (this limit includes 19456 // constraints in the task definition and those specified at runtime). 19457 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 19458 19459 // The task placement strategy objects to update the service to use. If no value 19460 // is specified, the existing placement strategy for the service will remain 19461 // unchanged. If this value is specified, it will override the existing placement 19462 // strategy defined for the service. To remove an existing placement strategy, 19463 // specify an empty object. 19464 // 19465 // You can specify a maximum of five strategy rules per service. 19466 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 19467 19468 // The platform version on which your tasks in the service are running. A platform 19469 // version is only specified for tasks using the Fargate launch type. If a platform 19470 // version is not specified, the LATEST platform version is used by default. 19471 // For more information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 19472 // in the Amazon Elastic Container Service Developer Guide. 19473 PlatformVersion *string `locationName:"platformVersion" type:"string"` 19474 19475 // The name of the service to update. 19476 // 19477 // Service is a required field 19478 Service *string `locationName:"service" type:"string" required:"true"` 19479 19480 // The family and revision (family:revision) or full ARN of the task definition 19481 // to run in your service. If a revision is not specified, the latest ACTIVE 19482 // revision is used. If you modify the task definition with UpdateService, Amazon 19483 // ECS spawns a task with the new version of the task definition and then stops 19484 // an old task after the new version is running. 19485 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 19486} 19487 19488// String returns the string representation 19489func (s UpdateServiceInput) String() string { 19490 return awsutil.Prettify(s) 19491} 19492 19493// GoString returns the string representation 19494func (s UpdateServiceInput) GoString() string { 19495 return s.String() 19496} 19497 19498// Validate inspects the fields of the type to determine if they are valid. 19499func (s *UpdateServiceInput) Validate() error { 19500 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 19501 if s.Service == nil { 19502 invalidParams.Add(request.NewErrParamRequired("Service")) 19503 } 19504 if s.CapacityProviderStrategy != nil { 19505 for i, v := range s.CapacityProviderStrategy { 19506 if v == nil { 19507 continue 19508 } 19509 if err := v.Validate(); err != nil { 19510 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 19511 } 19512 } 19513 } 19514 if s.NetworkConfiguration != nil { 19515 if err := s.NetworkConfiguration.Validate(); err != nil { 19516 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 19517 } 19518 } 19519 19520 if invalidParams.Len() > 0 { 19521 return invalidParams 19522 } 19523 return nil 19524} 19525 19526// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 19527func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 19528 s.CapacityProviderStrategy = v 19529 return s 19530} 19531 19532// SetCluster sets the Cluster field's value. 19533func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 19534 s.Cluster = &v 19535 return s 19536} 19537 19538// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 19539func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 19540 s.DeploymentConfiguration = v 19541 return s 19542} 19543 19544// SetDesiredCount sets the DesiredCount field's value. 19545func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 19546 s.DesiredCount = &v 19547 return s 19548} 19549 19550// SetForceNewDeployment sets the ForceNewDeployment field's value. 19551func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 19552 s.ForceNewDeployment = &v 19553 return s 19554} 19555 19556// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 19557func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 19558 s.HealthCheckGracePeriodSeconds = &v 19559 return s 19560} 19561 19562// SetNetworkConfiguration sets the NetworkConfiguration field's value. 19563func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 19564 s.NetworkConfiguration = v 19565 return s 19566} 19567 19568// SetPlacementConstraints sets the PlacementConstraints field's value. 19569func (s *UpdateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *UpdateServiceInput { 19570 s.PlacementConstraints = v 19571 return s 19572} 19573 19574// SetPlacementStrategy sets the PlacementStrategy field's value. 19575func (s *UpdateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *UpdateServiceInput { 19576 s.PlacementStrategy = v 19577 return s 19578} 19579 19580// SetPlatformVersion sets the PlatformVersion field's value. 19581func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 19582 s.PlatformVersion = &v 19583 return s 19584} 19585 19586// SetService sets the Service field's value. 19587func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 19588 s.Service = &v 19589 return s 19590} 19591 19592// SetTaskDefinition sets the TaskDefinition field's value. 19593func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 19594 s.TaskDefinition = &v 19595 return s 19596} 19597 19598type UpdateServiceOutput struct { 19599 _ struct{} `type:"structure"` 19600 19601 // The full description of your service following the update call. 19602 Service *Service `locationName:"service" type:"structure"` 19603} 19604 19605// String returns the string representation 19606func (s UpdateServiceOutput) String() string { 19607 return awsutil.Prettify(s) 19608} 19609 19610// GoString returns the string representation 19611func (s UpdateServiceOutput) GoString() string { 19612 return s.String() 19613} 19614 19615// SetService sets the Service field's value. 19616func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 19617 s.Service = v 19618 return s 19619} 19620 19621type UpdateServicePrimaryTaskSetInput struct { 19622 _ struct{} `type:"structure"` 19623 19624 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19625 // the service that the task set exists in. 19626 // 19627 // Cluster is a required field 19628 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19629 19630 // The short name or full Amazon Resource Name (ARN) of the task set to set 19631 // as the primary task set in the deployment. 19632 // 19633 // PrimaryTaskSet is a required field 19634 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 19635 19636 // The short name or full Amazon Resource Name (ARN) of the service that the 19637 // task set exists in. 19638 // 19639 // Service is a required field 19640 Service *string `locationName:"service" type:"string" required:"true"` 19641} 19642 19643// String returns the string representation 19644func (s UpdateServicePrimaryTaskSetInput) String() string { 19645 return awsutil.Prettify(s) 19646} 19647 19648// GoString returns the string representation 19649func (s UpdateServicePrimaryTaskSetInput) GoString() string { 19650 return s.String() 19651} 19652 19653// Validate inspects the fields of the type to determine if they are valid. 19654func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 19655 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 19656 if s.Cluster == nil { 19657 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19658 } 19659 if s.PrimaryTaskSet == nil { 19660 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 19661 } 19662 if s.Service == nil { 19663 invalidParams.Add(request.NewErrParamRequired("Service")) 19664 } 19665 19666 if invalidParams.Len() > 0 { 19667 return invalidParams 19668 } 19669 return nil 19670} 19671 19672// SetCluster sets the Cluster field's value. 19673func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 19674 s.Cluster = &v 19675 return s 19676} 19677 19678// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 19679func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 19680 s.PrimaryTaskSet = &v 19681 return s 19682} 19683 19684// SetService sets the Service field's value. 19685func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 19686 s.Service = &v 19687 return s 19688} 19689 19690type UpdateServicePrimaryTaskSetOutput struct { 19691 _ struct{} `type:"structure"` 19692 19693 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 19694 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 19695 // desired number of tasks, how many tasks are running, and whether the task 19696 // set serves production traffic. 19697 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 19698} 19699 19700// String returns the string representation 19701func (s UpdateServicePrimaryTaskSetOutput) String() string { 19702 return awsutil.Prettify(s) 19703} 19704 19705// GoString returns the string representation 19706func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 19707 return s.String() 19708} 19709 19710// SetTaskSet sets the TaskSet field's value. 19711func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 19712 s.TaskSet = v 19713 return s 19714} 19715 19716type UpdateTaskSetInput struct { 19717 _ struct{} `type:"structure"` 19718 19719 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19720 // the service that the task set exists in. 19721 // 19722 // Cluster is a required field 19723 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19724 19725 // A floating-point percentage of the desired number of tasks to place and keep 19726 // running in the task set. 19727 // 19728 // Scale is a required field 19729 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 19730 19731 // The short name or full Amazon Resource Name (ARN) of the service that the 19732 // task set exists in. 19733 // 19734 // Service is a required field 19735 Service *string `locationName:"service" type:"string" required:"true"` 19736 19737 // The short name or full Amazon Resource Name (ARN) of the task set to update. 19738 // 19739 // TaskSet is a required field 19740 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 19741} 19742 19743// String returns the string representation 19744func (s UpdateTaskSetInput) String() string { 19745 return awsutil.Prettify(s) 19746} 19747 19748// GoString returns the string representation 19749func (s UpdateTaskSetInput) GoString() string { 19750 return s.String() 19751} 19752 19753// Validate inspects the fields of the type to determine if they are valid. 19754func (s *UpdateTaskSetInput) Validate() error { 19755 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 19756 if s.Cluster == nil { 19757 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19758 } 19759 if s.Scale == nil { 19760 invalidParams.Add(request.NewErrParamRequired("Scale")) 19761 } 19762 if s.Service == nil { 19763 invalidParams.Add(request.NewErrParamRequired("Service")) 19764 } 19765 if s.TaskSet == nil { 19766 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 19767 } 19768 19769 if invalidParams.Len() > 0 { 19770 return invalidParams 19771 } 19772 return nil 19773} 19774 19775// SetCluster sets the Cluster field's value. 19776func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 19777 s.Cluster = &v 19778 return s 19779} 19780 19781// SetScale sets the Scale field's value. 19782func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 19783 s.Scale = v 19784 return s 19785} 19786 19787// SetService sets the Service field's value. 19788func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 19789 s.Service = &v 19790 return s 19791} 19792 19793// SetTaskSet sets the TaskSet field's value. 19794func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 19795 s.TaskSet = &v 19796 return s 19797} 19798 19799type UpdateTaskSetOutput struct { 19800 _ struct{} `type:"structure"` 19801 19802 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 19803 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 19804 // desired number of tasks, how many tasks are running, and whether the task 19805 // set serves production traffic. 19806 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 19807} 19808 19809// String returns the string representation 19810func (s UpdateTaskSetOutput) String() string { 19811 return awsutil.Prettify(s) 19812} 19813 19814// GoString returns the string representation 19815func (s UpdateTaskSetOutput) GoString() string { 19816 return s.String() 19817} 19818 19819// SetTaskSet sets the TaskSet field's value. 19820func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 19821 s.TaskSet = v 19822 return s 19823} 19824 19825// The Docker and Amazon ECS container agent version information about a container 19826// instance. 19827type VersionInfo struct { 19828 _ struct{} `type:"structure"` 19829 19830 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 19831 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 19832 AgentHash *string `locationName:"agentHash" type:"string"` 19833 19834 // The version number of the Amazon ECS container agent. 19835 AgentVersion *string `locationName:"agentVersion" type:"string"` 19836 19837 // The Docker version running on the container instance. 19838 DockerVersion *string `locationName:"dockerVersion" type:"string"` 19839} 19840 19841// String returns the string representation 19842func (s VersionInfo) String() string { 19843 return awsutil.Prettify(s) 19844} 19845 19846// GoString returns the string representation 19847func (s VersionInfo) GoString() string { 19848 return s.String() 19849} 19850 19851// SetAgentHash sets the AgentHash field's value. 19852func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 19853 s.AgentHash = &v 19854 return s 19855} 19856 19857// SetAgentVersion sets the AgentVersion field's value. 19858func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 19859 s.AgentVersion = &v 19860 return s 19861} 19862 19863// SetDockerVersion sets the DockerVersion field's value. 19864func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 19865 s.DockerVersion = &v 19866 return s 19867} 19868 19869// A data volume used in a task definition. For tasks that use a Docker volume, 19870// specify a DockerVolumeConfiguration. For tasks that use a bind mount host 19871// volume, specify a host and optional sourcePath. For more information, see 19872// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 19873type Volume struct { 19874 _ struct{} `type:"structure"` 19875 19876 // This parameter is specified when you are using Docker volumes. Docker volumes 19877 // are only supported when you are using the EC2 launch type. Windows containers 19878 // only support the use of the local driver. To use bind mounts, specify the 19879 // host parameter instead. 19880 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 19881 19882 // This parameter is specified when you are using an Amazon Elastic File System 19883 // (Amazon EFS) file storage. Amazon EFS file systems are only supported when 19884 // you are using the EC2 launch type. 19885 // 19886 // EFSVolumeConfiguration remains in preview and is a Beta Service as defined 19887 // by and subject to the Beta Service Participation Service Terms located at 19888 // https://aws.amazon.com/service-terms (https://aws.amazon.com/service-terms) 19889 // ("Beta Terms"). These Beta Terms apply to your participation in this preview 19890 // of EFSVolumeConfiguration. 19891 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 19892 19893 // This parameter is specified when you are using bind mount host volumes. Bind 19894 // mount host volumes are supported when you are using either the EC2 or Fargate 19895 // launch types. The contents of the host parameter determine whether your bind 19896 // mount host volume persists on the host container instance and where it is 19897 // stored. If the host parameter is empty, then the Docker daemon assigns a 19898 // host path for your data volume. However, the data is not guaranteed to persist 19899 // after the containers associated with it stop running. 19900 // 19901 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 19902 // Windows containers cannot mount directories on a different drive, and mount 19903 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 19904 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 19905 Host *HostVolumeProperties `locationName:"host" type:"structure"` 19906 19907 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 19908 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 19909 // of container definition mountPoints. 19910 Name *string `locationName:"name" type:"string"` 19911} 19912 19913// String returns the string representation 19914func (s Volume) String() string { 19915 return awsutil.Prettify(s) 19916} 19917 19918// GoString returns the string representation 19919func (s Volume) GoString() string { 19920 return s.String() 19921} 19922 19923// Validate inspects the fields of the type to determine if they are valid. 19924func (s *Volume) Validate() error { 19925 invalidParams := request.ErrInvalidParams{Context: "Volume"} 19926 if s.EfsVolumeConfiguration != nil { 19927 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 19928 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 19929 } 19930 } 19931 19932 if invalidParams.Len() > 0 { 19933 return invalidParams 19934 } 19935 return nil 19936} 19937 19938// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 19939func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 19940 s.DockerVolumeConfiguration = v 19941 return s 19942} 19943 19944// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 19945func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 19946 s.EfsVolumeConfiguration = v 19947 return s 19948} 19949 19950// SetHost sets the Host field's value. 19951func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 19952 s.Host = v 19953 return s 19954} 19955 19956// SetName sets the Name field's value. 19957func (s *Volume) SetName(v string) *Volume { 19958 s.Name = &v 19959 return s 19960} 19961 19962// Details on a data volume from another container in the same task definition. 19963type VolumeFrom struct { 19964 _ struct{} `type:"structure"` 19965 19966 // If this value is true, the container has read-only access to the volume. 19967 // If this value is false, then the container can write to the volume. The default 19968 // value is false. 19969 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 19970 19971 // The name of another container within the same task definition from which 19972 // to mount volumes. 19973 SourceContainer *string `locationName:"sourceContainer" type:"string"` 19974} 19975 19976// String returns the string representation 19977func (s VolumeFrom) String() string { 19978 return awsutil.Prettify(s) 19979} 19980 19981// GoString returns the string representation 19982func (s VolumeFrom) GoString() string { 19983 return s.String() 19984} 19985 19986// SetReadOnly sets the ReadOnly field's value. 19987func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 19988 s.ReadOnly = &v 19989 return s 19990} 19991 19992// SetSourceContainer sets the SourceContainer field's value. 19993func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 19994 s.SourceContainer = &v 19995 return s 19996} 19997 19998const ( 19999 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 20000 AgentUpdateStatusPending = "PENDING" 20001 20002 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 20003 AgentUpdateStatusStaging = "STAGING" 20004 20005 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 20006 AgentUpdateStatusStaged = "STAGED" 20007 20008 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 20009 AgentUpdateStatusUpdating = "UPDATING" 20010 20011 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 20012 AgentUpdateStatusUpdated = "UPDATED" 20013 20014 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 20015 AgentUpdateStatusFailed = "FAILED" 20016) 20017 20018const ( 20019 // AssignPublicIpEnabled is a AssignPublicIp enum value 20020 AssignPublicIpEnabled = "ENABLED" 20021 20022 // AssignPublicIpDisabled is a AssignPublicIp enum value 20023 AssignPublicIpDisabled = "DISABLED" 20024) 20025 20026const ( 20027 // CapacityProviderFieldTags is a CapacityProviderField enum value 20028 CapacityProviderFieldTags = "TAGS" 20029) 20030 20031const ( 20032 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 20033 CapacityProviderStatusActive = "ACTIVE" 20034) 20035 20036const ( 20037 // ClusterFieldAttachments is a ClusterField enum value 20038 ClusterFieldAttachments = "ATTACHMENTS" 20039 20040 // ClusterFieldSettings is a ClusterField enum value 20041 ClusterFieldSettings = "SETTINGS" 20042 20043 // ClusterFieldStatistics is a ClusterField enum value 20044 ClusterFieldStatistics = "STATISTICS" 20045 20046 // ClusterFieldTags is a ClusterField enum value 20047 ClusterFieldTags = "TAGS" 20048) 20049 20050const ( 20051 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 20052 ClusterSettingNameContainerInsights = "containerInsights" 20053) 20054 20055const ( 20056 // CompatibilityEc2 is a Compatibility enum value 20057 CompatibilityEc2 = "EC2" 20058 20059 // CompatibilityFargate is a Compatibility enum value 20060 CompatibilityFargate = "FARGATE" 20061) 20062 20063const ( 20064 // ConnectivityConnected is a Connectivity enum value 20065 ConnectivityConnected = "CONNECTED" 20066 20067 // ConnectivityDisconnected is a Connectivity enum value 20068 ConnectivityDisconnected = "DISCONNECTED" 20069) 20070 20071const ( 20072 // ContainerConditionStart is a ContainerCondition enum value 20073 ContainerConditionStart = "START" 20074 20075 // ContainerConditionComplete is a ContainerCondition enum value 20076 ContainerConditionComplete = "COMPLETE" 20077 20078 // ContainerConditionSuccess is a ContainerCondition enum value 20079 ContainerConditionSuccess = "SUCCESS" 20080 20081 // ContainerConditionHealthy is a ContainerCondition enum value 20082 ContainerConditionHealthy = "HEALTHY" 20083) 20084 20085const ( 20086 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 20087 ContainerInstanceFieldTags = "TAGS" 20088) 20089 20090const ( 20091 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 20092 ContainerInstanceStatusActive = "ACTIVE" 20093 20094 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 20095 ContainerInstanceStatusDraining = "DRAINING" 20096 20097 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 20098 ContainerInstanceStatusRegistering = "REGISTERING" 20099 20100 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 20101 ContainerInstanceStatusDeregistering = "DEREGISTERING" 20102 20103 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 20104 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 20105) 20106 20107const ( 20108 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 20109 DeploymentControllerTypeEcs = "ECS" 20110 20111 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 20112 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 20113 20114 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 20115 DeploymentControllerTypeExternal = "EXTERNAL" 20116) 20117 20118const ( 20119 // DesiredStatusRunning is a DesiredStatus enum value 20120 DesiredStatusRunning = "RUNNING" 20121 20122 // DesiredStatusPending is a DesiredStatus enum value 20123 DesiredStatusPending = "PENDING" 20124 20125 // DesiredStatusStopped is a DesiredStatus enum value 20126 DesiredStatusStopped = "STOPPED" 20127) 20128 20129const ( 20130 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 20131 DeviceCgroupPermissionRead = "read" 20132 20133 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 20134 DeviceCgroupPermissionWrite = "write" 20135 20136 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 20137 DeviceCgroupPermissionMknod = "mknod" 20138) 20139 20140const ( 20141 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 20142 EFSAuthorizationConfigIAMEnabled = "ENABLED" 20143 20144 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 20145 EFSAuthorizationConfigIAMDisabled = "DISABLED" 20146) 20147 20148const ( 20149 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 20150 EFSTransitEncryptionEnabled = "ENABLED" 20151 20152 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 20153 EFSTransitEncryptionDisabled = "DISABLED" 20154) 20155 20156const ( 20157 // EnvironmentFileTypeS3 is a EnvironmentFileType enum value 20158 EnvironmentFileTypeS3 = "s3" 20159) 20160 20161const ( 20162 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 20163 FirelensConfigurationTypeFluentd = "fluentd" 20164 20165 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 20166 FirelensConfigurationTypeFluentbit = "fluentbit" 20167) 20168 20169const ( 20170 // HealthStatusHealthy is a HealthStatus enum value 20171 HealthStatusHealthy = "HEALTHY" 20172 20173 // HealthStatusUnhealthy is a HealthStatus enum value 20174 HealthStatusUnhealthy = "UNHEALTHY" 20175 20176 // HealthStatusUnknown is a HealthStatus enum value 20177 HealthStatusUnknown = "UNKNOWN" 20178) 20179 20180const ( 20181 // IpcModeHost is a IpcMode enum value 20182 IpcModeHost = "host" 20183 20184 // IpcModeTask is a IpcMode enum value 20185 IpcModeTask = "task" 20186 20187 // IpcModeNone is a IpcMode enum value 20188 IpcModeNone = "none" 20189) 20190 20191const ( 20192 // LaunchTypeEc2 is a LaunchType enum value 20193 LaunchTypeEc2 = "EC2" 20194 20195 // LaunchTypeFargate is a LaunchType enum value 20196 LaunchTypeFargate = "FARGATE" 20197) 20198 20199const ( 20200 // LogDriverJsonFile is a LogDriver enum value 20201 LogDriverJsonFile = "json-file" 20202 20203 // LogDriverSyslog is a LogDriver enum value 20204 LogDriverSyslog = "syslog" 20205 20206 // LogDriverJournald is a LogDriver enum value 20207 LogDriverJournald = "journald" 20208 20209 // LogDriverGelf is a LogDriver enum value 20210 LogDriverGelf = "gelf" 20211 20212 // LogDriverFluentd is a LogDriver enum value 20213 LogDriverFluentd = "fluentd" 20214 20215 // LogDriverAwslogs is a LogDriver enum value 20216 LogDriverAwslogs = "awslogs" 20217 20218 // LogDriverSplunk is a LogDriver enum value 20219 LogDriverSplunk = "splunk" 20220 20221 // LogDriverAwsfirelens is a LogDriver enum value 20222 LogDriverAwsfirelens = "awsfirelens" 20223) 20224 20225const ( 20226 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 20227 ManagedScalingStatusEnabled = "ENABLED" 20228 20229 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 20230 ManagedScalingStatusDisabled = "DISABLED" 20231) 20232 20233const ( 20234 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 20235 ManagedTerminationProtectionEnabled = "ENABLED" 20236 20237 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 20238 ManagedTerminationProtectionDisabled = "DISABLED" 20239) 20240 20241const ( 20242 // NetworkModeBridge is a NetworkMode enum value 20243 NetworkModeBridge = "bridge" 20244 20245 // NetworkModeHost is a NetworkMode enum value 20246 NetworkModeHost = "host" 20247 20248 // NetworkModeAwsvpc is a NetworkMode enum value 20249 NetworkModeAwsvpc = "awsvpc" 20250 20251 // NetworkModeNone is a NetworkMode enum value 20252 NetworkModeNone = "none" 20253) 20254 20255const ( 20256 // PidModeHost is a PidMode enum value 20257 PidModeHost = "host" 20258 20259 // PidModeTask is a PidMode enum value 20260 PidModeTask = "task" 20261) 20262 20263const ( 20264 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 20265 PlacementConstraintTypeDistinctInstance = "distinctInstance" 20266 20267 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 20268 PlacementConstraintTypeMemberOf = "memberOf" 20269) 20270 20271const ( 20272 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 20273 PlacementStrategyTypeRandom = "random" 20274 20275 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 20276 PlacementStrategyTypeSpread = "spread" 20277 20278 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 20279 PlacementStrategyTypeBinpack = "binpack" 20280) 20281 20282const ( 20283 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 20284 PlatformDeviceTypeGpu = "GPU" 20285) 20286 20287const ( 20288 // PropagateTagsTaskDefinition is a PropagateTags enum value 20289 PropagateTagsTaskDefinition = "TASK_DEFINITION" 20290 20291 // PropagateTagsService is a PropagateTags enum value 20292 PropagateTagsService = "SERVICE" 20293) 20294 20295const ( 20296 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 20297 ProxyConfigurationTypeAppmesh = "APPMESH" 20298) 20299 20300const ( 20301 // ResourceTypeGpu is a ResourceType enum value 20302 ResourceTypeGpu = "GPU" 20303 20304 // ResourceTypeInferenceAccelerator is a ResourceType enum value 20305 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 20306) 20307 20308const ( 20309 // ScaleUnitPercent is a ScaleUnit enum value 20310 ScaleUnitPercent = "PERCENT" 20311) 20312 20313const ( 20314 // SchedulingStrategyReplica is a SchedulingStrategy enum value 20315 SchedulingStrategyReplica = "REPLICA" 20316 20317 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 20318 SchedulingStrategyDaemon = "DAEMON" 20319) 20320 20321const ( 20322 // ScopeTask is a Scope enum value 20323 ScopeTask = "task" 20324 20325 // ScopeShared is a Scope enum value 20326 ScopeShared = "shared" 20327) 20328 20329const ( 20330 // ServiceFieldTags is a ServiceField enum value 20331 ServiceFieldTags = "TAGS" 20332) 20333 20334const ( 20335 // SettingNameServiceLongArnFormat is a SettingName enum value 20336 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 20337 20338 // SettingNameTaskLongArnFormat is a SettingName enum value 20339 SettingNameTaskLongArnFormat = "taskLongArnFormat" 20340 20341 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 20342 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 20343 20344 // SettingNameAwsvpcTrunking is a SettingName enum value 20345 SettingNameAwsvpcTrunking = "awsvpcTrunking" 20346 20347 // SettingNameContainerInsights is a SettingName enum value 20348 SettingNameContainerInsights = "containerInsights" 20349) 20350 20351const ( 20352 // SortOrderAsc is a SortOrder enum value 20353 SortOrderAsc = "ASC" 20354 20355 // SortOrderDesc is a SortOrder enum value 20356 SortOrderDesc = "DESC" 20357) 20358 20359const ( 20360 // StabilityStatusSteadyState is a StabilityStatus enum value 20361 StabilityStatusSteadyState = "STEADY_STATE" 20362 20363 // StabilityStatusStabilizing is a StabilityStatus enum value 20364 StabilityStatusStabilizing = "STABILIZING" 20365) 20366 20367const ( 20368 // TargetTypeContainerInstance is a TargetType enum value 20369 TargetTypeContainerInstance = "container-instance" 20370) 20371 20372const ( 20373 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 20374 TaskDefinitionFamilyStatusActive = "ACTIVE" 20375 20376 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 20377 TaskDefinitionFamilyStatusInactive = "INACTIVE" 20378 20379 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 20380 TaskDefinitionFamilyStatusAll = "ALL" 20381) 20382 20383const ( 20384 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 20385 TaskDefinitionFieldTags = "TAGS" 20386) 20387 20388const ( 20389 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 20390 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 20391) 20392 20393const ( 20394 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 20395 TaskDefinitionStatusActive = "ACTIVE" 20396 20397 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 20398 TaskDefinitionStatusInactive = "INACTIVE" 20399) 20400 20401const ( 20402 // TaskFieldTags is a TaskField enum value 20403 TaskFieldTags = "TAGS" 20404) 20405 20406const ( 20407 // TaskSetFieldTags is a TaskSetField enum value 20408 TaskSetFieldTags = "TAGS" 20409) 20410 20411const ( 20412 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 20413 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 20414 20415 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 20416 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 20417 20418 // TaskStopCodeUserInitiated is a TaskStopCode enum value 20419 TaskStopCodeUserInitiated = "UserInitiated" 20420) 20421 20422const ( 20423 // TransportProtocolTcp is a TransportProtocol enum value 20424 TransportProtocolTcp = "tcp" 20425 20426 // TransportProtocolUdp is a TransportProtocol enum value 20427 TransportProtocolUdp = "udp" 20428) 20429 20430const ( 20431 // UlimitNameCore is a UlimitName enum value 20432 UlimitNameCore = "core" 20433 20434 // UlimitNameCpu is a UlimitName enum value 20435 UlimitNameCpu = "cpu" 20436 20437 // UlimitNameData is a UlimitName enum value 20438 UlimitNameData = "data" 20439 20440 // UlimitNameFsize is a UlimitName enum value 20441 UlimitNameFsize = "fsize" 20442 20443 // UlimitNameLocks is a UlimitName enum value 20444 UlimitNameLocks = "locks" 20445 20446 // UlimitNameMemlock is a UlimitName enum value 20447 UlimitNameMemlock = "memlock" 20448 20449 // UlimitNameMsgqueue is a UlimitName enum value 20450 UlimitNameMsgqueue = "msgqueue" 20451 20452 // UlimitNameNice is a UlimitName enum value 20453 UlimitNameNice = "nice" 20454 20455 // UlimitNameNofile is a UlimitName enum value 20456 UlimitNameNofile = "nofile" 20457 20458 // UlimitNameNproc is a UlimitName enum value 20459 UlimitNameNproc = "nproc" 20460 20461 // UlimitNameRss is a UlimitName enum value 20462 UlimitNameRss = "rss" 20463 20464 // UlimitNameRtprio is a UlimitName enum value 20465 UlimitNameRtprio = "rtprio" 20466 20467 // UlimitNameRttime is a UlimitName enum value 20468 UlimitNameRttime = "rttime" 20469 20470 // UlimitNameSigpending is a UlimitName enum value 20471 UlimitNameSigpending = "sigpending" 20472 20473 // UlimitNameStack is a UlimitName enum value 20474 UlimitNameStack = "stack" 20475) 20476