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 Fargate use the FARGATE and FARGATE_SPOT capacity providers 66// which are already created and available to all accounts in Regions supported 67// by 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// * UpdateInProgressException 93// There is already a current Amazon ECS container agent update in progress 94// on the specified container instance. If the container agent becomes disconnected 95// while it is in a transitional stage, such as PENDING or STAGING, the update 96// process can get stuck in that state. However, when the agent reconnects, 97// it resumes where it stopped previously. 98// 99// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider 100func (c *ECS) CreateCapacityProvider(input *CreateCapacityProviderInput) (*CreateCapacityProviderOutput, error) { 101 req, out := c.CreateCapacityProviderRequest(input) 102 return out, req.Send() 103} 104 105// CreateCapacityProviderWithContext is the same as CreateCapacityProvider with the addition of 106// the ability to pass a context and additional request options. 107// 108// See CreateCapacityProvider for details on how to use this API operation. 109// 110// The context must be non-nil and will be used for request cancellation. If 111// the context is nil a panic will occur. In the future the SDK may create 112// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 113// for more information on using Contexts. 114func (c *ECS) CreateCapacityProviderWithContext(ctx aws.Context, input *CreateCapacityProviderInput, opts ...request.Option) (*CreateCapacityProviderOutput, error) { 115 req, out := c.CreateCapacityProviderRequest(input) 116 req.SetContext(ctx) 117 req.ApplyOptions(opts...) 118 return out, req.Send() 119} 120 121const opCreateCluster = "CreateCluster" 122 123// CreateClusterRequest generates a "aws/request.Request" representing the 124// client's request for the CreateCluster operation. The "output" return 125// value will be populated with the request's response once the request completes 126// successfully. 127// 128// Use "Send" method on the returned Request to send the API call to the service. 129// the "output" return value is not valid until after Send returns without error. 130// 131// See CreateCluster for more information on using the CreateCluster 132// API call, and error handling. 133// 134// This method is useful when you want to inject custom logic or configuration 135// into the SDK's request lifecycle. Such as custom headers, or retry logic. 136// 137// 138// // Example sending a request using the CreateClusterRequest method. 139// req, resp := client.CreateClusterRequest(params) 140// 141// err := req.Send() 142// if err == nil { // resp is now filled 143// fmt.Println(resp) 144// } 145// 146// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 147func (c *ECS) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 148 op := &request.Operation{ 149 Name: opCreateCluster, 150 HTTPMethod: "POST", 151 HTTPPath: "/", 152 } 153 154 if input == nil { 155 input = &CreateClusterInput{} 156 } 157 158 output = &CreateClusterOutput{} 159 req = c.newRequest(op, input, output) 160 return 161} 162 163// CreateCluster API operation for Amazon EC2 Container Service. 164// 165// Creates a new Amazon ECS cluster. By default, your account receives a default 166// cluster when you launch your first container instance. However, you can create 167// your own cluster with a unique name with the CreateCluster action. 168// 169// When you call the CreateCluster API operation, Amazon ECS attempts to create 170// the Amazon ECS service-linked role for your account so that required resources 171// in other Amazon Web Services services can be managed on your behalf. However, 172// if the IAM user that makes the call does not have permissions to create the 173// service-linked role, it is not created. For more information, see Using Service-Linked 174// Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 175// in the Amazon Elastic Container Service Developer Guide. 176// 177// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 178// with awserr.Error's Code and Message methods to get detailed information about 179// the error. 180// 181// See the AWS API reference guide for Amazon EC2 Container Service's 182// API operation CreateCluster for usage and error information. 183// 184// Returned Error Types: 185// * ServerException 186// These errors are usually caused by a server issue. 187// 188// * ClientException 189// These errors are usually caused by a client action, such as using an action 190// or resource on behalf of a user that doesn't have permissions to use the 191// action or resource, or specifying an identifier that is not valid. 192// 193// * InvalidParameterException 194// The specified parameter is invalid. Review the available parameters for the 195// API request. 196// 197// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster 198func (c *ECS) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 199 req, out := c.CreateClusterRequest(input) 200 return out, req.Send() 201} 202 203// CreateClusterWithContext is the same as CreateCluster with the addition of 204// the ability to pass a context and additional request options. 205// 206// See CreateCluster for details on how to use this API operation. 207// 208// The context must be non-nil and will be used for request cancellation. If 209// the context is nil a panic will occur. In the future the SDK may create 210// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 211// for more information on using Contexts. 212func (c *ECS) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 213 req, out := c.CreateClusterRequest(input) 214 req.SetContext(ctx) 215 req.ApplyOptions(opts...) 216 return out, req.Send() 217} 218 219const opCreateService = "CreateService" 220 221// CreateServiceRequest generates a "aws/request.Request" representing the 222// client's request for the CreateService operation. The "output" return 223// value will be populated with the request's response once the request completes 224// successfully. 225// 226// Use "Send" method on the returned Request to send the API call to the service. 227// the "output" return value is not valid until after Send returns without error. 228// 229// See CreateService for more information on using the CreateService 230// API call, and error handling. 231// 232// This method is useful when you want to inject custom logic or configuration 233// into the SDK's request lifecycle. Such as custom headers, or retry logic. 234// 235// 236// // Example sending a request using the CreateServiceRequest method. 237// req, resp := client.CreateServiceRequest(params) 238// 239// err := req.Send() 240// if err == nil { // resp is now filled 241// fmt.Println(resp) 242// } 243// 244// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 245func (c *ECS) CreateServiceRequest(input *CreateServiceInput) (req *request.Request, output *CreateServiceOutput) { 246 op := &request.Operation{ 247 Name: opCreateService, 248 HTTPMethod: "POST", 249 HTTPPath: "/", 250 } 251 252 if input == nil { 253 input = &CreateServiceInput{} 254 } 255 256 output = &CreateServiceOutput{} 257 req = c.newRequest(op, input, output) 258 return 259} 260 261// CreateService API operation for Amazon EC2 Container Service. 262// 263// Runs and maintains a desired number of tasks from a specified task definition. 264// If the number of tasks running in a service drops below the desiredCount, 265// Amazon ECS runs another copy of the task in the specified cluster. To update 266// an existing service, see the UpdateService action. 267// 268// In addition to maintaining the desired count of tasks in your service, you 269// can optionally run your service behind one or more load balancers. The load 270// balancers distribute traffic across the tasks that are associated with the 271// service. For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 272// in the Amazon Elastic Container Service Developer Guide. 273// 274// Tasks for services that do not use a load balancer are considered healthy 275// if they're in the RUNNING state. Tasks for services that do use a load balancer 276// are considered healthy if they're in the RUNNING state and the container 277// instance that they're hosted on is reported as healthy by the load balancer. 278// 279// There are two service scheduler strategies available: 280// 281// * REPLICA - The replica scheduling strategy places and maintains the desired 282// number of tasks across your cluster. By default, the service scheduler 283// spreads tasks across Availability Zones. You can use task placement strategies 284// and constraints to customize task placement decisions. For more information, 285// see Service Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 286// in the Amazon Elastic Container Service Developer Guide. 287// 288// * DAEMON - The daemon scheduling strategy deploys exactly one task on 289// each active container instance that meets all of the task placement constraints 290// that you specify in your cluster. The service scheduler also evaluates 291// the task placement constraints for running tasks and will stop tasks that 292// do not meet the placement constraints. When using this strategy, you don't 293// need to specify a desired number of tasks, a task placement strategy, 294// or use Service Auto Scaling policies. For more information, see Service 295// Scheduler Concepts (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html) 296// in the Amazon Elastic Container Service Developer Guide. 297// 298// You can optionally specify a deployment configuration for your service. The 299// deployment is triggered by changing properties, such as the task definition 300// or the desired count of a service, with an UpdateService operation. The default 301// value for a replica service for minimumHealthyPercent is 100%. The default 302// value for a daemon service for minimumHealthyPercent is 0%. 303// 304// If a service is using the ECS deployment controller, the minimum healthy 305// percent represents a lower limit on the number of tasks in a service that 306// must remain in the RUNNING state during a deployment, as a percentage of 307// the desired number of tasks (rounded up to the nearest integer), and while 308// any container instances are in the DRAINING state if the service contains 309// tasks using the EC2 launch type. This parameter enables you to deploy without 310// using additional cluster capacity. For example, if your service has a desired 311// number of four tasks and a minimum healthy percent of 50%, the scheduler 312// might stop two existing tasks to free up cluster capacity before starting 313// two new tasks. Tasks for services that do not use a load balancer are considered 314// healthy if they're in the RUNNING state. Tasks for services that do use a 315// load balancer are considered healthy if they're in the RUNNING state and 316// they're reported as healthy by the load balancer. The default value for minimum 317// healthy percent is 100%. 318// 319// If a service is using the ECS deployment controller, the maximum percent 320// parameter represents an upper limit on the number of tasks in a service that 321// are allowed in the RUNNING or PENDING state during a deployment, as a percentage 322// of the desired number of tasks (rounded down to the nearest integer), and 323// while any container instances are in the DRAINING state if the service contains 324// tasks using the EC2 launch type. This parameter enables you to define the 325// deployment batch size. For example, if your service has a desired number 326// of four tasks and a maximum percent value of 200%, the scheduler may start 327// four new tasks before stopping the four older tasks (provided that the cluster 328// resources required to do this are available). The default value for maximum 329// percent is 200%. 330// 331// If a service is using either the CODE_DEPLOY or EXTERNAL deployment controller 332// types and tasks that use the EC2 launch type, the minimum healthy percent 333// and maximum percent values are used only to define the lower and upper limit 334// on the number of the tasks in the service that remain in the RUNNING state 335// while the container instances are in the DRAINING state. If the tasks in 336// the service use the Fargate launch type, the minimum healthy percent and 337// maximum percent values aren't used, although they're currently visible when 338// describing your service. 339// 340// When creating a service that uses the EXTERNAL deployment controller, you 341// can specify only parameters that aren't controlled at the task set level. 342// The only required parameter is the service name. You control your services 343// using the CreateTaskSet operation. For more information, see Amazon ECS Deployment 344// Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 345// in the Amazon Elastic Container Service Developer Guide. 346// 347// When the service scheduler launches new tasks, it determines task placement 348// in your cluster using the following logic: 349// 350// * Determine which of the container instances in your cluster can support 351// your service's task definition (for example, they have the required CPU, 352// memory, ports, and container instance attributes). 353// 354// * By default, the service scheduler attempts to balance tasks across Availability 355// Zones in this manner (although you can choose a different placement strategy) 356// with the placementStrategy parameter): Sort the valid container instances, 357// giving priority to instances that have the fewest number of running tasks 358// for this service in their respective Availability Zone. For example, if 359// zone A has one running service task and zones B and C each have zero, 360// valid container instances in either zone B or C are considered optimal 361// for placement. Place the new service task on a valid container instance 362// in an optimal Availability Zone (based on the previous steps), favoring 363// container instances with the fewest number of running tasks for this service. 364// 365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 366// with awserr.Error's Code and Message methods to get detailed information about 367// the error. 368// 369// See the AWS API reference guide for Amazon EC2 Container Service's 370// API operation CreateService for usage and error information. 371// 372// Returned Error Types: 373// * ServerException 374// These errors are usually caused by a server issue. 375// 376// * ClientException 377// These errors are usually caused by a client action, such as using an action 378// or resource on behalf of a user that doesn't have permissions to use the 379// action or resource, or specifying an identifier that is not valid. 380// 381// * InvalidParameterException 382// The specified parameter is invalid. Review the available parameters for the 383// API request. 384// 385// * ClusterNotFoundException 386// The specified cluster could not be found. You can view your available clusters 387// with ListClusters. Amazon ECS clusters are Region-specific. 388// 389// * UnsupportedFeatureException 390// The specified task is not supported in this Region. 391// 392// * PlatformUnknownException 393// The specified platform version does not exist. 394// 395// * PlatformTaskDefinitionIncompatibilityException 396// The specified platform version does not satisfy the task definition's required 397// capabilities. 398// 399// * AccessDeniedException 400// You do not have authorization to perform the requested action. 401// 402// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService 403func (c *ECS) CreateService(input *CreateServiceInput) (*CreateServiceOutput, error) { 404 req, out := c.CreateServiceRequest(input) 405 return out, req.Send() 406} 407 408// CreateServiceWithContext is the same as CreateService with the addition of 409// the ability to pass a context and additional request options. 410// 411// See CreateService for details on how to use this API operation. 412// 413// The context must be non-nil and will be used for request cancellation. If 414// the context is nil a panic will occur. In the future the SDK may create 415// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 416// for more information on using Contexts. 417func (c *ECS) CreateServiceWithContext(ctx aws.Context, input *CreateServiceInput, opts ...request.Option) (*CreateServiceOutput, error) { 418 req, out := c.CreateServiceRequest(input) 419 req.SetContext(ctx) 420 req.ApplyOptions(opts...) 421 return out, req.Send() 422} 423 424const opCreateTaskSet = "CreateTaskSet" 425 426// CreateTaskSetRequest generates a "aws/request.Request" representing the 427// client's request for the CreateTaskSet operation. The "output" return 428// value will be populated with the request's response once the request completes 429// successfully. 430// 431// Use "Send" method on the returned Request to send the API call to the service. 432// the "output" return value is not valid until after Send returns without error. 433// 434// See CreateTaskSet for more information on using the CreateTaskSet 435// API call, and error handling. 436// 437// This method is useful when you want to inject custom logic or configuration 438// into the SDK's request lifecycle. Such as custom headers, or retry logic. 439// 440// 441// // Example sending a request using the CreateTaskSetRequest method. 442// req, resp := client.CreateTaskSetRequest(params) 443// 444// err := req.Send() 445// if err == nil { // resp is now filled 446// fmt.Println(resp) 447// } 448// 449// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 450func (c *ECS) CreateTaskSetRequest(input *CreateTaskSetInput) (req *request.Request, output *CreateTaskSetOutput) { 451 op := &request.Operation{ 452 Name: opCreateTaskSet, 453 HTTPMethod: "POST", 454 HTTPPath: "/", 455 } 456 457 if input == nil { 458 input = &CreateTaskSetInput{} 459 } 460 461 output = &CreateTaskSetOutput{} 462 req = c.newRequest(op, input, output) 463 return 464} 465 466// CreateTaskSet API operation for Amazon EC2 Container Service. 467// 468// Create a task set in the specified cluster and service. This is used when 469// a service uses the EXTERNAL deployment controller type. For more information, 470// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 471// in the Amazon Elastic Container Service Developer Guide. 472// 473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 474// with awserr.Error's Code and Message methods to get detailed information about 475// the error. 476// 477// See the AWS API reference guide for Amazon EC2 Container Service's 478// API operation CreateTaskSet for usage and error information. 479// 480// Returned Error Types: 481// * ServerException 482// These errors are usually caused by a server issue. 483// 484// * ClientException 485// These errors are usually caused by a client action, such as using an action 486// or resource on behalf of a user that doesn't have permissions to use the 487// action or resource, or specifying an identifier that is not valid. 488// 489// * InvalidParameterException 490// The specified parameter is invalid. Review the available parameters for the 491// API request. 492// 493// * ClusterNotFoundException 494// The specified cluster could not be found. You can view your available clusters 495// with ListClusters. Amazon ECS clusters are Region-specific. 496// 497// * UnsupportedFeatureException 498// The specified task is not supported in this Region. 499// 500// * PlatformUnknownException 501// The specified platform version does not exist. 502// 503// * PlatformTaskDefinitionIncompatibilityException 504// The specified platform version does not satisfy the task definition's required 505// capabilities. 506// 507// * AccessDeniedException 508// You do not have authorization to perform the requested action. 509// 510// * ServiceNotFoundException 511// The specified service could not be found. You can view your available services 512// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 513// 514// * ServiceNotActiveException 515// The specified service is not active. You can't update a service that is inactive. 516// If you have previously deleted a service, you can re-create it with CreateService. 517// 518// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSet 519func (c *ECS) CreateTaskSet(input *CreateTaskSetInput) (*CreateTaskSetOutput, error) { 520 req, out := c.CreateTaskSetRequest(input) 521 return out, req.Send() 522} 523 524// CreateTaskSetWithContext is the same as CreateTaskSet with the addition of 525// the ability to pass a context and additional request options. 526// 527// See CreateTaskSet for details on how to use this API operation. 528// 529// The context must be non-nil and will be used for request cancellation. If 530// the context is nil a panic will occur. In the future the SDK may create 531// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 532// for more information on using Contexts. 533func (c *ECS) CreateTaskSetWithContext(ctx aws.Context, input *CreateTaskSetInput, opts ...request.Option) (*CreateTaskSetOutput, error) { 534 req, out := c.CreateTaskSetRequest(input) 535 req.SetContext(ctx) 536 req.ApplyOptions(opts...) 537 return out, req.Send() 538} 539 540const opDeleteAccountSetting = "DeleteAccountSetting" 541 542// DeleteAccountSettingRequest generates a "aws/request.Request" representing the 543// client's request for the DeleteAccountSetting operation. The "output" return 544// value will be populated with the request's response once the request completes 545// successfully. 546// 547// Use "Send" method on the returned Request to send the API call to the service. 548// the "output" return value is not valid until after Send returns without error. 549// 550// See DeleteAccountSetting for more information on using the DeleteAccountSetting 551// API call, and error handling. 552// 553// This method is useful when you want to inject custom logic or configuration 554// into the SDK's request lifecycle. Such as custom headers, or retry logic. 555// 556// 557// // Example sending a request using the DeleteAccountSettingRequest method. 558// req, resp := client.DeleteAccountSettingRequest(params) 559// 560// err := req.Send() 561// if err == nil { // resp is now filled 562// fmt.Println(resp) 563// } 564// 565// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 566func (c *ECS) DeleteAccountSettingRequest(input *DeleteAccountSettingInput) (req *request.Request, output *DeleteAccountSettingOutput) { 567 op := &request.Operation{ 568 Name: opDeleteAccountSetting, 569 HTTPMethod: "POST", 570 HTTPPath: "/", 571 } 572 573 if input == nil { 574 input = &DeleteAccountSettingInput{} 575 } 576 577 output = &DeleteAccountSettingOutput{} 578 req = c.newRequest(op, input, output) 579 return 580} 581 582// DeleteAccountSetting API operation for Amazon EC2 Container Service. 583// 584// Disables an account setting for a specified IAM user, IAM role, or the root 585// user for an account. 586// 587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 588// with awserr.Error's Code and Message methods to get detailed information about 589// the error. 590// 591// See the AWS API reference guide for Amazon EC2 Container Service's 592// API operation DeleteAccountSetting for usage and error information. 593// 594// Returned Error Types: 595// * ServerException 596// These errors are usually caused by a server issue. 597// 598// * ClientException 599// These errors are usually caused by a client action, such as using an action 600// or resource on behalf of a user that doesn't have permissions to use the 601// action or resource, or specifying an identifier that is not valid. 602// 603// * InvalidParameterException 604// The specified parameter is invalid. Review the available parameters for the 605// API request. 606// 607// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting 608func (c *ECS) DeleteAccountSetting(input *DeleteAccountSettingInput) (*DeleteAccountSettingOutput, error) { 609 req, out := c.DeleteAccountSettingRequest(input) 610 return out, req.Send() 611} 612 613// DeleteAccountSettingWithContext is the same as DeleteAccountSetting with the addition of 614// the ability to pass a context and additional request options. 615// 616// See DeleteAccountSetting for details on how to use this API operation. 617// 618// The context must be non-nil and will be used for request cancellation. If 619// the context is nil a panic will occur. In the future the SDK may create 620// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 621// for more information on using Contexts. 622func (c *ECS) DeleteAccountSettingWithContext(ctx aws.Context, input *DeleteAccountSettingInput, opts ...request.Option) (*DeleteAccountSettingOutput, error) { 623 req, out := c.DeleteAccountSettingRequest(input) 624 req.SetContext(ctx) 625 req.ApplyOptions(opts...) 626 return out, req.Send() 627} 628 629const opDeleteAttributes = "DeleteAttributes" 630 631// DeleteAttributesRequest generates a "aws/request.Request" representing the 632// client's request for the DeleteAttributes operation. The "output" return 633// value will be populated with the request's response once the request completes 634// successfully. 635// 636// Use "Send" method on the returned Request to send the API call to the service. 637// the "output" return value is not valid until after Send returns without error. 638// 639// See DeleteAttributes for more information on using the DeleteAttributes 640// API call, and error handling. 641// 642// This method is useful when you want to inject custom logic or configuration 643// into the SDK's request lifecycle. Such as custom headers, or retry logic. 644// 645// 646// // Example sending a request using the DeleteAttributesRequest method. 647// req, resp := client.DeleteAttributesRequest(params) 648// 649// err := req.Send() 650// if err == nil { // resp is now filled 651// fmt.Println(resp) 652// } 653// 654// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 655func (c *ECS) DeleteAttributesRequest(input *DeleteAttributesInput) (req *request.Request, output *DeleteAttributesOutput) { 656 op := &request.Operation{ 657 Name: opDeleteAttributes, 658 HTTPMethod: "POST", 659 HTTPPath: "/", 660 } 661 662 if input == nil { 663 input = &DeleteAttributesInput{} 664 } 665 666 output = &DeleteAttributesOutput{} 667 req = c.newRequest(op, input, output) 668 return 669} 670 671// DeleteAttributes API operation for Amazon EC2 Container Service. 672// 673// Deletes one or more custom attributes from an Amazon ECS resource. 674// 675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 676// with awserr.Error's Code and Message methods to get detailed information about 677// the error. 678// 679// See the AWS API reference guide for Amazon EC2 Container Service's 680// API operation DeleteAttributes for usage and error information. 681// 682// Returned Error Types: 683// * ClusterNotFoundException 684// The specified cluster could not be found. You can view your available clusters 685// with ListClusters. Amazon ECS clusters are Region-specific. 686// 687// * TargetNotFoundException 688// The specified target could not be found. You can view your available container 689// instances with ListContainerInstances. Amazon ECS container instances are 690// cluster-specific and Region-specific. 691// 692// * InvalidParameterException 693// The specified parameter is invalid. Review the available parameters for the 694// API request. 695// 696// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAttributes 697func (c *ECS) DeleteAttributes(input *DeleteAttributesInput) (*DeleteAttributesOutput, error) { 698 req, out := c.DeleteAttributesRequest(input) 699 return out, req.Send() 700} 701 702// DeleteAttributesWithContext is the same as DeleteAttributes with the addition of 703// the ability to pass a context and additional request options. 704// 705// See DeleteAttributes for details on how to use this API operation. 706// 707// The context must be non-nil and will be used for request cancellation. If 708// the context is nil a panic will occur. In the future the SDK may create 709// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 710// for more information on using Contexts. 711func (c *ECS) DeleteAttributesWithContext(ctx aws.Context, input *DeleteAttributesInput, opts ...request.Option) (*DeleteAttributesOutput, error) { 712 req, out := c.DeleteAttributesRequest(input) 713 req.SetContext(ctx) 714 req.ApplyOptions(opts...) 715 return out, req.Send() 716} 717 718const opDeleteCapacityProvider = "DeleteCapacityProvider" 719 720// DeleteCapacityProviderRequest generates a "aws/request.Request" representing the 721// client's request for the DeleteCapacityProvider operation. The "output" return 722// value will be populated with the request's response once the request completes 723// successfully. 724// 725// Use "Send" method on the returned Request to send the API call to the service. 726// the "output" return value is not valid until after Send returns without error. 727// 728// See DeleteCapacityProvider for more information on using the DeleteCapacityProvider 729// API call, and error handling. 730// 731// This method is useful when you want to inject custom logic or configuration 732// into the SDK's request lifecycle. Such as custom headers, or retry logic. 733// 734// 735// // Example sending a request using the DeleteCapacityProviderRequest method. 736// req, resp := client.DeleteCapacityProviderRequest(params) 737// 738// err := req.Send() 739// if err == nil { // resp is now filled 740// fmt.Println(resp) 741// } 742// 743// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider 744func (c *ECS) DeleteCapacityProviderRequest(input *DeleteCapacityProviderInput) (req *request.Request, output *DeleteCapacityProviderOutput) { 745 op := &request.Operation{ 746 Name: opDeleteCapacityProvider, 747 HTTPMethod: "POST", 748 HTTPPath: "/", 749 } 750 751 if input == nil { 752 input = &DeleteCapacityProviderInput{} 753 } 754 755 output = &DeleteCapacityProviderOutput{} 756 req = c.newRequest(op, input, output) 757 return 758} 759 760// DeleteCapacityProvider API operation for Amazon EC2 Container Service. 761// 762// Deletes the specified capacity provider. 763// 764// The FARGATE and FARGATE_SPOT capacity providers are reserved and cannot be 765// deleted. You can disassociate them from a cluster using either the PutClusterCapacityProviders 766// API or by deleting the cluster. 767// 768// Prior to a capacity provider being deleted, the capacity provider must be 769// removed from the capacity provider strategy from all services. The UpdateService 770// API can be used to remove a capacity provider from a service's capacity provider 771// strategy. When updating a service, the forceNewDeployment option can be used 772// to ensure that any tasks using the Amazon EC2 instance capacity provided 773// by the capacity provider are transitioned to use the capacity from the remaining 774// capacity providers. Only capacity providers that are not associated with 775// a cluster can be deleted. To remove a capacity provider from a cluster, you 776// can either use PutClusterCapacityProviders or delete the cluster. 777// 778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 779// with awserr.Error's Code and Message methods to get detailed information about 780// the error. 781// 782// See the AWS API reference guide for Amazon EC2 Container Service's 783// API operation DeleteCapacityProvider for usage and error information. 784// 785// Returned Error Types: 786// * ServerException 787// These errors are usually caused by a server issue. 788// 789// * ClientException 790// These errors are usually caused by a client action, such as using an action 791// or resource on behalf of a user that doesn't have permissions to use the 792// action or resource, or specifying an identifier that is not valid. 793// 794// * InvalidParameterException 795// The specified parameter is invalid. Review the available parameters for the 796// API request. 797// 798// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCapacityProvider 799func (c *ECS) DeleteCapacityProvider(input *DeleteCapacityProviderInput) (*DeleteCapacityProviderOutput, error) { 800 req, out := c.DeleteCapacityProviderRequest(input) 801 return out, req.Send() 802} 803 804// DeleteCapacityProviderWithContext is the same as DeleteCapacityProvider with the addition of 805// the ability to pass a context and additional request options. 806// 807// See DeleteCapacityProvider for details on how to use this API operation. 808// 809// The context must be non-nil and will be used for request cancellation. If 810// the context is nil a panic will occur. In the future the SDK may create 811// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 812// for more information on using Contexts. 813func (c *ECS) DeleteCapacityProviderWithContext(ctx aws.Context, input *DeleteCapacityProviderInput, opts ...request.Option) (*DeleteCapacityProviderOutput, error) { 814 req, out := c.DeleteCapacityProviderRequest(input) 815 req.SetContext(ctx) 816 req.ApplyOptions(opts...) 817 return out, req.Send() 818} 819 820const opDeleteCluster = "DeleteCluster" 821 822// DeleteClusterRequest generates a "aws/request.Request" representing the 823// client's request for the DeleteCluster operation. The "output" return 824// value will be populated with the request's response once the request completes 825// successfully. 826// 827// Use "Send" method on the returned Request to send the API call to the service. 828// the "output" return value is not valid until after Send returns without error. 829// 830// See DeleteCluster for more information on using the DeleteCluster 831// API call, and error handling. 832// 833// This method is useful when you want to inject custom logic or configuration 834// into the SDK's request lifecycle. Such as custom headers, or retry logic. 835// 836// 837// // Example sending a request using the DeleteClusterRequest method. 838// req, resp := client.DeleteClusterRequest(params) 839// 840// err := req.Send() 841// if err == nil { // resp is now filled 842// fmt.Println(resp) 843// } 844// 845// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 846func (c *ECS) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 847 op := &request.Operation{ 848 Name: opDeleteCluster, 849 HTTPMethod: "POST", 850 HTTPPath: "/", 851 } 852 853 if input == nil { 854 input = &DeleteClusterInput{} 855 } 856 857 output = &DeleteClusterOutput{} 858 req = c.newRequest(op, input, output) 859 return 860} 861 862// DeleteCluster API operation for Amazon EC2 Container Service. 863// 864// Deletes the specified cluster. The cluster will transition to the INACTIVE 865// state. Clusters with an INACTIVE status may remain discoverable in your account 866// for a period of time. However, this behavior is subject to change in the 867// future, so you should not rely on INACTIVE clusters persisting. 868// 869// You must deregister all container instances from this cluster before you 870// may delete it. You can list the container instances in a cluster with ListContainerInstances 871// and deregister them with DeregisterContainerInstance. 872// 873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 874// with awserr.Error's Code and Message methods to get detailed information about 875// the error. 876// 877// See the AWS API reference guide for Amazon EC2 Container Service's 878// API operation DeleteCluster for usage and error information. 879// 880// Returned Error Types: 881// * ServerException 882// These errors are usually caused by a server issue. 883// 884// * ClientException 885// These errors are usually caused by a client action, such as using an action 886// or resource on behalf of a user that doesn't have permissions to use the 887// action or resource, or specifying an identifier that is not valid. 888// 889// * InvalidParameterException 890// The specified parameter is invalid. Review the available parameters for the 891// API request. 892// 893// * ClusterNotFoundException 894// The specified cluster could not be found. You can view your available clusters 895// with ListClusters. Amazon ECS clusters are Region-specific. 896// 897// * ClusterContainsContainerInstancesException 898// You cannot delete a cluster that has registered container instances. First, 899// deregister the container instances before you can delete the cluster. For 900// more information, see DeregisterContainerInstance. 901// 902// * ClusterContainsServicesException 903// You cannot delete a cluster that contains services. First, update the service 904// to reduce its desired task count to 0 and then delete the service. For more 905// information, see UpdateService and DeleteService. 906// 907// * ClusterContainsTasksException 908// You cannot delete a cluster that has active tasks. 909// 910// * UpdateInProgressException 911// There is already a current Amazon ECS container agent update in progress 912// on the specified container instance. If the container agent becomes disconnected 913// while it is in a transitional stage, such as PENDING or STAGING, the update 914// process can get stuck in that state. However, when the agent reconnects, 915// it resumes where it stopped previously. 916// 917// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster 918func (c *ECS) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 919 req, out := c.DeleteClusterRequest(input) 920 return out, req.Send() 921} 922 923// DeleteClusterWithContext is the same as DeleteCluster with the addition of 924// the ability to pass a context and additional request options. 925// 926// See DeleteCluster for details on how to use this API operation. 927// 928// The context must be non-nil and will be used for request cancellation. If 929// the context is nil a panic will occur. In the future the SDK may create 930// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 931// for more information on using Contexts. 932func (c *ECS) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 933 req, out := c.DeleteClusterRequest(input) 934 req.SetContext(ctx) 935 req.ApplyOptions(opts...) 936 return out, req.Send() 937} 938 939const opDeleteService = "DeleteService" 940 941// DeleteServiceRequest generates a "aws/request.Request" representing the 942// client's request for the DeleteService operation. The "output" return 943// value will be populated with the request's response once the request completes 944// successfully. 945// 946// Use "Send" method on the returned Request to send the API call to the service. 947// the "output" return value is not valid until after Send returns without error. 948// 949// See DeleteService for more information on using the DeleteService 950// API call, and error handling. 951// 952// This method is useful when you want to inject custom logic or configuration 953// into the SDK's request lifecycle. Such as custom headers, or retry logic. 954// 955// 956// // Example sending a request using the DeleteServiceRequest method. 957// req, resp := client.DeleteServiceRequest(params) 958// 959// err := req.Send() 960// if err == nil { // resp is now filled 961// fmt.Println(resp) 962// } 963// 964// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 965func (c *ECS) DeleteServiceRequest(input *DeleteServiceInput) (req *request.Request, output *DeleteServiceOutput) { 966 op := &request.Operation{ 967 Name: opDeleteService, 968 HTTPMethod: "POST", 969 HTTPPath: "/", 970 } 971 972 if input == nil { 973 input = &DeleteServiceInput{} 974 } 975 976 output = &DeleteServiceOutput{} 977 req = c.newRequest(op, input, output) 978 return 979} 980 981// DeleteService API operation for Amazon EC2 Container Service. 982// 983// Deletes a specified service within a cluster. You can delete a service if 984// you have no running tasks in it and the desired task count is zero. If the 985// service is actively maintaining tasks, you cannot delete it, and you must 986// update the service to a desired task count of zero. For more information, 987// see UpdateService. 988// 989// When you delete a service, if there are still running tasks that require 990// cleanup, the service status moves from ACTIVE to DRAINING, and the service 991// is no longer visible in the console or in the ListServices API operation. 992// After all tasks have transitioned to either STOPPING or STOPPED status, the 993// service status moves from DRAINING to INACTIVE. Services in the DRAINING 994// or INACTIVE status can still be viewed with the DescribeServices API operation. 995// However, in the future, INACTIVE services may be cleaned up and purged from 996// Amazon ECS record keeping, and DescribeServices calls on those services return 997// a ServiceNotFoundException error. 998// 999// If you attempt to create a new service with the same name as an existing 1000// service in either ACTIVE or DRAINING status, you receive an error. 1001// 1002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1003// with awserr.Error's Code and Message methods to get detailed information about 1004// the error. 1005// 1006// See the AWS API reference guide for Amazon EC2 Container Service's 1007// API operation DeleteService for usage and error information. 1008// 1009// Returned Error Types: 1010// * ServerException 1011// These errors are usually caused by a server issue. 1012// 1013// * ClientException 1014// These errors are usually caused by a client action, such as using an action 1015// or resource on behalf of a user that doesn't have permissions to use the 1016// action or resource, or specifying an identifier that is not valid. 1017// 1018// * InvalidParameterException 1019// The specified parameter is invalid. Review the available parameters for the 1020// API request. 1021// 1022// * ClusterNotFoundException 1023// The specified cluster could not be found. You can view your available clusters 1024// with ListClusters. Amazon ECS clusters are Region-specific. 1025// 1026// * ServiceNotFoundException 1027// The specified service could not be found. You can view your available services 1028// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1029// 1030// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService 1031func (c *ECS) DeleteService(input *DeleteServiceInput) (*DeleteServiceOutput, error) { 1032 req, out := c.DeleteServiceRequest(input) 1033 return out, req.Send() 1034} 1035 1036// DeleteServiceWithContext is the same as DeleteService with the addition of 1037// the ability to pass a context and additional request options. 1038// 1039// See DeleteService for details on how to use this API operation. 1040// 1041// The context must be non-nil and will be used for request cancellation. If 1042// the context is nil a panic will occur. In the future the SDK may create 1043// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1044// for more information on using Contexts. 1045func (c *ECS) DeleteServiceWithContext(ctx aws.Context, input *DeleteServiceInput, opts ...request.Option) (*DeleteServiceOutput, error) { 1046 req, out := c.DeleteServiceRequest(input) 1047 req.SetContext(ctx) 1048 req.ApplyOptions(opts...) 1049 return out, req.Send() 1050} 1051 1052const opDeleteTaskSet = "DeleteTaskSet" 1053 1054// DeleteTaskSetRequest generates a "aws/request.Request" representing the 1055// client's request for the DeleteTaskSet operation. The "output" return 1056// value will be populated with the request's response once the request completes 1057// successfully. 1058// 1059// Use "Send" method on the returned Request to send the API call to the service. 1060// the "output" return value is not valid until after Send returns without error. 1061// 1062// See DeleteTaskSet for more information on using the DeleteTaskSet 1063// API call, and error handling. 1064// 1065// This method is useful when you want to inject custom logic or configuration 1066// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1067// 1068// 1069// // Example sending a request using the DeleteTaskSetRequest method. 1070// req, resp := client.DeleteTaskSetRequest(params) 1071// 1072// err := req.Send() 1073// if err == nil { // resp is now filled 1074// fmt.Println(resp) 1075// } 1076// 1077// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 1078func (c *ECS) DeleteTaskSetRequest(input *DeleteTaskSetInput) (req *request.Request, output *DeleteTaskSetOutput) { 1079 op := &request.Operation{ 1080 Name: opDeleteTaskSet, 1081 HTTPMethod: "POST", 1082 HTTPPath: "/", 1083 } 1084 1085 if input == nil { 1086 input = &DeleteTaskSetInput{} 1087 } 1088 1089 output = &DeleteTaskSetOutput{} 1090 req = c.newRequest(op, input, output) 1091 return 1092} 1093 1094// DeleteTaskSet API operation for Amazon EC2 Container Service. 1095// 1096// Deletes a specified task set within a service. This is used when a service 1097// uses the EXTERNAL deployment controller type. For more information, see Amazon 1098// ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1099// in the Amazon Elastic Container Service Developer Guide. 1100// 1101// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1102// with awserr.Error's Code and Message methods to get detailed information about 1103// the error. 1104// 1105// See the AWS API reference guide for Amazon EC2 Container Service's 1106// API operation DeleteTaskSet for usage and error information. 1107// 1108// Returned Error Types: 1109// * ServerException 1110// These errors are usually caused by a server issue. 1111// 1112// * ClientException 1113// These errors are usually caused by a client action, such as using an action 1114// or resource on behalf of a user that doesn't have permissions to use the 1115// action or resource, or specifying an identifier that is not valid. 1116// 1117// * InvalidParameterException 1118// The specified parameter is invalid. Review the available parameters for the 1119// API request. 1120// 1121// * ClusterNotFoundException 1122// The specified cluster could not be found. You can view your available clusters 1123// with ListClusters. Amazon ECS clusters are Region-specific. 1124// 1125// * UnsupportedFeatureException 1126// The specified task is not supported in this Region. 1127// 1128// * AccessDeniedException 1129// You do not have authorization to perform the requested action. 1130// 1131// * ServiceNotFoundException 1132// The specified service could not be found. You can view your available services 1133// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1134// 1135// * ServiceNotActiveException 1136// The specified service is not active. You can't update a service that is inactive. 1137// If you have previously deleted a service, you can re-create it with CreateService. 1138// 1139// * TaskSetNotFoundException 1140// The specified task set could not be found. You can view your available task 1141// sets with DescribeTaskSets. Task sets are specific to each cluster, service 1142// and Region. 1143// 1144// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSet 1145func (c *ECS) DeleteTaskSet(input *DeleteTaskSetInput) (*DeleteTaskSetOutput, error) { 1146 req, out := c.DeleteTaskSetRequest(input) 1147 return out, req.Send() 1148} 1149 1150// DeleteTaskSetWithContext is the same as DeleteTaskSet with the addition of 1151// the ability to pass a context and additional request options. 1152// 1153// See DeleteTaskSet for details on how to use this API operation. 1154// 1155// The context must be non-nil and will be used for request cancellation. If 1156// the context is nil a panic will occur. In the future the SDK may create 1157// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1158// for more information on using Contexts. 1159func (c *ECS) DeleteTaskSetWithContext(ctx aws.Context, input *DeleteTaskSetInput, opts ...request.Option) (*DeleteTaskSetOutput, error) { 1160 req, out := c.DeleteTaskSetRequest(input) 1161 req.SetContext(ctx) 1162 req.ApplyOptions(opts...) 1163 return out, req.Send() 1164} 1165 1166const opDeregisterContainerInstance = "DeregisterContainerInstance" 1167 1168// DeregisterContainerInstanceRequest generates a "aws/request.Request" representing the 1169// client's request for the DeregisterContainerInstance operation. The "output" return 1170// value will be populated with the request's response once the request completes 1171// successfully. 1172// 1173// Use "Send" method on the returned Request to send the API call to the service. 1174// the "output" return value is not valid until after Send returns without error. 1175// 1176// See DeregisterContainerInstance for more information on using the DeregisterContainerInstance 1177// API call, and error handling. 1178// 1179// This method is useful when you want to inject custom logic or configuration 1180// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1181// 1182// 1183// // Example sending a request using the DeregisterContainerInstanceRequest method. 1184// req, resp := client.DeregisterContainerInstanceRequest(params) 1185// 1186// err := req.Send() 1187// if err == nil { // resp is now filled 1188// fmt.Println(resp) 1189// } 1190// 1191// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1192func (c *ECS) DeregisterContainerInstanceRequest(input *DeregisterContainerInstanceInput) (req *request.Request, output *DeregisterContainerInstanceOutput) { 1193 op := &request.Operation{ 1194 Name: opDeregisterContainerInstance, 1195 HTTPMethod: "POST", 1196 HTTPPath: "/", 1197 } 1198 1199 if input == nil { 1200 input = &DeregisterContainerInstanceInput{} 1201 } 1202 1203 output = &DeregisterContainerInstanceOutput{} 1204 req = c.newRequest(op, input, output) 1205 return 1206} 1207 1208// DeregisterContainerInstance API operation for Amazon EC2 Container Service. 1209// 1210// Deregisters an Amazon ECS container instance from the specified cluster. 1211// This instance is no longer available to run tasks. 1212// 1213// If you intend to use the container instance for some other purpose after 1214// deregistration, you should stop all of the tasks running on the container 1215// instance before deregistration. That prevents any orphaned tasks from consuming 1216// resources. 1217// 1218// Deregistering a container instance removes the instance from a cluster, but 1219// it does not terminate the EC2 instance. If you are finished using the instance, 1220// be sure to terminate it in the Amazon EC2 console to stop billing. 1221// 1222// If you terminate a running container instance, Amazon ECS automatically deregisters 1223// the instance from your cluster (stopped container instances or instances 1224// with disconnected agents are not automatically deregistered when terminated). 1225// 1226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1227// with awserr.Error's Code and Message methods to get detailed information about 1228// the error. 1229// 1230// See the AWS API reference guide for Amazon EC2 Container Service's 1231// API operation DeregisterContainerInstance for usage and error information. 1232// 1233// Returned Error Types: 1234// * ServerException 1235// These errors are usually caused by a server issue. 1236// 1237// * ClientException 1238// These errors are usually caused by a client action, such as using an action 1239// or resource on behalf of a user that doesn't have permissions to use the 1240// action or resource, or specifying an identifier that is not valid. 1241// 1242// * InvalidParameterException 1243// The specified parameter is invalid. Review the available parameters for the 1244// API request. 1245// 1246// * ClusterNotFoundException 1247// The specified cluster could not be found. You can view your available clusters 1248// with ListClusters. Amazon ECS clusters are Region-specific. 1249// 1250// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance 1251func (c *ECS) DeregisterContainerInstance(input *DeregisterContainerInstanceInput) (*DeregisterContainerInstanceOutput, error) { 1252 req, out := c.DeregisterContainerInstanceRequest(input) 1253 return out, req.Send() 1254} 1255 1256// DeregisterContainerInstanceWithContext is the same as DeregisterContainerInstance with the addition of 1257// the ability to pass a context and additional request options. 1258// 1259// See DeregisterContainerInstance for details on how to use this API operation. 1260// 1261// The context must be non-nil and will be used for request cancellation. If 1262// the context is nil a panic will occur. In the future the SDK may create 1263// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1264// for more information on using Contexts. 1265func (c *ECS) DeregisterContainerInstanceWithContext(ctx aws.Context, input *DeregisterContainerInstanceInput, opts ...request.Option) (*DeregisterContainerInstanceOutput, error) { 1266 req, out := c.DeregisterContainerInstanceRequest(input) 1267 req.SetContext(ctx) 1268 req.ApplyOptions(opts...) 1269 return out, req.Send() 1270} 1271 1272const opDeregisterTaskDefinition = "DeregisterTaskDefinition" 1273 1274// DeregisterTaskDefinitionRequest generates a "aws/request.Request" representing the 1275// client's request for the DeregisterTaskDefinition operation. The "output" return 1276// value will be populated with the request's response once the request completes 1277// successfully. 1278// 1279// Use "Send" method on the returned Request to send the API call to the service. 1280// the "output" return value is not valid until after Send returns without error. 1281// 1282// See DeregisterTaskDefinition for more information on using the DeregisterTaskDefinition 1283// API call, and error handling. 1284// 1285// This method is useful when you want to inject custom logic or configuration 1286// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1287// 1288// 1289// // Example sending a request using the DeregisterTaskDefinitionRequest method. 1290// req, resp := client.DeregisterTaskDefinitionRequest(params) 1291// 1292// err := req.Send() 1293// if err == nil { // resp is now filled 1294// fmt.Println(resp) 1295// } 1296// 1297// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1298func (c *ECS) DeregisterTaskDefinitionRequest(input *DeregisterTaskDefinitionInput) (req *request.Request, output *DeregisterTaskDefinitionOutput) { 1299 op := &request.Operation{ 1300 Name: opDeregisterTaskDefinition, 1301 HTTPMethod: "POST", 1302 HTTPPath: "/", 1303 } 1304 1305 if input == nil { 1306 input = &DeregisterTaskDefinitionInput{} 1307 } 1308 1309 output = &DeregisterTaskDefinitionOutput{} 1310 req = c.newRequest(op, input, output) 1311 return 1312} 1313 1314// DeregisterTaskDefinition API operation for Amazon EC2 Container Service. 1315// 1316// Deregisters the specified task definition by family and revision. Upon deregistration, 1317// the task definition is marked as INACTIVE. Existing tasks and services that 1318// reference an INACTIVE task definition continue to run without disruption. 1319// Existing services that reference an INACTIVE task definition can still scale 1320// up or down by modifying the service's desired count. 1321// 1322// You cannot use an INACTIVE task definition to run new tasks or create new 1323// services, and you cannot update an existing service to reference an INACTIVE 1324// task definition. However, there may be up to a 10-minute window following 1325// deregistration where these restrictions have not yet taken effect. 1326// 1327// At this time, INACTIVE task definitions remain discoverable in your account 1328// indefinitely. However, this behavior is subject to change in the future, 1329// so you should not rely on INACTIVE task definitions persisting beyond the 1330// lifecycle of any associated tasks and services. 1331// 1332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1333// with awserr.Error's Code and Message methods to get detailed information about 1334// the error. 1335// 1336// See the AWS API reference guide for Amazon EC2 Container Service's 1337// API operation DeregisterTaskDefinition for usage and error information. 1338// 1339// Returned Error Types: 1340// * ServerException 1341// These errors are usually caused by a server issue. 1342// 1343// * ClientException 1344// These errors are usually caused by a client action, such as using an action 1345// or resource on behalf of a user that doesn't have permissions to use the 1346// action or resource, or specifying an identifier that is not valid. 1347// 1348// * InvalidParameterException 1349// The specified parameter is invalid. Review the available parameters for the 1350// API request. 1351// 1352// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterTaskDefinition 1353func (c *ECS) DeregisterTaskDefinition(input *DeregisterTaskDefinitionInput) (*DeregisterTaskDefinitionOutput, error) { 1354 req, out := c.DeregisterTaskDefinitionRequest(input) 1355 return out, req.Send() 1356} 1357 1358// DeregisterTaskDefinitionWithContext is the same as DeregisterTaskDefinition with the addition of 1359// the ability to pass a context and additional request options. 1360// 1361// See DeregisterTaskDefinition for details on how to use this API operation. 1362// 1363// The context must be non-nil and will be used for request cancellation. If 1364// the context is nil a panic will occur. In the future the SDK may create 1365// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1366// for more information on using Contexts. 1367func (c *ECS) DeregisterTaskDefinitionWithContext(ctx aws.Context, input *DeregisterTaskDefinitionInput, opts ...request.Option) (*DeregisterTaskDefinitionOutput, error) { 1368 req, out := c.DeregisterTaskDefinitionRequest(input) 1369 req.SetContext(ctx) 1370 req.ApplyOptions(opts...) 1371 return out, req.Send() 1372} 1373 1374const opDescribeCapacityProviders = "DescribeCapacityProviders" 1375 1376// DescribeCapacityProvidersRequest generates a "aws/request.Request" representing the 1377// client's request for the DescribeCapacityProviders operation. The "output" return 1378// value will be populated with the request's response once the request completes 1379// successfully. 1380// 1381// Use "Send" method on the returned Request to send the API call to the service. 1382// the "output" return value is not valid until after Send returns without error. 1383// 1384// See DescribeCapacityProviders for more information on using the DescribeCapacityProviders 1385// API call, and error handling. 1386// 1387// This method is useful when you want to inject custom logic or configuration 1388// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1389// 1390// 1391// // Example sending a request using the DescribeCapacityProvidersRequest method. 1392// req, resp := client.DescribeCapacityProvidersRequest(params) 1393// 1394// err := req.Send() 1395// if err == nil { // resp is now filled 1396// fmt.Println(resp) 1397// } 1398// 1399// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1400func (c *ECS) DescribeCapacityProvidersRequest(input *DescribeCapacityProvidersInput) (req *request.Request, output *DescribeCapacityProvidersOutput) { 1401 op := &request.Operation{ 1402 Name: opDescribeCapacityProviders, 1403 HTTPMethod: "POST", 1404 HTTPPath: "/", 1405 } 1406 1407 if input == nil { 1408 input = &DescribeCapacityProvidersInput{} 1409 } 1410 1411 output = &DescribeCapacityProvidersOutput{} 1412 req = c.newRequest(op, input, output) 1413 return 1414} 1415 1416// DescribeCapacityProviders API operation for Amazon EC2 Container Service. 1417// 1418// Describes one or more of your capacity providers. 1419// 1420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1421// with awserr.Error's Code and Message methods to get detailed information about 1422// the error. 1423// 1424// See the AWS API reference guide for Amazon EC2 Container Service's 1425// API operation DescribeCapacityProviders for usage and error information. 1426// 1427// Returned Error Types: 1428// * ServerException 1429// These errors are usually caused by a server issue. 1430// 1431// * ClientException 1432// These errors are usually caused by a client action, such as using an action 1433// or resource on behalf of a user that doesn't have permissions to use the 1434// action or resource, or specifying an identifier that is not valid. 1435// 1436// * InvalidParameterException 1437// The specified parameter is invalid. Review the available parameters for the 1438// API request. 1439// 1440// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders 1441func (c *ECS) DescribeCapacityProviders(input *DescribeCapacityProvidersInput) (*DescribeCapacityProvidersOutput, error) { 1442 req, out := c.DescribeCapacityProvidersRequest(input) 1443 return out, req.Send() 1444} 1445 1446// DescribeCapacityProvidersWithContext is the same as DescribeCapacityProviders with the addition of 1447// the ability to pass a context and additional request options. 1448// 1449// See DescribeCapacityProviders for details on how to use this API operation. 1450// 1451// The context must be non-nil and will be used for request cancellation. If 1452// the context is nil a panic will occur. In the future the SDK may create 1453// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1454// for more information on using Contexts. 1455func (c *ECS) DescribeCapacityProvidersWithContext(ctx aws.Context, input *DescribeCapacityProvidersInput, opts ...request.Option) (*DescribeCapacityProvidersOutput, error) { 1456 req, out := c.DescribeCapacityProvidersRequest(input) 1457 req.SetContext(ctx) 1458 req.ApplyOptions(opts...) 1459 return out, req.Send() 1460} 1461 1462const opDescribeClusters = "DescribeClusters" 1463 1464// DescribeClustersRequest generates a "aws/request.Request" representing the 1465// client's request for the DescribeClusters operation. The "output" return 1466// value will be populated with the request's response once the request completes 1467// successfully. 1468// 1469// Use "Send" method on the returned Request to send the API call to the service. 1470// the "output" return value is not valid until after Send returns without error. 1471// 1472// See DescribeClusters for more information on using the DescribeClusters 1473// API call, and error handling. 1474// 1475// This method is useful when you want to inject custom logic or configuration 1476// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1477// 1478// 1479// // Example sending a request using the DescribeClustersRequest method. 1480// req, resp := client.DescribeClustersRequest(params) 1481// 1482// err := req.Send() 1483// if err == nil { // resp is now filled 1484// fmt.Println(resp) 1485// } 1486// 1487// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1488func (c *ECS) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 1489 op := &request.Operation{ 1490 Name: opDescribeClusters, 1491 HTTPMethod: "POST", 1492 HTTPPath: "/", 1493 } 1494 1495 if input == nil { 1496 input = &DescribeClustersInput{} 1497 } 1498 1499 output = &DescribeClustersOutput{} 1500 req = c.newRequest(op, input, output) 1501 return 1502} 1503 1504// DescribeClusters API operation for Amazon EC2 Container Service. 1505// 1506// Describes one or more of your clusters. 1507// 1508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1509// with awserr.Error's Code and Message methods to get detailed information about 1510// the error. 1511// 1512// See the AWS API reference guide for Amazon EC2 Container Service's 1513// API operation DescribeClusters for usage and error information. 1514// 1515// Returned Error Types: 1516// * ServerException 1517// These errors are usually caused by a server issue. 1518// 1519// * ClientException 1520// These errors are usually caused by a client action, such as using an action 1521// or resource on behalf of a user that doesn't have permissions to use the 1522// action or resource, or specifying an identifier that is not valid. 1523// 1524// * InvalidParameterException 1525// The specified parameter is invalid. Review the available parameters for the 1526// API request. 1527// 1528// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClusters 1529func (c *ECS) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 1530 req, out := c.DescribeClustersRequest(input) 1531 return out, req.Send() 1532} 1533 1534// DescribeClustersWithContext is the same as DescribeClusters with the addition of 1535// the ability to pass a context and additional request options. 1536// 1537// See DescribeClusters for details on how to use this API operation. 1538// 1539// The context must be non-nil and will be used for request cancellation. If 1540// the context is nil a panic will occur. In the future the SDK may create 1541// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1542// for more information on using Contexts. 1543func (c *ECS) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 1544 req, out := c.DescribeClustersRequest(input) 1545 req.SetContext(ctx) 1546 req.ApplyOptions(opts...) 1547 return out, req.Send() 1548} 1549 1550const opDescribeContainerInstances = "DescribeContainerInstances" 1551 1552// DescribeContainerInstancesRequest generates a "aws/request.Request" representing the 1553// client's request for the DescribeContainerInstances operation. The "output" return 1554// value will be populated with the request's response once the request completes 1555// successfully. 1556// 1557// Use "Send" method on the returned Request to send the API call to the service. 1558// the "output" return value is not valid until after Send returns without error. 1559// 1560// See DescribeContainerInstances for more information on using the DescribeContainerInstances 1561// API call, and error handling. 1562// 1563// This method is useful when you want to inject custom logic or configuration 1564// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1565// 1566// 1567// // Example sending a request using the DescribeContainerInstancesRequest method. 1568// req, resp := client.DescribeContainerInstancesRequest(params) 1569// 1570// err := req.Send() 1571// if err == nil { // resp is now filled 1572// fmt.Println(resp) 1573// } 1574// 1575// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1576func (c *ECS) DescribeContainerInstancesRequest(input *DescribeContainerInstancesInput) (req *request.Request, output *DescribeContainerInstancesOutput) { 1577 op := &request.Operation{ 1578 Name: opDescribeContainerInstances, 1579 HTTPMethod: "POST", 1580 HTTPPath: "/", 1581 } 1582 1583 if input == nil { 1584 input = &DescribeContainerInstancesInput{} 1585 } 1586 1587 output = &DescribeContainerInstancesOutput{} 1588 req = c.newRequest(op, input, output) 1589 return 1590} 1591 1592// DescribeContainerInstances API operation for Amazon EC2 Container Service. 1593// 1594// Describes one or more container instances. Returns metadata about each container 1595// instance requested. 1596// 1597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1598// with awserr.Error's Code and Message methods to get detailed information about 1599// the error. 1600// 1601// See the AWS API reference guide for Amazon EC2 Container Service's 1602// API operation DescribeContainerInstances for usage and error information. 1603// 1604// Returned Error Types: 1605// * ServerException 1606// These errors are usually caused by a server issue. 1607// 1608// * ClientException 1609// These errors are usually caused by a client action, such as using an action 1610// or resource on behalf of a user that doesn't have permissions to use the 1611// action or resource, or specifying an identifier that is not valid. 1612// 1613// * InvalidParameterException 1614// The specified parameter is invalid. Review the available parameters for the 1615// API request. 1616// 1617// * ClusterNotFoundException 1618// The specified cluster could not be found. You can view your available clusters 1619// with ListClusters. Amazon ECS clusters are Region-specific. 1620// 1621// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstances 1622func (c *ECS) DescribeContainerInstances(input *DescribeContainerInstancesInput) (*DescribeContainerInstancesOutput, error) { 1623 req, out := c.DescribeContainerInstancesRequest(input) 1624 return out, req.Send() 1625} 1626 1627// DescribeContainerInstancesWithContext is the same as DescribeContainerInstances with the addition of 1628// the ability to pass a context and additional request options. 1629// 1630// See DescribeContainerInstances for details on how to use this API operation. 1631// 1632// The context must be non-nil and will be used for request cancellation. If 1633// the context is nil a panic will occur. In the future the SDK may create 1634// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1635// for more information on using Contexts. 1636func (c *ECS) DescribeContainerInstancesWithContext(ctx aws.Context, input *DescribeContainerInstancesInput, opts ...request.Option) (*DescribeContainerInstancesOutput, error) { 1637 req, out := c.DescribeContainerInstancesRequest(input) 1638 req.SetContext(ctx) 1639 req.ApplyOptions(opts...) 1640 return out, req.Send() 1641} 1642 1643const opDescribeServices = "DescribeServices" 1644 1645// DescribeServicesRequest generates a "aws/request.Request" representing the 1646// client's request for the DescribeServices operation. The "output" return 1647// value will be populated with the request's response once the request completes 1648// successfully. 1649// 1650// Use "Send" method on the returned Request to send the API call to the service. 1651// the "output" return value is not valid until after Send returns without error. 1652// 1653// See DescribeServices for more information on using the DescribeServices 1654// API call, and error handling. 1655// 1656// This method is useful when you want to inject custom logic or configuration 1657// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1658// 1659// 1660// // Example sending a request using the DescribeServicesRequest method. 1661// req, resp := client.DescribeServicesRequest(params) 1662// 1663// err := req.Send() 1664// if err == nil { // resp is now filled 1665// fmt.Println(resp) 1666// } 1667// 1668// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1669func (c *ECS) DescribeServicesRequest(input *DescribeServicesInput) (req *request.Request, output *DescribeServicesOutput) { 1670 op := &request.Operation{ 1671 Name: opDescribeServices, 1672 HTTPMethod: "POST", 1673 HTTPPath: "/", 1674 } 1675 1676 if input == nil { 1677 input = &DescribeServicesInput{} 1678 } 1679 1680 output = &DescribeServicesOutput{} 1681 req = c.newRequest(op, input, output) 1682 return 1683} 1684 1685// DescribeServices API operation for Amazon EC2 Container Service. 1686// 1687// Describes the specified services running in your cluster. 1688// 1689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1690// with awserr.Error's Code and Message methods to get detailed information about 1691// the error. 1692// 1693// See the AWS API reference guide for Amazon EC2 Container Service's 1694// API operation DescribeServices for usage and error information. 1695// 1696// Returned Error Types: 1697// * ServerException 1698// These errors are usually caused by a server issue. 1699// 1700// * ClientException 1701// These errors are usually caused by a client action, such as using an action 1702// or resource on behalf of a user that doesn't have permissions to use the 1703// action or resource, or specifying an identifier that is not valid. 1704// 1705// * InvalidParameterException 1706// The specified parameter is invalid. Review the available parameters for the 1707// API request. 1708// 1709// * ClusterNotFoundException 1710// The specified cluster could not be found. You can view your available clusters 1711// with ListClusters. Amazon ECS clusters are Region-specific. 1712// 1713// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServices 1714func (c *ECS) DescribeServices(input *DescribeServicesInput) (*DescribeServicesOutput, error) { 1715 req, out := c.DescribeServicesRequest(input) 1716 return out, req.Send() 1717} 1718 1719// DescribeServicesWithContext is the same as DescribeServices with the addition of 1720// the ability to pass a context and additional request options. 1721// 1722// See DescribeServices for details on how to use this API operation. 1723// 1724// The context must be non-nil and will be used for request cancellation. If 1725// the context is nil a panic will occur. In the future the SDK may create 1726// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1727// for more information on using Contexts. 1728func (c *ECS) DescribeServicesWithContext(ctx aws.Context, input *DescribeServicesInput, opts ...request.Option) (*DescribeServicesOutput, error) { 1729 req, out := c.DescribeServicesRequest(input) 1730 req.SetContext(ctx) 1731 req.ApplyOptions(opts...) 1732 return out, req.Send() 1733} 1734 1735const opDescribeTaskDefinition = "DescribeTaskDefinition" 1736 1737// DescribeTaskDefinitionRequest generates a "aws/request.Request" representing the 1738// client's request for the DescribeTaskDefinition operation. The "output" return 1739// value will be populated with the request's response once the request completes 1740// successfully. 1741// 1742// Use "Send" method on the returned Request to send the API call to the service. 1743// the "output" return value is not valid until after Send returns without error. 1744// 1745// See DescribeTaskDefinition for more information on using the DescribeTaskDefinition 1746// API call, and error handling. 1747// 1748// This method is useful when you want to inject custom logic or configuration 1749// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1750// 1751// 1752// // Example sending a request using the DescribeTaskDefinitionRequest method. 1753// req, resp := client.DescribeTaskDefinitionRequest(params) 1754// 1755// err := req.Send() 1756// if err == nil { // resp is now filled 1757// fmt.Println(resp) 1758// } 1759// 1760// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1761func (c *ECS) DescribeTaskDefinitionRequest(input *DescribeTaskDefinitionInput) (req *request.Request, output *DescribeTaskDefinitionOutput) { 1762 op := &request.Operation{ 1763 Name: opDescribeTaskDefinition, 1764 HTTPMethod: "POST", 1765 HTTPPath: "/", 1766 } 1767 1768 if input == nil { 1769 input = &DescribeTaskDefinitionInput{} 1770 } 1771 1772 output = &DescribeTaskDefinitionOutput{} 1773 req = c.newRequest(op, input, output) 1774 return 1775} 1776 1777// DescribeTaskDefinition API operation for Amazon EC2 Container Service. 1778// 1779// Describes a task definition. You can specify a family and revision to find 1780// information about a specific task definition, or you can simply specify the 1781// family to find the latest ACTIVE revision in that family. 1782// 1783// You can only describe INACTIVE task definitions while an active task or service 1784// references them. 1785// 1786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1787// with awserr.Error's Code and Message methods to get detailed information about 1788// the error. 1789// 1790// See the AWS API reference guide for Amazon EC2 Container Service's 1791// API operation DescribeTaskDefinition for usage and error information. 1792// 1793// Returned Error Types: 1794// * ServerException 1795// These errors are usually caused by a server issue. 1796// 1797// * ClientException 1798// These errors are usually caused by a client action, such as using an action 1799// or resource on behalf of a user that doesn't have permissions to use the 1800// action or resource, or specifying an identifier that is not valid. 1801// 1802// * InvalidParameterException 1803// The specified parameter is invalid. Review the available parameters for the 1804// API request. 1805// 1806// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition 1807func (c *ECS) DescribeTaskDefinition(input *DescribeTaskDefinitionInput) (*DescribeTaskDefinitionOutput, error) { 1808 req, out := c.DescribeTaskDefinitionRequest(input) 1809 return out, req.Send() 1810} 1811 1812// DescribeTaskDefinitionWithContext is the same as DescribeTaskDefinition with the addition of 1813// the ability to pass a context and additional request options. 1814// 1815// See DescribeTaskDefinition 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) DescribeTaskDefinitionWithContext(ctx aws.Context, input *DescribeTaskDefinitionInput, opts ...request.Option) (*DescribeTaskDefinitionOutput, error) { 1822 req, out := c.DescribeTaskDefinitionRequest(input) 1823 req.SetContext(ctx) 1824 req.ApplyOptions(opts...) 1825 return out, req.Send() 1826} 1827 1828const opDescribeTaskSets = "DescribeTaskSets" 1829 1830// DescribeTaskSetsRequest generates a "aws/request.Request" representing the 1831// client's request for the DescribeTaskSets 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 DescribeTaskSets for more information on using the DescribeTaskSets 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 DescribeTaskSetsRequest method. 1846// req, resp := client.DescribeTaskSetsRequest(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/DescribeTaskSets 1854func (c *ECS) DescribeTaskSetsRequest(input *DescribeTaskSetsInput) (req *request.Request, output *DescribeTaskSetsOutput) { 1855 op := &request.Operation{ 1856 Name: opDescribeTaskSets, 1857 HTTPMethod: "POST", 1858 HTTPPath: "/", 1859 } 1860 1861 if input == nil { 1862 input = &DescribeTaskSetsInput{} 1863 } 1864 1865 output = &DescribeTaskSetsOutput{} 1866 req = c.newRequest(op, input, output) 1867 return 1868} 1869 1870// DescribeTaskSets API operation for Amazon EC2 Container Service. 1871// 1872// Describes the task sets in the specified cluster and service. This is used 1873// when a service uses the EXTERNAL deployment controller type. For more information, 1874// see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 1875// in the Amazon Elastic Container Service Developer Guide. 1876// 1877// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1878// with awserr.Error's Code and Message methods to get detailed information about 1879// the error. 1880// 1881// See the AWS API reference guide for Amazon EC2 Container Service's 1882// API operation DescribeTaskSets for usage and error information. 1883// 1884// Returned Error Types: 1885// * ServerException 1886// These errors are usually caused by a server issue. 1887// 1888// * ClientException 1889// These errors are usually caused by a client action, such as using an action 1890// or resource on behalf of a user that doesn't have permissions to use the 1891// action or resource, or specifying an identifier that is not valid. 1892// 1893// * InvalidParameterException 1894// The specified parameter is invalid. Review the available parameters for the 1895// API request. 1896// 1897// * ClusterNotFoundException 1898// The specified cluster could not be found. You can view your available clusters 1899// with ListClusters. Amazon ECS clusters are Region-specific. 1900// 1901// * UnsupportedFeatureException 1902// The specified task is not supported in this Region. 1903// 1904// * AccessDeniedException 1905// You do not have authorization to perform the requested action. 1906// 1907// * ServiceNotFoundException 1908// The specified service could not be found. You can view your available services 1909// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 1910// 1911// * ServiceNotActiveException 1912// The specified service is not active. You can't update a service that is inactive. 1913// If you have previously deleted a service, you can re-create it with CreateService. 1914// 1915// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSets 1916func (c *ECS) DescribeTaskSets(input *DescribeTaskSetsInput) (*DescribeTaskSetsOutput, error) { 1917 req, out := c.DescribeTaskSetsRequest(input) 1918 return out, req.Send() 1919} 1920 1921// DescribeTaskSetsWithContext is the same as DescribeTaskSets with the addition of 1922// the ability to pass a context and additional request options. 1923// 1924// See DescribeTaskSets for details on how to use this API operation. 1925// 1926// The context must be non-nil and will be used for request cancellation. If 1927// the context is nil a panic will occur. In the future the SDK may create 1928// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1929// for more information on using Contexts. 1930func (c *ECS) DescribeTaskSetsWithContext(ctx aws.Context, input *DescribeTaskSetsInput, opts ...request.Option) (*DescribeTaskSetsOutput, error) { 1931 req, out := c.DescribeTaskSetsRequest(input) 1932 req.SetContext(ctx) 1933 req.ApplyOptions(opts...) 1934 return out, req.Send() 1935} 1936 1937const opDescribeTasks = "DescribeTasks" 1938 1939// DescribeTasksRequest generates a "aws/request.Request" representing the 1940// client's request for the DescribeTasks operation. The "output" return 1941// value will be populated with the request's response once the request completes 1942// successfully. 1943// 1944// Use "Send" method on the returned Request to send the API call to the service. 1945// the "output" return value is not valid until after Send returns without error. 1946// 1947// See DescribeTasks for more information on using the DescribeTasks 1948// API call, and error handling. 1949// 1950// This method is useful when you want to inject custom logic or configuration 1951// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1952// 1953// 1954// // Example sending a request using the DescribeTasksRequest method. 1955// req, resp := client.DescribeTasksRequest(params) 1956// 1957// err := req.Send() 1958// if err == nil { // resp is now filled 1959// fmt.Println(resp) 1960// } 1961// 1962// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 1963func (c *ECS) DescribeTasksRequest(input *DescribeTasksInput) (req *request.Request, output *DescribeTasksOutput) { 1964 op := &request.Operation{ 1965 Name: opDescribeTasks, 1966 HTTPMethod: "POST", 1967 HTTPPath: "/", 1968 } 1969 1970 if input == nil { 1971 input = &DescribeTasksInput{} 1972 } 1973 1974 output = &DescribeTasksOutput{} 1975 req = c.newRequest(op, input, output) 1976 return 1977} 1978 1979// DescribeTasks API operation for Amazon EC2 Container Service. 1980// 1981// Describes a specified task or tasks. 1982// 1983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1984// with awserr.Error's Code and Message methods to get detailed information about 1985// the error. 1986// 1987// See the AWS API reference guide for Amazon EC2 Container Service's 1988// API operation DescribeTasks for usage and error information. 1989// 1990// Returned Error Types: 1991// * ServerException 1992// These errors are usually caused by a server issue. 1993// 1994// * ClientException 1995// These errors are usually caused by a client action, such as using an action 1996// or resource on behalf of a user that doesn't have permissions to use the 1997// action or resource, or specifying an identifier that is not valid. 1998// 1999// * InvalidParameterException 2000// The specified parameter is invalid. Review the available parameters for the 2001// API request. 2002// 2003// * ClusterNotFoundException 2004// The specified cluster could not be found. You can view your available clusters 2005// with ListClusters. Amazon ECS clusters are Region-specific. 2006// 2007// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasks 2008func (c *ECS) DescribeTasks(input *DescribeTasksInput) (*DescribeTasksOutput, error) { 2009 req, out := c.DescribeTasksRequest(input) 2010 return out, req.Send() 2011} 2012 2013// DescribeTasksWithContext is the same as DescribeTasks with the addition of 2014// the ability to pass a context and additional request options. 2015// 2016// See DescribeTasks for details on how to use this API operation. 2017// 2018// The context must be non-nil and will be used for request cancellation. If 2019// the context is nil a panic will occur. In the future the SDK may create 2020// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2021// for more information on using Contexts. 2022func (c *ECS) DescribeTasksWithContext(ctx aws.Context, input *DescribeTasksInput, opts ...request.Option) (*DescribeTasksOutput, error) { 2023 req, out := c.DescribeTasksRequest(input) 2024 req.SetContext(ctx) 2025 req.ApplyOptions(opts...) 2026 return out, req.Send() 2027} 2028 2029const opDiscoverPollEndpoint = "DiscoverPollEndpoint" 2030 2031// DiscoverPollEndpointRequest generates a "aws/request.Request" representing the 2032// client's request for the DiscoverPollEndpoint operation. The "output" return 2033// value will be populated with the request's response once the request completes 2034// successfully. 2035// 2036// Use "Send" method on the returned Request to send the API call to the service. 2037// the "output" return value is not valid until after Send returns without error. 2038// 2039// See DiscoverPollEndpoint for more information on using the DiscoverPollEndpoint 2040// API call, and error handling. 2041// 2042// This method is useful when you want to inject custom logic or configuration 2043// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2044// 2045// 2046// // Example sending a request using the DiscoverPollEndpointRequest method. 2047// req, resp := client.DiscoverPollEndpointRequest(params) 2048// 2049// err := req.Send() 2050// if err == nil { // resp is now filled 2051// fmt.Println(resp) 2052// } 2053// 2054// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 2055func (c *ECS) DiscoverPollEndpointRequest(input *DiscoverPollEndpointInput) (req *request.Request, output *DiscoverPollEndpointOutput) { 2056 op := &request.Operation{ 2057 Name: opDiscoverPollEndpoint, 2058 HTTPMethod: "POST", 2059 HTTPPath: "/", 2060 } 2061 2062 if input == nil { 2063 input = &DiscoverPollEndpointInput{} 2064 } 2065 2066 output = &DiscoverPollEndpointOutput{} 2067 req = c.newRequest(op, input, output) 2068 return 2069} 2070 2071// DiscoverPollEndpoint API operation for Amazon EC2 Container Service. 2072// 2073// 2074// This action is only used by the Amazon ECS agent, and it is not intended 2075// for use outside of the agent. 2076// 2077// Returns an endpoint for the Amazon ECS agent to poll for updates. 2078// 2079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2080// with awserr.Error's Code and Message methods to get detailed information about 2081// the error. 2082// 2083// See the AWS API reference guide for Amazon EC2 Container Service's 2084// API operation DiscoverPollEndpoint for usage and error information. 2085// 2086// Returned Error Types: 2087// * ServerException 2088// These errors are usually caused by a server issue. 2089// 2090// * ClientException 2091// These errors are usually caused by a client action, such as using an action 2092// or resource on behalf of a user that doesn't have permissions to use the 2093// action or resource, or specifying an identifier that is not valid. 2094// 2095// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint 2096func (c *ECS) DiscoverPollEndpoint(input *DiscoverPollEndpointInput) (*DiscoverPollEndpointOutput, error) { 2097 req, out := c.DiscoverPollEndpointRequest(input) 2098 return out, req.Send() 2099} 2100 2101// DiscoverPollEndpointWithContext is the same as DiscoverPollEndpoint with the addition of 2102// the ability to pass a context and additional request options. 2103// 2104// See DiscoverPollEndpoint for details on how to use this API operation. 2105// 2106// The context must be non-nil and will be used for request cancellation. If 2107// the context is nil a panic will occur. In the future the SDK may create 2108// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2109// for more information on using Contexts. 2110func (c *ECS) DiscoverPollEndpointWithContext(ctx aws.Context, input *DiscoverPollEndpointInput, opts ...request.Option) (*DiscoverPollEndpointOutput, error) { 2111 req, out := c.DiscoverPollEndpointRequest(input) 2112 req.SetContext(ctx) 2113 req.ApplyOptions(opts...) 2114 return out, req.Send() 2115} 2116 2117const opExecuteCommand = "ExecuteCommand" 2118 2119// ExecuteCommandRequest generates a "aws/request.Request" representing the 2120// client's request for the ExecuteCommand operation. The "output" return 2121// value will be populated with the request's response once the request completes 2122// successfully. 2123// 2124// Use "Send" method on the returned Request to send the API call to the service. 2125// the "output" return value is not valid until after Send returns without error. 2126// 2127// See ExecuteCommand for more information on using the ExecuteCommand 2128// API call, and error handling. 2129// 2130// This method is useful when you want to inject custom logic or configuration 2131// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2132// 2133// 2134// // Example sending a request using the ExecuteCommandRequest method. 2135// req, resp := client.ExecuteCommandRequest(params) 2136// 2137// err := req.Send() 2138// if err == nil { // resp is now filled 2139// fmt.Println(resp) 2140// } 2141// 2142// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommand 2143func (c *ECS) ExecuteCommandRequest(input *ExecuteCommandInput) (req *request.Request, output *ExecuteCommandOutput) { 2144 op := &request.Operation{ 2145 Name: opExecuteCommand, 2146 HTTPMethod: "POST", 2147 HTTPPath: "/", 2148 } 2149 2150 if input == nil { 2151 input = &ExecuteCommandInput{} 2152 } 2153 2154 output = &ExecuteCommandOutput{} 2155 req = c.newRequest(op, input, output) 2156 return 2157} 2158 2159// ExecuteCommand API operation for Amazon EC2 Container Service. 2160// 2161// Runs a command remotely on a container within a task. 2162// 2163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2164// with awserr.Error's Code and Message methods to get detailed information about 2165// the error. 2166// 2167// See the AWS API reference guide for Amazon EC2 Container Service's 2168// API operation ExecuteCommand for usage and error information. 2169// 2170// Returned Error Types: 2171// * ServerException 2172// These errors are usually caused by a server issue. 2173// 2174// * ClientException 2175// These errors are usually caused by a client action, such as using an action 2176// or resource on behalf of a user that doesn't have permissions to use the 2177// action or resource, or specifying an identifier that is not valid. 2178// 2179// * InvalidParameterException 2180// The specified parameter is invalid. Review the available parameters for the 2181// API request. 2182// 2183// * AccessDeniedException 2184// You do not have authorization to perform the requested action. 2185// 2186// * ClusterNotFoundException 2187// The specified cluster could not be found. You can view your available clusters 2188// with ListClusters. Amazon ECS clusters are Region-specific. 2189// 2190// * TargetNotConnectedException 2191// The target container is not properly configured with the execute command 2192// agent or the container is no longer active or running. 2193// 2194// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ExecuteCommand 2195func (c *ECS) ExecuteCommand(input *ExecuteCommandInput) (*ExecuteCommandOutput, error) { 2196 req, out := c.ExecuteCommandRequest(input) 2197 return out, req.Send() 2198} 2199 2200// ExecuteCommandWithContext is the same as ExecuteCommand with the addition of 2201// the ability to pass a context and additional request options. 2202// 2203// See ExecuteCommand for details on how to use this API operation. 2204// 2205// The context must be non-nil and will be used for request cancellation. If 2206// the context is nil a panic will occur. In the future the SDK may create 2207// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2208// for more information on using Contexts. 2209func (c *ECS) ExecuteCommandWithContext(ctx aws.Context, input *ExecuteCommandInput, opts ...request.Option) (*ExecuteCommandOutput, error) { 2210 req, out := c.ExecuteCommandRequest(input) 2211 req.SetContext(ctx) 2212 req.ApplyOptions(opts...) 2213 return out, req.Send() 2214} 2215 2216const opListAccountSettings = "ListAccountSettings" 2217 2218// ListAccountSettingsRequest generates a "aws/request.Request" representing the 2219// client's request for the ListAccountSettings operation. The "output" return 2220// value will be populated with the request's response once the request completes 2221// successfully. 2222// 2223// Use "Send" method on the returned Request to send the API call to the service. 2224// the "output" return value is not valid until after Send returns without error. 2225// 2226// See ListAccountSettings for more information on using the ListAccountSettings 2227// API call, and error handling. 2228// 2229// This method is useful when you want to inject custom logic or configuration 2230// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2231// 2232// 2233// // Example sending a request using the ListAccountSettingsRequest method. 2234// req, resp := client.ListAccountSettingsRequest(params) 2235// 2236// err := req.Send() 2237// if err == nil { // resp is now filled 2238// fmt.Println(resp) 2239// } 2240// 2241// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2242func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 2243 op := &request.Operation{ 2244 Name: opListAccountSettings, 2245 HTTPMethod: "POST", 2246 HTTPPath: "/", 2247 Paginator: &request.Paginator{ 2248 InputTokens: []string{"nextToken"}, 2249 OutputTokens: []string{"nextToken"}, 2250 LimitToken: "maxResults", 2251 TruncationToken: "", 2252 }, 2253 } 2254 2255 if input == nil { 2256 input = &ListAccountSettingsInput{} 2257 } 2258 2259 output = &ListAccountSettingsOutput{} 2260 req = c.newRequest(op, input, output) 2261 return 2262} 2263 2264// ListAccountSettings API operation for Amazon EC2 Container Service. 2265// 2266// Lists the account settings for a specified principal. 2267// 2268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2269// with awserr.Error's Code and Message methods to get detailed information about 2270// the error. 2271// 2272// See the AWS API reference guide for Amazon EC2 Container Service's 2273// API operation ListAccountSettings for usage and error information. 2274// 2275// Returned Error Types: 2276// * ServerException 2277// These errors are usually caused by a server issue. 2278// 2279// * ClientException 2280// These errors are usually caused by a client action, such as using an action 2281// or resource on behalf of a user that doesn't have permissions to use the 2282// action or resource, or specifying an identifier that is not valid. 2283// 2284// * InvalidParameterException 2285// The specified parameter is invalid. Review the available parameters for the 2286// API request. 2287// 2288// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2289func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 2290 req, out := c.ListAccountSettingsRequest(input) 2291 return out, req.Send() 2292} 2293 2294// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 2295// the ability to pass a context and additional request options. 2296// 2297// See ListAccountSettings for details on how to use this API operation. 2298// 2299// The context must be non-nil and will be used for request cancellation. If 2300// the context is nil a panic will occur. In the future the SDK may create 2301// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2302// for more information on using Contexts. 2303func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 2304 req, out := c.ListAccountSettingsRequest(input) 2305 req.SetContext(ctx) 2306 req.ApplyOptions(opts...) 2307 return out, req.Send() 2308} 2309 2310// ListAccountSettingsPages iterates over the pages of a ListAccountSettings operation, 2311// calling the "fn" function with the response data for each page. To stop 2312// iterating, return false from the fn function. 2313// 2314// See ListAccountSettings method for more information on how to use this operation. 2315// 2316// Note: This operation can generate multiple requests to a service. 2317// 2318// // Example iterating over at most 3 pages of a ListAccountSettings operation. 2319// pageNum := 0 2320// err := client.ListAccountSettingsPages(params, 2321// func(page *ecs.ListAccountSettingsOutput, lastPage bool) bool { 2322// pageNum++ 2323// fmt.Println(page) 2324// return pageNum <= 3 2325// }) 2326// 2327func (c *ECS) ListAccountSettingsPages(input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool) error { 2328 return c.ListAccountSettingsPagesWithContext(aws.BackgroundContext(), input, fn) 2329} 2330 2331// ListAccountSettingsPagesWithContext same as ListAccountSettingsPages except 2332// it takes a Context and allows setting request options on the pages. 2333// 2334// The context must be non-nil and will be used for request cancellation. If 2335// the context is nil a panic will occur. In the future the SDK may create 2336// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2337// for more information on using Contexts. 2338func (c *ECS) ListAccountSettingsPagesWithContext(ctx aws.Context, input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool, opts ...request.Option) error { 2339 p := request.Pagination{ 2340 NewRequest: func() (*request.Request, error) { 2341 var inCpy *ListAccountSettingsInput 2342 if input != nil { 2343 tmp := *input 2344 inCpy = &tmp 2345 } 2346 req, _ := c.ListAccountSettingsRequest(inCpy) 2347 req.SetContext(ctx) 2348 req.ApplyOptions(opts...) 2349 return req, nil 2350 }, 2351 } 2352 2353 for p.Next() { 2354 if !fn(p.Page().(*ListAccountSettingsOutput), !p.HasNextPage()) { 2355 break 2356 } 2357 } 2358 2359 return p.Err() 2360} 2361 2362const opListAttributes = "ListAttributes" 2363 2364// ListAttributesRequest generates a "aws/request.Request" representing the 2365// client's request for the ListAttributes operation. The "output" return 2366// value will be populated with the request's response once the request completes 2367// successfully. 2368// 2369// Use "Send" method on the returned Request to send the API call to the service. 2370// the "output" return value is not valid until after Send returns without error. 2371// 2372// See ListAttributes for more information on using the ListAttributes 2373// API call, and error handling. 2374// 2375// This method is useful when you want to inject custom logic or configuration 2376// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2377// 2378// 2379// // Example sending a request using the ListAttributesRequest method. 2380// req, resp := client.ListAttributesRequest(params) 2381// 2382// err := req.Send() 2383// if err == nil { // resp is now filled 2384// fmt.Println(resp) 2385// } 2386// 2387// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2388func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 2389 op := &request.Operation{ 2390 Name: opListAttributes, 2391 HTTPMethod: "POST", 2392 HTTPPath: "/", 2393 Paginator: &request.Paginator{ 2394 InputTokens: []string{"nextToken"}, 2395 OutputTokens: []string{"nextToken"}, 2396 LimitToken: "maxResults", 2397 TruncationToken: "", 2398 }, 2399 } 2400 2401 if input == nil { 2402 input = &ListAttributesInput{} 2403 } 2404 2405 output = &ListAttributesOutput{} 2406 req = c.newRequest(op, input, output) 2407 return 2408} 2409 2410// ListAttributes API operation for Amazon EC2 Container Service. 2411// 2412// Lists the attributes for Amazon ECS resources within a specified target type 2413// and cluster. When you specify a target type and cluster, ListAttributes returns 2414// a list of attribute objects, one for each attribute on each resource. You 2415// can filter the list of results to a single attribute name to only return 2416// results that have that name. You can also filter the results by attribute 2417// name and value, for example, to see which container instances in a cluster 2418// are running a Linux AMI (ecs.os-type=linux). 2419// 2420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2421// with awserr.Error's Code and Message methods to get detailed information about 2422// the error. 2423// 2424// See the AWS API reference guide for Amazon EC2 Container Service's 2425// API operation ListAttributes for usage and error information. 2426// 2427// Returned Error Types: 2428// * ClusterNotFoundException 2429// The specified cluster could not be found. You can view your available clusters 2430// with ListClusters. Amazon ECS clusters are Region-specific. 2431// 2432// * InvalidParameterException 2433// The specified parameter is invalid. Review the available parameters for the 2434// API request. 2435// 2436// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2437func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 2438 req, out := c.ListAttributesRequest(input) 2439 return out, req.Send() 2440} 2441 2442// ListAttributesWithContext is the same as ListAttributes with the addition of 2443// the ability to pass a context and additional request options. 2444// 2445// See ListAttributes for details on how to use this API operation. 2446// 2447// The context must be non-nil and will be used for request cancellation. If 2448// the context is nil a panic will occur. In the future the SDK may create 2449// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2450// for more information on using Contexts. 2451func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 2452 req, out := c.ListAttributesRequest(input) 2453 req.SetContext(ctx) 2454 req.ApplyOptions(opts...) 2455 return out, req.Send() 2456} 2457 2458// ListAttributesPages iterates over the pages of a ListAttributes operation, 2459// calling the "fn" function with the response data for each page. To stop 2460// iterating, return false from the fn function. 2461// 2462// See ListAttributes method for more information on how to use this operation. 2463// 2464// Note: This operation can generate multiple requests to a service. 2465// 2466// // Example iterating over at most 3 pages of a ListAttributes operation. 2467// pageNum := 0 2468// err := client.ListAttributesPages(params, 2469// func(page *ecs.ListAttributesOutput, lastPage bool) bool { 2470// pageNum++ 2471// fmt.Println(page) 2472// return pageNum <= 3 2473// }) 2474// 2475func (c *ECS) ListAttributesPages(input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool) error { 2476 return c.ListAttributesPagesWithContext(aws.BackgroundContext(), input, fn) 2477} 2478 2479// ListAttributesPagesWithContext same as ListAttributesPages except 2480// it takes a Context and allows setting request options on the pages. 2481// 2482// The context must be non-nil and will be used for request cancellation. If 2483// the context is nil a panic will occur. In the future the SDK may create 2484// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2485// for more information on using Contexts. 2486func (c *ECS) ListAttributesPagesWithContext(ctx aws.Context, input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool, opts ...request.Option) error { 2487 p := request.Pagination{ 2488 NewRequest: func() (*request.Request, error) { 2489 var inCpy *ListAttributesInput 2490 if input != nil { 2491 tmp := *input 2492 inCpy = &tmp 2493 } 2494 req, _ := c.ListAttributesRequest(inCpy) 2495 req.SetContext(ctx) 2496 req.ApplyOptions(opts...) 2497 return req, nil 2498 }, 2499 } 2500 2501 for p.Next() { 2502 if !fn(p.Page().(*ListAttributesOutput), !p.HasNextPage()) { 2503 break 2504 } 2505 } 2506 2507 return p.Err() 2508} 2509 2510const opListClusters = "ListClusters" 2511 2512// ListClustersRequest generates a "aws/request.Request" representing the 2513// client's request for the ListClusters operation. The "output" return 2514// value will be populated with the request's response once the request completes 2515// successfully. 2516// 2517// Use "Send" method on the returned Request to send the API call to the service. 2518// the "output" return value is not valid until after Send returns without error. 2519// 2520// See ListClusters for more information on using the ListClusters 2521// API call, and error handling. 2522// 2523// This method is useful when you want to inject custom logic or configuration 2524// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2525// 2526// 2527// // Example sending a request using the ListClustersRequest method. 2528// req, resp := client.ListClustersRequest(params) 2529// 2530// err := req.Send() 2531// if err == nil { // resp is now filled 2532// fmt.Println(resp) 2533// } 2534// 2535// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2536func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2537 op := &request.Operation{ 2538 Name: opListClusters, 2539 HTTPMethod: "POST", 2540 HTTPPath: "/", 2541 Paginator: &request.Paginator{ 2542 InputTokens: []string{"nextToken"}, 2543 OutputTokens: []string{"nextToken"}, 2544 LimitToken: "maxResults", 2545 TruncationToken: "", 2546 }, 2547 } 2548 2549 if input == nil { 2550 input = &ListClustersInput{} 2551 } 2552 2553 output = &ListClustersOutput{} 2554 req = c.newRequest(op, input, output) 2555 return 2556} 2557 2558// ListClusters API operation for Amazon EC2 Container Service. 2559// 2560// Returns a list of existing clusters. 2561// 2562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2563// with awserr.Error's Code and Message methods to get detailed information about 2564// the error. 2565// 2566// See the AWS API reference guide for Amazon EC2 Container Service's 2567// API operation ListClusters for usage and error information. 2568// 2569// Returned Error Types: 2570// * ServerException 2571// These errors are usually caused by a server issue. 2572// 2573// * ClientException 2574// These errors are usually caused by a client action, such as using an action 2575// or resource on behalf of a user that doesn't have permissions to use the 2576// action or resource, or specifying an identifier that is not valid. 2577// 2578// * InvalidParameterException 2579// The specified parameter is invalid. Review the available parameters for the 2580// API request. 2581// 2582// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2583func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2584 req, out := c.ListClustersRequest(input) 2585 return out, req.Send() 2586} 2587 2588// ListClustersWithContext is the same as ListClusters with the addition of 2589// the ability to pass a context and additional request options. 2590// 2591// See ListClusters for details on how to use this API operation. 2592// 2593// The context must be non-nil and will be used for request cancellation. If 2594// the context is nil a panic will occur. In the future the SDK may create 2595// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2596// for more information on using Contexts. 2597func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2598 req, out := c.ListClustersRequest(input) 2599 req.SetContext(ctx) 2600 req.ApplyOptions(opts...) 2601 return out, req.Send() 2602} 2603 2604// ListClustersPages iterates over the pages of a ListClusters operation, 2605// calling the "fn" function with the response data for each page. To stop 2606// iterating, return false from the fn function. 2607// 2608// See ListClusters method for more information on how to use this operation. 2609// 2610// Note: This operation can generate multiple requests to a service. 2611// 2612// // Example iterating over at most 3 pages of a ListClusters operation. 2613// pageNum := 0 2614// err := client.ListClustersPages(params, 2615// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2616// pageNum++ 2617// fmt.Println(page) 2618// return pageNum <= 3 2619// }) 2620// 2621func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2622 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2623} 2624 2625// ListClustersPagesWithContext same as ListClustersPages except 2626// it takes a Context and allows setting request options on the pages. 2627// 2628// The context must be non-nil and will be used for request cancellation. If 2629// the context is nil a panic will occur. In the future the SDK may create 2630// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2631// for more information on using Contexts. 2632func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2633 p := request.Pagination{ 2634 NewRequest: func() (*request.Request, error) { 2635 var inCpy *ListClustersInput 2636 if input != nil { 2637 tmp := *input 2638 inCpy = &tmp 2639 } 2640 req, _ := c.ListClustersRequest(inCpy) 2641 req.SetContext(ctx) 2642 req.ApplyOptions(opts...) 2643 return req, nil 2644 }, 2645 } 2646 2647 for p.Next() { 2648 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2649 break 2650 } 2651 } 2652 2653 return p.Err() 2654} 2655 2656const opListContainerInstances = "ListContainerInstances" 2657 2658// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2659// client's request for the ListContainerInstances operation. The "output" return 2660// value will be populated with the request's response once the request completes 2661// successfully. 2662// 2663// Use "Send" method on the returned Request to send the API call to the service. 2664// the "output" return value is not valid until after Send returns without error. 2665// 2666// See ListContainerInstances for more information on using the ListContainerInstances 2667// API call, and error handling. 2668// 2669// This method is useful when you want to inject custom logic or configuration 2670// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2671// 2672// 2673// // Example sending a request using the ListContainerInstancesRequest method. 2674// req, resp := client.ListContainerInstancesRequest(params) 2675// 2676// err := req.Send() 2677// if err == nil { // resp is now filled 2678// fmt.Println(resp) 2679// } 2680// 2681// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2682func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2683 op := &request.Operation{ 2684 Name: opListContainerInstances, 2685 HTTPMethod: "POST", 2686 HTTPPath: "/", 2687 Paginator: &request.Paginator{ 2688 InputTokens: []string{"nextToken"}, 2689 OutputTokens: []string{"nextToken"}, 2690 LimitToken: "maxResults", 2691 TruncationToken: "", 2692 }, 2693 } 2694 2695 if input == nil { 2696 input = &ListContainerInstancesInput{} 2697 } 2698 2699 output = &ListContainerInstancesOutput{} 2700 req = c.newRequest(op, input, output) 2701 return 2702} 2703 2704// ListContainerInstances API operation for Amazon EC2 Container Service. 2705// 2706// Returns a list of container instances in a specified cluster. You can filter 2707// the results of a ListContainerInstances operation with cluster query language 2708// statements inside the filter parameter. For more information, see Cluster 2709// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2710// in the Amazon Elastic Container Service Developer Guide. 2711// 2712// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2713// with awserr.Error's Code and Message methods to get detailed information about 2714// the error. 2715// 2716// See the AWS API reference guide for Amazon EC2 Container Service's 2717// API operation ListContainerInstances for usage and error information. 2718// 2719// Returned Error Types: 2720// * ServerException 2721// These errors are usually caused by a server issue. 2722// 2723// * ClientException 2724// These errors are usually caused by a client action, such as using an action 2725// or resource on behalf of a user that doesn't have permissions to use the 2726// action or resource, or specifying an identifier that is not valid. 2727// 2728// * InvalidParameterException 2729// The specified parameter is invalid. Review the available parameters for the 2730// API request. 2731// 2732// * ClusterNotFoundException 2733// The specified cluster could not be found. You can view your available clusters 2734// with ListClusters. Amazon ECS clusters are Region-specific. 2735// 2736// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2737func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2738 req, out := c.ListContainerInstancesRequest(input) 2739 return out, req.Send() 2740} 2741 2742// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2743// the ability to pass a context and additional request options. 2744// 2745// See ListContainerInstances for details on how to use this API operation. 2746// 2747// The context must be non-nil and will be used for request cancellation. If 2748// the context is nil a panic will occur. In the future the SDK may create 2749// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2750// for more information on using Contexts. 2751func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2752 req, out := c.ListContainerInstancesRequest(input) 2753 req.SetContext(ctx) 2754 req.ApplyOptions(opts...) 2755 return out, req.Send() 2756} 2757 2758// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2759// calling the "fn" function with the response data for each page. To stop 2760// iterating, return false from the fn function. 2761// 2762// See ListContainerInstances method for more information on how to use this operation. 2763// 2764// Note: This operation can generate multiple requests to a service. 2765// 2766// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2767// pageNum := 0 2768// err := client.ListContainerInstancesPages(params, 2769// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2770// pageNum++ 2771// fmt.Println(page) 2772// return pageNum <= 3 2773// }) 2774// 2775func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2776 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2777} 2778 2779// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2780// it takes a Context and allows setting request options on the pages. 2781// 2782// The context must be non-nil and will be used for request cancellation. If 2783// the context is nil a panic will occur. In the future the SDK may create 2784// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2785// for more information on using Contexts. 2786func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2787 p := request.Pagination{ 2788 NewRequest: func() (*request.Request, error) { 2789 var inCpy *ListContainerInstancesInput 2790 if input != nil { 2791 tmp := *input 2792 inCpy = &tmp 2793 } 2794 req, _ := c.ListContainerInstancesRequest(inCpy) 2795 req.SetContext(ctx) 2796 req.ApplyOptions(opts...) 2797 return req, nil 2798 }, 2799 } 2800 2801 for p.Next() { 2802 if !fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) { 2803 break 2804 } 2805 } 2806 2807 return p.Err() 2808} 2809 2810const opListServices = "ListServices" 2811 2812// ListServicesRequest generates a "aws/request.Request" representing the 2813// client's request for the ListServices operation. The "output" return 2814// value will be populated with the request's response once the request completes 2815// successfully. 2816// 2817// Use "Send" method on the returned Request to send the API call to the service. 2818// the "output" return value is not valid until after Send returns without error. 2819// 2820// See ListServices for more information on using the ListServices 2821// API call, and error handling. 2822// 2823// This method is useful when you want to inject custom logic or configuration 2824// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2825// 2826// 2827// // Example sending a request using the ListServicesRequest method. 2828// req, resp := client.ListServicesRequest(params) 2829// 2830// err := req.Send() 2831// if err == nil { // resp is now filled 2832// fmt.Println(resp) 2833// } 2834// 2835// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2836func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2837 op := &request.Operation{ 2838 Name: opListServices, 2839 HTTPMethod: "POST", 2840 HTTPPath: "/", 2841 Paginator: &request.Paginator{ 2842 InputTokens: []string{"nextToken"}, 2843 OutputTokens: []string{"nextToken"}, 2844 LimitToken: "maxResults", 2845 TruncationToken: "", 2846 }, 2847 } 2848 2849 if input == nil { 2850 input = &ListServicesInput{} 2851 } 2852 2853 output = &ListServicesOutput{} 2854 req = c.newRequest(op, input, output) 2855 return 2856} 2857 2858// ListServices API operation for Amazon EC2 Container Service. 2859// 2860// Returns a list of services. You can filter the results by cluster, launch 2861// type, and scheduling strategy. 2862// 2863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2864// with awserr.Error's Code and Message methods to get detailed information about 2865// the error. 2866// 2867// See the AWS API reference guide for Amazon EC2 Container Service's 2868// API operation ListServices for usage and error information. 2869// 2870// Returned Error Types: 2871// * ServerException 2872// These errors are usually caused by a server issue. 2873// 2874// * ClientException 2875// These errors are usually caused by a client action, such as using an action 2876// or resource on behalf of a user that doesn't have permissions to use the 2877// action or resource, or specifying an identifier that is not valid. 2878// 2879// * InvalidParameterException 2880// The specified parameter is invalid. Review the available parameters for the 2881// API request. 2882// 2883// * ClusterNotFoundException 2884// The specified cluster could not be found. You can view your available clusters 2885// with ListClusters. Amazon ECS clusters are Region-specific. 2886// 2887// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2888func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2889 req, out := c.ListServicesRequest(input) 2890 return out, req.Send() 2891} 2892 2893// ListServicesWithContext is the same as ListServices with the addition of 2894// the ability to pass a context and additional request options. 2895// 2896// See ListServices for details on how to use this API operation. 2897// 2898// The context must be non-nil and will be used for request cancellation. If 2899// the context is nil a panic will occur. In the future the SDK may create 2900// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2901// for more information on using Contexts. 2902func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2903 req, out := c.ListServicesRequest(input) 2904 req.SetContext(ctx) 2905 req.ApplyOptions(opts...) 2906 return out, req.Send() 2907} 2908 2909// ListServicesPages iterates over the pages of a ListServices operation, 2910// calling the "fn" function with the response data for each page. To stop 2911// iterating, return false from the fn function. 2912// 2913// See ListServices method for more information on how to use this operation. 2914// 2915// Note: This operation can generate multiple requests to a service. 2916// 2917// // Example iterating over at most 3 pages of a ListServices operation. 2918// pageNum := 0 2919// err := client.ListServicesPages(params, 2920// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2921// pageNum++ 2922// fmt.Println(page) 2923// return pageNum <= 3 2924// }) 2925// 2926func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2927 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2928} 2929 2930// ListServicesPagesWithContext same as ListServicesPages except 2931// it takes a Context and allows setting request options on the pages. 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) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2938 p := request.Pagination{ 2939 NewRequest: func() (*request.Request, error) { 2940 var inCpy *ListServicesInput 2941 if input != nil { 2942 tmp := *input 2943 inCpy = &tmp 2944 } 2945 req, _ := c.ListServicesRequest(inCpy) 2946 req.SetContext(ctx) 2947 req.ApplyOptions(opts...) 2948 return req, nil 2949 }, 2950 } 2951 2952 for p.Next() { 2953 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 2954 break 2955 } 2956 } 2957 2958 return p.Err() 2959} 2960 2961const opListTagsForResource = "ListTagsForResource" 2962 2963// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2964// client's request for the ListTagsForResource operation. The "output" return 2965// value will be populated with the request's response once the request completes 2966// successfully. 2967// 2968// Use "Send" method on the returned Request to send the API call to the service. 2969// the "output" return value is not valid until after Send returns without error. 2970// 2971// See ListTagsForResource for more information on using the ListTagsForResource 2972// API call, and error handling. 2973// 2974// This method is useful when you want to inject custom logic or configuration 2975// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2976// 2977// 2978// // Example sending a request using the ListTagsForResourceRequest method. 2979// req, resp := client.ListTagsForResourceRequest(params) 2980// 2981// err := req.Send() 2982// if err == nil { // resp is now filled 2983// fmt.Println(resp) 2984// } 2985// 2986// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2987func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2988 op := &request.Operation{ 2989 Name: opListTagsForResource, 2990 HTTPMethod: "POST", 2991 HTTPPath: "/", 2992 } 2993 2994 if input == nil { 2995 input = &ListTagsForResourceInput{} 2996 } 2997 2998 output = &ListTagsForResourceOutput{} 2999 req = c.newRequest(op, input, output) 3000 return 3001} 3002 3003// ListTagsForResource API operation for Amazon EC2 Container Service. 3004// 3005// List the tags for an Amazon ECS resource. 3006// 3007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3008// with awserr.Error's Code and Message methods to get detailed information about 3009// the error. 3010// 3011// See the AWS API reference guide for Amazon EC2 Container Service's 3012// API operation ListTagsForResource for usage and error information. 3013// 3014// Returned Error Types: 3015// * ServerException 3016// These errors are usually caused by a server issue. 3017// 3018// * ClientException 3019// These errors are usually caused by a client action, such as using an action 3020// or resource on behalf of a user that doesn't have permissions to use the 3021// action or resource, or specifying an identifier that is not valid. 3022// 3023// * ClusterNotFoundException 3024// The specified cluster could not be found. You can view your available clusters 3025// with ListClusters. Amazon ECS clusters are Region-specific. 3026// 3027// * InvalidParameterException 3028// The specified parameter is invalid. Review the available parameters for the 3029// API request. 3030// 3031// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 3032func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 3033 req, out := c.ListTagsForResourceRequest(input) 3034 return out, req.Send() 3035} 3036 3037// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 3038// the ability to pass a context and additional request options. 3039// 3040// See ListTagsForResource for details on how to use this API operation. 3041// 3042// The context must be non-nil and will be used for request cancellation. If 3043// the context is nil a panic will occur. In the future the SDK may create 3044// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3045// for more information on using Contexts. 3046func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 3047 req, out := c.ListTagsForResourceRequest(input) 3048 req.SetContext(ctx) 3049 req.ApplyOptions(opts...) 3050 return out, req.Send() 3051} 3052 3053const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 3054 3055// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 3056// client's request for the ListTaskDefinitionFamilies operation. The "output" return 3057// value will be populated with the request's response once the request completes 3058// successfully. 3059// 3060// Use "Send" method on the returned Request to send the API call to the service. 3061// the "output" return value is not valid until after Send returns without error. 3062// 3063// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 3064// API call, and error handling. 3065// 3066// This method is useful when you want to inject custom logic or configuration 3067// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3068// 3069// 3070// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 3071// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 3072// 3073// err := req.Send() 3074// if err == nil { // resp is now filled 3075// fmt.Println(resp) 3076// } 3077// 3078// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 3079func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 3080 op := &request.Operation{ 3081 Name: opListTaskDefinitionFamilies, 3082 HTTPMethod: "POST", 3083 HTTPPath: "/", 3084 Paginator: &request.Paginator{ 3085 InputTokens: []string{"nextToken"}, 3086 OutputTokens: []string{"nextToken"}, 3087 LimitToken: "maxResults", 3088 TruncationToken: "", 3089 }, 3090 } 3091 3092 if input == nil { 3093 input = &ListTaskDefinitionFamiliesInput{} 3094 } 3095 3096 output = &ListTaskDefinitionFamiliesOutput{} 3097 req = c.newRequest(op, input, output) 3098 return 3099} 3100 3101// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 3102// 3103// Returns a list of task definition families that are registered to your account 3104// (which may include task definition families that no longer have any ACTIVE 3105// task definition revisions). 3106// 3107// You can filter out task definition families that do not contain any ACTIVE 3108// task definition revisions by setting the status parameter to ACTIVE. You 3109// can also filter the results with the familyPrefix parameter. 3110// 3111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3112// with awserr.Error's Code and Message methods to get detailed information about 3113// the error. 3114// 3115// See the AWS API reference guide for Amazon EC2 Container Service's 3116// API operation ListTaskDefinitionFamilies for usage and error information. 3117// 3118// Returned Error Types: 3119// * ServerException 3120// These errors are usually caused by a server issue. 3121// 3122// * ClientException 3123// These errors are usually caused by a client action, such as using an action 3124// or resource on behalf of a user that doesn't have permissions to use the 3125// action or resource, or specifying an identifier that is not valid. 3126// 3127// * InvalidParameterException 3128// The specified parameter is invalid. Review the available parameters for the 3129// API request. 3130// 3131// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 3132func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 3133 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3134 return out, req.Send() 3135} 3136 3137// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 3138// the ability to pass a context and additional request options. 3139// 3140// See ListTaskDefinitionFamilies for details on how to use this API operation. 3141// 3142// The context must be non-nil and will be used for request cancellation. If 3143// the context is nil a panic will occur. In the future the SDK may create 3144// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3145// for more information on using Contexts. 3146func (c *ECS) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 3147 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3148 req.SetContext(ctx) 3149 req.ApplyOptions(opts...) 3150 return out, req.Send() 3151} 3152 3153// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 3154// calling the "fn" function with the response data for each page. To stop 3155// iterating, return false from the fn function. 3156// 3157// See ListTaskDefinitionFamilies method for more information on how to use this operation. 3158// 3159// Note: This operation can generate multiple requests to a service. 3160// 3161// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 3162// pageNum := 0 3163// err := client.ListTaskDefinitionFamiliesPages(params, 3164// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 3165// pageNum++ 3166// fmt.Println(page) 3167// return pageNum <= 3 3168// }) 3169// 3170func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 3171 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 3172} 3173 3174// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 3175// it takes a Context and allows setting request options on the pages. 3176// 3177// The context must be non-nil and will be used for request cancellation. If 3178// the context is nil a panic will occur. In the future the SDK may create 3179// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3180// for more information on using Contexts. 3181func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 3182 p := request.Pagination{ 3183 NewRequest: func() (*request.Request, error) { 3184 var inCpy *ListTaskDefinitionFamiliesInput 3185 if input != nil { 3186 tmp := *input 3187 inCpy = &tmp 3188 } 3189 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 3190 req.SetContext(ctx) 3191 req.ApplyOptions(opts...) 3192 return req, nil 3193 }, 3194 } 3195 3196 for p.Next() { 3197 if !fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) { 3198 break 3199 } 3200 } 3201 3202 return p.Err() 3203} 3204 3205const opListTaskDefinitions = "ListTaskDefinitions" 3206 3207// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 3208// client's request for the ListTaskDefinitions operation. The "output" return 3209// value will be populated with the request's response once the request completes 3210// successfully. 3211// 3212// Use "Send" method on the returned Request to send the API call to the service. 3213// the "output" return value is not valid until after Send returns without error. 3214// 3215// See ListTaskDefinitions for more information on using the ListTaskDefinitions 3216// API call, and error handling. 3217// 3218// This method is useful when you want to inject custom logic or configuration 3219// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3220// 3221// 3222// // Example sending a request using the ListTaskDefinitionsRequest method. 3223// req, resp := client.ListTaskDefinitionsRequest(params) 3224// 3225// err := req.Send() 3226// if err == nil { // resp is now filled 3227// fmt.Println(resp) 3228// } 3229// 3230// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3231func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 3232 op := &request.Operation{ 3233 Name: opListTaskDefinitions, 3234 HTTPMethod: "POST", 3235 HTTPPath: "/", 3236 Paginator: &request.Paginator{ 3237 InputTokens: []string{"nextToken"}, 3238 OutputTokens: []string{"nextToken"}, 3239 LimitToken: "maxResults", 3240 TruncationToken: "", 3241 }, 3242 } 3243 3244 if input == nil { 3245 input = &ListTaskDefinitionsInput{} 3246 } 3247 3248 output = &ListTaskDefinitionsOutput{} 3249 req = c.newRequest(op, input, output) 3250 return 3251} 3252 3253// ListTaskDefinitions API operation for Amazon EC2 Container Service. 3254// 3255// Returns a list of task definitions that are registered to your account. You 3256// can filter the results by family name with the familyPrefix parameter or 3257// by status with the status parameter. 3258// 3259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3260// with awserr.Error's Code and Message methods to get detailed information about 3261// the error. 3262// 3263// See the AWS API reference guide for Amazon EC2 Container Service's 3264// API operation ListTaskDefinitions for usage and error information. 3265// 3266// Returned Error Types: 3267// * ServerException 3268// These errors are usually caused by a server issue. 3269// 3270// * ClientException 3271// These errors are usually caused by a client action, such as using an action 3272// or resource on behalf of a user that doesn't have permissions to use the 3273// action or resource, or specifying an identifier that is not valid. 3274// 3275// * InvalidParameterException 3276// The specified parameter is invalid. Review the available parameters for the 3277// API request. 3278// 3279// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3280func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 3281 req, out := c.ListTaskDefinitionsRequest(input) 3282 return out, req.Send() 3283} 3284 3285// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 3286// the ability to pass a context and additional request options. 3287// 3288// See ListTaskDefinitions for details on how to use this API operation. 3289// 3290// The context must be non-nil and will be used for request cancellation. If 3291// the context is nil a panic will occur. In the future the SDK may create 3292// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3293// for more information on using Contexts. 3294func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 3295 req, out := c.ListTaskDefinitionsRequest(input) 3296 req.SetContext(ctx) 3297 req.ApplyOptions(opts...) 3298 return out, req.Send() 3299} 3300 3301// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 3302// calling the "fn" function with the response data for each page. To stop 3303// iterating, return false from the fn function. 3304// 3305// See ListTaskDefinitions method for more information on how to use this operation. 3306// 3307// Note: This operation can generate multiple requests to a service. 3308// 3309// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 3310// pageNum := 0 3311// err := client.ListTaskDefinitionsPages(params, 3312// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 3313// pageNum++ 3314// fmt.Println(page) 3315// return pageNum <= 3 3316// }) 3317// 3318func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 3319 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 3320} 3321 3322// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 3323// it takes a Context and allows setting request options on the pages. 3324// 3325// The context must be non-nil and will be used for request cancellation. If 3326// the context is nil a panic will occur. In the future the SDK may create 3327// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3328// for more information on using Contexts. 3329func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 3330 p := request.Pagination{ 3331 NewRequest: func() (*request.Request, error) { 3332 var inCpy *ListTaskDefinitionsInput 3333 if input != nil { 3334 tmp := *input 3335 inCpy = &tmp 3336 } 3337 req, _ := c.ListTaskDefinitionsRequest(inCpy) 3338 req.SetContext(ctx) 3339 req.ApplyOptions(opts...) 3340 return req, nil 3341 }, 3342 } 3343 3344 for p.Next() { 3345 if !fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) { 3346 break 3347 } 3348 } 3349 3350 return p.Err() 3351} 3352 3353const opListTasks = "ListTasks" 3354 3355// ListTasksRequest generates a "aws/request.Request" representing the 3356// client's request for the ListTasks operation. The "output" return 3357// value will be populated with the request's response once the request completes 3358// successfully. 3359// 3360// Use "Send" method on the returned Request to send the API call to the service. 3361// the "output" return value is not valid until after Send returns without error. 3362// 3363// See ListTasks for more information on using the ListTasks 3364// API call, and error handling. 3365// 3366// This method is useful when you want to inject custom logic or configuration 3367// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3368// 3369// 3370// // Example sending a request using the ListTasksRequest method. 3371// req, resp := client.ListTasksRequest(params) 3372// 3373// err := req.Send() 3374// if err == nil { // resp is now filled 3375// fmt.Println(resp) 3376// } 3377// 3378// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3379func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 3380 op := &request.Operation{ 3381 Name: opListTasks, 3382 HTTPMethod: "POST", 3383 HTTPPath: "/", 3384 Paginator: &request.Paginator{ 3385 InputTokens: []string{"nextToken"}, 3386 OutputTokens: []string{"nextToken"}, 3387 LimitToken: "maxResults", 3388 TruncationToken: "", 3389 }, 3390 } 3391 3392 if input == nil { 3393 input = &ListTasksInput{} 3394 } 3395 3396 output = &ListTasksOutput{} 3397 req = c.newRequest(op, input, output) 3398 return 3399} 3400 3401// ListTasks API operation for Amazon EC2 Container Service. 3402// 3403// Returns a list of tasks. You can filter the results by cluster, task definition 3404// family, container instance, launch type, what IAM principal started the task, 3405// or by the desired status of the task. 3406// 3407// Recently stopped tasks might appear in the returned results. Currently, stopped 3408// tasks appear in the returned results for at least one hour. 3409// 3410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3411// with awserr.Error's Code and Message methods to get detailed information about 3412// the error. 3413// 3414// See the AWS API reference guide for Amazon EC2 Container Service's 3415// API operation ListTasks for usage and error information. 3416// 3417// Returned Error Types: 3418// * ServerException 3419// These errors are usually caused by a server issue. 3420// 3421// * ClientException 3422// These errors are usually caused by a client action, such as using an action 3423// or resource on behalf of a user that doesn't have permissions to use the 3424// action or resource, or specifying an identifier that is not valid. 3425// 3426// * InvalidParameterException 3427// The specified parameter is invalid. Review the available parameters for the 3428// API request. 3429// 3430// * ClusterNotFoundException 3431// The specified cluster could not be found. You can view your available clusters 3432// with ListClusters. Amazon ECS clusters are Region-specific. 3433// 3434// * ServiceNotFoundException 3435// The specified service could not be found. You can view your available services 3436// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 3437// 3438// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3439func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 3440 req, out := c.ListTasksRequest(input) 3441 return out, req.Send() 3442} 3443 3444// ListTasksWithContext is the same as ListTasks with the addition of 3445// the ability to pass a context and additional request options. 3446// 3447// See ListTasks for details on how to use this API operation. 3448// 3449// The context must be non-nil and will be used for request cancellation. If 3450// the context is nil a panic will occur. In the future the SDK may create 3451// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3452// for more information on using Contexts. 3453func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 3454 req, out := c.ListTasksRequest(input) 3455 req.SetContext(ctx) 3456 req.ApplyOptions(opts...) 3457 return out, req.Send() 3458} 3459 3460// ListTasksPages iterates over the pages of a ListTasks operation, 3461// calling the "fn" function with the response data for each page. To stop 3462// iterating, return false from the fn function. 3463// 3464// See ListTasks method for more information on how to use this operation. 3465// 3466// Note: This operation can generate multiple requests to a service. 3467// 3468// // Example iterating over at most 3 pages of a ListTasks operation. 3469// pageNum := 0 3470// err := client.ListTasksPages(params, 3471// func(page *ecs.ListTasksOutput, lastPage bool) bool { 3472// pageNum++ 3473// fmt.Println(page) 3474// return pageNum <= 3 3475// }) 3476// 3477func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 3478 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 3479} 3480 3481// ListTasksPagesWithContext same as ListTasksPages except 3482// it takes a Context and allows setting request options on the pages. 3483// 3484// The context must be non-nil and will be used for request cancellation. If 3485// the context is nil a panic will occur. In the future the SDK may create 3486// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3487// for more information on using Contexts. 3488func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 3489 p := request.Pagination{ 3490 NewRequest: func() (*request.Request, error) { 3491 var inCpy *ListTasksInput 3492 if input != nil { 3493 tmp := *input 3494 inCpy = &tmp 3495 } 3496 req, _ := c.ListTasksRequest(inCpy) 3497 req.SetContext(ctx) 3498 req.ApplyOptions(opts...) 3499 return req, nil 3500 }, 3501 } 3502 3503 for p.Next() { 3504 if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { 3505 break 3506 } 3507 } 3508 3509 return p.Err() 3510} 3511 3512const opPutAccountSetting = "PutAccountSetting" 3513 3514// PutAccountSettingRequest generates a "aws/request.Request" representing the 3515// client's request for the PutAccountSetting operation. The "output" return 3516// value will be populated with the request's response once the request completes 3517// successfully. 3518// 3519// Use "Send" method on the returned Request to send the API call to the service. 3520// the "output" return value is not valid until after Send returns without error. 3521// 3522// See PutAccountSetting for more information on using the PutAccountSetting 3523// API call, and error handling. 3524// 3525// This method is useful when you want to inject custom logic or configuration 3526// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3527// 3528// 3529// // Example sending a request using the PutAccountSettingRequest method. 3530// req, resp := client.PutAccountSettingRequest(params) 3531// 3532// err := req.Send() 3533// if err == nil { // resp is now filled 3534// fmt.Println(resp) 3535// } 3536// 3537// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3538func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3539 op := &request.Operation{ 3540 Name: opPutAccountSetting, 3541 HTTPMethod: "POST", 3542 HTTPPath: "/", 3543 } 3544 3545 if input == nil { 3546 input = &PutAccountSettingInput{} 3547 } 3548 3549 output = &PutAccountSettingOutput{} 3550 req = c.newRequest(op, input, output) 3551 return 3552} 3553 3554// PutAccountSetting API operation for Amazon EC2 Container Service. 3555// 3556// Modifies an account setting. Account settings are set on a per-Region basis. 3557// 3558// If you change the account setting for the root user, the default settings 3559// for all of the IAM users and roles for which no individual account setting 3560// has been specified are reset. For more information, see Account Settings 3561// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3562// in the Amazon Elastic Container Service Developer Guide. 3563// 3564// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3565// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3566// resource type for a specified IAM user, IAM role, or the root user for an 3567// account is affected. The opt-in and opt-out account setting must be set for 3568// each Amazon ECS resource separately. The ARN and resource ID format of a 3569// resource will be defined by the opt-in status of the IAM user or role that 3570// created the resource. You must enable this setting to use Amazon ECS features 3571// such as resource tagging. 3572// 3573// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3574// for any new container instances that support the feature is changed. If awsvpcTrunking 3575// is enabled, any new container instances that support the feature are launched 3576// have the increased ENI limits available to them. For more information, see 3577// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3578// in the Amazon Elastic Container Service Developer Guide. 3579// 3580// When containerInsights is specified, the default setting indicating whether 3581// CloudWatch Container Insights is enabled for your clusters is changed. If 3582// containerInsights is enabled, any new clusters that are created will have 3583// Container Insights enabled unless you disable it during cluster creation. 3584// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3585// in the Amazon Elastic Container Service Developer Guide. 3586// 3587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3588// with awserr.Error's Code and Message methods to get detailed information about 3589// the error. 3590// 3591// See the AWS API reference guide for Amazon EC2 Container Service's 3592// API operation PutAccountSetting for usage and error information. 3593// 3594// Returned Error Types: 3595// * ServerException 3596// These errors are usually caused by a server issue. 3597// 3598// * ClientException 3599// These errors are usually caused by a client action, such as using an action 3600// or resource on behalf of a user that doesn't have permissions to use the 3601// action or resource, or specifying an identifier that is not valid. 3602// 3603// * InvalidParameterException 3604// The specified parameter is invalid. Review the available parameters for the 3605// API request. 3606// 3607// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3608func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3609 req, out := c.PutAccountSettingRequest(input) 3610 return out, req.Send() 3611} 3612 3613// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3614// the ability to pass a context and additional request options. 3615// 3616// See PutAccountSetting for details on how to use this API operation. 3617// 3618// The context must be non-nil and will be used for request cancellation. If 3619// the context is nil a panic will occur. In the future the SDK may create 3620// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3621// for more information on using Contexts. 3622func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3623 req, out := c.PutAccountSettingRequest(input) 3624 req.SetContext(ctx) 3625 req.ApplyOptions(opts...) 3626 return out, req.Send() 3627} 3628 3629const opPutAccountSettingDefault = "PutAccountSettingDefault" 3630 3631// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3632// client's request for the PutAccountSettingDefault operation. The "output" return 3633// value will be populated with the request's response once the request completes 3634// successfully. 3635// 3636// Use "Send" method on the returned Request to send the API call to the service. 3637// the "output" return value is not valid until after Send returns without error. 3638// 3639// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3640// API call, and error handling. 3641// 3642// This method is useful when you want to inject custom logic or configuration 3643// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3644// 3645// 3646// // Example sending a request using the PutAccountSettingDefaultRequest method. 3647// req, resp := client.PutAccountSettingDefaultRequest(params) 3648// 3649// err := req.Send() 3650// if err == nil { // resp is now filled 3651// fmt.Println(resp) 3652// } 3653// 3654// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3655func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3656 op := &request.Operation{ 3657 Name: opPutAccountSettingDefault, 3658 HTTPMethod: "POST", 3659 HTTPPath: "/", 3660 } 3661 3662 if input == nil { 3663 input = &PutAccountSettingDefaultInput{} 3664 } 3665 3666 output = &PutAccountSettingDefaultOutput{} 3667 req = c.newRequest(op, input, output) 3668 return 3669} 3670 3671// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3672// 3673// Modifies an account setting for all IAM users on an account for whom no individual 3674// account setting has been specified. Account settings are set on a per-Region 3675// basis. 3676// 3677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3678// with awserr.Error's Code and Message methods to get detailed information about 3679// the error. 3680// 3681// See the AWS API reference guide for Amazon EC2 Container Service's 3682// API operation PutAccountSettingDefault for usage and error information. 3683// 3684// Returned Error Types: 3685// * ServerException 3686// These errors are usually caused by a server issue. 3687// 3688// * ClientException 3689// These errors are usually caused by a client action, such as using an action 3690// or resource on behalf of a user that doesn't have permissions to use the 3691// action or resource, or specifying an identifier that is not valid. 3692// 3693// * InvalidParameterException 3694// The specified parameter is invalid. Review the available parameters for the 3695// API request. 3696// 3697// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3698func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3699 req, out := c.PutAccountSettingDefaultRequest(input) 3700 return out, req.Send() 3701} 3702 3703// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3704// the ability to pass a context and additional request options. 3705// 3706// See PutAccountSettingDefault for details on how to use this API operation. 3707// 3708// The context must be non-nil and will be used for request cancellation. If 3709// the context is nil a panic will occur. In the future the SDK may create 3710// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3711// for more information on using Contexts. 3712func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3713 req, out := c.PutAccountSettingDefaultRequest(input) 3714 req.SetContext(ctx) 3715 req.ApplyOptions(opts...) 3716 return out, req.Send() 3717} 3718 3719const opPutAttributes = "PutAttributes" 3720 3721// PutAttributesRequest generates a "aws/request.Request" representing the 3722// client's request for the PutAttributes operation. The "output" return 3723// value will be populated with the request's response once the request completes 3724// successfully. 3725// 3726// Use "Send" method on the returned Request to send the API call to the service. 3727// the "output" return value is not valid until after Send returns without error. 3728// 3729// See PutAttributes for more information on using the PutAttributes 3730// API call, and error handling. 3731// 3732// This method is useful when you want to inject custom logic or configuration 3733// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3734// 3735// 3736// // Example sending a request using the PutAttributesRequest method. 3737// req, resp := client.PutAttributesRequest(params) 3738// 3739// err := req.Send() 3740// if err == nil { // resp is now filled 3741// fmt.Println(resp) 3742// } 3743// 3744// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3745func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3746 op := &request.Operation{ 3747 Name: opPutAttributes, 3748 HTTPMethod: "POST", 3749 HTTPPath: "/", 3750 } 3751 3752 if input == nil { 3753 input = &PutAttributesInput{} 3754 } 3755 3756 output = &PutAttributesOutput{} 3757 req = c.newRequest(op, input, output) 3758 return 3759} 3760 3761// PutAttributes API operation for Amazon EC2 Container Service. 3762// 3763// Create or update an attribute on an Amazon ECS resource. If the attribute 3764// does not exist, it is created. If the attribute exists, its value is replaced 3765// with the specified value. To delete an attribute, use DeleteAttributes. For 3766// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3767// in the Amazon Elastic Container Service Developer Guide. 3768// 3769// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3770// with awserr.Error's Code and Message methods to get detailed information about 3771// the error. 3772// 3773// See the AWS API reference guide for Amazon EC2 Container Service's 3774// API operation PutAttributes for usage and error information. 3775// 3776// Returned Error Types: 3777// * ClusterNotFoundException 3778// The specified cluster could not be found. You can view your available clusters 3779// with ListClusters. Amazon ECS clusters are Region-specific. 3780// 3781// * TargetNotFoundException 3782// The specified target could not be found. You can view your available container 3783// instances with ListContainerInstances. Amazon ECS container instances are 3784// cluster-specific and Region-specific. 3785// 3786// * AttributeLimitExceededException 3787// You can apply up to 10 custom attributes per resource. You can view the attributes 3788// of a resource with ListAttributes. You can remove existing attributes on 3789// a resource with DeleteAttributes. 3790// 3791// * InvalidParameterException 3792// The specified parameter is invalid. Review the available parameters for the 3793// API request. 3794// 3795// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3796func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3797 req, out := c.PutAttributesRequest(input) 3798 return out, req.Send() 3799} 3800 3801// PutAttributesWithContext is the same as PutAttributes with the addition of 3802// the ability to pass a context and additional request options. 3803// 3804// See PutAttributes for details on how to use this API operation. 3805// 3806// The context must be non-nil and will be used for request cancellation. If 3807// the context is nil a panic will occur. In the future the SDK may create 3808// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3809// for more information on using Contexts. 3810func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3811 req, out := c.PutAttributesRequest(input) 3812 req.SetContext(ctx) 3813 req.ApplyOptions(opts...) 3814 return out, req.Send() 3815} 3816 3817const opPutClusterCapacityProviders = "PutClusterCapacityProviders" 3818 3819// PutClusterCapacityProvidersRequest generates a "aws/request.Request" representing the 3820// client's request for the PutClusterCapacityProviders operation. The "output" return 3821// value will be populated with the request's response once the request completes 3822// successfully. 3823// 3824// Use "Send" method on the returned Request to send the API call to the service. 3825// the "output" return value is not valid until after Send returns without error. 3826// 3827// See PutClusterCapacityProviders for more information on using the PutClusterCapacityProviders 3828// API call, and error handling. 3829// 3830// This method is useful when you want to inject custom logic or configuration 3831// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3832// 3833// 3834// // Example sending a request using the PutClusterCapacityProvidersRequest method. 3835// req, resp := client.PutClusterCapacityProvidersRequest(params) 3836// 3837// err := req.Send() 3838// if err == nil { // resp is now filled 3839// fmt.Println(resp) 3840// } 3841// 3842// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3843func (c *ECS) PutClusterCapacityProvidersRequest(input *PutClusterCapacityProvidersInput) (req *request.Request, output *PutClusterCapacityProvidersOutput) { 3844 op := &request.Operation{ 3845 Name: opPutClusterCapacityProviders, 3846 HTTPMethod: "POST", 3847 HTTPPath: "/", 3848 } 3849 3850 if input == nil { 3851 input = &PutClusterCapacityProvidersInput{} 3852 } 3853 3854 output = &PutClusterCapacityProvidersOutput{} 3855 req = c.newRequest(op, input, output) 3856 return 3857} 3858 3859// PutClusterCapacityProviders API operation for Amazon EC2 Container Service. 3860// 3861// Modifies the available capacity providers and the default capacity provider 3862// strategy for a cluster. 3863// 3864// You must specify both the available capacity providers and a default capacity 3865// provider strategy for the cluster. If the specified cluster has existing 3866// capacity providers associated with it, you must specify all existing capacity 3867// providers in addition to any new ones you want to add. Any existing capacity 3868// providers associated with a cluster that are omitted from a PutClusterCapacityProviders 3869// API call will be disassociated with the cluster. You can only disassociate 3870// an existing capacity provider from a cluster if it's not being used by any 3871// existing tasks. 3872// 3873// When creating a service or running a task on a cluster, if no capacity provider 3874// or launch type is specified, then the cluster's default capacity provider 3875// strategy is used. It is recommended to define a default capacity provider 3876// strategy for your cluster, however you may specify an empty array ([]) to 3877// bypass defining a default strategy. 3878// 3879// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3880// with awserr.Error's Code and Message methods to get detailed information about 3881// the error. 3882// 3883// See the AWS API reference guide for Amazon EC2 Container Service's 3884// API operation PutClusterCapacityProviders for usage and error information. 3885// 3886// Returned Error Types: 3887// * ServerException 3888// These errors are usually caused by a server issue. 3889// 3890// * ClientException 3891// These errors are usually caused by a client action, such as using an action 3892// or resource on behalf of a user that doesn't have permissions to use the 3893// action or resource, or specifying an identifier that is not valid. 3894// 3895// * InvalidParameterException 3896// The specified parameter is invalid. Review the available parameters for the 3897// API request. 3898// 3899// * ClusterNotFoundException 3900// The specified cluster could not be found. You can view your available clusters 3901// with ListClusters. Amazon ECS clusters are Region-specific. 3902// 3903// * ResourceInUseException 3904// The specified resource is in-use and cannot be removed. 3905// 3906// * UpdateInProgressException 3907// There is already a current Amazon ECS container agent update in progress 3908// on the specified container instance. If the container agent becomes disconnected 3909// while it is in a transitional stage, such as PENDING or STAGING, the update 3910// process can get stuck in that state. However, when the agent reconnects, 3911// it resumes where it stopped previously. 3912// 3913// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3914func (c *ECS) PutClusterCapacityProviders(input *PutClusterCapacityProvidersInput) (*PutClusterCapacityProvidersOutput, error) { 3915 req, out := c.PutClusterCapacityProvidersRequest(input) 3916 return out, req.Send() 3917} 3918 3919// PutClusterCapacityProvidersWithContext is the same as PutClusterCapacityProviders with the addition of 3920// the ability to pass a context and additional request options. 3921// 3922// See PutClusterCapacityProviders for details on how to use this API operation. 3923// 3924// The context must be non-nil and will be used for request cancellation. If 3925// the context is nil a panic will occur. In the future the SDK may create 3926// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3927// for more information on using Contexts. 3928func (c *ECS) PutClusterCapacityProvidersWithContext(ctx aws.Context, input *PutClusterCapacityProvidersInput, opts ...request.Option) (*PutClusterCapacityProvidersOutput, error) { 3929 req, out := c.PutClusterCapacityProvidersRequest(input) 3930 req.SetContext(ctx) 3931 req.ApplyOptions(opts...) 3932 return out, req.Send() 3933} 3934 3935const opRegisterContainerInstance = "RegisterContainerInstance" 3936 3937// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3938// client's request for the RegisterContainerInstance operation. The "output" return 3939// value will be populated with the request's response once the request completes 3940// successfully. 3941// 3942// Use "Send" method on the returned Request to send the API call to the service. 3943// the "output" return value is not valid until after Send returns without error. 3944// 3945// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3946// API call, and error handling. 3947// 3948// This method is useful when you want to inject custom logic or configuration 3949// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3950// 3951// 3952// // Example sending a request using the RegisterContainerInstanceRequest method. 3953// req, resp := client.RegisterContainerInstanceRequest(params) 3954// 3955// err := req.Send() 3956// if err == nil { // resp is now filled 3957// fmt.Println(resp) 3958// } 3959// 3960// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3961func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3962 op := &request.Operation{ 3963 Name: opRegisterContainerInstance, 3964 HTTPMethod: "POST", 3965 HTTPPath: "/", 3966 } 3967 3968 if input == nil { 3969 input = &RegisterContainerInstanceInput{} 3970 } 3971 3972 output = &RegisterContainerInstanceOutput{} 3973 req = c.newRequest(op, input, output) 3974 return 3975} 3976 3977// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3978// 3979// 3980// This action is only used by the Amazon ECS agent, and it is not intended 3981// for use outside of the agent. 3982// 3983// Registers an EC2 instance into the specified cluster. This instance becomes 3984// available to place containers on. 3985// 3986// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3987// with awserr.Error's Code and Message methods to get detailed information about 3988// the error. 3989// 3990// See the AWS API reference guide for Amazon EC2 Container Service's 3991// API operation RegisterContainerInstance for usage and error information. 3992// 3993// Returned Error Types: 3994// * ServerException 3995// These errors are usually caused by a server issue. 3996// 3997// * ClientException 3998// These errors are usually caused by a client action, such as using an action 3999// or resource on behalf of a user that doesn't have permissions to use the 4000// action or resource, or specifying an identifier that is not valid. 4001// 4002// * InvalidParameterException 4003// The specified parameter is invalid. Review the available parameters for the 4004// API request. 4005// 4006// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 4007func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 4008 req, out := c.RegisterContainerInstanceRequest(input) 4009 return out, req.Send() 4010} 4011 4012// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 4013// the ability to pass a context and additional request options. 4014// 4015// See RegisterContainerInstance for details on how to use this API operation. 4016// 4017// The context must be non-nil and will be used for request cancellation. If 4018// the context is nil a panic will occur. In the future the SDK may create 4019// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4020// for more information on using Contexts. 4021func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 4022 req, out := c.RegisterContainerInstanceRequest(input) 4023 req.SetContext(ctx) 4024 req.ApplyOptions(opts...) 4025 return out, req.Send() 4026} 4027 4028const opRegisterTaskDefinition = "RegisterTaskDefinition" 4029 4030// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 4031// client's request for the RegisterTaskDefinition operation. The "output" return 4032// value will be populated with the request's response once the request completes 4033// successfully. 4034// 4035// Use "Send" method on the returned Request to send the API call to the service. 4036// the "output" return value is not valid until after Send returns without error. 4037// 4038// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 4039// API call, and error handling. 4040// 4041// This method is useful when you want to inject custom logic or configuration 4042// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4043// 4044// 4045// // Example sending a request using the RegisterTaskDefinitionRequest method. 4046// req, resp := client.RegisterTaskDefinitionRequest(params) 4047// 4048// err := req.Send() 4049// if err == nil { // resp is now filled 4050// fmt.Println(resp) 4051// } 4052// 4053// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 4054func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 4055 op := &request.Operation{ 4056 Name: opRegisterTaskDefinition, 4057 HTTPMethod: "POST", 4058 HTTPPath: "/", 4059 } 4060 4061 if input == nil { 4062 input = &RegisterTaskDefinitionInput{} 4063 } 4064 4065 output = &RegisterTaskDefinitionOutput{} 4066 req = c.newRequest(op, input, output) 4067 return 4068} 4069 4070// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 4071// 4072// Registers a new task definition from the supplied family and containerDefinitions. 4073// Optionally, you can add data volumes to your containers with the volumes 4074// parameter. For more information about task definition parameters and defaults, 4075// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 4076// in the Amazon Elastic Container Service Developer Guide. 4077// 4078// You can specify an IAM role for your task with the taskRoleArn parameter. 4079// When you specify an IAM role for a task, its containers can then use the 4080// latest versions of the CLI or SDKs to make API requests to the Amazon Web 4081// Services services that are specified in the IAM policy associated with the 4082// role. For more information, see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 4083// in the Amazon Elastic Container Service Developer Guide. 4084// 4085// You can specify a Docker networking mode for the containers in your task 4086// definition with the networkMode parameter. The available network modes correspond 4087// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 4088// in the Docker run reference. If you specify the awsvpc network mode, the 4089// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 4090// when you create a service or run a task with the task definition. For more 4091// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 4092// in the Amazon Elastic Container Service Developer Guide. 4093// 4094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4095// with awserr.Error's Code and Message methods to get detailed information about 4096// the error. 4097// 4098// See the AWS API reference guide for Amazon EC2 Container Service's 4099// API operation RegisterTaskDefinition for usage and error information. 4100// 4101// Returned Error Types: 4102// * ServerException 4103// These errors are usually caused by a server issue. 4104// 4105// * ClientException 4106// These errors are usually caused by a client action, such as using an action 4107// or resource on behalf of a user that doesn't have permissions to use the 4108// action or resource, or specifying an identifier that is not valid. 4109// 4110// * InvalidParameterException 4111// The specified parameter is invalid. Review the available parameters for the 4112// API request. 4113// 4114// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 4115func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 4116 req, out := c.RegisterTaskDefinitionRequest(input) 4117 return out, req.Send() 4118} 4119 4120// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 4121// the ability to pass a context and additional request options. 4122// 4123// See RegisterTaskDefinition for details on how to use this API operation. 4124// 4125// The context must be non-nil and will be used for request cancellation. If 4126// the context is nil a panic will occur. In the future the SDK may create 4127// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4128// for more information on using Contexts. 4129func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 4130 req, out := c.RegisterTaskDefinitionRequest(input) 4131 req.SetContext(ctx) 4132 req.ApplyOptions(opts...) 4133 return out, req.Send() 4134} 4135 4136const opRunTask = "RunTask" 4137 4138// RunTaskRequest generates a "aws/request.Request" representing the 4139// client's request for the RunTask operation. The "output" return 4140// value will be populated with the request's response once the request completes 4141// successfully. 4142// 4143// Use "Send" method on the returned Request to send the API call to the service. 4144// the "output" return value is not valid until after Send returns without error. 4145// 4146// See RunTask for more information on using the RunTask 4147// API call, and error handling. 4148// 4149// This method is useful when you want to inject custom logic or configuration 4150// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4151// 4152// 4153// // Example sending a request using the RunTaskRequest method. 4154// req, resp := client.RunTaskRequest(params) 4155// 4156// err := req.Send() 4157// if err == nil { // resp is now filled 4158// fmt.Println(resp) 4159// } 4160// 4161// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4162func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 4163 op := &request.Operation{ 4164 Name: opRunTask, 4165 HTTPMethod: "POST", 4166 HTTPPath: "/", 4167 } 4168 4169 if input == nil { 4170 input = &RunTaskInput{} 4171 } 4172 4173 output = &RunTaskOutput{} 4174 req = c.newRequest(op, input, output) 4175 return 4176} 4177 4178// RunTask API operation for Amazon EC2 Container Service. 4179// 4180// Starts a new task using the specified task definition. 4181// 4182// You can allow Amazon ECS to place tasks for you, or you can customize how 4183// Amazon ECS places tasks using placement constraints and placement strategies. 4184// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4185// in the Amazon Elastic Container Service Developer Guide. 4186// 4187// Alternatively, you can use StartTask to use your own scheduler or place tasks 4188// manually on specific container instances. 4189// 4190// The Amazon ECS API follows an eventual consistency model, due to the distributed 4191// nature of the system supporting the API. This means that the result of an 4192// API command you run that affects your Amazon ECS resources might not be immediately 4193// visible to all subsequent commands you run. Keep this in mind when you carry 4194// out an API command that immediately follows a previous API command. 4195// 4196// To manage eventual consistency, you can do the following: 4197// 4198// * Confirm the state of the resource before you run a command to modify 4199// it. Run the DescribeTasks command using an exponential backoff algorithm 4200// to ensure that you allow enough time for the previous command to propagate 4201// through the system. To do this, run the DescribeTasks command repeatedly, 4202// starting with a couple of seconds of wait time and increasing gradually 4203// up to five minutes of wait time. 4204// 4205// * Add wait time between subsequent commands, even if the DescribeTasks 4206// command returns an accurate response. Apply an exponential backoff algorithm 4207// starting with a couple of seconds of wait time, and increase gradually 4208// up to about five minutes of wait time. 4209// 4210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4211// with awserr.Error's Code and Message methods to get detailed information about 4212// the error. 4213// 4214// See the AWS API reference guide for Amazon EC2 Container Service's 4215// API operation RunTask for usage and error information. 4216// 4217// Returned Error Types: 4218// * ServerException 4219// These errors are usually caused by a server issue. 4220// 4221// * ClientException 4222// These errors are usually caused by a client action, such as using an action 4223// or resource on behalf of a user that doesn't have permissions to use the 4224// action or resource, or specifying an identifier that is not valid. 4225// 4226// * InvalidParameterException 4227// The specified parameter is invalid. Review the available parameters for the 4228// API request. 4229// 4230// * ClusterNotFoundException 4231// The specified cluster could not be found. You can view your available clusters 4232// with ListClusters. Amazon ECS clusters are Region-specific. 4233// 4234// * UnsupportedFeatureException 4235// The specified task is not supported in this Region. 4236// 4237// * PlatformUnknownException 4238// The specified platform version does not exist. 4239// 4240// * PlatformTaskDefinitionIncompatibilityException 4241// The specified platform version does not satisfy the task definition's required 4242// capabilities. 4243// 4244// * AccessDeniedException 4245// You do not have authorization to perform the requested action. 4246// 4247// * BlockedException 4248// Your Amazon Web Services account has been blocked. For more information, 4249// contact Amazon Web Services Support (http://aws.amazon.com/contact-us/). 4250// 4251// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4252func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 4253 req, out := c.RunTaskRequest(input) 4254 return out, req.Send() 4255} 4256 4257// RunTaskWithContext is the same as RunTask with the addition of 4258// the ability to pass a context and additional request options. 4259// 4260// See RunTask for details on how to use this API operation. 4261// 4262// The context must be non-nil and will be used for request cancellation. If 4263// the context is nil a panic will occur. In the future the SDK may create 4264// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4265// for more information on using Contexts. 4266func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 4267 req, out := c.RunTaskRequest(input) 4268 req.SetContext(ctx) 4269 req.ApplyOptions(opts...) 4270 return out, req.Send() 4271} 4272 4273const opStartTask = "StartTask" 4274 4275// StartTaskRequest generates a "aws/request.Request" representing the 4276// client's request for the StartTask operation. The "output" return 4277// value will be populated with the request's response once the request completes 4278// successfully. 4279// 4280// Use "Send" method on the returned Request to send the API call to the service. 4281// the "output" return value is not valid until after Send returns without error. 4282// 4283// See StartTask for more information on using the StartTask 4284// API call, and error handling. 4285// 4286// This method is useful when you want to inject custom logic or configuration 4287// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4288// 4289// 4290// // Example sending a request using the StartTaskRequest method. 4291// req, resp := client.StartTaskRequest(params) 4292// 4293// err := req.Send() 4294// if err == nil { // resp is now filled 4295// fmt.Println(resp) 4296// } 4297// 4298// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4299func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 4300 op := &request.Operation{ 4301 Name: opStartTask, 4302 HTTPMethod: "POST", 4303 HTTPPath: "/", 4304 } 4305 4306 if input == nil { 4307 input = &StartTaskInput{} 4308 } 4309 4310 output = &StartTaskOutput{} 4311 req = c.newRequest(op, input, output) 4312 return 4313} 4314 4315// StartTask API operation for Amazon EC2 Container Service. 4316// 4317// Starts a new task from the specified task definition on the specified container 4318// instance or instances. 4319// 4320// Alternatively, you can use RunTask to place tasks for you. For more information, 4321// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4322// in the Amazon Elastic Container Service Developer Guide. 4323// 4324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4325// with awserr.Error's Code and Message methods to get detailed information about 4326// the error. 4327// 4328// See the AWS API reference guide for Amazon EC2 Container Service's 4329// API operation StartTask for usage and error information. 4330// 4331// Returned Error Types: 4332// * ServerException 4333// These errors are usually caused by a server issue. 4334// 4335// * ClientException 4336// These errors are usually caused by a client action, such as using an action 4337// or resource on behalf of a user that doesn't have permissions to use the 4338// action or resource, or specifying an identifier that is not valid. 4339// 4340// * InvalidParameterException 4341// The specified parameter is invalid. Review the available parameters for the 4342// API request. 4343// 4344// * ClusterNotFoundException 4345// The specified cluster could not be found. You can view your available clusters 4346// with ListClusters. Amazon ECS clusters are Region-specific. 4347// 4348// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4349func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 4350 req, out := c.StartTaskRequest(input) 4351 return out, req.Send() 4352} 4353 4354// StartTaskWithContext is the same as StartTask with the addition of 4355// the ability to pass a context and additional request options. 4356// 4357// See StartTask for details on how to use this API operation. 4358// 4359// The context must be non-nil and will be used for request cancellation. If 4360// the context is nil a panic will occur. In the future the SDK may create 4361// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4362// for more information on using Contexts. 4363func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 4364 req, out := c.StartTaskRequest(input) 4365 req.SetContext(ctx) 4366 req.ApplyOptions(opts...) 4367 return out, req.Send() 4368} 4369 4370const opStopTask = "StopTask" 4371 4372// StopTaskRequest generates a "aws/request.Request" representing the 4373// client's request for the StopTask operation. The "output" return 4374// value will be populated with the request's response once the request completes 4375// successfully. 4376// 4377// Use "Send" method on the returned Request to send the API call to the service. 4378// the "output" return value is not valid until after Send returns without error. 4379// 4380// See StopTask for more information on using the StopTask 4381// API call, and error handling. 4382// 4383// This method is useful when you want to inject custom logic or configuration 4384// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4385// 4386// 4387// // Example sending a request using the StopTaskRequest method. 4388// req, resp := client.StopTaskRequest(params) 4389// 4390// err := req.Send() 4391// if err == nil { // resp is now filled 4392// fmt.Println(resp) 4393// } 4394// 4395// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4396func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 4397 op := &request.Operation{ 4398 Name: opStopTask, 4399 HTTPMethod: "POST", 4400 HTTPPath: "/", 4401 } 4402 4403 if input == nil { 4404 input = &StopTaskInput{} 4405 } 4406 4407 output = &StopTaskOutput{} 4408 req = c.newRequest(op, input, output) 4409 return 4410} 4411 4412// StopTask API operation for Amazon EC2 Container Service. 4413// 4414// Stops a running task. Any tags associated with the task will be deleted. 4415// 4416// When StopTask is called on a task, the equivalent of docker stop is issued 4417// to the containers running in the task. This results in a SIGTERM value and 4418// a default 30-second timeout, after which the SIGKILL value is sent and the 4419// containers are forcibly stopped. If the container handles the SIGTERM value 4420// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 4421// is sent. 4422// 4423// The default 30-second timeout can be configured on the Amazon ECS container 4424// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 4425// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4426// in the Amazon Elastic Container Service Developer Guide. 4427// 4428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4429// with awserr.Error's Code and Message methods to get detailed information about 4430// the error. 4431// 4432// See the AWS API reference guide for Amazon EC2 Container Service's 4433// API operation StopTask for usage and error information. 4434// 4435// Returned Error Types: 4436// * ServerException 4437// These errors are usually caused by a server issue. 4438// 4439// * ClientException 4440// These errors are usually caused by a client action, such as using an action 4441// or resource on behalf of a user that doesn't have permissions to use the 4442// action or resource, or specifying an identifier that is not valid. 4443// 4444// * InvalidParameterException 4445// The specified parameter is invalid. Review the available parameters for the 4446// API request. 4447// 4448// * ClusterNotFoundException 4449// The specified cluster could not be found. You can view your available clusters 4450// with ListClusters. Amazon ECS clusters are Region-specific. 4451// 4452// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4453func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 4454 req, out := c.StopTaskRequest(input) 4455 return out, req.Send() 4456} 4457 4458// StopTaskWithContext is the same as StopTask with the addition of 4459// the ability to pass a context and additional request options. 4460// 4461// See StopTask for details on how to use this API operation. 4462// 4463// The context must be non-nil and will be used for request cancellation. If 4464// the context is nil a panic will occur. In the future the SDK may create 4465// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4466// for more information on using Contexts. 4467func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 4468 req, out := c.StopTaskRequest(input) 4469 req.SetContext(ctx) 4470 req.ApplyOptions(opts...) 4471 return out, req.Send() 4472} 4473 4474const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 4475 4476// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 4477// client's request for the SubmitAttachmentStateChanges operation. The "output" return 4478// value will be populated with the request's response once the request completes 4479// successfully. 4480// 4481// Use "Send" method on the returned Request to send the API call to the service. 4482// the "output" return value is not valid until after Send returns without error. 4483// 4484// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 4485// API call, and error handling. 4486// 4487// This method is useful when you want to inject custom logic or configuration 4488// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4489// 4490// 4491// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 4492// req, resp := client.SubmitAttachmentStateChangesRequest(params) 4493// 4494// err := req.Send() 4495// if err == nil { // resp is now filled 4496// fmt.Println(resp) 4497// } 4498// 4499// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4500func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 4501 op := &request.Operation{ 4502 Name: opSubmitAttachmentStateChanges, 4503 HTTPMethod: "POST", 4504 HTTPPath: "/", 4505 } 4506 4507 if input == nil { 4508 input = &SubmitAttachmentStateChangesInput{} 4509 } 4510 4511 output = &SubmitAttachmentStateChangesOutput{} 4512 req = c.newRequest(op, input, output) 4513 return 4514} 4515 4516// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 4517// 4518// 4519// This action is only used by the Amazon ECS agent, and it is not intended 4520// for use outside of the agent. 4521// 4522// Sent to acknowledge that an attachment changed states. 4523// 4524// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4525// with awserr.Error's Code and Message methods to get detailed information about 4526// the error. 4527// 4528// See the AWS API reference guide for Amazon EC2 Container Service's 4529// API operation SubmitAttachmentStateChanges for usage and error information. 4530// 4531// Returned Error Types: 4532// * ServerException 4533// These errors are usually caused by a server issue. 4534// 4535// * ClientException 4536// These errors are usually caused by a client action, such as using an action 4537// or resource on behalf of a user that doesn't have permissions to use the 4538// action or resource, or specifying an identifier that is not valid. 4539// 4540// * AccessDeniedException 4541// You do not have authorization to perform the requested action. 4542// 4543// * InvalidParameterException 4544// The specified parameter is invalid. Review the available parameters for the 4545// API request. 4546// 4547// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4548func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 4549 req, out := c.SubmitAttachmentStateChangesRequest(input) 4550 return out, req.Send() 4551} 4552 4553// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 4554// the ability to pass a context and additional request options. 4555// 4556// See SubmitAttachmentStateChanges for details on how to use this API operation. 4557// 4558// The context must be non-nil and will be used for request cancellation. If 4559// the context is nil a panic will occur. In the future the SDK may create 4560// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4561// for more information on using Contexts. 4562func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 4563 req, out := c.SubmitAttachmentStateChangesRequest(input) 4564 req.SetContext(ctx) 4565 req.ApplyOptions(opts...) 4566 return out, req.Send() 4567} 4568 4569const opSubmitContainerStateChange = "SubmitContainerStateChange" 4570 4571// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 4572// client's request for the SubmitContainerStateChange operation. The "output" return 4573// value will be populated with the request's response once the request completes 4574// successfully. 4575// 4576// Use "Send" method on the returned Request to send the API call to the service. 4577// the "output" return value is not valid until after Send returns without error. 4578// 4579// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 4580// API call, and error handling. 4581// 4582// This method is useful when you want to inject custom logic or configuration 4583// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4584// 4585// 4586// // Example sending a request using the SubmitContainerStateChangeRequest method. 4587// req, resp := client.SubmitContainerStateChangeRequest(params) 4588// 4589// err := req.Send() 4590// if err == nil { // resp is now filled 4591// fmt.Println(resp) 4592// } 4593// 4594// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4595func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 4596 op := &request.Operation{ 4597 Name: opSubmitContainerStateChange, 4598 HTTPMethod: "POST", 4599 HTTPPath: "/", 4600 } 4601 4602 if input == nil { 4603 input = &SubmitContainerStateChangeInput{} 4604 } 4605 4606 output = &SubmitContainerStateChangeOutput{} 4607 req = c.newRequest(op, input, output) 4608 return 4609} 4610 4611// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 4612// 4613// 4614// This action is only used by the Amazon ECS agent, and it is not intended 4615// for use outside of the agent. 4616// 4617// Sent to acknowledge that a container changed states. 4618// 4619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4620// with awserr.Error's Code and Message methods to get detailed information about 4621// the error. 4622// 4623// See the AWS API reference guide for Amazon EC2 Container Service's 4624// API operation SubmitContainerStateChange for usage and error information. 4625// 4626// Returned Error Types: 4627// * ServerException 4628// These errors are usually caused by a server issue. 4629// 4630// * ClientException 4631// These errors are usually caused by a client action, such as using an action 4632// or resource on behalf of a user that doesn't have permissions to use the 4633// action or resource, or specifying an identifier that is not valid. 4634// 4635// * AccessDeniedException 4636// You do not have authorization to perform the requested action. 4637// 4638// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4639func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 4640 req, out := c.SubmitContainerStateChangeRequest(input) 4641 return out, req.Send() 4642} 4643 4644// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 4645// the ability to pass a context and additional request options. 4646// 4647// See SubmitContainerStateChange for details on how to use this API operation. 4648// 4649// The context must be non-nil and will be used for request cancellation. If 4650// the context is nil a panic will occur. In the future the SDK may create 4651// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4652// for more information on using Contexts. 4653func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 4654 req, out := c.SubmitContainerStateChangeRequest(input) 4655 req.SetContext(ctx) 4656 req.ApplyOptions(opts...) 4657 return out, req.Send() 4658} 4659 4660const opSubmitTaskStateChange = "SubmitTaskStateChange" 4661 4662// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4663// client's request for the SubmitTaskStateChange operation. The "output" return 4664// value will be populated with the request's response once the request completes 4665// successfully. 4666// 4667// Use "Send" method on the returned Request to send the API call to the service. 4668// the "output" return value is not valid until after Send returns without error. 4669// 4670// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4671// API call, and error handling. 4672// 4673// This method is useful when you want to inject custom logic or configuration 4674// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4675// 4676// 4677// // Example sending a request using the SubmitTaskStateChangeRequest method. 4678// req, resp := client.SubmitTaskStateChangeRequest(params) 4679// 4680// err := req.Send() 4681// if err == nil { // resp is now filled 4682// fmt.Println(resp) 4683// } 4684// 4685// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4686func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4687 op := &request.Operation{ 4688 Name: opSubmitTaskStateChange, 4689 HTTPMethod: "POST", 4690 HTTPPath: "/", 4691 } 4692 4693 if input == nil { 4694 input = &SubmitTaskStateChangeInput{} 4695 } 4696 4697 output = &SubmitTaskStateChangeOutput{} 4698 req = c.newRequest(op, input, output) 4699 return 4700} 4701 4702// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4703// 4704// 4705// This action is only used by the Amazon ECS agent, and it is not intended 4706// for use outside of the agent. 4707// 4708// Sent to acknowledge that a task changed states. 4709// 4710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4711// with awserr.Error's Code and Message methods to get detailed information about 4712// the error. 4713// 4714// See the AWS API reference guide for Amazon EC2 Container Service's 4715// API operation SubmitTaskStateChange for usage and error information. 4716// 4717// Returned Error Types: 4718// * ServerException 4719// These errors are usually caused by a server issue. 4720// 4721// * ClientException 4722// These errors are usually caused by a client action, such as using an action 4723// or resource on behalf of a user that doesn't have permissions to use the 4724// action or resource, or specifying an identifier that is not valid. 4725// 4726// * AccessDeniedException 4727// You do not have authorization to perform the requested action. 4728// 4729// * InvalidParameterException 4730// The specified parameter is invalid. Review the available parameters for the 4731// API request. 4732// 4733// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4734func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4735 req, out := c.SubmitTaskStateChangeRequest(input) 4736 return out, req.Send() 4737} 4738 4739// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4740// the ability to pass a context and additional request options. 4741// 4742// See SubmitTaskStateChange for details on how to use this API operation. 4743// 4744// The context must be non-nil and will be used for request cancellation. If 4745// the context is nil a panic will occur. In the future the SDK may create 4746// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4747// for more information on using Contexts. 4748func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4749 req, out := c.SubmitTaskStateChangeRequest(input) 4750 req.SetContext(ctx) 4751 req.ApplyOptions(opts...) 4752 return out, req.Send() 4753} 4754 4755const opTagResource = "TagResource" 4756 4757// TagResourceRequest generates a "aws/request.Request" representing the 4758// client's request for the TagResource operation. The "output" return 4759// value will be populated with the request's response once the request completes 4760// successfully. 4761// 4762// Use "Send" method on the returned Request to send the API call to the service. 4763// the "output" return value is not valid until after Send returns without error. 4764// 4765// See TagResource for more information on using the TagResource 4766// API call, and error handling. 4767// 4768// This method is useful when you want to inject custom logic or configuration 4769// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4770// 4771// 4772// // Example sending a request using the TagResourceRequest method. 4773// req, resp := client.TagResourceRequest(params) 4774// 4775// err := req.Send() 4776// if err == nil { // resp is now filled 4777// fmt.Println(resp) 4778// } 4779// 4780// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4781func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4782 op := &request.Operation{ 4783 Name: opTagResource, 4784 HTTPMethod: "POST", 4785 HTTPPath: "/", 4786 } 4787 4788 if input == nil { 4789 input = &TagResourceInput{} 4790 } 4791 4792 output = &TagResourceOutput{} 4793 req = c.newRequest(op, input, output) 4794 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4795 return 4796} 4797 4798// TagResource API operation for Amazon EC2 Container Service. 4799// 4800// Associates the specified tags to a resource with the specified resourceArn. 4801// If existing tags on a resource are not specified in the request parameters, 4802// they are not changed. When a resource is deleted, the tags associated with 4803// that resource are deleted as well. 4804// 4805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4806// with awserr.Error's Code and Message methods to get detailed information about 4807// the error. 4808// 4809// See the AWS API reference guide for Amazon EC2 Container Service's 4810// API operation TagResource for usage and error information. 4811// 4812// Returned Error Types: 4813// * ServerException 4814// These errors are usually caused by a server issue. 4815// 4816// * ClientException 4817// These errors are usually caused by a client action, such as using an action 4818// or resource on behalf of a user that doesn't have permissions to use the 4819// action or resource, or specifying an identifier that is not valid. 4820// 4821// * ClusterNotFoundException 4822// The specified cluster could not be found. You can view your available clusters 4823// with ListClusters. Amazon ECS clusters are Region-specific. 4824// 4825// * ResourceNotFoundException 4826// The specified resource could not be found. 4827// 4828// * InvalidParameterException 4829// The specified parameter is invalid. Review the available parameters for the 4830// API request. 4831// 4832// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4833func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4834 req, out := c.TagResourceRequest(input) 4835 return out, req.Send() 4836} 4837 4838// TagResourceWithContext is the same as TagResource with the addition of 4839// the ability to pass a context and additional request options. 4840// 4841// See TagResource for details on how to use this API operation. 4842// 4843// The context must be non-nil and will be used for request cancellation. If 4844// the context is nil a panic will occur. In the future the SDK may create 4845// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4846// for more information on using Contexts. 4847func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4848 req, out := c.TagResourceRequest(input) 4849 req.SetContext(ctx) 4850 req.ApplyOptions(opts...) 4851 return out, req.Send() 4852} 4853 4854const opUntagResource = "UntagResource" 4855 4856// UntagResourceRequest generates a "aws/request.Request" representing the 4857// client's request for the UntagResource operation. The "output" return 4858// value will be populated with the request's response once the request completes 4859// successfully. 4860// 4861// Use "Send" method on the returned Request to send the API call to the service. 4862// the "output" return value is not valid until after Send returns without error. 4863// 4864// See UntagResource for more information on using the UntagResource 4865// API call, and error handling. 4866// 4867// This method is useful when you want to inject custom logic or configuration 4868// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4869// 4870// 4871// // Example sending a request using the UntagResourceRequest method. 4872// req, resp := client.UntagResourceRequest(params) 4873// 4874// err := req.Send() 4875// if err == nil { // resp is now filled 4876// fmt.Println(resp) 4877// } 4878// 4879// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4880func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4881 op := &request.Operation{ 4882 Name: opUntagResource, 4883 HTTPMethod: "POST", 4884 HTTPPath: "/", 4885 } 4886 4887 if input == nil { 4888 input = &UntagResourceInput{} 4889 } 4890 4891 output = &UntagResourceOutput{} 4892 req = c.newRequest(op, input, output) 4893 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4894 return 4895} 4896 4897// UntagResource API operation for Amazon EC2 Container Service. 4898// 4899// Deletes specified tags from a resource. 4900// 4901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4902// with awserr.Error's Code and Message methods to get detailed information about 4903// the error. 4904// 4905// See the AWS API reference guide for Amazon EC2 Container Service's 4906// API operation UntagResource for usage and error information. 4907// 4908// Returned Error Types: 4909// * ServerException 4910// These errors are usually caused by a server issue. 4911// 4912// * ClientException 4913// These errors are usually caused by a client action, such as using an action 4914// or resource on behalf of a user that doesn't have permissions to use the 4915// action or resource, or specifying an identifier that is not valid. 4916// 4917// * ClusterNotFoundException 4918// The specified cluster could not be found. You can view your available clusters 4919// with ListClusters. Amazon ECS clusters are Region-specific. 4920// 4921// * ResourceNotFoundException 4922// The specified resource could not be found. 4923// 4924// * InvalidParameterException 4925// The specified parameter is invalid. Review the available parameters for the 4926// API request. 4927// 4928// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4929func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4930 req, out := c.UntagResourceRequest(input) 4931 return out, req.Send() 4932} 4933 4934// UntagResourceWithContext is the same as UntagResource with the addition of 4935// the ability to pass a context and additional request options. 4936// 4937// See UntagResource for details on how to use this API operation. 4938// 4939// The context must be non-nil and will be used for request cancellation. If 4940// the context is nil a panic will occur. In the future the SDK may create 4941// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4942// for more information on using Contexts. 4943func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4944 req, out := c.UntagResourceRequest(input) 4945 req.SetContext(ctx) 4946 req.ApplyOptions(opts...) 4947 return out, req.Send() 4948} 4949 4950const opUpdateCapacityProvider = "UpdateCapacityProvider" 4951 4952// UpdateCapacityProviderRequest generates a "aws/request.Request" representing the 4953// client's request for the UpdateCapacityProvider operation. The "output" return 4954// value will be populated with the request's response once the request completes 4955// successfully. 4956// 4957// Use "Send" method on the returned Request to send the API call to the service. 4958// the "output" return value is not valid until after Send returns without error. 4959// 4960// See UpdateCapacityProvider for more information on using the UpdateCapacityProvider 4961// API call, and error handling. 4962// 4963// This method is useful when you want to inject custom logic or configuration 4964// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4965// 4966// 4967// // Example sending a request using the UpdateCapacityProviderRequest method. 4968// req, resp := client.UpdateCapacityProviderRequest(params) 4969// 4970// err := req.Send() 4971// if err == nil { // resp is now filled 4972// fmt.Println(resp) 4973// } 4974// 4975// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider 4976func (c *ECS) UpdateCapacityProviderRequest(input *UpdateCapacityProviderInput) (req *request.Request, output *UpdateCapacityProviderOutput) { 4977 op := &request.Operation{ 4978 Name: opUpdateCapacityProvider, 4979 HTTPMethod: "POST", 4980 HTTPPath: "/", 4981 } 4982 4983 if input == nil { 4984 input = &UpdateCapacityProviderInput{} 4985 } 4986 4987 output = &UpdateCapacityProviderOutput{} 4988 req = c.newRequest(op, input, output) 4989 return 4990} 4991 4992// UpdateCapacityProvider API operation for Amazon EC2 Container Service. 4993// 4994// Modifies the parameters for a capacity provider. 4995// 4996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4997// with awserr.Error's Code and Message methods to get detailed information about 4998// the error. 4999// 5000// See the AWS API reference guide for Amazon EC2 Container Service's 5001// API operation UpdateCapacityProvider for usage and error information. 5002// 5003// Returned Error Types: 5004// * ServerException 5005// These errors are usually caused by a server issue. 5006// 5007// * ClientException 5008// These errors are usually caused by a client action, such as using an action 5009// or resource on behalf of a user that doesn't have permissions to use the 5010// action or resource, or specifying an identifier that is not valid. 5011// 5012// * InvalidParameterException 5013// The specified parameter is invalid. Review the available parameters for the 5014// API request. 5015// 5016// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCapacityProvider 5017func (c *ECS) UpdateCapacityProvider(input *UpdateCapacityProviderInput) (*UpdateCapacityProviderOutput, error) { 5018 req, out := c.UpdateCapacityProviderRequest(input) 5019 return out, req.Send() 5020} 5021 5022// UpdateCapacityProviderWithContext is the same as UpdateCapacityProvider with the addition of 5023// the ability to pass a context and additional request options. 5024// 5025// See UpdateCapacityProvider for details on how to use this API operation. 5026// 5027// The context must be non-nil and will be used for request cancellation. If 5028// the context is nil a panic will occur. In the future the SDK may create 5029// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5030// for more information on using Contexts. 5031func (c *ECS) UpdateCapacityProviderWithContext(ctx aws.Context, input *UpdateCapacityProviderInput, opts ...request.Option) (*UpdateCapacityProviderOutput, error) { 5032 req, out := c.UpdateCapacityProviderRequest(input) 5033 req.SetContext(ctx) 5034 req.ApplyOptions(opts...) 5035 return out, req.Send() 5036} 5037 5038const opUpdateCluster = "UpdateCluster" 5039 5040// UpdateClusterRequest generates a "aws/request.Request" representing the 5041// client's request for the UpdateCluster operation. The "output" return 5042// value will be populated with the request's response once the request completes 5043// successfully. 5044// 5045// Use "Send" method on the returned Request to send the API call to the service. 5046// the "output" return value is not valid until after Send returns without error. 5047// 5048// See UpdateCluster for more information on using the UpdateCluster 5049// API call, and error handling. 5050// 5051// This method is useful when you want to inject custom logic or configuration 5052// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5053// 5054// 5055// // Example sending a request using the UpdateClusterRequest method. 5056// req, resp := client.UpdateClusterRequest(params) 5057// 5058// err := req.Send() 5059// if err == nil { // resp is now filled 5060// fmt.Println(resp) 5061// } 5062// 5063// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster 5064func (c *ECS) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) { 5065 op := &request.Operation{ 5066 Name: opUpdateCluster, 5067 HTTPMethod: "POST", 5068 HTTPPath: "/", 5069 } 5070 5071 if input == nil { 5072 input = &UpdateClusterInput{} 5073 } 5074 5075 output = &UpdateClusterOutput{} 5076 req = c.newRequest(op, input, output) 5077 return 5078} 5079 5080// UpdateCluster API operation for Amazon EC2 Container Service. 5081// 5082// Updates the cluster. 5083// 5084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5085// with awserr.Error's Code and Message methods to get detailed information about 5086// the error. 5087// 5088// See the AWS API reference guide for Amazon EC2 Container Service's 5089// API operation UpdateCluster for usage and error information. 5090// 5091// Returned Error Types: 5092// * ServerException 5093// These errors are usually caused by a server issue. 5094// 5095// * ClientException 5096// These errors are usually caused by a client action, such as using an action 5097// or resource on behalf of a user that doesn't have permissions to use the 5098// action or resource, or specifying an identifier that is not valid. 5099// 5100// * ClusterNotFoundException 5101// The specified cluster could not be found. You can view your available clusters 5102// with ListClusters. Amazon ECS clusters are Region-specific. 5103// 5104// * InvalidParameterException 5105// The specified parameter is invalid. Review the available parameters for the 5106// API request. 5107// 5108// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster 5109func (c *ECS) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) { 5110 req, out := c.UpdateClusterRequest(input) 5111 return out, req.Send() 5112} 5113 5114// UpdateClusterWithContext is the same as UpdateCluster with the addition of 5115// the ability to pass a context and additional request options. 5116// 5117// See UpdateCluster for details on how to use this API operation. 5118// 5119// The context must be non-nil and will be used for request cancellation. If 5120// the context is nil a panic will occur. In the future the SDK may create 5121// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5122// for more information on using Contexts. 5123func (c *ECS) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) { 5124 req, out := c.UpdateClusterRequest(input) 5125 req.SetContext(ctx) 5126 req.ApplyOptions(opts...) 5127 return out, req.Send() 5128} 5129 5130const opUpdateClusterSettings = "UpdateClusterSettings" 5131 5132// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 5133// client's request for the UpdateClusterSettings operation. The "output" return 5134// value will be populated with the request's response once the request completes 5135// successfully. 5136// 5137// Use "Send" method on the returned Request to send the API call to the service. 5138// the "output" return value is not valid until after Send returns without error. 5139// 5140// See UpdateClusterSettings for more information on using the UpdateClusterSettings 5141// API call, and error handling. 5142// 5143// This method is useful when you want to inject custom logic or configuration 5144// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5145// 5146// 5147// // Example sending a request using the UpdateClusterSettingsRequest method. 5148// req, resp := client.UpdateClusterSettingsRequest(params) 5149// 5150// err := req.Send() 5151// if err == nil { // resp is now filled 5152// fmt.Println(resp) 5153// } 5154// 5155// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 5156func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 5157 op := &request.Operation{ 5158 Name: opUpdateClusterSettings, 5159 HTTPMethod: "POST", 5160 HTTPPath: "/", 5161 } 5162 5163 if input == nil { 5164 input = &UpdateClusterSettingsInput{} 5165 } 5166 5167 output = &UpdateClusterSettingsOutput{} 5168 req = c.newRequest(op, input, output) 5169 return 5170} 5171 5172// UpdateClusterSettings API operation for Amazon EC2 Container Service. 5173// 5174// Modifies the settings to use for a cluster. 5175// 5176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5177// with awserr.Error's Code and Message methods to get detailed information about 5178// the error. 5179// 5180// See the AWS API reference guide for Amazon EC2 Container Service's 5181// API operation UpdateClusterSettings for usage and error information. 5182// 5183// Returned Error Types: 5184// * ServerException 5185// These errors are usually caused by a server issue. 5186// 5187// * ClientException 5188// These errors are usually caused by a client action, such as using an action 5189// or resource on behalf of a user that doesn't have permissions to use the 5190// action or resource, or specifying an identifier that is not valid. 5191// 5192// * ClusterNotFoundException 5193// The specified cluster could not be found. You can view your available clusters 5194// with ListClusters. Amazon ECS clusters are Region-specific. 5195// 5196// * InvalidParameterException 5197// The specified parameter is invalid. Review the available parameters for the 5198// API request. 5199// 5200// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 5201func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 5202 req, out := c.UpdateClusterSettingsRequest(input) 5203 return out, req.Send() 5204} 5205 5206// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 5207// the ability to pass a context and additional request options. 5208// 5209// See UpdateClusterSettings for details on how to use this API operation. 5210// 5211// The context must be non-nil and will be used for request cancellation. If 5212// the context is nil a panic will occur. In the future the SDK may create 5213// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5214// for more information on using Contexts. 5215func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 5216 req, out := c.UpdateClusterSettingsRequest(input) 5217 req.SetContext(ctx) 5218 req.ApplyOptions(opts...) 5219 return out, req.Send() 5220} 5221 5222const opUpdateContainerAgent = "UpdateContainerAgent" 5223 5224// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 5225// client's request for the UpdateContainerAgent operation. The "output" return 5226// value will be populated with the request's response once the request completes 5227// successfully. 5228// 5229// Use "Send" method on the returned Request to send the API call to the service. 5230// the "output" return value is not valid until after Send returns without error. 5231// 5232// See UpdateContainerAgent for more information on using the UpdateContainerAgent 5233// API call, and error handling. 5234// 5235// This method is useful when you want to inject custom logic or configuration 5236// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5237// 5238// 5239// // Example sending a request using the UpdateContainerAgentRequest method. 5240// req, resp := client.UpdateContainerAgentRequest(params) 5241// 5242// err := req.Send() 5243// if err == nil { // resp is now filled 5244// fmt.Println(resp) 5245// } 5246// 5247// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5248func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 5249 op := &request.Operation{ 5250 Name: opUpdateContainerAgent, 5251 HTTPMethod: "POST", 5252 HTTPPath: "/", 5253 } 5254 5255 if input == nil { 5256 input = &UpdateContainerAgentInput{} 5257 } 5258 5259 output = &UpdateContainerAgentOutput{} 5260 req = c.newRequest(op, input, output) 5261 return 5262} 5263 5264// UpdateContainerAgent API operation for Amazon EC2 Container Service. 5265// 5266// Updates the Amazon ECS container agent on a specified container instance. 5267// Updating the Amazon ECS container agent does not interrupt running tasks 5268// or services on the container instance. The process for updating the agent 5269// differs depending on whether your container instance was launched with the 5270// Amazon ECS-optimized AMI or another operating system. 5271// 5272// The UpdateContainerAgent API isn't supported for container instances using 5273// the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container 5274// agent, you can update the ecs-init package which will update the agent. For 5275// more information, see Updating the Amazon ECS container agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/agent-update-ecs-ami.html) 5276// in the Amazon Elastic Container Service Developer Guide. 5277// 5278// The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or Amazon 5279// Linux AMI with the ecs-init service installed and running. For help updating 5280// the Amazon ECS container agent on other operating systems, see Manually updating 5281// the Amazon ECS container agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 5282// in the Amazon Elastic Container Service Developer Guide. 5283// 5284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5285// with awserr.Error's Code and Message methods to get detailed information about 5286// the error. 5287// 5288// See the AWS API reference guide for Amazon EC2 Container Service's 5289// API operation UpdateContainerAgent for usage and error information. 5290// 5291// Returned Error Types: 5292// * ServerException 5293// These errors are usually caused by a server issue. 5294// 5295// * ClientException 5296// These errors are usually caused by a client action, such as using an action 5297// or resource on behalf of a user that doesn't have permissions to use the 5298// action or resource, or specifying an identifier that is not valid. 5299// 5300// * InvalidParameterException 5301// The specified parameter is invalid. Review the available parameters for the 5302// API request. 5303// 5304// * ClusterNotFoundException 5305// The specified cluster could not be found. You can view your available clusters 5306// with ListClusters. Amazon ECS clusters are Region-specific. 5307// 5308// * UpdateInProgressException 5309// There is already a current Amazon ECS container agent update in progress 5310// on the specified container instance. If the container agent becomes disconnected 5311// while it is in a transitional stage, such as PENDING or STAGING, the update 5312// process can get stuck in that state. However, when the agent reconnects, 5313// it resumes where it stopped previously. 5314// 5315// * NoUpdateAvailableException 5316// There is no update available for this Amazon ECS container agent. This could 5317// be because the agent is already running the latest version, or it is so old 5318// that there is no update path to the current version. 5319// 5320// * MissingVersionException 5321// Amazon ECS is unable to determine the current version of the Amazon ECS container 5322// agent on the container instance and does not have enough information to proceed 5323// with an update. This could be because the agent running on the container 5324// instance is an older or custom version that does not use our version information. 5325// 5326// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5327func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 5328 req, out := c.UpdateContainerAgentRequest(input) 5329 return out, req.Send() 5330} 5331 5332// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 5333// the ability to pass a context and additional request options. 5334// 5335// See UpdateContainerAgent for details on how to use this API operation. 5336// 5337// The context must be non-nil and will be used for request cancellation. If 5338// the context is nil a panic will occur. In the future the SDK may create 5339// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5340// for more information on using Contexts. 5341func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 5342 req, out := c.UpdateContainerAgentRequest(input) 5343 req.SetContext(ctx) 5344 req.ApplyOptions(opts...) 5345 return out, req.Send() 5346} 5347 5348const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 5349 5350// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 5351// client's request for the UpdateContainerInstancesState operation. The "output" return 5352// value will be populated with the request's response once the request completes 5353// successfully. 5354// 5355// Use "Send" method on the returned Request to send the API call to the service. 5356// the "output" return value is not valid until after Send returns without error. 5357// 5358// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 5359// API call, and error handling. 5360// 5361// This method is useful when you want to inject custom logic or configuration 5362// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5363// 5364// 5365// // Example sending a request using the UpdateContainerInstancesStateRequest method. 5366// req, resp := client.UpdateContainerInstancesStateRequest(params) 5367// 5368// err := req.Send() 5369// if err == nil { // resp is now filled 5370// fmt.Println(resp) 5371// } 5372// 5373// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5374func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 5375 op := &request.Operation{ 5376 Name: opUpdateContainerInstancesState, 5377 HTTPMethod: "POST", 5378 HTTPPath: "/", 5379 } 5380 5381 if input == nil { 5382 input = &UpdateContainerInstancesStateInput{} 5383 } 5384 5385 output = &UpdateContainerInstancesStateOutput{} 5386 req = c.newRequest(op, input, output) 5387 return 5388} 5389 5390// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 5391// 5392// Modifies the status of an Amazon ECS container instance. 5393// 5394// Once a container instance has reached an ACTIVE state, you can change the 5395// status of a container instance to DRAINING to manually remove an instance 5396// from a cluster, for example to perform system updates, update the Docker 5397// daemon, or scale down the cluster size. 5398// 5399// A container instance cannot be changed to DRAINING until it has reached an 5400// ACTIVE status. If the instance is in any other status, an error will be received. 5401// 5402// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 5403// from being scheduled for placement on the container instance and replacement 5404// service tasks are started on other container instances in the cluster if 5405// the resources are available. Service tasks on the container instance that 5406// are in the PENDING state are stopped immediately. 5407// 5408// Service tasks on the container instance that are in the RUNNING state are 5409// stopped and replaced according to the service's deployment configuration 5410// parameters, minimumHealthyPercent and maximumPercent. You can change the 5411// deployment configuration of your service using UpdateService. 5412// 5413// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5414// temporarily during task replacement. For example, desiredCount is four 5415// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5416// before starting two new tasks. If the minimum is 100%, the service scheduler 5417// can't remove existing tasks until the replacement tasks are considered 5418// healthy. Tasks for services that do not use a load balancer are considered 5419// healthy if they are in the RUNNING state. Tasks for services that use 5420// a load balancer are considered healthy if they are in the RUNNING state 5421// and the container instance they are hosted on is reported as healthy by 5422// the load balancer. 5423// 5424// * The maximumPercent parameter represents an upper limit on the number 5425// of running tasks during task replacement, which enables you to define 5426// the replacement batch size. For example, if desiredCount is four tasks, 5427// a maximum of 200% starts four new tasks before stopping the four tasks 5428// to be drained, provided that the cluster resources required to do this 5429// are available. If the maximum is 100%, then replacement tasks can't start 5430// until the draining tasks have stopped. 5431// 5432// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 5433// You must wait for them to finish or stop them manually. 5434// 5435// A container instance has completed draining when it has no more RUNNING tasks. 5436// You can verify this using ListTasks. 5437// 5438// When a container instance has been drained, you can set a container instance 5439// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 5440// can begin scheduling tasks on the instance again. 5441// 5442// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5443// with awserr.Error's Code and Message methods to get detailed information about 5444// the error. 5445// 5446// See the AWS API reference guide for Amazon EC2 Container Service's 5447// API operation UpdateContainerInstancesState for usage and error information. 5448// 5449// Returned Error Types: 5450// * ServerException 5451// These errors are usually caused by a server issue. 5452// 5453// * ClientException 5454// These errors are usually caused by a client action, such as using an action 5455// or resource on behalf of a user that doesn't have permissions to use the 5456// action or resource, or specifying an identifier that is not valid. 5457// 5458// * InvalidParameterException 5459// The specified parameter is invalid. Review the available parameters for the 5460// API request. 5461// 5462// * ClusterNotFoundException 5463// The specified cluster could not be found. You can view your available clusters 5464// with ListClusters. Amazon ECS clusters are Region-specific. 5465// 5466// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5467func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5468 req, out := c.UpdateContainerInstancesStateRequest(input) 5469 return out, req.Send() 5470} 5471 5472// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5473// the ability to pass a context and additional request options. 5474// 5475// See UpdateContainerInstancesState for details on how to use this API operation. 5476// 5477// The context must be non-nil and will be used for request cancellation. If 5478// the context is nil a panic will occur. In the future the SDK may create 5479// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5480// for more information on using Contexts. 5481func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5482 req, out := c.UpdateContainerInstancesStateRequest(input) 5483 req.SetContext(ctx) 5484 req.ApplyOptions(opts...) 5485 return out, req.Send() 5486} 5487 5488const opUpdateService = "UpdateService" 5489 5490// UpdateServiceRequest generates a "aws/request.Request" representing the 5491// client's request for the UpdateService operation. The "output" return 5492// value will be populated with the request's response once the request completes 5493// successfully. 5494// 5495// Use "Send" method on the returned Request to send the API call to the service. 5496// the "output" return value is not valid until after Send returns without error. 5497// 5498// See UpdateService for more information on using the UpdateService 5499// API call, and error handling. 5500// 5501// This method is useful when you want to inject custom logic or configuration 5502// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5503// 5504// 5505// // Example sending a request using the UpdateServiceRequest method. 5506// req, resp := client.UpdateServiceRequest(params) 5507// 5508// err := req.Send() 5509// if err == nil { // resp is now filled 5510// fmt.Println(resp) 5511// } 5512// 5513// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5514func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5515 op := &request.Operation{ 5516 Name: opUpdateService, 5517 HTTPMethod: "POST", 5518 HTTPPath: "/", 5519 } 5520 5521 if input == nil { 5522 input = &UpdateServiceInput{} 5523 } 5524 5525 output = &UpdateServiceOutput{} 5526 req = c.newRequest(op, input, output) 5527 return 5528} 5529 5530// UpdateService API operation for Amazon EC2 Container Service. 5531// 5532// 5533// Updating the task placement strategies and constraints on an Amazon ECS service 5534// remains in preview and is a Beta Service as defined by and subject to the 5535// Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms 5536// (https://aws.amazon.com/service-terms) ("Beta Terms"). These Beta Terms apply 5537// to your participation in this preview. 5538// 5539// Modifies the parameters of a service. 5540// 5541// For services using the rolling update (ECS) deployment controller, the desired 5542// count, deployment configuration, network configuration, task placement constraints 5543// and strategies, or task definition used can be updated. 5544// 5545// For services using the blue/green (CODE_DEPLOY) deployment controller, only 5546// the desired count, deployment configuration, task placement constraints and 5547// strategies, and health check grace period can be updated using this API. 5548// If the network configuration, platform version, or task definition need to 5549// be updated, a new CodeDeploy deployment should be created. For more information, 5550// see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5551// in the CodeDeploy API Reference. 5552// 5553// For services using an external deployment controller, you can update only 5554// the desired count, task placement constraints and strategies, and health 5555// check grace period using this API. If the launch type, load balancer, network 5556// configuration, platform version, or task definition need to be updated, you 5557// should create a new task set. For more information, see CreateTaskSet. 5558// 5559// You can add to or subtract from the number of instantiations of a task definition 5560// in a service by specifying the cluster that the service is running in and 5561// a new desiredCount parameter. 5562// 5563// If you have updated the Docker image of your application, you can create 5564// a new task definition with that image and deploy it to your service. The 5565// service scheduler uses the minimum healthy percent and maximum percent parameters 5566// (in the service's deployment configuration) to determine the deployment strategy. 5567// 5568// If your updated Docker image uses the same tag as what is in the existing 5569// task definition for your service (for example, my_image:latest), you do not 5570// need to create a new revision of your task definition. You can update the 5571// service using the forceNewDeployment option. The new tasks launched by the 5572// deployment pull the current image/tag combination from your repository when 5573// they start. 5574// 5575// You can also update the deployment configuration of a service. When a deployment 5576// is triggered by updating the task definition of a service, the service scheduler 5577// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5578// to determine the deployment strategy. 5579// 5580// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5581// temporarily during a deployment. For example, if desiredCount is four 5582// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5583// before starting two new tasks. Tasks for services that do not use a load 5584// balancer are considered healthy if they are in the RUNNING state. Tasks 5585// for services that use a load balancer are considered healthy if they are 5586// in the RUNNING state and the container instance they are hosted on is 5587// reported as healthy by the load balancer. 5588// 5589// * The maximumPercent parameter represents an upper limit on the number 5590// of running tasks during a deployment, which enables you to define the 5591// deployment batch size. For example, if desiredCount is four tasks, a maximum 5592// of 200% starts four new tasks before stopping the four older tasks (provided 5593// that the cluster resources required to do this are available). 5594// 5595// When UpdateService stops a task during a deployment, the equivalent of docker 5596// stop is issued to the containers running in the task. This results in a SIGTERM 5597// and a 30-second timeout, after which SIGKILL is sent and the containers are 5598// forcibly stopped. If the container handles the SIGTERM gracefully and exits 5599// within 30 seconds from receiving it, no SIGKILL is sent. 5600// 5601// When the service scheduler launches new tasks, it determines task placement 5602// in your cluster with the following logic: 5603// 5604// * Determine which of the container instances in your cluster can support 5605// your service's task definition (for example, they have the required CPU, 5606// memory, ports, and container instance attributes). 5607// 5608// * By default, the service scheduler attempts to balance tasks across Availability 5609// Zones in this manner (although you can choose a different placement strategy): 5610// Sort the valid container instances by the fewest number of running tasks 5611// for this service in the same Availability Zone as the instance. For example, 5612// if zone A has one running service task and zones B and C each have zero, 5613// valid container instances in either zone B or C are considered optimal 5614// for placement. Place the new service task on a valid container instance 5615// in an optimal Availability Zone (based on the previous steps), favoring 5616// container instances with the fewest number of running tasks for this service. 5617// 5618// When the service scheduler stops running tasks, it attempts to maintain balance 5619// across the Availability Zones in your cluster using the following logic: 5620// 5621// * Sort the container instances by the largest number of running tasks 5622// for this service in the same Availability Zone as the instance. For example, 5623// if zone A has one running service task and zones B and C each have two, 5624// container instances in either zone B or C are considered optimal for termination. 5625// 5626// * Stop the task on a container instance in an optimal Availability Zone 5627// (based on the previous steps), favoring container instances with the largest 5628// number of running tasks for this service. 5629// 5630// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5631// with awserr.Error's Code and Message methods to get detailed information about 5632// the error. 5633// 5634// See the AWS API reference guide for Amazon EC2 Container Service's 5635// API operation UpdateService for usage and error information. 5636// 5637// Returned Error Types: 5638// * ServerException 5639// These errors are usually caused by a server issue. 5640// 5641// * ClientException 5642// These errors are usually caused by a client action, such as using an action 5643// or resource on behalf of a user that doesn't have permissions to use the 5644// action or resource, or specifying an identifier that is not valid. 5645// 5646// * InvalidParameterException 5647// The specified parameter is invalid. Review the available parameters for the 5648// API request. 5649// 5650// * ClusterNotFoundException 5651// The specified cluster could not be found. You can view your available clusters 5652// with ListClusters. Amazon ECS clusters are Region-specific. 5653// 5654// * ServiceNotFoundException 5655// The specified service could not be found. You can view your available services 5656// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5657// 5658// * ServiceNotActiveException 5659// The specified service is not active. You can't update a service that is inactive. 5660// If you have previously deleted a service, you can re-create it with CreateService. 5661// 5662// * PlatformUnknownException 5663// The specified platform version does not exist. 5664// 5665// * PlatformTaskDefinitionIncompatibilityException 5666// The specified platform version does not satisfy the task definition's required 5667// capabilities. 5668// 5669// * AccessDeniedException 5670// You do not have authorization to perform the requested action. 5671// 5672// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5673func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5674 req, out := c.UpdateServiceRequest(input) 5675 return out, req.Send() 5676} 5677 5678// UpdateServiceWithContext is the same as UpdateService with the addition of 5679// the ability to pass a context and additional request options. 5680// 5681// See UpdateService for details on how to use this API operation. 5682// 5683// The context must be non-nil and will be used for request cancellation. If 5684// the context is nil a panic will occur. In the future the SDK may create 5685// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5686// for more information on using Contexts. 5687func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5688 req, out := c.UpdateServiceRequest(input) 5689 req.SetContext(ctx) 5690 req.ApplyOptions(opts...) 5691 return out, req.Send() 5692} 5693 5694const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5695 5696// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5697// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5698// value will be populated with the request's response once the request completes 5699// successfully. 5700// 5701// Use "Send" method on the returned Request to send the API call to the service. 5702// the "output" return value is not valid until after Send returns without error. 5703// 5704// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5705// API call, and error handling. 5706// 5707// This method is useful when you want to inject custom logic or configuration 5708// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5709// 5710// 5711// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5712// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5713// 5714// err := req.Send() 5715// if err == nil { // resp is now filled 5716// fmt.Println(resp) 5717// } 5718// 5719// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5720func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5721 op := &request.Operation{ 5722 Name: opUpdateServicePrimaryTaskSet, 5723 HTTPMethod: "POST", 5724 HTTPPath: "/", 5725 } 5726 5727 if input == nil { 5728 input = &UpdateServicePrimaryTaskSetInput{} 5729 } 5730 5731 output = &UpdateServicePrimaryTaskSetOutput{} 5732 req = c.newRequest(op, input, output) 5733 return 5734} 5735 5736// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5737// 5738// Modifies which task set in a service is the primary task set. Any parameters 5739// that are updated on the primary task set in a service will transition to 5740// the service. This is used when a service uses the EXTERNAL deployment controller 5741// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5742// in the Amazon Elastic Container Service Developer Guide. 5743// 5744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5745// with awserr.Error's Code and Message methods to get detailed information about 5746// the error. 5747// 5748// See the AWS API reference guide for Amazon EC2 Container Service's 5749// API operation UpdateServicePrimaryTaskSet for usage and error information. 5750// 5751// Returned Error Types: 5752// * ServerException 5753// These errors are usually caused by a server issue. 5754// 5755// * ClientException 5756// These errors are usually caused by a client action, such as using an action 5757// or resource on behalf of a user that doesn't have permissions to use the 5758// action or resource, or specifying an identifier that is not valid. 5759// 5760// * InvalidParameterException 5761// The specified parameter is invalid. Review the available parameters for the 5762// API request. 5763// 5764// * ClusterNotFoundException 5765// The specified cluster could not be found. You can view your available clusters 5766// with ListClusters. Amazon ECS clusters are Region-specific. 5767// 5768// * UnsupportedFeatureException 5769// The specified task is not supported in this Region. 5770// 5771// * ServiceNotFoundException 5772// The specified service could not be found. You can view your available services 5773// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5774// 5775// * ServiceNotActiveException 5776// The specified service is not active. You can't update a service that is inactive. 5777// If you have previously deleted a service, you can re-create it with CreateService. 5778// 5779// * TaskSetNotFoundException 5780// The specified task set could not be found. You can view your available task 5781// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5782// and Region. 5783// 5784// * AccessDeniedException 5785// You do not have authorization to perform the requested action. 5786// 5787// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5788func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5789 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5790 return out, req.Send() 5791} 5792 5793// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5794// the ability to pass a context and additional request options. 5795// 5796// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5797// 5798// The context must be non-nil and will be used for request cancellation. If 5799// the context is nil a panic will occur. In the future the SDK may create 5800// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5801// for more information on using Contexts. 5802func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5803 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5804 req.SetContext(ctx) 5805 req.ApplyOptions(opts...) 5806 return out, req.Send() 5807} 5808 5809const opUpdateTaskSet = "UpdateTaskSet" 5810 5811// UpdateTaskSetRequest generates a "aws/request.Request" representing the 5812// client's request for the UpdateTaskSet operation. The "output" return 5813// value will be populated with the request's response once the request completes 5814// successfully. 5815// 5816// Use "Send" method on the returned Request to send the API call to the service. 5817// the "output" return value is not valid until after Send returns without error. 5818// 5819// See UpdateTaskSet for more information on using the UpdateTaskSet 5820// API call, and error handling. 5821// 5822// This method is useful when you want to inject custom logic or configuration 5823// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5824// 5825// 5826// // Example sending a request using the UpdateTaskSetRequest method. 5827// req, resp := client.UpdateTaskSetRequest(params) 5828// 5829// err := req.Send() 5830// if err == nil { // resp is now filled 5831// fmt.Println(resp) 5832// } 5833// 5834// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5835func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5836 op := &request.Operation{ 5837 Name: opUpdateTaskSet, 5838 HTTPMethod: "POST", 5839 HTTPPath: "/", 5840 } 5841 5842 if input == nil { 5843 input = &UpdateTaskSetInput{} 5844 } 5845 5846 output = &UpdateTaskSetOutput{} 5847 req = c.newRequest(op, input, output) 5848 return 5849} 5850 5851// UpdateTaskSet API operation for Amazon EC2 Container Service. 5852// 5853// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5854// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5855// in the Amazon Elastic Container Service Developer Guide. 5856// 5857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5858// with awserr.Error's Code and Message methods to get detailed information about 5859// the error. 5860// 5861// See the AWS API reference guide for Amazon EC2 Container Service's 5862// API operation UpdateTaskSet for usage and error information. 5863// 5864// Returned Error Types: 5865// * ServerException 5866// These errors are usually caused by a server issue. 5867// 5868// * ClientException 5869// These errors are usually caused by a client action, such as using an action 5870// or resource on behalf of a user that doesn't have permissions to use the 5871// action or resource, or specifying an identifier that is not valid. 5872// 5873// * InvalidParameterException 5874// The specified parameter is invalid. Review the available parameters for the 5875// API request. 5876// 5877// * ClusterNotFoundException 5878// The specified cluster could not be found. You can view your available clusters 5879// with ListClusters. Amazon ECS clusters are Region-specific. 5880// 5881// * UnsupportedFeatureException 5882// The specified task is not supported in this Region. 5883// 5884// * AccessDeniedException 5885// You do not have authorization to perform the requested action. 5886// 5887// * ServiceNotFoundException 5888// The specified service could not be found. You can view your available services 5889// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5890// 5891// * ServiceNotActiveException 5892// The specified service is not active. You can't update a service that is inactive. 5893// If you have previously deleted a service, you can re-create it with CreateService. 5894// 5895// * TaskSetNotFoundException 5896// The specified task set could not be found. You can view your available task 5897// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5898// and Region. 5899// 5900// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5901func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5902 req, out := c.UpdateTaskSetRequest(input) 5903 return out, req.Send() 5904} 5905 5906// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5907// the ability to pass a context and additional request options. 5908// 5909// See UpdateTaskSet for details on how to use this API operation. 5910// 5911// The context must be non-nil and will be used for request cancellation. If 5912// the context is nil a panic will occur. In the future the SDK may create 5913// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5914// for more information on using Contexts. 5915func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5916 req, out := c.UpdateTaskSetRequest(input) 5917 req.SetContext(ctx) 5918 req.ApplyOptions(opts...) 5919 return out, req.Send() 5920} 5921 5922// You do not have authorization to perform the requested action. 5923type AccessDeniedException struct { 5924 _ struct{} `type:"structure"` 5925 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5926 5927 Message_ *string `locationName:"message" type:"string"` 5928} 5929 5930// String returns the string representation 5931func (s AccessDeniedException) String() string { 5932 return awsutil.Prettify(s) 5933} 5934 5935// GoString returns the string representation 5936func (s AccessDeniedException) GoString() string { 5937 return s.String() 5938} 5939 5940func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 5941 return &AccessDeniedException{ 5942 RespMetadata: v, 5943 } 5944} 5945 5946// Code returns the exception type name. 5947func (s *AccessDeniedException) Code() string { 5948 return "AccessDeniedException" 5949} 5950 5951// Message returns the exception's message. 5952func (s *AccessDeniedException) Message() string { 5953 if s.Message_ != nil { 5954 return *s.Message_ 5955 } 5956 return "" 5957} 5958 5959// OrigErr always returns nil, satisfies awserr.Error interface. 5960func (s *AccessDeniedException) OrigErr() error { 5961 return nil 5962} 5963 5964func (s *AccessDeniedException) Error() string { 5965 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5966} 5967 5968// Status code returns the HTTP status code for the request's response error. 5969func (s *AccessDeniedException) StatusCode() int { 5970 return s.RespMetadata.StatusCode 5971} 5972 5973// RequestID returns the service's response RequestID for request. 5974func (s *AccessDeniedException) RequestID() string { 5975 return s.RespMetadata.RequestID 5976} 5977 5978// An object representing a container instance or task attachment. 5979type Attachment struct { 5980 _ struct{} `type:"structure"` 5981 5982 // Details of the attachment. For elastic network interfaces, this includes 5983 // the network interface ID, the MAC address, the subnet ID, and the private 5984 // IPv4 address. 5985 Details []*KeyValuePair `locationName:"details" type:"list"` 5986 5987 // The unique identifier for the attachment. 5988 Id *string `locationName:"id" type:"string"` 5989 5990 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5991 // ATTACHED, DETACHING, DETACHED, and DELETED. 5992 Status *string `locationName:"status" type:"string"` 5993 5994 // The type of the attachment, such as ElasticNetworkInterface. 5995 Type *string `locationName:"type" type:"string"` 5996} 5997 5998// String returns the string representation 5999func (s Attachment) String() string { 6000 return awsutil.Prettify(s) 6001} 6002 6003// GoString returns the string representation 6004func (s Attachment) GoString() string { 6005 return s.String() 6006} 6007 6008// SetDetails sets the Details field's value. 6009func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 6010 s.Details = v 6011 return s 6012} 6013 6014// SetId sets the Id field's value. 6015func (s *Attachment) SetId(v string) *Attachment { 6016 s.Id = &v 6017 return s 6018} 6019 6020// SetStatus sets the Status field's value. 6021func (s *Attachment) SetStatus(v string) *Attachment { 6022 s.Status = &v 6023 return s 6024} 6025 6026// SetType sets the Type field's value. 6027func (s *Attachment) SetType(v string) *Attachment { 6028 s.Type = &v 6029 return s 6030} 6031 6032// An object representing a change in state for a task attachment. 6033type AttachmentStateChange struct { 6034 _ struct{} `type:"structure"` 6035 6036 // The Amazon Resource Name (ARN) of the attachment. 6037 // 6038 // AttachmentArn is a required field 6039 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 6040 6041 // The status of the attachment. 6042 // 6043 // Status is a required field 6044 Status *string `locationName:"status" type:"string" required:"true"` 6045} 6046 6047// String returns the string representation 6048func (s AttachmentStateChange) String() string { 6049 return awsutil.Prettify(s) 6050} 6051 6052// GoString returns the string representation 6053func (s AttachmentStateChange) GoString() string { 6054 return s.String() 6055} 6056 6057// Validate inspects the fields of the type to determine if they are valid. 6058func (s *AttachmentStateChange) Validate() error { 6059 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 6060 if s.AttachmentArn == nil { 6061 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 6062 } 6063 if s.Status == nil { 6064 invalidParams.Add(request.NewErrParamRequired("Status")) 6065 } 6066 6067 if invalidParams.Len() > 0 { 6068 return invalidParams 6069 } 6070 return nil 6071} 6072 6073// SetAttachmentArn sets the AttachmentArn field's value. 6074func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 6075 s.AttachmentArn = &v 6076 return s 6077} 6078 6079// SetStatus sets the Status field's value. 6080func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 6081 s.Status = &v 6082 return s 6083} 6084 6085// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 6086// enable you to extend the Amazon ECS data model by adding custom metadata 6087// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 6088// in the Amazon Elastic Container Service Developer Guide. 6089type Attribute struct { 6090 _ struct{} `type:"structure"` 6091 6092 // The name of the attribute. The name must contain between 1 and 128 characters 6093 // and name may contain letters (uppercase and lowercase), numbers, hyphens, 6094 // underscores, forward slashes, back slashes, or periods. 6095 // 6096 // Name is a required field 6097 Name *string `locationName:"name" type:"string" required:"true"` 6098 6099 // The ID of the target. You can specify the short form ID for a resource or 6100 // the full Amazon Resource Name (ARN). 6101 TargetId *string `locationName:"targetId" type:"string"` 6102 6103 // The type of the target with which to attach the attribute. This parameter 6104 // is required if you use the short form ID for a resource instead of the full 6105 // ARN. 6106 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 6107 6108 // The value of the attribute. The value must contain between 1 and 128 characters 6109 // and may contain letters (uppercase and lowercase), numbers, hyphens, underscores, 6110 // periods, at signs (@), forward slashes, back slashes, colons, or spaces. 6111 // The value cannot contain any leading or trailing whitespace. 6112 Value *string `locationName:"value" type:"string"` 6113} 6114 6115// String returns the string representation 6116func (s Attribute) String() string { 6117 return awsutil.Prettify(s) 6118} 6119 6120// GoString returns the string representation 6121func (s Attribute) GoString() string { 6122 return s.String() 6123} 6124 6125// Validate inspects the fields of the type to determine if they are valid. 6126func (s *Attribute) Validate() error { 6127 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 6128 if s.Name == nil { 6129 invalidParams.Add(request.NewErrParamRequired("Name")) 6130 } 6131 6132 if invalidParams.Len() > 0 { 6133 return invalidParams 6134 } 6135 return nil 6136} 6137 6138// SetName sets the Name field's value. 6139func (s *Attribute) SetName(v string) *Attribute { 6140 s.Name = &v 6141 return s 6142} 6143 6144// SetTargetId sets the TargetId field's value. 6145func (s *Attribute) SetTargetId(v string) *Attribute { 6146 s.TargetId = &v 6147 return s 6148} 6149 6150// SetTargetType sets the TargetType field's value. 6151func (s *Attribute) SetTargetType(v string) *Attribute { 6152 s.TargetType = &v 6153 return s 6154} 6155 6156// SetValue sets the Value field's value. 6157func (s *Attribute) SetValue(v string) *Attribute { 6158 s.Value = &v 6159 return s 6160} 6161 6162// You can apply up to 10 custom attributes per resource. You can view the attributes 6163// of a resource with ListAttributes. You can remove existing attributes on 6164// a resource with DeleteAttributes. 6165type AttributeLimitExceededException struct { 6166 _ struct{} `type:"structure"` 6167 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6168 6169 Message_ *string `locationName:"message" type:"string"` 6170} 6171 6172// String returns the string representation 6173func (s AttributeLimitExceededException) String() string { 6174 return awsutil.Prettify(s) 6175} 6176 6177// GoString returns the string representation 6178func (s AttributeLimitExceededException) GoString() string { 6179 return s.String() 6180} 6181 6182func newErrorAttributeLimitExceededException(v protocol.ResponseMetadata) error { 6183 return &AttributeLimitExceededException{ 6184 RespMetadata: v, 6185 } 6186} 6187 6188// Code returns the exception type name. 6189func (s *AttributeLimitExceededException) Code() string { 6190 return "AttributeLimitExceededException" 6191} 6192 6193// Message returns the exception's message. 6194func (s *AttributeLimitExceededException) Message() string { 6195 if s.Message_ != nil { 6196 return *s.Message_ 6197 } 6198 return "" 6199} 6200 6201// OrigErr always returns nil, satisfies awserr.Error interface. 6202func (s *AttributeLimitExceededException) OrigErr() error { 6203 return nil 6204} 6205 6206func (s *AttributeLimitExceededException) Error() string { 6207 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6208} 6209 6210// Status code returns the HTTP status code for the request's response error. 6211func (s *AttributeLimitExceededException) StatusCode() int { 6212 return s.RespMetadata.StatusCode 6213} 6214 6215// RequestID returns the service's response RequestID for request. 6216func (s *AttributeLimitExceededException) RequestID() string { 6217 return s.RespMetadata.RequestID 6218} 6219 6220// The details of the Auto Scaling group for the capacity provider. 6221type AutoScalingGroupProvider struct { 6222 _ struct{} `type:"structure"` 6223 6224 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 6225 // 6226 // AutoScalingGroupArn is a required field 6227 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 6228 6229 // The managed scaling settings for the Auto Scaling group capacity provider. 6230 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 6231 6232 // The managed termination protection setting to use for the Auto Scaling group 6233 // capacity provider. This determines whether the Auto Scaling group has managed 6234 // termination protection. 6235 // 6236 // When using managed termination protection, managed scaling must also be used 6237 // otherwise managed termination protection will not work. 6238 // 6239 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 6240 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 6241 // during a scale-in action. The Auto Scaling group and each instance in the 6242 // Auto Scaling group must have instance protection from scale-in actions enabled 6243 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 6244 // in the Auto Scaling User Guide. 6245 // 6246 // When managed termination protection is disabled, your Amazon EC2 instances 6247 // are not protected from termination when the Auto Scaling group scales in. 6248 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 6249} 6250 6251// String returns the string representation 6252func (s AutoScalingGroupProvider) String() string { 6253 return awsutil.Prettify(s) 6254} 6255 6256// GoString returns the string representation 6257func (s AutoScalingGroupProvider) GoString() string { 6258 return s.String() 6259} 6260 6261// Validate inspects the fields of the type to determine if they are valid. 6262func (s *AutoScalingGroupProvider) Validate() error { 6263 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 6264 if s.AutoScalingGroupArn == nil { 6265 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 6266 } 6267 if s.ManagedScaling != nil { 6268 if err := s.ManagedScaling.Validate(); err != nil { 6269 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 6270 } 6271 } 6272 6273 if invalidParams.Len() > 0 { 6274 return invalidParams 6275 } 6276 return nil 6277} 6278 6279// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 6280func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 6281 s.AutoScalingGroupArn = &v 6282 return s 6283} 6284 6285// SetManagedScaling sets the ManagedScaling field's value. 6286func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 6287 s.ManagedScaling = v 6288 return s 6289} 6290 6291// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6292func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 6293 s.ManagedTerminationProtection = &v 6294 return s 6295} 6296 6297// The details of the Auto Scaling group capacity provider to update. 6298type AutoScalingGroupProviderUpdate struct { 6299 _ struct{} `type:"structure"` 6300 6301 // The managed scaling settings for the Auto Scaling group capacity provider. 6302 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 6303 6304 // The managed termination protection setting to use for the Auto Scaling group 6305 // capacity provider. This determines whether the Auto Scaling group has managed 6306 // termination protection. 6307 // 6308 // When using managed termination protection, managed scaling must also be used 6309 // otherwise managed termination protection will not work. 6310 // 6311 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 6312 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 6313 // during a scale-in action. The Auto Scaling group and each instance in the 6314 // Auto Scaling group must have instance protection from scale-in actions enabled 6315 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 6316 // in the Auto Scaling User Guide. 6317 // 6318 // When managed termination protection is disabled, your Amazon EC2 instances 6319 // are not protected from termination when the Auto Scaling group scales in. 6320 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 6321} 6322 6323// String returns the string representation 6324func (s AutoScalingGroupProviderUpdate) String() string { 6325 return awsutil.Prettify(s) 6326} 6327 6328// GoString returns the string representation 6329func (s AutoScalingGroupProviderUpdate) GoString() string { 6330 return s.String() 6331} 6332 6333// Validate inspects the fields of the type to determine if they are valid. 6334func (s *AutoScalingGroupProviderUpdate) Validate() error { 6335 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProviderUpdate"} 6336 if s.ManagedScaling != nil { 6337 if err := s.ManagedScaling.Validate(); err != nil { 6338 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 6339 } 6340 } 6341 6342 if invalidParams.Len() > 0 { 6343 return invalidParams 6344 } 6345 return nil 6346} 6347 6348// SetManagedScaling sets the ManagedScaling field's value. 6349func (s *AutoScalingGroupProviderUpdate) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProviderUpdate { 6350 s.ManagedScaling = v 6351 return s 6352} 6353 6354// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6355func (s *AutoScalingGroupProviderUpdate) SetManagedTerminationProtection(v string) *AutoScalingGroupProviderUpdate { 6356 s.ManagedTerminationProtection = &v 6357 return s 6358} 6359 6360// An object representing the networking details for a task or service. 6361type AwsVpcConfiguration struct { 6362 _ struct{} `type:"structure"` 6363 6364 // Whether the task's elastic network interface receives a public IP address. 6365 // The default value is DISABLED. 6366 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 6367 6368 // The IDs of the security groups associated with the task or service. If you 6369 // do not specify a security group, the default security group for the VPC is 6370 // used. There is a limit of 5 security groups that can be specified per AwsVpcConfiguration. 6371 // 6372 // All specified security groups must be from the same VPC. 6373 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 6374 6375 // The IDs of the subnets associated with the task or service. There is a limit 6376 // of 16 subnets that can be specified per AwsVpcConfiguration. 6377 // 6378 // All specified subnets must be from the same VPC. 6379 // 6380 // Subnets is a required field 6381 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 6382} 6383 6384// String returns the string representation 6385func (s AwsVpcConfiguration) String() string { 6386 return awsutil.Prettify(s) 6387} 6388 6389// GoString returns the string representation 6390func (s AwsVpcConfiguration) GoString() string { 6391 return s.String() 6392} 6393 6394// Validate inspects the fields of the type to determine if they are valid. 6395func (s *AwsVpcConfiguration) Validate() error { 6396 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 6397 if s.Subnets == nil { 6398 invalidParams.Add(request.NewErrParamRequired("Subnets")) 6399 } 6400 6401 if invalidParams.Len() > 0 { 6402 return invalidParams 6403 } 6404 return nil 6405} 6406 6407// SetAssignPublicIp sets the AssignPublicIp field's value. 6408func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 6409 s.AssignPublicIp = &v 6410 return s 6411} 6412 6413// SetSecurityGroups sets the SecurityGroups field's value. 6414func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 6415 s.SecurityGroups = v 6416 return s 6417} 6418 6419// SetSubnets sets the Subnets field's value. 6420func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 6421 s.Subnets = v 6422 return s 6423} 6424 6425// Your Amazon Web Services account has been blocked. For more information, 6426// contact Amazon Web Services Support (http://aws.amazon.com/contact-us/). 6427type BlockedException struct { 6428 _ struct{} `type:"structure"` 6429 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6430 6431 Message_ *string `locationName:"message" type:"string"` 6432} 6433 6434// String returns the string representation 6435func (s BlockedException) String() string { 6436 return awsutil.Prettify(s) 6437} 6438 6439// GoString returns the string representation 6440func (s BlockedException) GoString() string { 6441 return s.String() 6442} 6443 6444func newErrorBlockedException(v protocol.ResponseMetadata) error { 6445 return &BlockedException{ 6446 RespMetadata: v, 6447 } 6448} 6449 6450// Code returns the exception type name. 6451func (s *BlockedException) Code() string { 6452 return "BlockedException" 6453} 6454 6455// Message returns the exception's message. 6456func (s *BlockedException) Message() string { 6457 if s.Message_ != nil { 6458 return *s.Message_ 6459 } 6460 return "" 6461} 6462 6463// OrigErr always returns nil, satisfies awserr.Error interface. 6464func (s *BlockedException) OrigErr() error { 6465 return nil 6466} 6467 6468func (s *BlockedException) Error() string { 6469 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6470} 6471 6472// Status code returns the HTTP status code for the request's response error. 6473func (s *BlockedException) StatusCode() int { 6474 return s.RespMetadata.StatusCode 6475} 6476 6477// RequestID returns the service's response RequestID for request. 6478func (s *BlockedException) RequestID() string { 6479 return s.RespMetadata.RequestID 6480} 6481 6482// The details of a capacity provider. 6483type CapacityProvider struct { 6484 _ struct{} `type:"structure"` 6485 6486 // The Auto Scaling group settings for the capacity provider. 6487 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 6488 6489 // The Amazon Resource Name (ARN) that identifies the capacity provider. 6490 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 6491 6492 // The name of the capacity provider. 6493 Name *string `locationName:"name" type:"string"` 6494 6495 // The current status of the capacity provider. Only capacity providers in an 6496 // ACTIVE state can be used in a cluster. When a capacity provider is successfully 6497 // deleted, it will have an INACTIVE status. 6498 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 6499 6500 // The metadata that you apply to the capacity provider to help you categorize 6501 // and organize it. Each tag consists of a key and an optional value, both of 6502 // which you define. 6503 // 6504 // The following basic restrictions apply to tags: 6505 // 6506 // * Maximum number of tags per resource - 50 6507 // 6508 // * For each resource, each tag key must be unique, and each tag key can 6509 // have only one value. 6510 // 6511 // * Maximum key length - 128 Unicode characters in UTF-8 6512 // 6513 // * Maximum value length - 256 Unicode characters in UTF-8 6514 // 6515 // * If your tagging schema is used across multiple services and resources, 6516 // remember that other services may have restrictions on allowed characters. 6517 // Generally allowed characters are: letters, numbers, and spaces representable 6518 // in UTF-8, and the following characters: + - = . _ : / @. 6519 // 6520 // * Tag keys and values are case-sensitive. 6521 // 6522 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6523 // as a prefix for either keys or values as it is reserved for Amazon Web 6524 // Services use. You cannot edit or delete tag keys or values with this prefix. 6525 // Tags with this prefix do not count against your tags per resource limit. 6526 Tags []*Tag `locationName:"tags" type:"list"` 6527 6528 // The update status of the capacity provider. The following are the possible 6529 // states that will be returned. 6530 // 6531 // DELETE_IN_PROGRESS 6532 // 6533 // The capacity provider is in the process of being deleted. 6534 // 6535 // DELETE_COMPLETE 6536 // 6537 // The capacity provider has been successfully deleted and will have an INACTIVE 6538 // status. 6539 // 6540 // DELETE_FAILED 6541 // 6542 // The capacity provider was unable to be deleted. The update status reason 6543 // will provide further details about why the delete failed. 6544 UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"CapacityProviderUpdateStatus"` 6545 6546 // The update status reason. This provides further details about the update 6547 // status for the capacity provider. 6548 UpdateStatusReason *string `locationName:"updateStatusReason" type:"string"` 6549} 6550 6551// String returns the string representation 6552func (s CapacityProvider) String() string { 6553 return awsutil.Prettify(s) 6554} 6555 6556// GoString returns the string representation 6557func (s CapacityProvider) GoString() string { 6558 return s.String() 6559} 6560 6561// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 6562func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 6563 s.AutoScalingGroupProvider = v 6564 return s 6565} 6566 6567// SetCapacityProviderArn sets the CapacityProviderArn field's value. 6568func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 6569 s.CapacityProviderArn = &v 6570 return s 6571} 6572 6573// SetName sets the Name field's value. 6574func (s *CapacityProvider) SetName(v string) *CapacityProvider { 6575 s.Name = &v 6576 return s 6577} 6578 6579// SetStatus sets the Status field's value. 6580func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 6581 s.Status = &v 6582 return s 6583} 6584 6585// SetTags sets the Tags field's value. 6586func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 6587 s.Tags = v 6588 return s 6589} 6590 6591// SetUpdateStatus sets the UpdateStatus field's value. 6592func (s *CapacityProvider) SetUpdateStatus(v string) *CapacityProvider { 6593 s.UpdateStatus = &v 6594 return s 6595} 6596 6597// SetUpdateStatusReason sets the UpdateStatusReason field's value. 6598func (s *CapacityProvider) SetUpdateStatusReason(v string) *CapacityProvider { 6599 s.UpdateStatusReason = &v 6600 return s 6601} 6602 6603// The details of a capacity provider strategy. A capacity provider strategy 6604// can be set when using the RunTask or CreateCluster APIs or as the default 6605// capacity provider strategy for a cluster with the CreateCluster API. 6606// 6607// Only capacity providers that are already associated with a cluster and have 6608// an ACTIVE or UPDATING status can be used in a capacity provider strategy. 6609// The PutClusterCapacityProviders API is used to associate a capacity provider 6610// with a cluster. 6611// 6612// If specifying a capacity provider that uses an Auto Scaling group, the capacity 6613// provider must already be created. New Auto Scaling group capacity providers 6614// can be created with the CreateCapacityProvider API operation. 6615// 6616// To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 6617// capacity providers. The Fargate capacity providers are available to all accounts 6618// and only need to be associated with a cluster to be used in a capacity provider 6619// strategy. 6620// 6621// A capacity provider strategy may contain a maximum of 6 capacity providers. 6622type CapacityProviderStrategyItem struct { 6623 _ struct{} `type:"structure"` 6624 6625 // The base value designates how many tasks, at a minimum, to run on the specified 6626 // capacity provider. Only one capacity provider in a capacity provider strategy 6627 // can have a base defined. If no value is specified, the default value of 0 6628 // is used. 6629 Base *int64 `locationName:"base" type:"integer"` 6630 6631 // The short name of the capacity provider. 6632 // 6633 // CapacityProvider is a required field 6634 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 6635 6636 // The weight value designates the relative percentage of the total number of 6637 // tasks launched that should use the specified capacity provider. The weight 6638 // value is taken into consideration after the base value, if defined, is satisfied. 6639 // 6640 // If no weight value is specified, the default value of 0 is used. When multiple 6641 // capacity providers are specified within a capacity provider strategy, at 6642 // least one of the capacity providers must have a weight value greater than 6643 // zero and any capacity providers with a weight of 0 will not be used to place 6644 // tasks. If you specify multiple capacity providers in a strategy that all 6645 // have a weight of 0, any RunTask or CreateService actions using the capacity 6646 // provider strategy will fail. 6647 // 6648 // An example scenario for using weights is defining a strategy that contains 6649 // two capacity providers and both have a weight of 1, then when the base is 6650 // satisfied, the tasks will be split evenly across the two capacity providers. 6651 // Using that same logic, if you specify a weight of 1 for capacityProviderA 6652 // and a weight of 4 for capacityProviderB, then for every one task that is 6653 // run using capacityProviderA, four tasks would use capacityProviderB. 6654 Weight *int64 `locationName:"weight" type:"integer"` 6655} 6656 6657// String returns the string representation 6658func (s CapacityProviderStrategyItem) String() string { 6659 return awsutil.Prettify(s) 6660} 6661 6662// GoString returns the string representation 6663func (s CapacityProviderStrategyItem) GoString() string { 6664 return s.String() 6665} 6666 6667// Validate inspects the fields of the type to determine if they are valid. 6668func (s *CapacityProviderStrategyItem) Validate() error { 6669 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 6670 if s.CapacityProvider == nil { 6671 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 6672 } 6673 6674 if invalidParams.Len() > 0 { 6675 return invalidParams 6676 } 6677 return nil 6678} 6679 6680// SetBase sets the Base field's value. 6681func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 6682 s.Base = &v 6683 return s 6684} 6685 6686// SetCapacityProvider sets the CapacityProvider field's value. 6687func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 6688 s.CapacityProvider = &v 6689 return s 6690} 6691 6692// SetWeight sets the Weight field's value. 6693func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 6694 s.Weight = &v 6695 return s 6696} 6697 6698// These errors are usually caused by a client action, such as using an action 6699// or resource on behalf of a user that doesn't have permissions to use the 6700// action or resource, or specifying an identifier that is not valid. 6701type ClientException struct { 6702 _ struct{} `type:"structure"` 6703 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6704 6705 Message_ *string `locationName:"message" type:"string"` 6706} 6707 6708// String returns the string representation 6709func (s ClientException) String() string { 6710 return awsutil.Prettify(s) 6711} 6712 6713// GoString returns the string representation 6714func (s ClientException) GoString() string { 6715 return s.String() 6716} 6717 6718func newErrorClientException(v protocol.ResponseMetadata) error { 6719 return &ClientException{ 6720 RespMetadata: v, 6721 } 6722} 6723 6724// Code returns the exception type name. 6725func (s *ClientException) Code() string { 6726 return "ClientException" 6727} 6728 6729// Message returns the exception's message. 6730func (s *ClientException) Message() string { 6731 if s.Message_ != nil { 6732 return *s.Message_ 6733 } 6734 return "" 6735} 6736 6737// OrigErr always returns nil, satisfies awserr.Error interface. 6738func (s *ClientException) OrigErr() error { 6739 return nil 6740} 6741 6742func (s *ClientException) Error() string { 6743 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6744} 6745 6746// Status code returns the HTTP status code for the request's response error. 6747func (s *ClientException) StatusCode() int { 6748 return s.RespMetadata.StatusCode 6749} 6750 6751// RequestID returns the service's response RequestID for request. 6752func (s *ClientException) RequestID() string { 6753 return s.RespMetadata.RequestID 6754} 6755 6756// A regional grouping of one or more container instances on which you can run 6757// task requests. Each account receives a default cluster the first time you 6758// use the Amazon ECS service, but you may also create other clusters. Clusters 6759// may contain more than one instance type simultaneously. 6760type Cluster struct { 6761 _ struct{} `type:"structure"` 6762 6763 // The number of services that are running on the cluster in an ACTIVE state. 6764 // You can view these services with ListServices. 6765 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 6766 6767 // The resources attached to a cluster. When using a capacity provider with 6768 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 6769 // attachment. 6770 Attachments []*Attachment `locationName:"attachments" type:"list"` 6771 6772 // The status of the capacity providers associated with the cluster. The following 6773 // are the states that will be returned: 6774 // 6775 // UPDATE_IN_PROGRESS 6776 // 6777 // The available capacity providers for the cluster are updating. This occurs 6778 // when the Auto Scaling plan is provisioning or deprovisioning. 6779 // 6780 // UPDATE_COMPLETE 6781 // 6782 // The capacity providers have successfully updated. 6783 // 6784 // UPDATE_FAILED 6785 // 6786 // The capacity provider updates failed. 6787 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 6788 6789 // The capacity providers associated with the cluster. 6790 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 6791 6792 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 6793 // the arn:aws:ecs namespace, followed by the Region of the cluster, the Amazon 6794 // Web Services account ID of the cluster owner, the cluster namespace, and 6795 // then the cluster name. For example, arn:aws:ecs:region:012345678910:cluster/test. 6796 ClusterArn *string `locationName:"clusterArn" type:"string"` 6797 6798 // A user-generated string that you use to identify your cluster. 6799 ClusterName *string `locationName:"clusterName" type:"string"` 6800 6801 // The execute command configuration for the cluster. 6802 Configuration *ClusterConfiguration `locationName:"configuration" type:"structure"` 6803 6804 // The default capacity provider strategy for the cluster. When services or 6805 // tasks are run in the cluster with no launch type or capacity provider strategy 6806 // specified, the default capacity provider strategy is used. 6807 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 6808 6809 // The number of tasks in the cluster that are in the PENDING state. 6810 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6811 6812 // The number of container instances registered into the cluster. This includes 6813 // container instances in both ACTIVE and DRAINING status. 6814 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 6815 6816 // The number of tasks in the cluster that are in the RUNNING state. 6817 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6818 6819 // The settings for the cluster. This parameter indicates whether CloudWatch 6820 // Container Insights is enabled or disabled for a cluster. 6821 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6822 6823 // Additional information about your clusters that are separated by launch type, 6824 // including: 6825 // 6826 // * runningEC2TasksCount 6827 // 6828 // * RunningFargateTasksCount 6829 // 6830 // * pendingEC2TasksCount 6831 // 6832 // * pendingFargateTasksCount 6833 // 6834 // * activeEC2ServiceCount 6835 // 6836 // * activeFargateServiceCount 6837 // 6838 // * drainingEC2ServiceCount 6839 // 6840 // * drainingFargateServiceCount 6841 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6842 6843 // The status of the cluster. The following are the possible states that will 6844 // be returned. 6845 // 6846 // ACTIVE 6847 // 6848 // The cluster is ready to accept tasks and if applicable you can register container 6849 // instances with the cluster. 6850 // 6851 // PROVISIONING 6852 // 6853 // The cluster has capacity providers associated with it and the resources needed 6854 // for the capacity provider are being created. 6855 // 6856 // DEPROVISIONING 6857 // 6858 // The cluster has capacity providers associated with it and the resources needed 6859 // for the capacity provider are being deleted. 6860 // 6861 // FAILED 6862 // 6863 // The cluster has capacity providers associated with it and the resources needed 6864 // for the capacity provider have failed to create. 6865 // 6866 // INACTIVE 6867 // 6868 // The cluster has been deleted. Clusters with an INACTIVE status may remain 6869 // discoverable in your account for a period of time. However, this behavior 6870 // is subject to change in the future, so you should not rely on INACTIVE clusters 6871 // persisting. 6872 Status *string `locationName:"status" type:"string"` 6873 6874 // The metadata that you apply to the cluster to help you categorize and organize 6875 // them. Each tag consists of a key and an optional value, both of which you 6876 // define. 6877 // 6878 // The following basic restrictions apply to tags: 6879 // 6880 // * Maximum number of tags per resource - 50 6881 // 6882 // * For each resource, each tag key must be unique, and each tag key can 6883 // have only one value. 6884 // 6885 // * Maximum key length - 128 Unicode characters in UTF-8 6886 // 6887 // * Maximum value length - 256 Unicode characters in UTF-8 6888 // 6889 // * If your tagging schema is used across multiple services and resources, 6890 // remember that other services may have restrictions on allowed characters. 6891 // Generally allowed characters are: letters, numbers, and spaces representable 6892 // in UTF-8, and the following characters: + - = . _ : / @. 6893 // 6894 // * Tag keys and values are case-sensitive. 6895 // 6896 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6897 // as a prefix for either keys or values as it is reserved for Amazon Web 6898 // Services use. You cannot edit or delete tag keys or values with this prefix. 6899 // Tags with this prefix do not count against your tags per resource limit. 6900 Tags []*Tag `locationName:"tags" type:"list"` 6901} 6902 6903// String returns the string representation 6904func (s Cluster) String() string { 6905 return awsutil.Prettify(s) 6906} 6907 6908// GoString returns the string representation 6909func (s Cluster) GoString() string { 6910 return s.String() 6911} 6912 6913// SetActiveServicesCount sets the ActiveServicesCount field's value. 6914func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 6915 s.ActiveServicesCount = &v 6916 return s 6917} 6918 6919// SetAttachments sets the Attachments field's value. 6920func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 6921 s.Attachments = v 6922 return s 6923} 6924 6925// SetAttachmentsStatus sets the AttachmentsStatus field's value. 6926func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 6927 s.AttachmentsStatus = &v 6928 return s 6929} 6930 6931// SetCapacityProviders sets the CapacityProviders field's value. 6932func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 6933 s.CapacityProviders = v 6934 return s 6935} 6936 6937// SetClusterArn sets the ClusterArn field's value. 6938func (s *Cluster) SetClusterArn(v string) *Cluster { 6939 s.ClusterArn = &v 6940 return s 6941} 6942 6943// SetClusterName sets the ClusterName field's value. 6944func (s *Cluster) SetClusterName(v string) *Cluster { 6945 s.ClusterName = &v 6946 return s 6947} 6948 6949// SetConfiguration sets the Configuration field's value. 6950func (s *Cluster) SetConfiguration(v *ClusterConfiguration) *Cluster { 6951 s.Configuration = v 6952 return s 6953} 6954 6955// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 6956func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 6957 s.DefaultCapacityProviderStrategy = v 6958 return s 6959} 6960 6961// SetPendingTasksCount sets the PendingTasksCount field's value. 6962func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 6963 s.PendingTasksCount = &v 6964 return s 6965} 6966 6967// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 6968func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 6969 s.RegisteredContainerInstancesCount = &v 6970 return s 6971} 6972 6973// SetRunningTasksCount sets the RunningTasksCount field's value. 6974func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 6975 s.RunningTasksCount = &v 6976 return s 6977} 6978 6979// SetSettings sets the Settings field's value. 6980func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 6981 s.Settings = v 6982 return s 6983} 6984 6985// SetStatistics sets the Statistics field's value. 6986func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 6987 s.Statistics = v 6988 return s 6989} 6990 6991// SetStatus sets the Status field's value. 6992func (s *Cluster) SetStatus(v string) *Cluster { 6993 s.Status = &v 6994 return s 6995} 6996 6997// SetTags sets the Tags field's value. 6998func (s *Cluster) SetTags(v []*Tag) *Cluster { 6999 s.Tags = v 7000 return s 7001} 7002 7003// The execute command configuration for the cluster. 7004type ClusterConfiguration struct { 7005 _ struct{} `type:"structure"` 7006 7007 // The details of the execute command configuration. 7008 ExecuteCommandConfiguration *ExecuteCommandConfiguration `locationName:"executeCommandConfiguration" type:"structure"` 7009} 7010 7011// String returns the string representation 7012func (s ClusterConfiguration) String() string { 7013 return awsutil.Prettify(s) 7014} 7015 7016// GoString returns the string representation 7017func (s ClusterConfiguration) GoString() string { 7018 return s.String() 7019} 7020 7021// SetExecuteCommandConfiguration sets the ExecuteCommandConfiguration field's value. 7022func (s *ClusterConfiguration) SetExecuteCommandConfiguration(v *ExecuteCommandConfiguration) *ClusterConfiguration { 7023 s.ExecuteCommandConfiguration = v 7024 return s 7025} 7026 7027// You cannot delete a cluster that has registered container instances. First, 7028// deregister the container instances before you can delete the cluster. For 7029// more information, see DeregisterContainerInstance. 7030type ClusterContainsContainerInstancesException struct { 7031 _ struct{} `type:"structure"` 7032 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7033 7034 Message_ *string `locationName:"message" type:"string"` 7035} 7036 7037// String returns the string representation 7038func (s ClusterContainsContainerInstancesException) String() string { 7039 return awsutil.Prettify(s) 7040} 7041 7042// GoString returns the string representation 7043func (s ClusterContainsContainerInstancesException) GoString() string { 7044 return s.String() 7045} 7046 7047func newErrorClusterContainsContainerInstancesException(v protocol.ResponseMetadata) error { 7048 return &ClusterContainsContainerInstancesException{ 7049 RespMetadata: v, 7050 } 7051} 7052 7053// Code returns the exception type name. 7054func (s *ClusterContainsContainerInstancesException) Code() string { 7055 return "ClusterContainsContainerInstancesException" 7056} 7057 7058// Message returns the exception's message. 7059func (s *ClusterContainsContainerInstancesException) Message() string { 7060 if s.Message_ != nil { 7061 return *s.Message_ 7062 } 7063 return "" 7064} 7065 7066// OrigErr always returns nil, satisfies awserr.Error interface. 7067func (s *ClusterContainsContainerInstancesException) OrigErr() error { 7068 return nil 7069} 7070 7071func (s *ClusterContainsContainerInstancesException) Error() string { 7072 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7073} 7074 7075// Status code returns the HTTP status code for the request's response error. 7076func (s *ClusterContainsContainerInstancesException) StatusCode() int { 7077 return s.RespMetadata.StatusCode 7078} 7079 7080// RequestID returns the service's response RequestID for request. 7081func (s *ClusterContainsContainerInstancesException) RequestID() string { 7082 return s.RespMetadata.RequestID 7083} 7084 7085// You cannot delete a cluster that contains services. First, update the service 7086// to reduce its desired task count to 0 and then delete the service. For more 7087// information, see UpdateService and DeleteService. 7088type ClusterContainsServicesException struct { 7089 _ struct{} `type:"structure"` 7090 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7091 7092 Message_ *string `locationName:"message" type:"string"` 7093} 7094 7095// String returns the string representation 7096func (s ClusterContainsServicesException) String() string { 7097 return awsutil.Prettify(s) 7098} 7099 7100// GoString returns the string representation 7101func (s ClusterContainsServicesException) GoString() string { 7102 return s.String() 7103} 7104 7105func newErrorClusterContainsServicesException(v protocol.ResponseMetadata) error { 7106 return &ClusterContainsServicesException{ 7107 RespMetadata: v, 7108 } 7109} 7110 7111// Code returns the exception type name. 7112func (s *ClusterContainsServicesException) Code() string { 7113 return "ClusterContainsServicesException" 7114} 7115 7116// Message returns the exception's message. 7117func (s *ClusterContainsServicesException) Message() string { 7118 if s.Message_ != nil { 7119 return *s.Message_ 7120 } 7121 return "" 7122} 7123 7124// OrigErr always returns nil, satisfies awserr.Error interface. 7125func (s *ClusterContainsServicesException) OrigErr() error { 7126 return nil 7127} 7128 7129func (s *ClusterContainsServicesException) Error() string { 7130 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7131} 7132 7133// Status code returns the HTTP status code for the request's response error. 7134func (s *ClusterContainsServicesException) StatusCode() int { 7135 return s.RespMetadata.StatusCode 7136} 7137 7138// RequestID returns the service's response RequestID for request. 7139func (s *ClusterContainsServicesException) RequestID() string { 7140 return s.RespMetadata.RequestID 7141} 7142 7143// You cannot delete a cluster that has active tasks. 7144type ClusterContainsTasksException struct { 7145 _ struct{} `type:"structure"` 7146 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7147 7148 Message_ *string `locationName:"message" type:"string"` 7149} 7150 7151// String returns the string representation 7152func (s ClusterContainsTasksException) String() string { 7153 return awsutil.Prettify(s) 7154} 7155 7156// GoString returns the string representation 7157func (s ClusterContainsTasksException) GoString() string { 7158 return s.String() 7159} 7160 7161func newErrorClusterContainsTasksException(v protocol.ResponseMetadata) error { 7162 return &ClusterContainsTasksException{ 7163 RespMetadata: v, 7164 } 7165} 7166 7167// Code returns the exception type name. 7168func (s *ClusterContainsTasksException) Code() string { 7169 return "ClusterContainsTasksException" 7170} 7171 7172// Message returns the exception's message. 7173func (s *ClusterContainsTasksException) Message() string { 7174 if s.Message_ != nil { 7175 return *s.Message_ 7176 } 7177 return "" 7178} 7179 7180// OrigErr always returns nil, satisfies awserr.Error interface. 7181func (s *ClusterContainsTasksException) OrigErr() error { 7182 return nil 7183} 7184 7185func (s *ClusterContainsTasksException) Error() string { 7186 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7187} 7188 7189// Status code returns the HTTP status code for the request's response error. 7190func (s *ClusterContainsTasksException) StatusCode() int { 7191 return s.RespMetadata.StatusCode 7192} 7193 7194// RequestID returns the service's response RequestID for request. 7195func (s *ClusterContainsTasksException) RequestID() string { 7196 return s.RespMetadata.RequestID 7197} 7198 7199// The specified cluster could not be found. You can view your available clusters 7200// with ListClusters. Amazon ECS clusters are Region-specific. 7201type ClusterNotFoundException struct { 7202 _ struct{} `type:"structure"` 7203 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7204 7205 Message_ *string `locationName:"message" type:"string"` 7206} 7207 7208// String returns the string representation 7209func (s ClusterNotFoundException) String() string { 7210 return awsutil.Prettify(s) 7211} 7212 7213// GoString returns the string representation 7214func (s ClusterNotFoundException) GoString() string { 7215 return s.String() 7216} 7217 7218func newErrorClusterNotFoundException(v protocol.ResponseMetadata) error { 7219 return &ClusterNotFoundException{ 7220 RespMetadata: v, 7221 } 7222} 7223 7224// Code returns the exception type name. 7225func (s *ClusterNotFoundException) Code() string { 7226 return "ClusterNotFoundException" 7227} 7228 7229// Message returns the exception's message. 7230func (s *ClusterNotFoundException) Message() string { 7231 if s.Message_ != nil { 7232 return *s.Message_ 7233 } 7234 return "" 7235} 7236 7237// OrigErr always returns nil, satisfies awserr.Error interface. 7238func (s *ClusterNotFoundException) OrigErr() error { 7239 return nil 7240} 7241 7242func (s *ClusterNotFoundException) Error() string { 7243 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7244} 7245 7246// Status code returns the HTTP status code for the request's response error. 7247func (s *ClusterNotFoundException) StatusCode() int { 7248 return s.RespMetadata.StatusCode 7249} 7250 7251// RequestID returns the service's response RequestID for request. 7252func (s *ClusterNotFoundException) RequestID() string { 7253 return s.RespMetadata.RequestID 7254} 7255 7256// The settings to use when creating a cluster. This parameter is used to enable 7257// CloudWatch Container Insights for a cluster. 7258type ClusterSetting struct { 7259 _ struct{} `type:"structure"` 7260 7261 // The name of the cluster setting. The only supported value is containerInsights. 7262 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 7263 7264 // The value to set for the cluster setting. The supported values are enabled 7265 // and disabled. If enabled is specified, CloudWatch Container Insights will 7266 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 7267 // account setting is enabled. If a cluster value is specified, it will override 7268 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 7269 Value *string `locationName:"value" type:"string"` 7270} 7271 7272// String returns the string representation 7273func (s ClusterSetting) String() string { 7274 return awsutil.Prettify(s) 7275} 7276 7277// GoString returns the string representation 7278func (s ClusterSetting) GoString() string { 7279 return s.String() 7280} 7281 7282// SetName sets the Name field's value. 7283func (s *ClusterSetting) SetName(v string) *ClusterSetting { 7284 s.Name = &v 7285 return s 7286} 7287 7288// SetValue sets the Value field's value. 7289func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 7290 s.Value = &v 7291 return s 7292} 7293 7294// A Docker container that is part of a task. 7295type Container struct { 7296 _ struct{} `type:"structure"` 7297 7298 // The Amazon Resource Name (ARN) of the container. 7299 ContainerArn *string `locationName:"containerArn" type:"string"` 7300 7301 // The number of CPU units set for the container. The value will be 0 if no 7302 // value was specified in the container definition when the task definition 7303 // was registered. 7304 Cpu *string `locationName:"cpu" type:"string"` 7305 7306 // The exit code returned from the container. 7307 ExitCode *int64 `locationName:"exitCode" type:"integer"` 7308 7309 // The IDs of each GPU assigned to the container. 7310 GpuIds []*string `locationName:"gpuIds" type:"list"` 7311 7312 // The health status of the container. If health checks are not configured for 7313 // this container in its task definition, then it reports the health status 7314 // as UNKNOWN. 7315 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 7316 7317 // The image used for the container. 7318 Image *string `locationName:"image" type:"string"` 7319 7320 // The container image manifest digest. 7321 // 7322 // The imageDigest is only returned if the container is using an image hosted 7323 // in Amazon ECR, otherwise it is omitted. 7324 ImageDigest *string `locationName:"imageDigest" type:"string"` 7325 7326 // The last known status of the container. 7327 LastStatus *string `locationName:"lastStatus" type:"string"` 7328 7329 // The details of any Amazon ECS managed agents associated with the container. 7330 ManagedAgents []*ManagedAgent `locationName:"managedAgents" type:"list"` 7331 7332 // The hard limit (in MiB) of memory set for the container. 7333 Memory *string `locationName:"memory" type:"string"` 7334 7335 // The soft limit (in MiB) of memory set for the container. 7336 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 7337 7338 // The name of the container. 7339 Name *string `locationName:"name" type:"string"` 7340 7341 // The network bindings associated with the container. 7342 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 7343 7344 // The network interfaces associated with the container. 7345 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 7346 7347 // A short (255 max characters) human-readable string to provide additional 7348 // details about a running or stopped container. 7349 Reason *string `locationName:"reason" type:"string"` 7350 7351 // The ID of the Docker container. 7352 RuntimeId *string `locationName:"runtimeId" type:"string"` 7353 7354 // The ARN of the task. 7355 TaskArn *string `locationName:"taskArn" type:"string"` 7356} 7357 7358// String returns the string representation 7359func (s Container) String() string { 7360 return awsutil.Prettify(s) 7361} 7362 7363// GoString returns the string representation 7364func (s Container) GoString() string { 7365 return s.String() 7366} 7367 7368// SetContainerArn sets the ContainerArn field's value. 7369func (s *Container) SetContainerArn(v string) *Container { 7370 s.ContainerArn = &v 7371 return s 7372} 7373 7374// SetCpu sets the Cpu field's value. 7375func (s *Container) SetCpu(v string) *Container { 7376 s.Cpu = &v 7377 return s 7378} 7379 7380// SetExitCode sets the ExitCode field's value. 7381func (s *Container) SetExitCode(v int64) *Container { 7382 s.ExitCode = &v 7383 return s 7384} 7385 7386// SetGpuIds sets the GpuIds field's value. 7387func (s *Container) SetGpuIds(v []*string) *Container { 7388 s.GpuIds = v 7389 return s 7390} 7391 7392// SetHealthStatus sets the HealthStatus field's value. 7393func (s *Container) SetHealthStatus(v string) *Container { 7394 s.HealthStatus = &v 7395 return s 7396} 7397 7398// SetImage sets the Image field's value. 7399func (s *Container) SetImage(v string) *Container { 7400 s.Image = &v 7401 return s 7402} 7403 7404// SetImageDigest sets the ImageDigest field's value. 7405func (s *Container) SetImageDigest(v string) *Container { 7406 s.ImageDigest = &v 7407 return s 7408} 7409 7410// SetLastStatus sets the LastStatus field's value. 7411func (s *Container) SetLastStatus(v string) *Container { 7412 s.LastStatus = &v 7413 return s 7414} 7415 7416// SetManagedAgents sets the ManagedAgents field's value. 7417func (s *Container) SetManagedAgents(v []*ManagedAgent) *Container { 7418 s.ManagedAgents = v 7419 return s 7420} 7421 7422// SetMemory sets the Memory field's value. 7423func (s *Container) SetMemory(v string) *Container { 7424 s.Memory = &v 7425 return s 7426} 7427 7428// SetMemoryReservation sets the MemoryReservation field's value. 7429func (s *Container) SetMemoryReservation(v string) *Container { 7430 s.MemoryReservation = &v 7431 return s 7432} 7433 7434// SetName sets the Name field's value. 7435func (s *Container) SetName(v string) *Container { 7436 s.Name = &v 7437 return s 7438} 7439 7440// SetNetworkBindings sets the NetworkBindings field's value. 7441func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 7442 s.NetworkBindings = v 7443 return s 7444} 7445 7446// SetNetworkInterfaces sets the NetworkInterfaces field's value. 7447func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 7448 s.NetworkInterfaces = v 7449 return s 7450} 7451 7452// SetReason sets the Reason field's value. 7453func (s *Container) SetReason(v string) *Container { 7454 s.Reason = &v 7455 return s 7456} 7457 7458// SetRuntimeId sets the RuntimeId field's value. 7459func (s *Container) SetRuntimeId(v string) *Container { 7460 s.RuntimeId = &v 7461 return s 7462} 7463 7464// SetTaskArn sets the TaskArn field's value. 7465func (s *Container) SetTaskArn(v string) *Container { 7466 s.TaskArn = &v 7467 return s 7468} 7469 7470// Container definitions are used in task definitions to describe the different 7471// containers that are launched as part of a task. 7472type ContainerDefinition struct { 7473 _ struct{} `type:"structure"` 7474 7475 // The command that is passed to the container. This parameter maps to Cmd in 7476 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7477 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7478 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7479 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 7480 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 7481 // arguments, each argument should be a separated string in the array. 7482 Command []*string `locationName:"command" type:"list"` 7483 7484 // The number of cpu units reserved for the container. This parameter maps to 7485 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7486 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7487 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7488 // 7489 // This field is optional for tasks using the Fargate launch type, and the only 7490 // requirement is that the total amount of CPU reserved for all containers within 7491 // a task be lower than the task-level cpu value. 7492 // 7493 // You can determine the number of CPU units that are available per EC2 instance 7494 // type by multiplying the vCPUs listed for that instance type on the Amazon 7495 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 7496 // 1,024. 7497 // 7498 // Linux containers share unallocated CPU units with other containers on the 7499 // container instance with the same ratio as their allocated amount. For example, 7500 // if you run a single-container task on a single-core instance type with 512 7501 // CPU units specified for that container, and that is the only task running 7502 // on the container instance, that container could use the full 1,024 CPU unit 7503 // share at any given time. However, if you launched another copy of the same 7504 // task on that container instance, each task would be guaranteed a minimum 7505 // of 512 CPU units when needed, and each container could float to higher CPU 7506 // usage if the other container was not using it, but if both tasks were 100% 7507 // active all of the time, they would be limited to 512 CPU units. 7508 // 7509 // On Linux container instances, the Docker daemon on the container instance 7510 // uses the CPU value to calculate the relative CPU share ratios for running 7511 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 7512 // in the Docker documentation. The minimum valid CPU share value that the Linux 7513 // kernel allows is 2. However, the CPU parameter is not required, and you can 7514 // use CPU values below 2 in your container definitions. For CPU values below 7515 // 2 (including null), the behavior varies based on your Amazon ECS container 7516 // agent version: 7517 // 7518 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 7519 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 7520 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 7521 // to two CPU shares. 7522 // 7523 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 7524 // of 1 are passed to Docker as 2. 7525 // 7526 // On Windows container instances, the CPU limit is enforced as an absolute 7527 // limit, or a quota. Windows containers only have access to the specified amount 7528 // of CPU that is described in the task definition. A null or zero CPU value 7529 // is passed to Docker as 0, which Windows interprets as 1% of one CPU. 7530 Cpu *int64 `locationName:"cpu" type:"integer"` 7531 7532 // The dependencies defined for container startup and shutdown. A container 7533 // can contain multiple dependencies. When a dependency is defined for container 7534 // startup, for container shutdown it is reversed. 7535 // 7536 // For tasks using the EC2 launch type, the container instances require at least 7537 // version 1.26.0 of the container agent to enable container dependencies. However, 7538 // we recommend using the latest container agent version. For information about 7539 // checking your agent version and updating to the latest version, see Updating 7540 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7541 // in the Amazon Elastic Container Service Developer Guide. If you are using 7542 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7543 // of the ecs-init package. If your container instances are launched from version 7544 // 20190301 or later, then they contain the required versions of the container 7545 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7546 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7547 // in the Amazon Elastic Container Service Developer Guide. 7548 // 7549 // For tasks using the Fargate launch type, the task or service requires platform 7550 // version 1.3.0 or later. 7551 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 7552 7553 // When this parameter is true, networking is disabled within the container. 7554 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7555 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 7556 // 7557 // This parameter is not supported for Windows containers. 7558 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 7559 7560 // A list of DNS search domains that are presented to the container. This parameter 7561 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7562 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7563 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7564 // 7565 // This parameter is not supported for Windows containers. 7566 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 7567 7568 // A list of DNS servers that are presented to the container. This parameter 7569 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7570 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7571 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7572 // 7573 // This parameter is not supported for Windows containers. 7574 DnsServers []*string `locationName:"dnsServers" type:"list"` 7575 7576 // A key/value map of labels to add to the container. This parameter maps to 7577 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7578 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7579 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7580 // This parameter requires version 1.18 of the Docker Remote API or greater 7581 // on your container instance. To check the Docker Remote API version on your 7582 // container instance, log in to your container instance and run the following 7583 // command: sudo docker version --format '{{.Server.APIVersion}}' 7584 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 7585 7586 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 7587 // security systems. This field is not valid for containers in tasks using the 7588 // Fargate launch type. 7589 // 7590 // With Windows containers, this parameter can be used to reference a credential 7591 // spec file when configuring a container for Active Directory authentication. 7592 // For more information, see Using gMSAs for Windows Containers (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) 7593 // in the Amazon Elastic Container Service Developer Guide. 7594 // 7595 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7596 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7597 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7598 // 7599 // The Amazon ECS container agent running on a container instance must register 7600 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 7601 // variables before containers placed on that instance can use these security 7602 // options. For more information, see Amazon ECS Container Agent Configuration 7603 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7604 // in the Amazon Elastic Container Service Developer Guide. 7605 // 7606 // For more information about valid values, see Docker Run Security Configuration 7607 // (https://docs.docker.com/engine/reference/run/#security-configuration). 7608 // 7609 // Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | 7610 // "credentialspec:CredentialSpecFilePath" 7611 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 7612 7613 // 7614 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 7615 // parameters. If you have problems using entryPoint, update your container 7616 // agent or enter your commands and arguments as command array items instead. 7617 // 7618 // The entry point that is passed to the container. This parameter maps to Entrypoint 7619 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7620 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7621 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7622 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 7623 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 7624 EntryPoint []*string `locationName:"entryPoint" type:"list"` 7625 7626 // The environment variables to pass to a container. This parameter maps to 7627 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7628 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7629 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7630 // 7631 // We do not recommend using plaintext environment variables for sensitive information, 7632 // such as credential data. 7633 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7634 7635 // A list of files containing the environment variables to pass to a container. 7636 // This parameter maps to the --env-file option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7637 // 7638 // You can specify up to ten environment files. The file must have a .env file 7639 // extension. Each line in an environment file should contain an environment 7640 // variable in VARIABLE=VALUE format. Lines beginning with # are treated as 7641 // comments and are ignored. For more information on the environment variable 7642 // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 7643 // 7644 // If there are environment variables specified using the environment parameter 7645 // in a container definition, they take precedence over the variables contained 7646 // within an environment file. If multiple environment files are specified that 7647 // contain the same variable, they are processed from the top down. It is recommended 7648 // to use unique variable names. For more information, see Specifying Environment 7649 // Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 7650 // in the Amazon Elastic Container Service Developer Guide. 7651 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 7652 7653 // If the essential parameter of a container is marked as true, and that container 7654 // fails or stops for any reason, all other containers that are part of the 7655 // task are stopped. If the essential parameter of a container is marked as 7656 // false, then its failure does not affect the rest of the containers in a task. 7657 // If this parameter is omitted, a container is assumed to be essential. 7658 // 7659 // All tasks must have at least one essential container. If you have an application 7660 // that is composed of multiple containers, you should group containers that 7661 // are used for a common purpose into components, and separate the different 7662 // components into multiple task definitions. For more information, see Application 7663 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 7664 // in the Amazon Elastic Container Service Developer Guide. 7665 Essential *bool `locationName:"essential" type:"boolean"` 7666 7667 // A list of hostnames and IP address mappings to append to the /etc/hosts file 7668 // on the container. This parameter maps to ExtraHosts in the Create a container 7669 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7670 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7671 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7672 // 7673 // This parameter is not supported for Windows containers or tasks that use 7674 // the awsvpc network mode. 7675 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 7676 7677 // The FireLens configuration for the container. This is used to specify and 7678 // configure a log router for container logs. For more information, see Custom 7679 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 7680 // in the Amazon Elastic Container Service Developer Guide. 7681 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 7682 7683 // The container health check command and associated configuration parameters 7684 // for the container. This parameter maps to HealthCheck in the Create a container 7685 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7686 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7687 // the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7688 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 7689 7690 // The hostname to use for your container. This parameter maps to Hostname in 7691 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7692 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7693 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7694 // 7695 // The hostname parameter is not supported if you are using the awsvpc network 7696 // mode. 7697 Hostname *string `locationName:"hostname" type:"string"` 7698 7699 // The image used to start a container. This string is passed directly to the 7700 // Docker daemon. Images in the Docker Hub registry are available by default. 7701 // Other repositories are specified with either repository-url/image:tag or 7702 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 7703 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 7704 // signs are allowed. This parameter maps to Image in the Create a container 7705 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7706 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7707 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7708 // 7709 // * When a new task starts, the Amazon ECS container agent pulls the latest 7710 // version of the specified image and tag for the container to use. However, 7711 // subsequent updates to a repository image are not propagated to already 7712 // running tasks. 7713 // 7714 // * Images in Amazon ECR repositories can be specified by either using the 7715 // full registry/repository:tag or registry/repository@digest. For example, 7716 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 7717 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 7718 // 7719 // * Images in official repositories on Docker Hub use a single name (for 7720 // example, ubuntu or mongo). 7721 // 7722 // * Images in other repositories on Docker Hub are qualified with an organization 7723 // name (for example, amazon/amazon-ecs-agent). 7724 // 7725 // * Images in other online repositories are qualified further by a domain 7726 // name (for example, quay.io/assemblyline/ubuntu). 7727 Image *string `locationName:"image" type:"string"` 7728 7729 // When this parameter is true, this allows you to deploy containerized applications 7730 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 7731 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7732 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7733 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7734 Interactive *bool `locationName:"interactive" type:"boolean"` 7735 7736 // The links parameter allows containers to communicate with each other without 7737 // the need for port mappings. This parameter is only supported if the network 7738 // mode of a task definition is bridge. The name:internalName construct is analogous 7739 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 7740 // numbers, underscores, and hyphens are allowed. For more information about 7741 // linking Docker containers, go to Legacy container links (https://docs.docker.com/network/links/) 7742 // in the Docker documentation. This parameter maps to Links in the Create a 7743 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7744 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7745 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7746 // 7747 // This parameter is not supported for Windows containers. 7748 // 7749 // Containers that are collocated on a single container instance may be able 7750 // to communicate with each other without requiring links or host port mappings. 7751 // Network isolation is achieved on the container instance using security groups 7752 // and VPC settings. 7753 Links []*string `locationName:"links" type:"list"` 7754 7755 // Linux-specific modifications that are applied to the container, such as Linux 7756 // kernel capabilities. For more information see KernelCapabilities. 7757 // 7758 // This parameter is not supported for Windows containers. 7759 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 7760 7761 // The log configuration specification for the container. 7762 // 7763 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7764 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7765 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7766 // By default, containers use the same logging driver that the Docker daemon 7767 // uses. However the container may use a different logging driver than the Docker 7768 // daemon by specifying a log driver with this parameter in the container definition. 7769 // To use a different logging driver for a container, the log system must be 7770 // configured properly on the container instance (or on a different log server 7771 // for remote logging options). For more information on the options for different 7772 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 7773 // in the Docker documentation. 7774 // 7775 // Amazon ECS currently supports a subset of the logging drivers available to 7776 // the Docker daemon (shown in the LogConfiguration data type). Additional log 7777 // drivers may be available in future releases of the Amazon ECS container agent. 7778 // 7779 // This parameter requires version 1.18 of the Docker Remote API or greater 7780 // on your container instance. To check the Docker Remote API version on your 7781 // container instance, log in to your container instance and run the following 7782 // command: sudo docker version --format '{{.Server.APIVersion}}' 7783 // 7784 // The Amazon ECS container agent running on a container instance must register 7785 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 7786 // environment variable before containers placed on that instance can use these 7787 // log configuration options. For more information, see Amazon ECS Container 7788 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7789 // in the Amazon Elastic Container Service Developer Guide. 7790 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 7791 7792 // The amount (in MiB) of memory to present to the container. If your container 7793 // attempts to exceed the memory specified here, the container is killed. The 7794 // total amount of memory reserved for all containers within a task must be 7795 // lower than the task memory value, if one is specified. This parameter maps 7796 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7797 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7798 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7799 // 7800 // If using the Fargate launch type, this parameter is optional. 7801 // 7802 // If using the EC2 launch type, you must specify either a task-level memory 7803 // value or a container-level memory value. If you specify both a container-level 7804 // memory and memoryReservation value, memory must be greater than memoryReservation. 7805 // If you specify memoryReservation, then that value is subtracted from the 7806 // available memory resources for the container instance on which the container 7807 // is placed. Otherwise, the value of memory is used. 7808 // 7809 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7810 // so you should not specify fewer than 4 MiB of memory for your containers. 7811 Memory *int64 `locationName:"memory" type:"integer"` 7812 7813 // The soft limit (in MiB) of memory to reserve for the container. When system 7814 // memory is under heavy contention, Docker attempts to keep the container memory 7815 // to this soft limit. However, your container can consume more memory when 7816 // it needs to, up to either the hard limit specified with the memory parameter 7817 // (if applicable), or all of the available memory on the container instance, 7818 // whichever comes first. This parameter maps to MemoryReservation in the Create 7819 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7820 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7821 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7822 // 7823 // If a task-level memory value is not specified, you must specify a non-zero 7824 // integer for one or both of memory or memoryReservation in a container definition. 7825 // If you specify both, memory must be greater than memoryReservation. If you 7826 // specify memoryReservation, then that value is subtracted from the available 7827 // memory resources for the container instance on which the container is placed. 7828 // Otherwise, the value of memory is used. 7829 // 7830 // For example, if your container normally uses 128 MiB of memory, but occasionally 7831 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 7832 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 7833 // allow the container to only reserve 128 MiB of memory from the remaining 7834 // resources on the container instance, but also allow the container to consume 7835 // more memory resources when needed. 7836 // 7837 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7838 // so you should not specify fewer than 4 MiB of memory for your containers. 7839 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 7840 7841 // The mount points for data volumes in your container. 7842 // 7843 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7844 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7845 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7846 // 7847 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 7848 // Windows containers cannot mount directories on a different drive, and mount 7849 // point cannot be across drives. 7850 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 7851 7852 // The name of a container. If you are linking multiple containers together 7853 // in a task definition, the name of one container can be entered in the links 7854 // of another container to connect the containers. Up to 255 letters (uppercase 7855 // and lowercase), numbers, underscores, and hyphens are allowed. This parameter 7856 // maps to name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7857 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7858 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7859 Name *string `locationName:"name" type:"string"` 7860 7861 // The list of port mappings for the container. Port mappings allow containers 7862 // to access ports on the host container instance to send or receive traffic. 7863 // 7864 // For task definitions that use the awsvpc network mode, you should only specify 7865 // the containerPort. The hostPort can be left blank or it must be the same 7866 // value as the containerPort. 7867 // 7868 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 7869 // There is no loopback for port mappings on Windows, so you cannot access a 7870 // container's mapped port from the host itself. 7871 // 7872 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7873 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7874 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7875 // If the network mode of a task definition is set to none, then you can't specify 7876 // port mappings. If the network mode of a task definition is set to host, then 7877 // host ports must either be undefined or they must match the container port 7878 // in the port mapping. 7879 // 7880 // After a task reaches the RUNNING status, manual and automatic host and container 7881 // port assignments are visible in the Network Bindings section of a container 7882 // description for a selected task in the Amazon ECS console. The assignments 7883 // are also visible in the networkBindings section DescribeTasks responses. 7884 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 7885 7886 // When this parameter is true, the container is given elevated privileges on 7887 // the host container instance (similar to the root user). This parameter maps 7888 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7889 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7890 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7891 // 7892 // This parameter is not supported for Windows containers or tasks run on Fargate. 7893 Privileged *bool `locationName:"privileged" type:"boolean"` 7894 7895 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 7896 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7897 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7898 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7899 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 7900 7901 // When this parameter is true, the container is given read-only access to its 7902 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 7903 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7904 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7905 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7906 // 7907 // This parameter is not supported for Windows containers. 7908 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 7909 7910 // The private repository authentication credentials to use. 7911 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 7912 7913 // The type and amount of a resource to assign to a container. The only supported 7914 // resource is a GPU. 7915 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 7916 7917 // The secrets to pass to the container. For more information, see Specifying 7918 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 7919 // in the Amazon Elastic Container Service Developer Guide. 7920 Secrets []*Secret `locationName:"secrets" type:"list"` 7921 7922 // Time duration (in seconds) to wait before giving up on resolving dependencies 7923 // for a container. For example, you specify two containers in a task definition 7924 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 7925 // or HEALTHY status. If a startTimeout value is specified for containerB and 7926 // it does not reach the desired status within that time then containerA will 7927 // give up and not start. This results in the task transitioning to a STOPPED 7928 // state. 7929 // 7930 // When the ECS_CONTAINER_START_TIMEOUT container agent configuration variable 7931 // is used, it is enforced indendently from this start timeout value. 7932 // 7933 // For tasks using the Fargate launch type, this parameter requires that the 7934 // task or service uses platform version 1.3.0 or later. 7935 // 7936 // For tasks using the EC2 launch type, your container instances require at 7937 // least version 1.26.0 of the container agent to enable a container start timeout 7938 // value. However, we recommend using the latest container agent version. For 7939 // information about checking your agent version and updating to the latest 7940 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7941 // in the Amazon Elastic Container Service Developer Guide. If you are using 7942 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7943 // of the ecs-init package. If your container instances are launched from version 7944 // 20190301 or later, then they contain the required versions of the container 7945 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7946 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7947 // in the Amazon Elastic Container Service Developer Guide. 7948 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 7949 7950 // Time duration (in seconds) to wait before the container is forcefully killed 7951 // if it doesn't exit normally on its own. 7952 // 7953 // For tasks using the Fargate launch type, the task or service requires platform 7954 // version 1.3.0 or later. The max stop timeout value is 120 seconds and if 7955 // the parameter is not specified, the default value of 30 seconds is used. 7956 // 7957 // For tasks using the EC2 launch type, if the stopTimeout parameter is not 7958 // specified, the value set for the Amazon ECS container agent configuration 7959 // variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the stopTimeout 7960 // parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable 7961 // are set, then the default values of 30 seconds for Linux containers and 30 7962 // seconds on Windows containers are used. Your container instances require 7963 // at least version 1.26.0 of the container agent to enable a container stop 7964 // timeout value. However, we recommend using the latest container agent version. 7965 // For information about checking your agent version and updating to the latest 7966 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7967 // in the Amazon Elastic Container Service Developer Guide. If you are using 7968 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7969 // of the ecs-init package. If your container instances are launched from version 7970 // 20190301 or later, then they contain the required versions of the container 7971 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7972 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7973 // in the Amazon Elastic Container Service Developer Guide. 7974 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 7975 7976 // A list of namespaced kernel parameters to set in the container. This parameter 7977 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7978 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7979 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7980 // 7981 // It is not recommended that you specify network-related systemControls parameters 7982 // for multiple containers in a single task that also uses either the awsvpc 7983 // or host network modes. For tasks that use the awsvpc network mode, the container 7984 // that is started last determines which systemControls parameters take effect. 7985 // For tasks that use the host network mode, it changes the container instance's 7986 // namespaced kernel parameters as well as the containers. 7987 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 7988 7989 // A list of ulimits to set in the container. If a ulimit value is specified 7990 // in a task definition, it will override the default values set by Docker. 7991 // This parameter maps to Ulimits in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7992 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7993 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 7994 // Valid naming values are displayed in the Ulimit data type. 7995 // 7996 // Amazon ECS tasks hosted on Fargate use the default resource limit values 7997 // set by the operating system with the exception of the nofile resource limit 7998 // parameter which Fargate overrides. The nofile resource limit sets a restriction 7999 // on the number of open files that a container can use. The default nofile 8000 // soft limit is 1024 and hard limit is 4096. 8001 // 8002 // This parameter requires version 1.18 of the Docker Remote API or greater 8003 // on your container instance. To check the Docker Remote API version on your 8004 // container instance, log in to your container instance and run the following 8005 // command: sudo docker version --format '{{.Server.APIVersion}}' 8006 // 8007 // This parameter is not supported for Windows containers. 8008 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 8009 8010 // The user to use inside the container. This parameter maps to User in the 8011 // Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8012 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8013 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8014 // 8015 // When running tasks using the host network mode, you should not run containers 8016 // using the root user (UID 0). It is considered best practice to use a non-root 8017 // user. 8018 // 8019 // You can specify the user using the following formats. If specifying a UID 8020 // or GID, you must specify it as a positive integer. 8021 // 8022 // * user 8023 // 8024 // * user:group 8025 // 8026 // * uid 8027 // 8028 // * uid:gid 8029 // 8030 // * user:gid 8031 // 8032 // * uid:group 8033 // 8034 // This parameter is not supported for Windows containers. 8035 User *string `locationName:"user" type:"string"` 8036 8037 // Data volumes to mount from another container. This parameter maps to VolumesFrom 8038 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8039 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8040 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8041 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 8042 8043 // The working directory in which to run commands inside the container. This 8044 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 8045 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 8046 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 8047 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 8048} 8049 8050// String returns the string representation 8051func (s ContainerDefinition) String() string { 8052 return awsutil.Prettify(s) 8053} 8054 8055// GoString returns the string representation 8056func (s ContainerDefinition) GoString() string { 8057 return s.String() 8058} 8059 8060// Validate inspects the fields of the type to determine if they are valid. 8061func (s *ContainerDefinition) Validate() error { 8062 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 8063 if s.DependsOn != nil { 8064 for i, v := range s.DependsOn { 8065 if v == nil { 8066 continue 8067 } 8068 if err := v.Validate(); err != nil { 8069 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 8070 } 8071 } 8072 } 8073 if s.EnvironmentFiles != nil { 8074 for i, v := range s.EnvironmentFiles { 8075 if v == nil { 8076 continue 8077 } 8078 if err := v.Validate(); err != nil { 8079 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8080 } 8081 } 8082 } 8083 if s.ExtraHosts != nil { 8084 for i, v := range s.ExtraHosts { 8085 if v == nil { 8086 continue 8087 } 8088 if err := v.Validate(); err != nil { 8089 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 8090 } 8091 } 8092 } 8093 if s.FirelensConfiguration != nil { 8094 if err := s.FirelensConfiguration.Validate(); err != nil { 8095 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 8096 } 8097 } 8098 if s.HealthCheck != nil { 8099 if err := s.HealthCheck.Validate(); err != nil { 8100 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 8101 } 8102 } 8103 if s.LinuxParameters != nil { 8104 if err := s.LinuxParameters.Validate(); err != nil { 8105 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 8106 } 8107 } 8108 if s.LogConfiguration != nil { 8109 if err := s.LogConfiguration.Validate(); err != nil { 8110 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 8111 } 8112 } 8113 if s.RepositoryCredentials != nil { 8114 if err := s.RepositoryCredentials.Validate(); err != nil { 8115 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 8116 } 8117 } 8118 if s.ResourceRequirements != nil { 8119 for i, v := range s.ResourceRequirements { 8120 if v == nil { 8121 continue 8122 } 8123 if err := v.Validate(); err != nil { 8124 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8125 } 8126 } 8127 } 8128 if s.Secrets != nil { 8129 for i, v := range s.Secrets { 8130 if v == nil { 8131 continue 8132 } 8133 if err := v.Validate(); err != nil { 8134 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 8135 } 8136 } 8137 } 8138 if s.Ulimits != nil { 8139 for i, v := range s.Ulimits { 8140 if v == nil { 8141 continue 8142 } 8143 if err := v.Validate(); err != nil { 8144 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 8145 } 8146 } 8147 } 8148 8149 if invalidParams.Len() > 0 { 8150 return invalidParams 8151 } 8152 return nil 8153} 8154 8155// SetCommand sets the Command field's value. 8156func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 8157 s.Command = v 8158 return s 8159} 8160 8161// SetCpu sets the Cpu field's value. 8162func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 8163 s.Cpu = &v 8164 return s 8165} 8166 8167// SetDependsOn sets the DependsOn field's value. 8168func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 8169 s.DependsOn = v 8170 return s 8171} 8172 8173// SetDisableNetworking sets the DisableNetworking field's value. 8174func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 8175 s.DisableNetworking = &v 8176 return s 8177} 8178 8179// SetDnsSearchDomains sets the DnsSearchDomains field's value. 8180func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 8181 s.DnsSearchDomains = v 8182 return s 8183} 8184 8185// SetDnsServers sets the DnsServers field's value. 8186func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 8187 s.DnsServers = v 8188 return s 8189} 8190 8191// SetDockerLabels sets the DockerLabels field's value. 8192func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 8193 s.DockerLabels = v 8194 return s 8195} 8196 8197// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 8198func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 8199 s.DockerSecurityOptions = v 8200 return s 8201} 8202 8203// SetEntryPoint sets the EntryPoint field's value. 8204func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 8205 s.EntryPoint = v 8206 return s 8207} 8208 8209// SetEnvironment sets the Environment field's value. 8210func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 8211 s.Environment = v 8212 return s 8213} 8214 8215// SetEnvironmentFiles sets the EnvironmentFiles field's value. 8216func (s *ContainerDefinition) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerDefinition { 8217 s.EnvironmentFiles = v 8218 return s 8219} 8220 8221// SetEssential sets the Essential field's value. 8222func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 8223 s.Essential = &v 8224 return s 8225} 8226 8227// SetExtraHosts sets the ExtraHosts field's value. 8228func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 8229 s.ExtraHosts = v 8230 return s 8231} 8232 8233// SetFirelensConfiguration sets the FirelensConfiguration field's value. 8234func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 8235 s.FirelensConfiguration = v 8236 return s 8237} 8238 8239// SetHealthCheck sets the HealthCheck field's value. 8240func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 8241 s.HealthCheck = v 8242 return s 8243} 8244 8245// SetHostname sets the Hostname field's value. 8246func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 8247 s.Hostname = &v 8248 return s 8249} 8250 8251// SetImage sets the Image field's value. 8252func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 8253 s.Image = &v 8254 return s 8255} 8256 8257// SetInteractive sets the Interactive field's value. 8258func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 8259 s.Interactive = &v 8260 return s 8261} 8262 8263// SetLinks sets the Links field's value. 8264func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 8265 s.Links = v 8266 return s 8267} 8268 8269// SetLinuxParameters sets the LinuxParameters field's value. 8270func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 8271 s.LinuxParameters = v 8272 return s 8273} 8274 8275// SetLogConfiguration sets the LogConfiguration field's value. 8276func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 8277 s.LogConfiguration = v 8278 return s 8279} 8280 8281// SetMemory sets the Memory field's value. 8282func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 8283 s.Memory = &v 8284 return s 8285} 8286 8287// SetMemoryReservation sets the MemoryReservation field's value. 8288func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 8289 s.MemoryReservation = &v 8290 return s 8291} 8292 8293// SetMountPoints sets the MountPoints field's value. 8294func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 8295 s.MountPoints = v 8296 return s 8297} 8298 8299// SetName sets the Name field's value. 8300func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 8301 s.Name = &v 8302 return s 8303} 8304 8305// SetPortMappings sets the PortMappings field's value. 8306func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 8307 s.PortMappings = v 8308 return s 8309} 8310 8311// SetPrivileged sets the Privileged field's value. 8312func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 8313 s.Privileged = &v 8314 return s 8315} 8316 8317// SetPseudoTerminal sets the PseudoTerminal field's value. 8318func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 8319 s.PseudoTerminal = &v 8320 return s 8321} 8322 8323// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 8324func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 8325 s.ReadonlyRootFilesystem = &v 8326 return s 8327} 8328 8329// SetRepositoryCredentials sets the RepositoryCredentials field's value. 8330func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 8331 s.RepositoryCredentials = v 8332 return s 8333} 8334 8335// SetResourceRequirements sets the ResourceRequirements field's value. 8336func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 8337 s.ResourceRequirements = v 8338 return s 8339} 8340 8341// SetSecrets sets the Secrets field's value. 8342func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 8343 s.Secrets = v 8344 return s 8345} 8346 8347// SetStartTimeout sets the StartTimeout field's value. 8348func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 8349 s.StartTimeout = &v 8350 return s 8351} 8352 8353// SetStopTimeout sets the StopTimeout field's value. 8354func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 8355 s.StopTimeout = &v 8356 return s 8357} 8358 8359// SetSystemControls sets the SystemControls field's value. 8360func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 8361 s.SystemControls = v 8362 return s 8363} 8364 8365// SetUlimits sets the Ulimits field's value. 8366func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 8367 s.Ulimits = v 8368 return s 8369} 8370 8371// SetUser sets the User field's value. 8372func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 8373 s.User = &v 8374 return s 8375} 8376 8377// SetVolumesFrom sets the VolumesFrom field's value. 8378func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 8379 s.VolumesFrom = v 8380 return s 8381} 8382 8383// SetWorkingDirectory sets the WorkingDirectory field's value. 8384func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 8385 s.WorkingDirectory = &v 8386 return s 8387} 8388 8389// The dependencies defined for container startup and shutdown. A container 8390// can contain multiple dependencies. When a dependency is defined for container 8391// startup, for container shutdown it is reversed. 8392// 8393// Your Amazon ECS container instances require at least version 1.26.0 of the 8394// container agent to enable container dependencies. However, we recommend using 8395// the latest container agent version. For information about checking your agent 8396// version and updating to the latest version, see Updating the Amazon ECS Container 8397// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 8398// in the Amazon Elastic Container Service Developer Guide. If you are using 8399// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 8400// of the ecs-init package. If your container instances are launched from version 8401// 20190301 or later, then they contain the required versions of the container 8402// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 8403// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 8404// in the Amazon Elastic Container Service Developer Guide. 8405// 8406// For tasks using the Fargate launch type, this parameter requires that the 8407// task or service uses platform version 1.3.0 or later. 8408type ContainerDependency struct { 8409 _ struct{} `type:"structure"` 8410 8411 // The dependency condition of the container. The following are the available 8412 // conditions and their behavior: 8413 // 8414 // * START - This condition emulates the behavior of links and volumes today. 8415 // It validates that a dependent container is started before permitting other 8416 // containers to start. 8417 // 8418 // * COMPLETE - This condition validates that a dependent container runs 8419 // to completion (exits) before permitting other containers to start. This 8420 // can be useful for nonessential containers that run a script and then exit. 8421 // This condition cannot be set on an essential container. 8422 // 8423 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 8424 // that the container exits with a zero status. This condition cannot be 8425 // set on an essential container. 8426 // 8427 // * HEALTHY - This condition validates that the dependent container passes 8428 // its Docker health check before permitting other containers to start. This 8429 // requires that the dependent container has health checks configured. This 8430 // condition is confirmed only at task startup. 8431 // 8432 // Condition is a required field 8433 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 8434 8435 // The name of a container. 8436 // 8437 // ContainerName is a required field 8438 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 8439} 8440 8441// String returns the string representation 8442func (s ContainerDependency) String() string { 8443 return awsutil.Prettify(s) 8444} 8445 8446// GoString returns the string representation 8447func (s ContainerDependency) GoString() string { 8448 return s.String() 8449} 8450 8451// Validate inspects the fields of the type to determine if they are valid. 8452func (s *ContainerDependency) Validate() error { 8453 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 8454 if s.Condition == nil { 8455 invalidParams.Add(request.NewErrParamRequired("Condition")) 8456 } 8457 if s.ContainerName == nil { 8458 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 8459 } 8460 8461 if invalidParams.Len() > 0 { 8462 return invalidParams 8463 } 8464 return nil 8465} 8466 8467// SetCondition sets the Condition field's value. 8468func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 8469 s.Condition = &v 8470 return s 8471} 8472 8473// SetContainerName sets the ContainerName field's value. 8474func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 8475 s.ContainerName = &v 8476 return s 8477} 8478 8479// An EC2 instance that is running the Amazon ECS agent and has been registered 8480// with a cluster. 8481type ContainerInstance struct { 8482 _ struct{} `type:"structure"` 8483 8484 // This parameter returns true if the agent is connected to Amazon ECS. Registered 8485 // instances with an agent that may be unhealthy or stopped return false. Only 8486 // instances connected to an agent can accept placement requests. 8487 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 8488 8489 // The status of the most recent agent update. If an update has never been requested, 8490 // this value is NULL. 8491 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 8492 8493 // The resources attached to a container instance, such as elastic network interfaces. 8494 Attachments []*Attachment `locationName:"attachments" type:"list"` 8495 8496 // The attributes set for the container instance, either by the Amazon ECS container 8497 // agent at instance registration or manually with the PutAttributes operation. 8498 Attributes []*Attribute `locationName:"attributes" type:"list"` 8499 8500 // The capacity provider associated with the container instance. 8501 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 8502 8503 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 8504 // the arn:aws:ecs namespace, followed by the Region of the container instance, 8505 // the Amazon Web Services account ID of the container instance owner, the container-instance 8506 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8507 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 8508 8509 // The ID of the container instance. For Amazon EC2 instances, this value is 8510 // the Amazon EC2 instance ID. For external instances, this value is the Amazon 8511 // Web Services Systems Manager managed instance ID. 8512 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 8513 8514 // The number of tasks on the container instance that are in the PENDING status. 8515 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 8516 8517 // The Unix timestamp for when the container instance was registered. 8518 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 8519 8520 // For CPU and memory resource types, this parameter describes the amount of 8521 // each resource that was available on the container instance when the container 8522 // agent registered it with Amazon ECS. This value represents the total amount 8523 // of CPU and memory that can be allocated on this container instance to tasks. 8524 // For port resource types, this parameter describes the ports that were reserved 8525 // by the Amazon ECS container agent when it registered the container instance 8526 // with Amazon ECS. 8527 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 8528 8529 // For CPU and memory resource types, this parameter describes the remaining 8530 // CPU and memory that has not already been allocated to tasks and is therefore 8531 // available for new tasks. For port resource types, this parameter describes 8532 // the ports that were reserved by the Amazon ECS container agent (at instance 8533 // registration time) and any task containers that have reserved port mappings 8534 // on the host (with the host or bridge network mode). Any port that is not 8535 // specified here is available for new tasks. 8536 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 8537 8538 // The number of tasks on the container instance that are in the RUNNING status. 8539 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 8540 8541 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 8542 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 8543 // 8544 // If your account has opted in to the awsvpcTrunking account setting, then 8545 // any newly registered container instance will transition to a REGISTERING 8546 // status while the trunk elastic network interface is provisioned for the instance. 8547 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 8548 // status. You can describe the container instance and see the reason for failure 8549 // in the statusReason parameter. Once the container instance is terminated, 8550 // the instance transitions to a DEREGISTERING status while the trunk elastic 8551 // network interface is deprovisioned. The instance then transitions to an INACTIVE 8552 // status. 8553 // 8554 // The ACTIVE status indicates that the container instance can accept tasks. 8555 // The DRAINING indicates that new tasks are not placed on the container instance 8556 // and any service tasks running on the container instance are removed if possible. 8557 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 8558 // in the Amazon Elastic Container Service Developer Guide. 8559 Status *string `locationName:"status" type:"string"` 8560 8561 // The reason that the container instance reached its current status. 8562 StatusReason *string `locationName:"statusReason" type:"string"` 8563 8564 // The metadata that you apply to the container instance to help you categorize 8565 // and organize them. Each tag consists of a key and an optional value, both 8566 // of which you define. 8567 // 8568 // The following basic restrictions apply to tags: 8569 // 8570 // * Maximum number of tags per resource - 50 8571 // 8572 // * For each resource, each tag key must be unique, and each tag key can 8573 // have only one value. 8574 // 8575 // * Maximum key length - 128 Unicode characters in UTF-8 8576 // 8577 // * Maximum value length - 256 Unicode characters in UTF-8 8578 // 8579 // * If your tagging schema is used across multiple services and resources, 8580 // remember that other services may have restrictions on allowed characters. 8581 // Generally allowed characters are: letters, numbers, and spaces representable 8582 // in UTF-8, and the following characters: + - = . _ : / @. 8583 // 8584 // * Tag keys and values are case-sensitive. 8585 // 8586 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8587 // as a prefix for either keys or values as it is reserved for Amazon Web 8588 // Services use. You cannot edit or delete tag keys or values with this prefix. 8589 // Tags with this prefix do not count against your tags per resource limit. 8590 Tags []*Tag `locationName:"tags" type:"list"` 8591 8592 // The version counter for the container instance. Every time a container instance 8593 // experiences a change that triggers a CloudWatch event, the version counter 8594 // is incremented. If you are replicating your Amazon ECS container instance 8595 // state with CloudWatch Events, you can compare the version of a container 8596 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 8597 // Events for the container instance (inside the detail object) to verify that 8598 // the version in your event stream is current. 8599 Version *int64 `locationName:"version" type:"long"` 8600 8601 // The version information for the Amazon ECS container agent and Docker daemon 8602 // running on the container instance. 8603 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 8604} 8605 8606// String returns the string representation 8607func (s ContainerInstance) String() string { 8608 return awsutil.Prettify(s) 8609} 8610 8611// GoString returns the string representation 8612func (s ContainerInstance) GoString() string { 8613 return s.String() 8614} 8615 8616// SetAgentConnected sets the AgentConnected field's value. 8617func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 8618 s.AgentConnected = &v 8619 return s 8620} 8621 8622// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 8623func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 8624 s.AgentUpdateStatus = &v 8625 return s 8626} 8627 8628// SetAttachments sets the Attachments field's value. 8629func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 8630 s.Attachments = v 8631 return s 8632} 8633 8634// SetAttributes sets the Attributes field's value. 8635func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 8636 s.Attributes = v 8637 return s 8638} 8639 8640// SetCapacityProviderName sets the CapacityProviderName field's value. 8641func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 8642 s.CapacityProviderName = &v 8643 return s 8644} 8645 8646// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8647func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 8648 s.ContainerInstanceArn = &v 8649 return s 8650} 8651 8652// SetEc2InstanceId sets the Ec2InstanceId field's value. 8653func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 8654 s.Ec2InstanceId = &v 8655 return s 8656} 8657 8658// SetPendingTasksCount sets the PendingTasksCount field's value. 8659func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 8660 s.PendingTasksCount = &v 8661 return s 8662} 8663 8664// SetRegisteredAt sets the RegisteredAt field's value. 8665func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 8666 s.RegisteredAt = &v 8667 return s 8668} 8669 8670// SetRegisteredResources sets the RegisteredResources field's value. 8671func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 8672 s.RegisteredResources = v 8673 return s 8674} 8675 8676// SetRemainingResources sets the RemainingResources field's value. 8677func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 8678 s.RemainingResources = v 8679 return s 8680} 8681 8682// SetRunningTasksCount sets the RunningTasksCount field's value. 8683func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 8684 s.RunningTasksCount = &v 8685 return s 8686} 8687 8688// SetStatus sets the Status field's value. 8689func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 8690 s.Status = &v 8691 return s 8692} 8693 8694// SetStatusReason sets the StatusReason field's value. 8695func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 8696 s.StatusReason = &v 8697 return s 8698} 8699 8700// SetTags sets the Tags field's value. 8701func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 8702 s.Tags = v 8703 return s 8704} 8705 8706// SetVersion sets the Version field's value. 8707func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 8708 s.Version = &v 8709 return s 8710} 8711 8712// SetVersionInfo sets the VersionInfo field's value. 8713func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 8714 s.VersionInfo = v 8715 return s 8716} 8717 8718// The overrides that should be sent to a container. An empty container override 8719// can be passed in. An example of an empty container override would be {"containerOverrides": 8720// [ ] }. If a non-empty container override is specified, the name parameter 8721// must be included. 8722type ContainerOverride struct { 8723 _ struct{} `type:"structure"` 8724 8725 // The command to send to the container that overrides the default command from 8726 // the Docker image or the task definition. You must also specify a container 8727 // name. 8728 Command []*string `locationName:"command" type:"list"` 8729 8730 // The number of cpu units reserved for the container, instead of the default 8731 // value from the task definition. You must also specify a container name. 8732 Cpu *int64 `locationName:"cpu" type:"integer"` 8733 8734 // The environment variables to send to the container. You can add new environment 8735 // variables, which are added to the container at launch, or you can override 8736 // the existing environment variables from the Docker image or the task definition. 8737 // You must also specify a container name. 8738 Environment []*KeyValuePair `locationName:"environment" type:"list"` 8739 8740 // A list of files containing the environment variables to pass to a container, 8741 // instead of the value from the container definition. 8742 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 8743 8744 // The hard limit (in MiB) of memory to present to the container, instead of 8745 // the default value from the task definition. If your container attempts to 8746 // exceed the memory specified here, the container is killed. You must also 8747 // specify a container name. 8748 Memory *int64 `locationName:"memory" type:"integer"` 8749 8750 // The soft limit (in MiB) of memory to reserve for the container, instead of 8751 // the default value from the task definition. You must also specify a container 8752 // name. 8753 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8754 8755 // The name of the container that receives the override. This parameter is required 8756 // if any override is specified. 8757 Name *string `locationName:"name" type:"string"` 8758 8759 // The type and amount of a resource to assign to a container, instead of the 8760 // default value from the task definition. The only supported resource is a 8761 // GPU. 8762 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8763} 8764 8765// String returns the string representation 8766func (s ContainerOverride) String() string { 8767 return awsutil.Prettify(s) 8768} 8769 8770// GoString returns the string representation 8771func (s ContainerOverride) GoString() string { 8772 return s.String() 8773} 8774 8775// Validate inspects the fields of the type to determine if they are valid. 8776func (s *ContainerOverride) Validate() error { 8777 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 8778 if s.EnvironmentFiles != nil { 8779 for i, v := range s.EnvironmentFiles { 8780 if v == nil { 8781 continue 8782 } 8783 if err := v.Validate(); err != nil { 8784 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8785 } 8786 } 8787 } 8788 if s.ResourceRequirements != nil { 8789 for i, v := range s.ResourceRequirements { 8790 if v == nil { 8791 continue 8792 } 8793 if err := v.Validate(); err != nil { 8794 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8795 } 8796 } 8797 } 8798 8799 if invalidParams.Len() > 0 { 8800 return invalidParams 8801 } 8802 return nil 8803} 8804 8805// SetCommand sets the Command field's value. 8806func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 8807 s.Command = v 8808 return s 8809} 8810 8811// SetCpu sets the Cpu field's value. 8812func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 8813 s.Cpu = &v 8814 return s 8815} 8816 8817// SetEnvironment sets the Environment field's value. 8818func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 8819 s.Environment = v 8820 return s 8821} 8822 8823// SetEnvironmentFiles sets the EnvironmentFiles field's value. 8824func (s *ContainerOverride) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerOverride { 8825 s.EnvironmentFiles = v 8826 return s 8827} 8828 8829// SetMemory sets the Memory field's value. 8830func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 8831 s.Memory = &v 8832 return s 8833} 8834 8835// SetMemoryReservation sets the MemoryReservation field's value. 8836func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 8837 s.MemoryReservation = &v 8838 return s 8839} 8840 8841// SetName sets the Name field's value. 8842func (s *ContainerOverride) SetName(v string) *ContainerOverride { 8843 s.Name = &v 8844 return s 8845} 8846 8847// SetResourceRequirements sets the ResourceRequirements field's value. 8848func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 8849 s.ResourceRequirements = v 8850 return s 8851} 8852 8853// An object representing a change in state for a container. 8854type ContainerStateChange struct { 8855 _ struct{} `type:"structure"` 8856 8857 // The name of the container. 8858 ContainerName *string `locationName:"containerName" type:"string"` 8859 8860 // The exit code for the container, if the state change is a result of the container 8861 // exiting. 8862 ExitCode *int64 `locationName:"exitCode" type:"integer"` 8863 8864 // The container image SHA 256 digest. 8865 ImageDigest *string `locationName:"imageDigest" type:"string"` 8866 8867 // Any network bindings associated with the container. 8868 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 8869 8870 // The reason for the state change. 8871 Reason *string `locationName:"reason" type:"string"` 8872 8873 // The ID of the Docker container. 8874 RuntimeId *string `locationName:"runtimeId" type:"string"` 8875 8876 // The status of the container. 8877 Status *string `locationName:"status" type:"string"` 8878} 8879 8880// String returns the string representation 8881func (s ContainerStateChange) String() string { 8882 return awsutil.Prettify(s) 8883} 8884 8885// GoString returns the string representation 8886func (s ContainerStateChange) GoString() string { 8887 return s.String() 8888} 8889 8890// SetContainerName sets the ContainerName field's value. 8891func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 8892 s.ContainerName = &v 8893 return s 8894} 8895 8896// SetExitCode sets the ExitCode field's value. 8897func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 8898 s.ExitCode = &v 8899 return s 8900} 8901 8902// SetImageDigest sets the ImageDigest field's value. 8903func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 8904 s.ImageDigest = &v 8905 return s 8906} 8907 8908// SetNetworkBindings sets the NetworkBindings field's value. 8909func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 8910 s.NetworkBindings = v 8911 return s 8912} 8913 8914// SetReason sets the Reason field's value. 8915func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 8916 s.Reason = &v 8917 return s 8918} 8919 8920// SetRuntimeId sets the RuntimeId field's value. 8921func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 8922 s.RuntimeId = &v 8923 return s 8924} 8925 8926// SetStatus sets the Status field's value. 8927func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 8928 s.Status = &v 8929 return s 8930} 8931 8932type CreateCapacityProviderInput struct { 8933 _ struct{} `type:"structure"` 8934 8935 // The details of the Auto Scaling group for the capacity provider. 8936 // 8937 // AutoScalingGroupProvider is a required field 8938 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 8939 8940 // The name of the capacity provider. Up to 255 characters are allowed, including 8941 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 8942 // cannot be prefixed with "aws", "ecs", or "fargate". 8943 // 8944 // Name is a required field 8945 Name *string `locationName:"name" type:"string" required:"true"` 8946 8947 // The metadata that you apply to the capacity provider to help you categorize 8948 // and organize them. Each tag consists of a key and an optional value, both 8949 // of which you define. 8950 // 8951 // The following basic restrictions apply to tags: 8952 // 8953 // * Maximum number of tags per resource - 50 8954 // 8955 // * For each resource, each tag key must be unique, and each tag key can 8956 // have only one value. 8957 // 8958 // * Maximum key length - 128 Unicode characters in UTF-8 8959 // 8960 // * Maximum value length - 256 Unicode characters in UTF-8 8961 // 8962 // * If your tagging schema is used across multiple services and resources, 8963 // remember that other services may have restrictions on allowed characters. 8964 // Generally allowed characters are: letters, numbers, and spaces representable 8965 // in UTF-8, and the following characters: + - = . _ : / @. 8966 // 8967 // * Tag keys and values are case-sensitive. 8968 // 8969 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8970 // as a prefix for either keys or values as it is reserved for Amazon Web 8971 // Services use. You cannot edit or delete tag keys or values with this prefix. 8972 // Tags with this prefix do not count against your tags per resource limit. 8973 Tags []*Tag `locationName:"tags" type:"list"` 8974} 8975 8976// String returns the string representation 8977func (s CreateCapacityProviderInput) String() string { 8978 return awsutil.Prettify(s) 8979} 8980 8981// GoString returns the string representation 8982func (s CreateCapacityProviderInput) GoString() string { 8983 return s.String() 8984} 8985 8986// Validate inspects the fields of the type to determine if they are valid. 8987func (s *CreateCapacityProviderInput) Validate() error { 8988 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 8989 if s.AutoScalingGroupProvider == nil { 8990 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 8991 } 8992 if s.Name == nil { 8993 invalidParams.Add(request.NewErrParamRequired("Name")) 8994 } 8995 if s.AutoScalingGroupProvider != nil { 8996 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 8997 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 8998 } 8999 } 9000 if s.Tags != nil { 9001 for i, v := range s.Tags { 9002 if v == nil { 9003 continue 9004 } 9005 if err := v.Validate(); err != nil { 9006 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9007 } 9008 } 9009 } 9010 9011 if invalidParams.Len() > 0 { 9012 return invalidParams 9013 } 9014 return nil 9015} 9016 9017// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 9018func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 9019 s.AutoScalingGroupProvider = v 9020 return s 9021} 9022 9023// SetName sets the Name field's value. 9024func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 9025 s.Name = &v 9026 return s 9027} 9028 9029// SetTags sets the Tags field's value. 9030func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 9031 s.Tags = v 9032 return s 9033} 9034 9035type CreateCapacityProviderOutput struct { 9036 _ struct{} `type:"structure"` 9037 9038 // The full description of the new capacity provider. 9039 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 9040} 9041 9042// String returns the string representation 9043func (s CreateCapacityProviderOutput) String() string { 9044 return awsutil.Prettify(s) 9045} 9046 9047// GoString returns the string representation 9048func (s CreateCapacityProviderOutput) GoString() string { 9049 return s.String() 9050} 9051 9052// SetCapacityProvider sets the CapacityProvider field's value. 9053func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 9054 s.CapacityProvider = v 9055 return s 9056} 9057 9058type CreateClusterInput struct { 9059 _ struct{} `type:"structure"` 9060 9061 // The short name of one or more capacity providers to associate with the cluster. 9062 // A capacity provider must be associated with a cluster before it can be included 9063 // as part of the default capacity provider strategy of the cluster or used 9064 // in a capacity provider strategy when calling the CreateService or RunTask 9065 // actions. 9066 // 9067 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9068 // provider must already be created and not already associated with another 9069 // cluster. New Auto Scaling group capacity providers can be created with the 9070 // CreateCapacityProvider API operation. 9071 // 9072 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9073 // capacity providers. The Fargate capacity providers are available to all accounts 9074 // and only need to be associated with a cluster to be used. 9075 // 9076 // The PutClusterCapacityProviders API operation is used to update the list 9077 // of available capacity providers for a cluster after the cluster is created. 9078 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 9079 9080 // The name of your cluster. If you do not specify a name for your cluster, 9081 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 9082 // numbers, underscores, and hyphens are allowed. 9083 ClusterName *string `locationName:"clusterName" type:"string"` 9084 9085 // The execute command configuration for the cluster. 9086 Configuration *ClusterConfiguration `locationName:"configuration" type:"structure"` 9087 9088 // The capacity provider strategy to set as the default for the cluster. When 9089 // a default capacity provider strategy is set for a cluster, when calling the 9090 // RunTask or CreateService APIs with no capacity provider strategy or launch 9091 // type specified, the default capacity provider strategy for the cluster is 9092 // used. 9093 // 9094 // If a default capacity provider strategy is not defined for a cluster during 9095 // creation, it can be defined later with the PutClusterCapacityProviders API 9096 // operation. 9097 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 9098 9099 // The setting to use when creating a cluster. This parameter is used to enable 9100 // CloudWatch Container Insights for a cluster. If this value is specified, 9101 // it will override the containerInsights value set with PutAccountSetting or 9102 // PutAccountSettingDefault. 9103 Settings []*ClusterSetting `locationName:"settings" type:"list"` 9104 9105 // The metadata that you apply to the cluster to help you categorize and organize 9106 // them. Each tag consists of a key and an optional value, both of which you 9107 // define. 9108 // 9109 // The following basic restrictions apply to tags: 9110 // 9111 // * Maximum number of tags per resource - 50 9112 // 9113 // * For each resource, each tag key must be unique, and each tag key can 9114 // have only one value. 9115 // 9116 // * Maximum key length - 128 Unicode characters in UTF-8 9117 // 9118 // * Maximum value length - 256 Unicode characters in UTF-8 9119 // 9120 // * If your tagging schema is used across multiple services and resources, 9121 // remember that other services may have restrictions on allowed characters. 9122 // Generally allowed characters are: letters, numbers, and spaces representable 9123 // in UTF-8, and the following characters: + - = . _ : / @. 9124 // 9125 // * Tag keys and values are case-sensitive. 9126 // 9127 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9128 // as a prefix for either keys or values as it is reserved for Amazon Web 9129 // Services use. You cannot edit or delete tag keys or values with this prefix. 9130 // Tags with this prefix do not count against your tags per resource limit. 9131 Tags []*Tag `locationName:"tags" type:"list"` 9132} 9133 9134// String returns the string representation 9135func (s CreateClusterInput) String() string { 9136 return awsutil.Prettify(s) 9137} 9138 9139// GoString returns the string representation 9140func (s CreateClusterInput) GoString() string { 9141 return s.String() 9142} 9143 9144// Validate inspects the fields of the type to determine if they are valid. 9145func (s *CreateClusterInput) Validate() error { 9146 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 9147 if s.DefaultCapacityProviderStrategy != nil { 9148 for i, v := range s.DefaultCapacityProviderStrategy { 9149 if v == nil { 9150 continue 9151 } 9152 if err := v.Validate(); err != nil { 9153 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9154 } 9155 } 9156 } 9157 if s.Tags != nil { 9158 for i, v := range s.Tags { 9159 if v == nil { 9160 continue 9161 } 9162 if err := v.Validate(); err != nil { 9163 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9164 } 9165 } 9166 } 9167 9168 if invalidParams.Len() > 0 { 9169 return invalidParams 9170 } 9171 return nil 9172} 9173 9174// SetCapacityProviders sets the CapacityProviders field's value. 9175func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 9176 s.CapacityProviders = v 9177 return s 9178} 9179 9180// SetClusterName sets the ClusterName field's value. 9181func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 9182 s.ClusterName = &v 9183 return s 9184} 9185 9186// SetConfiguration sets the Configuration field's value. 9187func (s *CreateClusterInput) SetConfiguration(v *ClusterConfiguration) *CreateClusterInput { 9188 s.Configuration = v 9189 return s 9190} 9191 9192// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 9193func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 9194 s.DefaultCapacityProviderStrategy = v 9195 return s 9196} 9197 9198// SetSettings sets the Settings field's value. 9199func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 9200 s.Settings = v 9201 return s 9202} 9203 9204// SetTags sets the Tags field's value. 9205func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 9206 s.Tags = v 9207 return s 9208} 9209 9210type CreateClusterOutput struct { 9211 _ struct{} `type:"structure"` 9212 9213 // The full description of your new cluster. 9214 Cluster *Cluster `locationName:"cluster" type:"structure"` 9215} 9216 9217// String returns the string representation 9218func (s CreateClusterOutput) String() string { 9219 return awsutil.Prettify(s) 9220} 9221 9222// GoString returns the string representation 9223func (s CreateClusterOutput) GoString() string { 9224 return s.String() 9225} 9226 9227// SetCluster sets the Cluster field's value. 9228func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 9229 s.Cluster = v 9230 return s 9231} 9232 9233type CreateServiceInput struct { 9234 _ struct{} `type:"structure"` 9235 9236 // The capacity provider strategy to use for the service. 9237 // 9238 // If a capacityProviderStrategy is specified, the launchType parameter must 9239 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9240 // defaultCapacityProviderStrategy for the cluster is used. 9241 // 9242 // A capacity provider strategy may contain a maximum of 6 capacity providers. 9243 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9244 9245 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9246 // of the request. Up to 32 ASCII characters are allowed. 9247 ClientToken *string `locationName:"clientToken" type:"string"` 9248 9249 // The short name or full Amazon Resource Name (ARN) of the cluster on which 9250 // to run your service. If you do not specify a cluster, the default cluster 9251 // is assumed. 9252 Cluster *string `locationName:"cluster" type:"string"` 9253 9254 // Optional deployment parameters that control how many tasks run during the 9255 // deployment and the ordering of stopping and starting tasks. 9256 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 9257 9258 // The deployment controller to use for the service. If no deployment controller 9259 // is specified, the default value of ECS is used. 9260 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 9261 9262 // The number of instantiations of the specified task definition to place and 9263 // keep running on your cluster. 9264 // 9265 // This is required if schedulingStrategy is REPLICA or is not specified. If 9266 // schedulingStrategy is DAEMON then this is not required. 9267 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 9268 9269 // Specifies whether to enable Amazon ECS managed tags for the tasks within 9270 // the service. For more information, see Tagging Your Amazon ECS Resources 9271 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 9272 // in the Amazon Elastic Container Service Developer Guide. 9273 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 9274 9275 // Whether or not the execute command functionality is enabled for the service. 9276 // If true, this enables execute command functionality on all containers in 9277 // the service tasks. 9278 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 9279 9280 // The period of time, in seconds, that the Amazon ECS service scheduler should 9281 // ignore unhealthy Elastic Load Balancing target health checks after a task 9282 // has first started. This is only used when your service is configured to use 9283 // a load balancer. If your service has a load balancer defined and you don't 9284 // specify a health check grace period value, the default value of 0 is used. 9285 // 9286 // If your service's tasks take a while to start and respond to Elastic Load 9287 // Balancing health checks, you can specify a health check grace period of up 9288 // to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler 9289 // ignores health check status. This grace period can prevent the service scheduler 9290 // from marking tasks as unhealthy and stopping them before they have time to 9291 // come up. 9292 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 9293 9294 // The infrastructure on which to run your service. For more information, see 9295 // Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9296 // in the Amazon Elastic Container Service Developer Guide. 9297 // 9298 // The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. 9299 // 9300 // Fargate Spot infrastructure is available for use but a capacity provider 9301 // strategy must be used. For more information, see Fargate capacity providers 9302 // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html) 9303 // in the Amazon ECS User Guide for Fargate. 9304 // 9305 // The EC2 launch type runs your tasks on Amazon EC2 instances registered to 9306 // your cluster. 9307 // 9308 // The EXTERNAL launch type runs your tasks on your on-premise server or virtual 9309 // machine (VM) capacity registered to your cluster. 9310 // 9311 // A service can use either a launch type or a capacity provider strategy. If 9312 // a launchType is specified, the capacityProviderStrategy parameter must be 9313 // omitted. 9314 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9315 9316 // A load balancer object representing the load balancers to use with your service. 9317 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 9318 // in the Amazon Elastic Container Service Developer Guide. 9319 // 9320 // If the service is using the rolling update (ECS) deployment controller and 9321 // using either an Application Load Balancer or Network Load Balancer, you must 9322 // specify one or more target group ARNs to attach to the service. The service-linked 9323 // role is required for services that make use of multiple target groups. For 9324 // more information, see Using service-linked roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 9325 // in the Amazon Elastic Container Service Developer Guide. 9326 // 9327 // If the service is using the CODE_DEPLOY deployment controller, the service 9328 // is required to use either an Application Load Balancer or Network Load Balancer. 9329 // When creating an CodeDeploy deployment group, you specify two target groups 9330 // (referred to as a targetGroupPair). During a deployment, CodeDeploy determines 9331 // which task set in your service has the status PRIMARY and associates one 9332 // target group with it, and then associates the other target group with the 9333 // replacement task set. The load balancer can also have up to two listeners: 9334 // a required listener for production traffic and an optional listener that 9335 // allows you perform validation tests with Lambda functions before routing 9336 // production traffic to it. 9337 // 9338 // After you create a service using the ECS deployment controller, the load 9339 // balancer name or target group ARN, container name, and container port specified 9340 // in the service definition are immutable. If you are using the CODE_DEPLOY 9341 // deployment controller, these values can be changed when updating the service. 9342 // 9343 // For Application Load Balancers and Network Load Balancers, this object must 9344 // contain the load balancer target group ARN, the container name (as it appears 9345 // in a container definition), and the container port to access from the load 9346 // balancer. The load balancer name parameter must be omitted. When a task from 9347 // this service is placed on a container instance, the container instance and 9348 // port combination is registered as a target in the target group specified 9349 // here. 9350 // 9351 // For Classic Load Balancers, this object must contain the load balancer name, 9352 // the container name (as it appears in a container definition), and the container 9353 // port to access from the load balancer. The target group ARN parameter must 9354 // be omitted. When a task from this service is placed on a container instance, 9355 // the container instance is registered with the load balancer specified here. 9356 // 9357 // Services with tasks that use the awsvpc network mode (for example, those 9358 // with the Fargate launch type) only support Application Load Balancers and 9359 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 9360 // you create any target groups for these services, you must choose ip as the 9361 // target type, not instance, because tasks that use the awsvpc network mode 9362 // are associated with an elastic network interface, not an Amazon EC2 instance. 9363 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9364 9365 // The network configuration for the service. This parameter is required for 9366 // task definitions that use the awsvpc network mode to receive their own elastic 9367 // network interface, and it is not supported for other network modes. For more 9368 // information, see Task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 9369 // in the Amazon Elastic Container Service Developer Guide. 9370 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9371 9372 // An array of placement constraint objects to use for tasks in your service. 9373 // You can specify a maximum of 10 constraints per task (this limit includes 9374 // constraints in the task definition and those specified at runtime). 9375 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 9376 9377 // The placement strategy objects to use for tasks in your service. You can 9378 // specify a maximum of 5 strategy rules per service. 9379 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 9380 9381 // The platform version that your tasks in the service are running on. A platform 9382 // version is specified only for tasks using the Fargate launch type. If one 9383 // isn't specified, the LATEST platform version is used by default. For more 9384 // information, see Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 9385 // in the Amazon Elastic Container Service Developer Guide. 9386 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9387 9388 // Specifies whether to propagate the tags from the task definition or the service 9389 // to the tasks in the service. If no value is specified, the tags are not propagated. 9390 // Tags can only be propagated to the tasks within the service during service 9391 // creation. To add tags to a task after service creation, use the TagResource 9392 // API action. 9393 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 9394 9395 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 9396 // ECS to make calls to your load balancer on your behalf. This parameter is 9397 // only permitted if you are using a load balancer with your service and your 9398 // task definition does not use the awsvpc network mode. If you specify the 9399 // role parameter, you must also specify a load balancer object with the loadBalancers 9400 // parameter. 9401 // 9402 // If your account has already created the Amazon ECS service-linked role, that 9403 // role is used by default for your service unless you specify a role here. 9404 // The service-linked role is required if your task definition uses the awsvpc 9405 // network mode or if the service is configured to use service discovery, an 9406 // external deployment controller, multiple target groups, or Elastic Inference 9407 // accelerators in which case you should not specify a role here. For more information, 9408 // see Using service-linked roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 9409 // in the Amazon Elastic Container Service Developer Guide. 9410 // 9411 // If your specified role has a path other than /, then you must either specify 9412 // the full role ARN (this is recommended) or prefix the role name with the 9413 // path. For example, if a role with the name bar has a path of /foo/ then you 9414 // would specify /foo/bar as the role name. For more information, see Friendly 9415 // names and paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 9416 // in the IAM User Guide. 9417 Role *string `locationName:"role" type:"string"` 9418 9419 // The scheduling strategy to use for the service. For more information, see 9420 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 9421 // 9422 // There are two service scheduler strategies available: 9423 // 9424 // * REPLICA-The replica scheduling strategy places and maintains the desired 9425 // number of tasks across your cluster. By default, the service scheduler 9426 // spreads tasks across Availability Zones. You can use task placement strategies 9427 // and constraints to customize task placement decisions. This scheduler 9428 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 9429 // deployment controller types. 9430 // 9431 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 9432 // active container instance that meets all of the task placement constraints 9433 // that you specify in your cluster. The service scheduler also evaluates 9434 // the task placement constraints for running tasks and will stop tasks that 9435 // do not meet the placement constraints. When you're using this strategy, 9436 // you don't need to specify a desired number of tasks, a task placement 9437 // strategy, or use Service Auto Scaling policies. Tasks using the Fargate 9438 // launch type or the CODE_DEPLOY or EXTERNAL deployment controller types 9439 // don't support the DAEMON scheduling strategy. 9440 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 9441 9442 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 9443 // underscores, and hyphens are allowed. Service names must be unique within 9444 // a cluster, but you can have similarly named services in multiple clusters 9445 // within a Region or across multiple Regions. 9446 // 9447 // ServiceName is a required field 9448 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 9449 9450 // The details of the service discovery registry to associate with this service. 9451 // For more information, see Service discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9452 // 9453 // Each service may be associated with one service registry. Multiple service 9454 // registries per service isn't supported. 9455 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9456 9457 // The metadata that you apply to the service to help you categorize and organize 9458 // them. Each tag consists of a key and an optional value, both of which you 9459 // define. When a service is deleted, the tags are deleted as well. 9460 // 9461 // The following basic restrictions apply to tags: 9462 // 9463 // * Maximum number of tags per resource - 50 9464 // 9465 // * For each resource, each tag key must be unique, and each tag key can 9466 // have only one value. 9467 // 9468 // * Maximum key length - 128 Unicode characters in UTF-8 9469 // 9470 // * Maximum value length - 256 Unicode characters in UTF-8 9471 // 9472 // * If your tagging schema is used across multiple services and resources, 9473 // remember that other services may have restrictions on allowed characters. 9474 // Generally allowed characters are: letters, numbers, and spaces representable 9475 // in UTF-8, and the following characters: + - = . _ : / @. 9476 // 9477 // * Tag keys and values are case-sensitive. 9478 // 9479 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9480 // as a prefix for either keys or values as it is reserved for Amazon Web 9481 // Services use. You cannot edit or delete tag keys or values with this prefix. 9482 // Tags with this prefix do not count against your tags per resource limit. 9483 Tags []*Tag `locationName:"tags" type:"list"` 9484 9485 // The family and revision (family:revision) or full ARN of the task definition 9486 // to run in your service. If a revision is not specified, the latest ACTIVE 9487 // revision is used. 9488 // 9489 // A task definition must be specified if the service is using either the ECS 9490 // or CODE_DEPLOY deployment controllers. 9491 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9492} 9493 9494// String returns the string representation 9495func (s CreateServiceInput) String() string { 9496 return awsutil.Prettify(s) 9497} 9498 9499// GoString returns the string representation 9500func (s CreateServiceInput) GoString() string { 9501 return s.String() 9502} 9503 9504// Validate inspects the fields of the type to determine if they are valid. 9505func (s *CreateServiceInput) Validate() error { 9506 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 9507 if s.ServiceName == nil { 9508 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 9509 } 9510 if s.CapacityProviderStrategy != nil { 9511 for i, v := range s.CapacityProviderStrategy { 9512 if v == nil { 9513 continue 9514 } 9515 if err := v.Validate(); err != nil { 9516 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9517 } 9518 } 9519 } 9520 if s.DeploymentConfiguration != nil { 9521 if err := s.DeploymentConfiguration.Validate(); err != nil { 9522 invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) 9523 } 9524 } 9525 if s.DeploymentController != nil { 9526 if err := s.DeploymentController.Validate(); err != nil { 9527 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 9528 } 9529 } 9530 if s.NetworkConfiguration != nil { 9531 if err := s.NetworkConfiguration.Validate(); err != nil { 9532 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9533 } 9534 } 9535 if s.Tags != nil { 9536 for i, v := range s.Tags { 9537 if v == nil { 9538 continue 9539 } 9540 if err := v.Validate(); err != nil { 9541 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9542 } 9543 } 9544 } 9545 9546 if invalidParams.Len() > 0 { 9547 return invalidParams 9548 } 9549 return nil 9550} 9551 9552// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9553func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 9554 s.CapacityProviderStrategy = v 9555 return s 9556} 9557 9558// SetClientToken sets the ClientToken field's value. 9559func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 9560 s.ClientToken = &v 9561 return s 9562} 9563 9564// SetCluster sets the Cluster field's value. 9565func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 9566 s.Cluster = &v 9567 return s 9568} 9569 9570// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 9571func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 9572 s.DeploymentConfiguration = v 9573 return s 9574} 9575 9576// SetDeploymentController sets the DeploymentController field's value. 9577func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 9578 s.DeploymentController = v 9579 return s 9580} 9581 9582// SetDesiredCount sets the DesiredCount field's value. 9583func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 9584 s.DesiredCount = &v 9585 return s 9586} 9587 9588// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 9589func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 9590 s.EnableECSManagedTags = &v 9591 return s 9592} 9593 9594// SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 9595func (s *CreateServiceInput) SetEnableExecuteCommand(v bool) *CreateServiceInput { 9596 s.EnableExecuteCommand = &v 9597 return s 9598} 9599 9600// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 9601func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 9602 s.HealthCheckGracePeriodSeconds = &v 9603 return s 9604} 9605 9606// SetLaunchType sets the LaunchType field's value. 9607func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 9608 s.LaunchType = &v 9609 return s 9610} 9611 9612// SetLoadBalancers sets the LoadBalancers field's value. 9613func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 9614 s.LoadBalancers = v 9615 return s 9616} 9617 9618// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9619func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 9620 s.NetworkConfiguration = v 9621 return s 9622} 9623 9624// SetPlacementConstraints sets the PlacementConstraints field's value. 9625func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 9626 s.PlacementConstraints = v 9627 return s 9628} 9629 9630// SetPlacementStrategy sets the PlacementStrategy field's value. 9631func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 9632 s.PlacementStrategy = v 9633 return s 9634} 9635 9636// SetPlatformVersion sets the PlatformVersion field's value. 9637func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 9638 s.PlatformVersion = &v 9639 return s 9640} 9641 9642// SetPropagateTags sets the PropagateTags field's value. 9643func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 9644 s.PropagateTags = &v 9645 return s 9646} 9647 9648// SetRole sets the Role field's value. 9649func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 9650 s.Role = &v 9651 return s 9652} 9653 9654// SetSchedulingStrategy sets the SchedulingStrategy field's value. 9655func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 9656 s.SchedulingStrategy = &v 9657 return s 9658} 9659 9660// SetServiceName sets the ServiceName field's value. 9661func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 9662 s.ServiceName = &v 9663 return s 9664} 9665 9666// SetServiceRegistries sets the ServiceRegistries field's value. 9667func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 9668 s.ServiceRegistries = v 9669 return s 9670} 9671 9672// SetTags sets the Tags field's value. 9673func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 9674 s.Tags = v 9675 return s 9676} 9677 9678// SetTaskDefinition sets the TaskDefinition field's value. 9679func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 9680 s.TaskDefinition = &v 9681 return s 9682} 9683 9684type CreateServiceOutput struct { 9685 _ struct{} `type:"structure"` 9686 9687 // The full description of your service following the create call. 9688 // 9689 // A service will return either a capacityProviderStrategy or launchType parameter, 9690 // but not both, depending on which one was specified during creation. 9691 // 9692 // If a service is using the ECS deployment controller, the deploymentController 9693 // and taskSets parameters will not be returned. 9694 // 9695 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 9696 // taskSets and deployments parameters will be returned, however the deployments 9697 // parameter will be an empty list. 9698 Service *Service `locationName:"service" type:"structure"` 9699} 9700 9701// String returns the string representation 9702func (s CreateServiceOutput) String() string { 9703 return awsutil.Prettify(s) 9704} 9705 9706// GoString returns the string representation 9707func (s CreateServiceOutput) GoString() string { 9708 return s.String() 9709} 9710 9711// SetService sets the Service field's value. 9712func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 9713 s.Service = v 9714 return s 9715} 9716 9717type CreateTaskSetInput struct { 9718 _ struct{} `type:"structure"` 9719 9720 // The capacity provider strategy to use for the task set. 9721 // 9722 // A capacity provider strategy consists of one or more capacity providers along 9723 // with the base and weight to assign to them. A capacity provider must be associated 9724 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 9725 // API is used to associate a capacity provider with a cluster. Only capacity 9726 // providers with an ACTIVE or UPDATING status can be used. 9727 // 9728 // If a capacityProviderStrategy is specified, the launchType parameter must 9729 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9730 // defaultCapacityProviderStrategy for the cluster is used. 9731 // 9732 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9733 // provider must already be created. New capacity providers can be created with 9734 // the CreateCapacityProvider API operation. 9735 // 9736 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9737 // capacity providers. The Fargate capacity providers are available to all accounts 9738 // and only need to be associated with a cluster to be used. 9739 // 9740 // The PutClusterCapacityProviders API operation is used to update the list 9741 // of available capacity providers for a cluster after the cluster is created. 9742 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9743 9744 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9745 // of the request. Up to 32 ASCII characters are allowed. 9746 ClientToken *string `locationName:"clientToken" type:"string"` 9747 9748 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9749 // the service to create the task set in. 9750 // 9751 // Cluster is a required field 9752 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9753 9754 // An optional non-unique tag that identifies this task set in external systems. 9755 // If the task set is associated with a service discovery registry, the tasks 9756 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID Cloud Map attribute 9757 // set to the provided value. 9758 ExternalId *string `locationName:"externalId" type:"string"` 9759 9760 // The launch type that new tasks in the task set will use. For more information, 9761 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9762 // in the Amazon Elastic Container Service Developer Guide. 9763 // 9764 // If a launchType is specified, the capacityProviderStrategy parameter must 9765 // be omitted. 9766 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9767 9768 // A load balancer object representing the load balancer to use with the task 9769 // set. The supported load balancer types are either an Application Load Balancer 9770 // or a Network Load Balancer. 9771 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9772 9773 // An object representing the network configuration for a task set. 9774 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9775 9776 // The platform version that the tasks in the task set should use. A platform 9777 // version is specified only for tasks using the Fargate launch type. If one 9778 // isn't specified, the LATEST platform version is used by default. 9779 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9780 9781 // A floating-point percentage of the desired number of tasks to place and keep 9782 // running in the task set. 9783 Scale *Scale `locationName:"scale" type:"structure"` 9784 9785 // The short name or full Amazon Resource Name (ARN) of the service to create 9786 // the task set in. 9787 // 9788 // Service is a required field 9789 Service *string `locationName:"service" type:"string" required:"true"` 9790 9791 // The details of the service discovery registries to assign to this task set. 9792 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9793 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9794 9795 // The metadata that you apply to the task set to help you categorize and organize 9796 // them. Each tag consists of a key and an optional value, both of which you 9797 // define. When a service is deleted, the tags are deleted as well. 9798 // 9799 // The following basic restrictions apply to tags: 9800 // 9801 // * Maximum number of tags per resource - 50 9802 // 9803 // * For each resource, each tag key must be unique, and each tag key can 9804 // have only one value. 9805 // 9806 // * Maximum key length - 128 Unicode characters in UTF-8 9807 // 9808 // * Maximum value length - 256 Unicode characters in UTF-8 9809 // 9810 // * If your tagging schema is used across multiple services and resources, 9811 // remember that other services may have restrictions on allowed characters. 9812 // Generally allowed characters are: letters, numbers, and spaces representable 9813 // in UTF-8, and the following characters: + - = . _ : / @. 9814 // 9815 // * Tag keys and values are case-sensitive. 9816 // 9817 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9818 // as a prefix for either keys or values as it is reserved for Amazon Web 9819 // Services use. You cannot edit or delete tag keys or values with this prefix. 9820 // Tags with this prefix do not count against your tags per resource limit. 9821 Tags []*Tag `locationName:"tags" type:"list"` 9822 9823 // The task definition for the tasks in the task set to use. 9824 // 9825 // TaskDefinition is a required field 9826 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9827} 9828 9829// String returns the string representation 9830func (s CreateTaskSetInput) String() string { 9831 return awsutil.Prettify(s) 9832} 9833 9834// GoString returns the string representation 9835func (s CreateTaskSetInput) GoString() string { 9836 return s.String() 9837} 9838 9839// Validate inspects the fields of the type to determine if they are valid. 9840func (s *CreateTaskSetInput) Validate() error { 9841 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 9842 if s.Cluster == nil { 9843 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9844 } 9845 if s.Service == nil { 9846 invalidParams.Add(request.NewErrParamRequired("Service")) 9847 } 9848 if s.TaskDefinition == nil { 9849 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9850 } 9851 if s.CapacityProviderStrategy != nil { 9852 for i, v := range s.CapacityProviderStrategy { 9853 if v == nil { 9854 continue 9855 } 9856 if err := v.Validate(); err != nil { 9857 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9858 } 9859 } 9860 } 9861 if s.NetworkConfiguration != nil { 9862 if err := s.NetworkConfiguration.Validate(); err != nil { 9863 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9864 } 9865 } 9866 if s.Tags != nil { 9867 for i, v := range s.Tags { 9868 if v == nil { 9869 continue 9870 } 9871 if err := v.Validate(); err != nil { 9872 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9873 } 9874 } 9875 } 9876 9877 if invalidParams.Len() > 0 { 9878 return invalidParams 9879 } 9880 return nil 9881} 9882 9883// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9884func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 9885 s.CapacityProviderStrategy = v 9886 return s 9887} 9888 9889// SetClientToken sets the ClientToken field's value. 9890func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 9891 s.ClientToken = &v 9892 return s 9893} 9894 9895// SetCluster sets the Cluster field's value. 9896func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 9897 s.Cluster = &v 9898 return s 9899} 9900 9901// SetExternalId sets the ExternalId field's value. 9902func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 9903 s.ExternalId = &v 9904 return s 9905} 9906 9907// SetLaunchType sets the LaunchType field's value. 9908func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 9909 s.LaunchType = &v 9910 return s 9911} 9912 9913// SetLoadBalancers sets the LoadBalancers field's value. 9914func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 9915 s.LoadBalancers = v 9916 return s 9917} 9918 9919// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9920func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 9921 s.NetworkConfiguration = v 9922 return s 9923} 9924 9925// SetPlatformVersion sets the PlatformVersion field's value. 9926func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 9927 s.PlatformVersion = &v 9928 return s 9929} 9930 9931// SetScale sets the Scale field's value. 9932func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 9933 s.Scale = v 9934 return s 9935} 9936 9937// SetService sets the Service field's value. 9938func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 9939 s.Service = &v 9940 return s 9941} 9942 9943// SetServiceRegistries sets the ServiceRegistries field's value. 9944func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 9945 s.ServiceRegistries = v 9946 return s 9947} 9948 9949// SetTags sets the Tags field's value. 9950func (s *CreateTaskSetInput) SetTags(v []*Tag) *CreateTaskSetInput { 9951 s.Tags = v 9952 return s 9953} 9954 9955// SetTaskDefinition sets the TaskDefinition field's value. 9956func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 9957 s.TaskDefinition = &v 9958 return s 9959} 9960 9961type CreateTaskSetOutput struct { 9962 _ struct{} `type:"structure"` 9963 9964 // Information about a set of Amazon ECS tasks in either an CodeDeploy or an 9965 // EXTERNAL deployment. A task set includes details such as the desired number 9966 // of tasks, how many tasks are running, and whether the task set serves production 9967 // traffic. 9968 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9969} 9970 9971// String returns the string representation 9972func (s CreateTaskSetOutput) String() string { 9973 return awsutil.Prettify(s) 9974} 9975 9976// GoString returns the string representation 9977func (s CreateTaskSetOutput) GoString() string { 9978 return s.String() 9979} 9980 9981// SetTaskSet sets the TaskSet field's value. 9982func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 9983 s.TaskSet = v 9984 return s 9985} 9986 9987type DeleteAccountSettingInput struct { 9988 _ struct{} `type:"structure"` 9989 9990 // The resource name for which to disable the account setting. If serviceLongArnFormat 9991 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 9992 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 9993 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 9994 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 9995 // the ENI limit for your Amazon ECS container instances is affected. 9996 // 9997 // Name is a required field 9998 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 9999 10000 // The ARN of the principal, which can be an IAM user, IAM role, or the root 10001 // user. If you specify the root user, it disables the account setting for all 10002 // IAM users, IAM roles, and the root user of the account unless an IAM user 10003 // or role explicitly overrides these settings. If this field is omitted, the 10004 // setting is changed only for the authenticated user. 10005 PrincipalArn *string `locationName:"principalArn" type:"string"` 10006} 10007 10008// String returns the string representation 10009func (s DeleteAccountSettingInput) String() string { 10010 return awsutil.Prettify(s) 10011} 10012 10013// GoString returns the string representation 10014func (s DeleteAccountSettingInput) GoString() string { 10015 return s.String() 10016} 10017 10018// Validate inspects the fields of the type to determine if they are valid. 10019func (s *DeleteAccountSettingInput) Validate() error { 10020 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 10021 if s.Name == nil { 10022 invalidParams.Add(request.NewErrParamRequired("Name")) 10023 } 10024 10025 if invalidParams.Len() > 0 { 10026 return invalidParams 10027 } 10028 return nil 10029} 10030 10031// SetName sets the Name field's value. 10032func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 10033 s.Name = &v 10034 return s 10035} 10036 10037// SetPrincipalArn sets the PrincipalArn field's value. 10038func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 10039 s.PrincipalArn = &v 10040 return s 10041} 10042 10043type DeleteAccountSettingOutput struct { 10044 _ struct{} `type:"structure"` 10045 10046 // The account setting for the specified principal ARN. 10047 Setting *Setting `locationName:"setting" type:"structure"` 10048} 10049 10050// String returns the string representation 10051func (s DeleteAccountSettingOutput) String() string { 10052 return awsutil.Prettify(s) 10053} 10054 10055// GoString returns the string representation 10056func (s DeleteAccountSettingOutput) GoString() string { 10057 return s.String() 10058} 10059 10060// SetSetting sets the Setting field's value. 10061func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 10062 s.Setting = v 10063 return s 10064} 10065 10066type DeleteAttributesInput struct { 10067 _ struct{} `type:"structure"` 10068 10069 // The attributes to delete from your resource. You can specify up to 10 attributes 10070 // per request. For custom attributes, specify the attribute name and target 10071 // ID, but do not specify the value. If you specify the target ID using the 10072 // short form, you must also specify the target type. 10073 // 10074 // Attributes is a required field 10075 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 10076 10077 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 10078 // the resource to delete attributes. If you do not specify a cluster, the default 10079 // cluster is assumed. 10080 Cluster *string `locationName:"cluster" type:"string"` 10081} 10082 10083// String returns the string representation 10084func (s DeleteAttributesInput) String() string { 10085 return awsutil.Prettify(s) 10086} 10087 10088// GoString returns the string representation 10089func (s DeleteAttributesInput) GoString() string { 10090 return s.String() 10091} 10092 10093// Validate inspects the fields of the type to determine if they are valid. 10094func (s *DeleteAttributesInput) Validate() error { 10095 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 10096 if s.Attributes == nil { 10097 invalidParams.Add(request.NewErrParamRequired("Attributes")) 10098 } 10099 if s.Attributes != nil { 10100 for i, v := range s.Attributes { 10101 if v == nil { 10102 continue 10103 } 10104 if err := v.Validate(); err != nil { 10105 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 10106 } 10107 } 10108 } 10109 10110 if invalidParams.Len() > 0 { 10111 return invalidParams 10112 } 10113 return nil 10114} 10115 10116// SetAttributes sets the Attributes field's value. 10117func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 10118 s.Attributes = v 10119 return s 10120} 10121 10122// SetCluster sets the Cluster field's value. 10123func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 10124 s.Cluster = &v 10125 return s 10126} 10127 10128type DeleteAttributesOutput struct { 10129 _ struct{} `type:"structure"` 10130 10131 // A list of attribute objects that were successfully deleted from your resource. 10132 Attributes []*Attribute `locationName:"attributes" type:"list"` 10133} 10134 10135// String returns the string representation 10136func (s DeleteAttributesOutput) String() string { 10137 return awsutil.Prettify(s) 10138} 10139 10140// GoString returns the string representation 10141func (s DeleteAttributesOutput) GoString() string { 10142 return s.String() 10143} 10144 10145// SetAttributes sets the Attributes field's value. 10146func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 10147 s.Attributes = v 10148 return s 10149} 10150 10151type DeleteCapacityProviderInput struct { 10152 _ struct{} `type:"structure"` 10153 10154 // The short name or full Amazon Resource Name (ARN) of the capacity provider 10155 // to delete. 10156 // 10157 // CapacityProvider is a required field 10158 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 10159} 10160 10161// String returns the string representation 10162func (s DeleteCapacityProviderInput) String() string { 10163 return awsutil.Prettify(s) 10164} 10165 10166// GoString returns the string representation 10167func (s DeleteCapacityProviderInput) GoString() string { 10168 return s.String() 10169} 10170 10171// Validate inspects the fields of the type to determine if they are valid. 10172func (s *DeleteCapacityProviderInput) Validate() error { 10173 invalidParams := request.ErrInvalidParams{Context: "DeleteCapacityProviderInput"} 10174 if s.CapacityProvider == nil { 10175 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 10176 } 10177 10178 if invalidParams.Len() > 0 { 10179 return invalidParams 10180 } 10181 return nil 10182} 10183 10184// SetCapacityProvider sets the CapacityProvider field's value. 10185func (s *DeleteCapacityProviderInput) SetCapacityProvider(v string) *DeleteCapacityProviderInput { 10186 s.CapacityProvider = &v 10187 return s 10188} 10189 10190type DeleteCapacityProviderOutput struct { 10191 _ struct{} `type:"structure"` 10192 10193 // The details of the capacity provider. 10194 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 10195} 10196 10197// String returns the string representation 10198func (s DeleteCapacityProviderOutput) String() string { 10199 return awsutil.Prettify(s) 10200} 10201 10202// GoString returns the string representation 10203func (s DeleteCapacityProviderOutput) GoString() string { 10204 return s.String() 10205} 10206 10207// SetCapacityProvider sets the CapacityProvider field's value. 10208func (s *DeleteCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *DeleteCapacityProviderOutput { 10209 s.CapacityProvider = v 10210 return s 10211} 10212 10213type DeleteClusterInput struct { 10214 _ struct{} `type:"structure"` 10215 10216 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 10217 // 10218 // Cluster is a required field 10219 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10220} 10221 10222// String returns the string representation 10223func (s DeleteClusterInput) String() string { 10224 return awsutil.Prettify(s) 10225} 10226 10227// GoString returns the string representation 10228func (s DeleteClusterInput) GoString() string { 10229 return s.String() 10230} 10231 10232// Validate inspects the fields of the type to determine if they are valid. 10233func (s *DeleteClusterInput) Validate() error { 10234 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 10235 if s.Cluster == nil { 10236 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10237 } 10238 10239 if invalidParams.Len() > 0 { 10240 return invalidParams 10241 } 10242 return nil 10243} 10244 10245// SetCluster sets the Cluster field's value. 10246func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 10247 s.Cluster = &v 10248 return s 10249} 10250 10251type DeleteClusterOutput struct { 10252 _ struct{} `type:"structure"` 10253 10254 // The full description of the deleted cluster. 10255 Cluster *Cluster `locationName:"cluster" type:"structure"` 10256} 10257 10258// String returns the string representation 10259func (s DeleteClusterOutput) String() string { 10260 return awsutil.Prettify(s) 10261} 10262 10263// GoString returns the string representation 10264func (s DeleteClusterOutput) GoString() string { 10265 return s.String() 10266} 10267 10268// SetCluster sets the Cluster field's value. 10269func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 10270 s.Cluster = v 10271 return s 10272} 10273 10274type DeleteServiceInput struct { 10275 _ struct{} `type:"structure"` 10276 10277 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10278 // the service to delete. If you do not specify a cluster, the default cluster 10279 // is assumed. 10280 Cluster *string `locationName:"cluster" type:"string"` 10281 10282 // If true, allows you to delete a service even if it has not been scaled down 10283 // to zero tasks. It is only necessary to use this if the service is using the 10284 // REPLICA scheduling strategy. 10285 Force *bool `locationName:"force" type:"boolean"` 10286 10287 // The name of the service to delete. 10288 // 10289 // Service is a required field 10290 Service *string `locationName:"service" type:"string" required:"true"` 10291} 10292 10293// String returns the string representation 10294func (s DeleteServiceInput) String() string { 10295 return awsutil.Prettify(s) 10296} 10297 10298// GoString returns the string representation 10299func (s DeleteServiceInput) GoString() string { 10300 return s.String() 10301} 10302 10303// Validate inspects the fields of the type to determine if they are valid. 10304func (s *DeleteServiceInput) Validate() error { 10305 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 10306 if s.Service == nil { 10307 invalidParams.Add(request.NewErrParamRequired("Service")) 10308 } 10309 10310 if invalidParams.Len() > 0 { 10311 return invalidParams 10312 } 10313 return nil 10314} 10315 10316// SetCluster sets the Cluster field's value. 10317func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 10318 s.Cluster = &v 10319 return s 10320} 10321 10322// SetForce sets the Force field's value. 10323func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 10324 s.Force = &v 10325 return s 10326} 10327 10328// SetService sets the Service field's value. 10329func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 10330 s.Service = &v 10331 return s 10332} 10333 10334type DeleteServiceOutput struct { 10335 _ struct{} `type:"structure"` 10336 10337 // The full description of the deleted service. 10338 Service *Service `locationName:"service" type:"structure"` 10339} 10340 10341// String returns the string representation 10342func (s DeleteServiceOutput) String() string { 10343 return awsutil.Prettify(s) 10344} 10345 10346// GoString returns the string representation 10347func (s DeleteServiceOutput) GoString() string { 10348 return s.String() 10349} 10350 10351// SetService sets the Service field's value. 10352func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 10353 s.Service = v 10354 return s 10355} 10356 10357type DeleteTaskSetInput struct { 10358 _ struct{} `type:"structure"` 10359 10360 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10361 // the service that the task set exists in to delete. 10362 // 10363 // Cluster is a required field 10364 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10365 10366 // If true, this allows you to delete a task set even if it hasn't been scaled 10367 // down to zero. 10368 Force *bool `locationName:"force" type:"boolean"` 10369 10370 // The short name or full Amazon Resource Name (ARN) of the service that hosts 10371 // the task set to delete. 10372 // 10373 // Service is a required field 10374 Service *string `locationName:"service" type:"string" required:"true"` 10375 10376 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 10377 // 10378 // TaskSet is a required field 10379 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 10380} 10381 10382// String returns the string representation 10383func (s DeleteTaskSetInput) String() string { 10384 return awsutil.Prettify(s) 10385} 10386 10387// GoString returns the string representation 10388func (s DeleteTaskSetInput) GoString() string { 10389 return s.String() 10390} 10391 10392// Validate inspects the fields of the type to determine if they are valid. 10393func (s *DeleteTaskSetInput) Validate() error { 10394 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 10395 if s.Cluster == nil { 10396 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10397 } 10398 if s.Service == nil { 10399 invalidParams.Add(request.NewErrParamRequired("Service")) 10400 } 10401 if s.TaskSet == nil { 10402 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 10403 } 10404 10405 if invalidParams.Len() > 0 { 10406 return invalidParams 10407 } 10408 return nil 10409} 10410 10411// SetCluster sets the Cluster field's value. 10412func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 10413 s.Cluster = &v 10414 return s 10415} 10416 10417// SetForce sets the Force field's value. 10418func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 10419 s.Force = &v 10420 return s 10421} 10422 10423// SetService sets the Service field's value. 10424func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 10425 s.Service = &v 10426 return s 10427} 10428 10429// SetTaskSet sets the TaskSet field's value. 10430func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 10431 s.TaskSet = &v 10432 return s 10433} 10434 10435type DeleteTaskSetOutput struct { 10436 _ struct{} `type:"structure"` 10437 10438 // Details about the task set. 10439 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 10440} 10441 10442// String returns the string representation 10443func (s DeleteTaskSetOutput) String() string { 10444 return awsutil.Prettify(s) 10445} 10446 10447// GoString returns the string representation 10448func (s DeleteTaskSetOutput) GoString() string { 10449 return s.String() 10450} 10451 10452// SetTaskSet sets the TaskSet field's value. 10453func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 10454 s.TaskSet = v 10455 return s 10456} 10457 10458// The details of an Amazon ECS service deployment. This is used only when a 10459// service uses the ECS deployment controller type. 10460type Deployment struct { 10461 _ struct{} `type:"structure"` 10462 10463 // The capacity provider strategy that the deployment is using. 10464 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 10465 10466 // The Unix timestamp for when the service deployment was created. 10467 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 10468 10469 // The most recent desired count of tasks that was specified for the service 10470 // to deploy or maintain. 10471 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 10472 10473 // The number of consecutively failed tasks in the deployment. A task is considered 10474 // a failure if the service scheduler can't launch the task, the task doesn't 10475 // transition to a RUNNING state, or if it fails any of its defined health checks 10476 // and is stopped. 10477 // 10478 // Once a service deployment has one or more successfully running tasks, the 10479 // failed task count resets to zero and stops being evaluated. 10480 FailedTasks *int64 `locationName:"failedTasks" type:"integer"` 10481 10482 // The ID of the deployment. 10483 Id *string `locationName:"id" type:"string"` 10484 10485 // The launch type the tasks in the service are using. For more information, 10486 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 10487 // in the Amazon Elastic Container Service Developer Guide. 10488 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10489 10490 // The VPC subnet and security group configuration for tasks that receive their 10491 // own elastic network interface by using the awsvpc networking mode. 10492 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 10493 10494 // The number of tasks in the deployment that are in the PENDING status. 10495 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 10496 10497 // The platform version on which your tasks in the service are running. A platform 10498 // version is only specified for tasks using the Fargate launch type. If one 10499 // is not specified, the LATEST platform version is used by default. For more 10500 // information, see Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 10501 // in the Amazon Elastic Container Service Developer Guide. 10502 PlatformVersion *string `locationName:"platformVersion" type:"string"` 10503 10504 // 10505 // The rolloutState of a service is only returned for services that use the 10506 // rolling update (ECS) deployment type that are not behind a Classic Load Balancer. 10507 // 10508 // The rollout state of the deployment. When a service deployment is started, 10509 // it begins in an IN_PROGRESS state. When the service reaches a steady state, 10510 // the deployment will transition to a COMPLETED state. If the service fails 10511 // to reach a steady state and circuit breaker is enabled, the deployment will 10512 // transition to a FAILED state. A deployment in FAILED state will launch no 10513 // new tasks. For more information, see DeploymentCircuitBreaker. 10514 RolloutState *string `locationName:"rolloutState" type:"string" enum:"DeploymentRolloutState"` 10515 10516 // A description of the rollout state of a deployment. 10517 RolloutStateReason *string `locationName:"rolloutStateReason" type:"string"` 10518 10519 // The number of tasks in the deployment that are in the RUNNING status. 10520 RunningCount *int64 `locationName:"runningCount" type:"integer"` 10521 10522 // The status of the deployment. The following describes each state: 10523 // 10524 // PRIMARY 10525 // 10526 // The most recent deployment of a service. 10527 // 10528 // ACTIVE 10529 // 10530 // A service deployment that still has running tasks, but are in the process 10531 // of being replaced with a new PRIMARY deployment. 10532 // 10533 // INACTIVE 10534 // 10535 // A deployment that has been completely replaced. 10536 Status *string `locationName:"status" type:"string"` 10537 10538 // The most recent task definition that was specified for the tasks in the service 10539 // to use. 10540 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 10541 10542 // The Unix timestamp for when the service deployment was last updated. 10543 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 10544} 10545 10546// String returns the string representation 10547func (s Deployment) String() string { 10548 return awsutil.Prettify(s) 10549} 10550 10551// GoString returns the string representation 10552func (s Deployment) GoString() string { 10553 return s.String() 10554} 10555 10556// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 10557func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 10558 s.CapacityProviderStrategy = v 10559 return s 10560} 10561 10562// SetCreatedAt sets the CreatedAt field's value. 10563func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 10564 s.CreatedAt = &v 10565 return s 10566} 10567 10568// SetDesiredCount sets the DesiredCount field's value. 10569func (s *Deployment) SetDesiredCount(v int64) *Deployment { 10570 s.DesiredCount = &v 10571 return s 10572} 10573 10574// SetFailedTasks sets the FailedTasks field's value. 10575func (s *Deployment) SetFailedTasks(v int64) *Deployment { 10576 s.FailedTasks = &v 10577 return s 10578} 10579 10580// SetId sets the Id field's value. 10581func (s *Deployment) SetId(v string) *Deployment { 10582 s.Id = &v 10583 return s 10584} 10585 10586// SetLaunchType sets the LaunchType field's value. 10587func (s *Deployment) SetLaunchType(v string) *Deployment { 10588 s.LaunchType = &v 10589 return s 10590} 10591 10592// SetNetworkConfiguration sets the NetworkConfiguration field's value. 10593func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 10594 s.NetworkConfiguration = v 10595 return s 10596} 10597 10598// SetPendingCount sets the PendingCount field's value. 10599func (s *Deployment) SetPendingCount(v int64) *Deployment { 10600 s.PendingCount = &v 10601 return s 10602} 10603 10604// SetPlatformVersion sets the PlatformVersion field's value. 10605func (s *Deployment) SetPlatformVersion(v string) *Deployment { 10606 s.PlatformVersion = &v 10607 return s 10608} 10609 10610// SetRolloutState sets the RolloutState field's value. 10611func (s *Deployment) SetRolloutState(v string) *Deployment { 10612 s.RolloutState = &v 10613 return s 10614} 10615 10616// SetRolloutStateReason sets the RolloutStateReason field's value. 10617func (s *Deployment) SetRolloutStateReason(v string) *Deployment { 10618 s.RolloutStateReason = &v 10619 return s 10620} 10621 10622// SetRunningCount sets the RunningCount field's value. 10623func (s *Deployment) SetRunningCount(v int64) *Deployment { 10624 s.RunningCount = &v 10625 return s 10626} 10627 10628// SetStatus sets the Status field's value. 10629func (s *Deployment) SetStatus(v string) *Deployment { 10630 s.Status = &v 10631 return s 10632} 10633 10634// SetTaskDefinition sets the TaskDefinition field's value. 10635func (s *Deployment) SetTaskDefinition(v string) *Deployment { 10636 s.TaskDefinition = &v 10637 return s 10638} 10639 10640// SetUpdatedAt sets the UpdatedAt field's value. 10641func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 10642 s.UpdatedAt = &v 10643 return s 10644} 10645 10646// 10647// The deployment circuit breaker can only be used for services using the rolling 10648// update (ECS) deployment type that are not behind a Classic Load Balancer. 10649// 10650// The deployment circuit breaker determines whether a service deployment will 10651// fail if the service can't reach a steady state. If enabled, a service deployment 10652// will transition to a failed state and stop launching new tasks. You can also 10653// enable Amazon ECS to roll back your service to the last completed deployment 10654// after a failure. For more information, see Rolling update (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) 10655// in the Amazon Elastic Container Service Developer Guide. 10656type DeploymentCircuitBreaker struct { 10657 _ struct{} `type:"structure"` 10658 10659 // Whether to enable the deployment circuit breaker logic for the service. 10660 // 10661 // Enable is a required field 10662 Enable *bool `locationName:"enable" type:"boolean" required:"true"` 10663 10664 // Whether to enable Amazon ECS to roll back the service if a service deployment 10665 // fails. If rollback is enabled, when a service deployment fails, the service 10666 // is rolled back to the last deployment that completed successfully. 10667 // 10668 // Rollback is a required field 10669 Rollback *bool `locationName:"rollback" type:"boolean" required:"true"` 10670} 10671 10672// String returns the string representation 10673func (s DeploymentCircuitBreaker) String() string { 10674 return awsutil.Prettify(s) 10675} 10676 10677// GoString returns the string representation 10678func (s DeploymentCircuitBreaker) GoString() string { 10679 return s.String() 10680} 10681 10682// Validate inspects the fields of the type to determine if they are valid. 10683func (s *DeploymentCircuitBreaker) Validate() error { 10684 invalidParams := request.ErrInvalidParams{Context: "DeploymentCircuitBreaker"} 10685 if s.Enable == nil { 10686 invalidParams.Add(request.NewErrParamRequired("Enable")) 10687 } 10688 if s.Rollback == nil { 10689 invalidParams.Add(request.NewErrParamRequired("Rollback")) 10690 } 10691 10692 if invalidParams.Len() > 0 { 10693 return invalidParams 10694 } 10695 return nil 10696} 10697 10698// SetEnable sets the Enable field's value. 10699func (s *DeploymentCircuitBreaker) SetEnable(v bool) *DeploymentCircuitBreaker { 10700 s.Enable = &v 10701 return s 10702} 10703 10704// SetRollback sets the Rollback field's value. 10705func (s *DeploymentCircuitBreaker) SetRollback(v bool) *DeploymentCircuitBreaker { 10706 s.Rollback = &v 10707 return s 10708} 10709 10710// Optional deployment parameters that control how many tasks run during a deployment 10711// and the ordering of stopping and starting tasks. 10712type DeploymentConfiguration struct { 10713 _ struct{} `type:"structure"` 10714 10715 // 10716 // The deployment circuit breaker can only be used for services using the rolling 10717 // update (ECS) deployment type. 10718 // 10719 // The deployment circuit breaker determines whether a service deployment will 10720 // fail if the service can't reach a steady state. If deployment circuit breaker 10721 // is enabled, a service deployment will transition to a failed state and stop 10722 // launching new tasks. If rollback is enabled, when a service deployment fails, 10723 // the service is rolled back to the last deployment that completed successfully. 10724 DeploymentCircuitBreaker *DeploymentCircuitBreaker `locationName:"deploymentCircuitBreaker" type:"structure"` 10725 10726 // If a service is using the rolling update (ECS) deployment type, the maximum 10727 // percent parameter represents an upper limit on the number of tasks in a service 10728 // that are allowed in the RUNNING or PENDING state during a deployment, as 10729 // a percentage of the desired number of tasks (rounded down to the nearest 10730 // integer), and while any container instances are in the DRAINING state if 10731 // the service contains tasks using the EC2 launch type. This parameter enables 10732 // you to define the deployment batch size. For example, if your service has 10733 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 10734 // may start four new tasks before stopping the four older tasks (provided that 10735 // the cluster resources required to do this are available). The default value 10736 // for maximum percent is 200%. 10737 // 10738 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10739 // types and tasks that use the EC2 launch type, the maximum percent value is 10740 // set to the default value and is used to define the upper limit on the number 10741 // of the tasks in the service that remain in the RUNNING state while the container 10742 // instances are in the DRAINING state. If the tasks in the service use the 10743 // Fargate launch type, the maximum percent value is not used, although it is 10744 // returned when describing your service. 10745 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 10746 10747 // If a service is using the rolling update (ECS) deployment type, the minimum 10748 // healthy percent represents a lower limit on the number of tasks in a service 10749 // that must remain in the RUNNING state during a deployment, as a percentage 10750 // of the desired number of tasks (rounded up to the nearest integer), and while 10751 // any container instances are in the DRAINING state if the service contains 10752 // tasks using the EC2 launch type. This parameter enables you to deploy without 10753 // using additional cluster capacity. For example, if your service has a desired 10754 // number of four tasks and a minimum healthy percent of 50%, the scheduler 10755 // may stop two existing tasks to free up cluster capacity before starting two 10756 // new tasks. Tasks for services that do not use a load balancer are considered 10757 // healthy if they are in the RUNNING state; tasks for services that do use 10758 // a load balancer are considered healthy if they are in the RUNNING state and 10759 // they are reported as healthy by the load balancer. The default value for 10760 // minimum healthy percent is 100%. 10761 // 10762 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10763 // types and tasks that use the EC2 launch type, the minimum healthy percent 10764 // value is set to the default value and is used to define the lower limit on 10765 // the number of the tasks in the service that remain in the RUNNING state while 10766 // the container instances are in the DRAINING state. If the tasks in the service 10767 // use the Fargate launch type, the minimum healthy percent value is not used, 10768 // although it is returned when describing your service. 10769 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 10770} 10771 10772// String returns the string representation 10773func (s DeploymentConfiguration) String() string { 10774 return awsutil.Prettify(s) 10775} 10776 10777// GoString returns the string representation 10778func (s DeploymentConfiguration) GoString() string { 10779 return s.String() 10780} 10781 10782// Validate inspects the fields of the type to determine if they are valid. 10783func (s *DeploymentConfiguration) Validate() error { 10784 invalidParams := request.ErrInvalidParams{Context: "DeploymentConfiguration"} 10785 if s.DeploymentCircuitBreaker != nil { 10786 if err := s.DeploymentCircuitBreaker.Validate(); err != nil { 10787 invalidParams.AddNested("DeploymentCircuitBreaker", err.(request.ErrInvalidParams)) 10788 } 10789 } 10790 10791 if invalidParams.Len() > 0 { 10792 return invalidParams 10793 } 10794 return nil 10795} 10796 10797// SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value. 10798func (s *DeploymentConfiguration) SetDeploymentCircuitBreaker(v *DeploymentCircuitBreaker) *DeploymentConfiguration { 10799 s.DeploymentCircuitBreaker = v 10800 return s 10801} 10802 10803// SetMaximumPercent sets the MaximumPercent field's value. 10804func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 10805 s.MaximumPercent = &v 10806 return s 10807} 10808 10809// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 10810func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 10811 s.MinimumHealthyPercent = &v 10812 return s 10813} 10814 10815// The deployment controller to use for the service. For more information, see 10816// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 10817// in the Amazon Elastic Container Service Developer Guide. 10818type DeploymentController struct { 10819 _ struct{} `type:"structure"` 10820 10821 // The deployment controller type to use. 10822 // 10823 // There are three deployment controller types available: 10824 // 10825 // ECS 10826 // 10827 // The rolling update (ECS) deployment type involves replacing the current running 10828 // version of the container with the latest version. The number of containers 10829 // Amazon ECS adds or removes from the service during a rolling update is controlled 10830 // by adjusting the minimum and maximum number of healthy tasks allowed during 10831 // a service deployment, as specified in the DeploymentConfiguration. 10832 // 10833 // CODE_DEPLOY 10834 // 10835 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 10836 // model powered by CodeDeploy, which allows you to verify a new deployment 10837 // of a service before sending production traffic to it. 10838 // 10839 // EXTERNAL 10840 // 10841 // The external (EXTERNAL) deployment type enables you to use any third-party 10842 // deployment controller for full control over the deployment process for an 10843 // Amazon ECS service. 10844 // 10845 // Type is a required field 10846 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 10847} 10848 10849// String returns the string representation 10850func (s DeploymentController) String() string { 10851 return awsutil.Prettify(s) 10852} 10853 10854// GoString returns the string representation 10855func (s DeploymentController) GoString() string { 10856 return s.String() 10857} 10858 10859// Validate inspects the fields of the type to determine if they are valid. 10860func (s *DeploymentController) Validate() error { 10861 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 10862 if s.Type == nil { 10863 invalidParams.Add(request.NewErrParamRequired("Type")) 10864 } 10865 10866 if invalidParams.Len() > 0 { 10867 return invalidParams 10868 } 10869 return nil 10870} 10871 10872// SetType sets the Type field's value. 10873func (s *DeploymentController) SetType(v string) *DeploymentController { 10874 s.Type = &v 10875 return s 10876} 10877 10878type DeregisterContainerInstanceInput struct { 10879 _ struct{} `type:"structure"` 10880 10881 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10882 // the container instance to deregister. If you do not specify a cluster, the 10883 // default cluster is assumed. 10884 Cluster *string `locationName:"cluster" type:"string"` 10885 10886 // The container instance ID or full ARN of the container instance to deregister. 10887 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 10888 // container instance, the Amazon Web Services account ID of the container instance 10889 // owner, the container-instance namespace, and then the container instance 10890 // ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10891 // 10892 // ContainerInstance is a required field 10893 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 10894 10895 // Forces the deregistration of the container instance. If you have tasks running 10896 // on the container instance when you deregister it with the force option, these 10897 // tasks remain running until you terminate the instance or the tasks stop through 10898 // some other means, but they are orphaned (no longer monitored or accounted 10899 // for by Amazon ECS). If an orphaned task on your container instance is part 10900 // of an Amazon ECS service, then the service scheduler starts another copy 10901 // of that task, on a different container instance if possible. 10902 // 10903 // Any containers in orphaned service tasks that are registered with a Classic 10904 // Load Balancer or an Application Load Balancer target group are deregistered. 10905 // They begin connection draining according to the settings on the load balancer 10906 // or target group. 10907 Force *bool `locationName:"force" type:"boolean"` 10908} 10909 10910// String returns the string representation 10911func (s DeregisterContainerInstanceInput) String() string { 10912 return awsutil.Prettify(s) 10913} 10914 10915// GoString returns the string representation 10916func (s DeregisterContainerInstanceInput) GoString() string { 10917 return s.String() 10918} 10919 10920// Validate inspects the fields of the type to determine if they are valid. 10921func (s *DeregisterContainerInstanceInput) Validate() error { 10922 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 10923 if s.ContainerInstance == nil { 10924 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 10925 } 10926 10927 if invalidParams.Len() > 0 { 10928 return invalidParams 10929 } 10930 return nil 10931} 10932 10933// SetCluster sets the Cluster field's value. 10934func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 10935 s.Cluster = &v 10936 return s 10937} 10938 10939// SetContainerInstance sets the ContainerInstance field's value. 10940func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 10941 s.ContainerInstance = &v 10942 return s 10943} 10944 10945// SetForce sets the Force field's value. 10946func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 10947 s.Force = &v 10948 return s 10949} 10950 10951type DeregisterContainerInstanceOutput struct { 10952 _ struct{} `type:"structure"` 10953 10954 // The container instance that was deregistered. 10955 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 10956} 10957 10958// String returns the string representation 10959func (s DeregisterContainerInstanceOutput) String() string { 10960 return awsutil.Prettify(s) 10961} 10962 10963// GoString returns the string representation 10964func (s DeregisterContainerInstanceOutput) GoString() string { 10965 return s.String() 10966} 10967 10968// SetContainerInstance sets the ContainerInstance field's value. 10969func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 10970 s.ContainerInstance = v 10971 return s 10972} 10973 10974type DeregisterTaskDefinitionInput struct { 10975 _ struct{} `type:"structure"` 10976 10977 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 10978 // of the task definition to deregister. You must specify a revision. 10979 // 10980 // TaskDefinition is a required field 10981 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10982} 10983 10984// String returns the string representation 10985func (s DeregisterTaskDefinitionInput) String() string { 10986 return awsutil.Prettify(s) 10987} 10988 10989// GoString returns the string representation 10990func (s DeregisterTaskDefinitionInput) GoString() string { 10991 return s.String() 10992} 10993 10994// Validate inspects the fields of the type to determine if they are valid. 10995func (s *DeregisterTaskDefinitionInput) Validate() error { 10996 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 10997 if s.TaskDefinition == nil { 10998 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10999 } 11000 11001 if invalidParams.Len() > 0 { 11002 return invalidParams 11003 } 11004 return nil 11005} 11006 11007// SetTaskDefinition sets the TaskDefinition field's value. 11008func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 11009 s.TaskDefinition = &v 11010 return s 11011} 11012 11013type DeregisterTaskDefinitionOutput struct { 11014 _ struct{} `type:"structure"` 11015 11016 // The full description of the deregistered task. 11017 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 11018} 11019 11020// String returns the string representation 11021func (s DeregisterTaskDefinitionOutput) String() string { 11022 return awsutil.Prettify(s) 11023} 11024 11025// GoString returns the string representation 11026func (s DeregisterTaskDefinitionOutput) GoString() string { 11027 return s.String() 11028} 11029 11030// SetTaskDefinition sets the TaskDefinition field's value. 11031func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 11032 s.TaskDefinition = v 11033 return s 11034} 11035 11036type DescribeCapacityProvidersInput struct { 11037 _ struct{} `type:"structure"` 11038 11039 // The short name or full Amazon Resource Name (ARN) of one or more capacity 11040 // providers. Up to 100 capacity providers can be described in an action. 11041 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 11042 11043 // Specifies whether or not you want to see the resource tags for the capacity 11044 // provider. If TAGS is specified, the tags are included in the response. If 11045 // this field is omitted, tags are not included in the response. 11046 Include []*string `locationName:"include" type:"list"` 11047 11048 // The maximum number of account setting results returned by DescribeCapacityProviders 11049 // in paginated output. When this parameter is used, DescribeCapacityProviders 11050 // only returns maxResults results in a single page along with a nextToken response 11051 // element. The remaining results of the initial request can be seen by sending 11052 // another DescribeCapacityProviders request with the returned nextToken value. 11053 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 11054 // returns up to 10 results and a nextToken value if applicable. 11055 MaxResults *int64 `locationName:"maxResults" type:"integer"` 11056 11057 // The nextToken value returned from a previous paginated DescribeCapacityProviders 11058 // request where maxResults was used and the results exceeded the value of that 11059 // parameter. Pagination continues from the end of the previous results that 11060 // returned the nextToken value. 11061 // 11062 // This token should be treated as an opaque identifier that is only used to 11063 // retrieve the next items in a list and not for other programmatic purposes. 11064 NextToken *string `locationName:"nextToken" type:"string"` 11065} 11066 11067// String returns the string representation 11068func (s DescribeCapacityProvidersInput) String() string { 11069 return awsutil.Prettify(s) 11070} 11071 11072// GoString returns the string representation 11073func (s DescribeCapacityProvidersInput) GoString() string { 11074 return s.String() 11075} 11076 11077// SetCapacityProviders sets the CapacityProviders field's value. 11078func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 11079 s.CapacityProviders = v 11080 return s 11081} 11082 11083// SetInclude sets the Include field's value. 11084func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 11085 s.Include = v 11086 return s 11087} 11088 11089// SetMaxResults sets the MaxResults field's value. 11090func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 11091 s.MaxResults = &v 11092 return s 11093} 11094 11095// SetNextToken sets the NextToken field's value. 11096func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 11097 s.NextToken = &v 11098 return s 11099} 11100 11101type DescribeCapacityProvidersOutput struct { 11102 _ struct{} `type:"structure"` 11103 11104 // The list of capacity providers. 11105 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 11106 11107 // Any failures associated with the call. 11108 Failures []*Failure `locationName:"failures" type:"list"` 11109 11110 // The nextToken value to include in a future DescribeCapacityProviders request. 11111 // When the results of a DescribeCapacityProviders request exceed maxResults, 11112 // this value can be used to retrieve the next page of results. This value is 11113 // null when there are no more results to return. 11114 NextToken *string `locationName:"nextToken" type:"string"` 11115} 11116 11117// String returns the string representation 11118func (s DescribeCapacityProvidersOutput) String() string { 11119 return awsutil.Prettify(s) 11120} 11121 11122// GoString returns the string representation 11123func (s DescribeCapacityProvidersOutput) GoString() string { 11124 return s.String() 11125} 11126 11127// SetCapacityProviders sets the CapacityProviders field's value. 11128func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 11129 s.CapacityProviders = v 11130 return s 11131} 11132 11133// SetFailures sets the Failures field's value. 11134func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 11135 s.Failures = v 11136 return s 11137} 11138 11139// SetNextToken sets the NextToken field's value. 11140func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 11141 s.NextToken = &v 11142 return s 11143} 11144 11145type DescribeClustersInput struct { 11146 _ struct{} `type:"structure"` 11147 11148 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 11149 // entries. If you do not specify a cluster, the default cluster is assumed. 11150 Clusters []*string `locationName:"clusters" type:"list"` 11151 11152 // Whether to include additional information about the clusters in the response. 11153 // If this field is omitted, this information isn't included. 11154 // 11155 // If ATTACHMENTS is specified, the attachments for the container instances 11156 // or tasks within the cluster are included. 11157 // 11158 // If SETTINGS is specified, the settings for the cluster are included. 11159 // 11160 // If CONFIGURATIONS is specified, the configuration for the cluster is included. 11161 // 11162 // If STATISTICS is specified, the task and service count is included, separated 11163 // by launch type. 11164 // 11165 // If TAGS is specified, the metadata tags associated with the cluster are included. 11166 Include []*string `locationName:"include" type:"list"` 11167} 11168 11169// String returns the string representation 11170func (s DescribeClustersInput) String() string { 11171 return awsutil.Prettify(s) 11172} 11173 11174// GoString returns the string representation 11175func (s DescribeClustersInput) GoString() string { 11176 return s.String() 11177} 11178 11179// SetClusters sets the Clusters field's value. 11180func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 11181 s.Clusters = v 11182 return s 11183} 11184 11185// SetInclude sets the Include field's value. 11186func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 11187 s.Include = v 11188 return s 11189} 11190 11191type DescribeClustersOutput struct { 11192 _ struct{} `type:"structure"` 11193 11194 // The list of clusters. 11195 Clusters []*Cluster `locationName:"clusters" type:"list"` 11196 11197 // Any failures associated with the call. 11198 Failures []*Failure `locationName:"failures" type:"list"` 11199} 11200 11201// String returns the string representation 11202func (s DescribeClustersOutput) String() string { 11203 return awsutil.Prettify(s) 11204} 11205 11206// GoString returns the string representation 11207func (s DescribeClustersOutput) GoString() string { 11208 return s.String() 11209} 11210 11211// SetClusters sets the Clusters field's value. 11212func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 11213 s.Clusters = v 11214 return s 11215} 11216 11217// SetFailures sets the Failures field's value. 11218func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 11219 s.Failures = v 11220 return s 11221} 11222 11223type DescribeContainerInstancesInput struct { 11224 _ struct{} `type:"structure"` 11225 11226 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11227 // the container instances to describe. If you do not specify a cluster, the 11228 // default cluster is assumed. This parameter is required if the container instance 11229 // or container instances you are describing were launched in any cluster other 11230 // than the default cluster. 11231 Cluster *string `locationName:"cluster" type:"string"` 11232 11233 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 11234 // entries. 11235 // 11236 // ContainerInstances is a required field 11237 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 11238 11239 // Specifies whether you want to see the resource tags for the container instance. 11240 // If TAGS is specified, the tags are included in the response. If this field 11241 // is omitted, tags are not included in the response. 11242 Include []*string `locationName:"include" type:"list"` 11243} 11244 11245// String returns the string representation 11246func (s DescribeContainerInstancesInput) String() string { 11247 return awsutil.Prettify(s) 11248} 11249 11250// GoString returns the string representation 11251func (s DescribeContainerInstancesInput) GoString() string { 11252 return s.String() 11253} 11254 11255// Validate inspects the fields of the type to determine if they are valid. 11256func (s *DescribeContainerInstancesInput) Validate() error { 11257 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 11258 if s.ContainerInstances == nil { 11259 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 11260 } 11261 11262 if invalidParams.Len() > 0 { 11263 return invalidParams 11264 } 11265 return nil 11266} 11267 11268// SetCluster sets the Cluster field's value. 11269func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 11270 s.Cluster = &v 11271 return s 11272} 11273 11274// SetContainerInstances sets the ContainerInstances field's value. 11275func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 11276 s.ContainerInstances = v 11277 return s 11278} 11279 11280// SetInclude sets the Include field's value. 11281func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 11282 s.Include = v 11283 return s 11284} 11285 11286type DescribeContainerInstancesOutput struct { 11287 _ struct{} `type:"structure"` 11288 11289 // The list of container instances. 11290 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 11291 11292 // Any failures associated with the call. 11293 Failures []*Failure `locationName:"failures" type:"list"` 11294} 11295 11296// String returns the string representation 11297func (s DescribeContainerInstancesOutput) String() string { 11298 return awsutil.Prettify(s) 11299} 11300 11301// GoString returns the string representation 11302func (s DescribeContainerInstancesOutput) GoString() string { 11303 return s.String() 11304} 11305 11306// SetContainerInstances sets the ContainerInstances field's value. 11307func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 11308 s.ContainerInstances = v 11309 return s 11310} 11311 11312// SetFailures sets the Failures field's value. 11313func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 11314 s.Failures = v 11315 return s 11316} 11317 11318type DescribeServicesInput struct { 11319 _ struct{} `type:"structure"` 11320 11321 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 11322 // service to describe. If you do not specify a cluster, the default cluster 11323 // is assumed. This parameter is required if the service or services you are 11324 // describing were launched in any cluster other than the default cluster. 11325 Cluster *string `locationName:"cluster" type:"string"` 11326 11327 // Specifies whether you want to see the resource tags for the service. If TAGS 11328 // is specified, the tags are included in the response. If this field is omitted, 11329 // tags are not included in the response. 11330 Include []*string `locationName:"include" type:"list"` 11331 11332 // A list of services to describe. You may specify up to 10 services to describe 11333 // in a single operation. 11334 // 11335 // Services is a required field 11336 Services []*string `locationName:"services" type:"list" required:"true"` 11337} 11338 11339// String returns the string representation 11340func (s DescribeServicesInput) String() string { 11341 return awsutil.Prettify(s) 11342} 11343 11344// GoString returns the string representation 11345func (s DescribeServicesInput) GoString() string { 11346 return s.String() 11347} 11348 11349// Validate inspects the fields of the type to determine if they are valid. 11350func (s *DescribeServicesInput) Validate() error { 11351 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 11352 if s.Services == nil { 11353 invalidParams.Add(request.NewErrParamRequired("Services")) 11354 } 11355 11356 if invalidParams.Len() > 0 { 11357 return invalidParams 11358 } 11359 return nil 11360} 11361 11362// SetCluster sets the Cluster field's value. 11363func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 11364 s.Cluster = &v 11365 return s 11366} 11367 11368// SetInclude sets the Include field's value. 11369func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 11370 s.Include = v 11371 return s 11372} 11373 11374// SetServices sets the Services field's value. 11375func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 11376 s.Services = v 11377 return s 11378} 11379 11380type DescribeServicesOutput struct { 11381 _ struct{} `type:"structure"` 11382 11383 // Any failures associated with the call. 11384 Failures []*Failure `locationName:"failures" type:"list"` 11385 11386 // The list of services described. 11387 Services []*Service `locationName:"services" type:"list"` 11388} 11389 11390// String returns the string representation 11391func (s DescribeServicesOutput) String() string { 11392 return awsutil.Prettify(s) 11393} 11394 11395// GoString returns the string representation 11396func (s DescribeServicesOutput) GoString() string { 11397 return s.String() 11398} 11399 11400// SetFailures sets the Failures field's value. 11401func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 11402 s.Failures = v 11403 return s 11404} 11405 11406// SetServices sets the Services field's value. 11407func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 11408 s.Services = v 11409 return s 11410} 11411 11412type DescribeTaskDefinitionInput struct { 11413 _ struct{} `type:"structure"` 11414 11415 // Specifies whether to see the resource tags for the task definition. If TAGS 11416 // is specified, the tags are included in the response. If this field is omitted, 11417 // tags are not included in the response. 11418 Include []*string `locationName:"include" type:"list"` 11419 11420 // The family for the latest ACTIVE revision, family and revision (family:revision) 11421 // for a specific revision in the family, or full Amazon Resource Name (ARN) 11422 // of the task definition to describe. 11423 // 11424 // TaskDefinition is a required field 11425 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 11426} 11427 11428// String returns the string representation 11429func (s DescribeTaskDefinitionInput) String() string { 11430 return awsutil.Prettify(s) 11431} 11432 11433// GoString returns the string representation 11434func (s DescribeTaskDefinitionInput) GoString() string { 11435 return s.String() 11436} 11437 11438// Validate inspects the fields of the type to determine if they are valid. 11439func (s *DescribeTaskDefinitionInput) Validate() error { 11440 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 11441 if s.TaskDefinition == nil { 11442 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 11443 } 11444 11445 if invalidParams.Len() > 0 { 11446 return invalidParams 11447 } 11448 return nil 11449} 11450 11451// SetInclude sets the Include field's value. 11452func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 11453 s.Include = v 11454 return s 11455} 11456 11457// SetTaskDefinition sets the TaskDefinition field's value. 11458func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 11459 s.TaskDefinition = &v 11460 return s 11461} 11462 11463type DescribeTaskDefinitionOutput struct { 11464 _ struct{} `type:"structure"` 11465 11466 // The metadata that is applied to the task definition to help you categorize 11467 // and organize them. Each tag consists of a key and an optional value, both 11468 // of which you define. 11469 // 11470 // The following basic restrictions apply to tags: 11471 // 11472 // * Maximum number of tags per resource - 50 11473 // 11474 // * For each resource, each tag key must be unique, and each tag key can 11475 // have only one value. 11476 // 11477 // * Maximum key length - 128 Unicode characters in UTF-8 11478 // 11479 // * Maximum value length - 256 Unicode characters in UTF-8 11480 // 11481 // * If your tagging schema is used across multiple services and resources, 11482 // remember that other services may have restrictions on allowed characters. 11483 // Generally allowed characters are: letters, numbers, and spaces representable 11484 // in UTF-8, and the following characters: + - = . _ : / @. 11485 // 11486 // * Tag keys and values are case-sensitive. 11487 // 11488 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 11489 // as a prefix for either keys or values as it is reserved for Amazon Web 11490 // Services use. You cannot edit or delete tag keys or values with this prefix. 11491 // Tags with this prefix do not count against your tags per resource limit. 11492 Tags []*Tag `locationName:"tags" type:"list"` 11493 11494 // The full task definition description. 11495 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 11496} 11497 11498// String returns the string representation 11499func (s DescribeTaskDefinitionOutput) String() string { 11500 return awsutil.Prettify(s) 11501} 11502 11503// GoString returns the string representation 11504func (s DescribeTaskDefinitionOutput) GoString() string { 11505 return s.String() 11506} 11507 11508// SetTags sets the Tags field's value. 11509func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 11510 s.Tags = v 11511 return s 11512} 11513 11514// SetTaskDefinition sets the TaskDefinition field's value. 11515func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 11516 s.TaskDefinition = v 11517 return s 11518} 11519 11520type DescribeTaskSetsInput struct { 11521 _ struct{} `type:"structure"` 11522 11523 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11524 // the service that the task sets exist in. 11525 // 11526 // Cluster is a required field 11527 Cluster *string `locationName:"cluster" type:"string" required:"true"` 11528 11529 // Specifies whether to see the resource tags for the task set. If TAGS is specified, 11530 // the tags are included in the response. If this field is omitted, tags are 11531 // not included in the response. 11532 Include []*string `locationName:"include" type:"list"` 11533 11534 // The short name or full Amazon Resource Name (ARN) of the service that the 11535 // task sets exist in. 11536 // 11537 // Service is a required field 11538 Service *string `locationName:"service" type:"string" required:"true"` 11539 11540 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 11541 TaskSets []*string `locationName:"taskSets" type:"list"` 11542} 11543 11544// String returns the string representation 11545func (s DescribeTaskSetsInput) String() string { 11546 return awsutil.Prettify(s) 11547} 11548 11549// GoString returns the string representation 11550func (s DescribeTaskSetsInput) GoString() string { 11551 return s.String() 11552} 11553 11554// Validate inspects the fields of the type to determine if they are valid. 11555func (s *DescribeTaskSetsInput) Validate() error { 11556 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 11557 if s.Cluster == nil { 11558 invalidParams.Add(request.NewErrParamRequired("Cluster")) 11559 } 11560 if s.Service == nil { 11561 invalidParams.Add(request.NewErrParamRequired("Service")) 11562 } 11563 11564 if invalidParams.Len() > 0 { 11565 return invalidParams 11566 } 11567 return nil 11568} 11569 11570// SetCluster sets the Cluster field's value. 11571func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 11572 s.Cluster = &v 11573 return s 11574} 11575 11576// SetInclude sets the Include field's value. 11577func (s *DescribeTaskSetsInput) SetInclude(v []*string) *DescribeTaskSetsInput { 11578 s.Include = v 11579 return s 11580} 11581 11582// SetService sets the Service field's value. 11583func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 11584 s.Service = &v 11585 return s 11586} 11587 11588// SetTaskSets sets the TaskSets field's value. 11589func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 11590 s.TaskSets = v 11591 return s 11592} 11593 11594type DescribeTaskSetsOutput struct { 11595 _ struct{} `type:"structure"` 11596 11597 // Any failures associated with the call. 11598 Failures []*Failure `locationName:"failures" type:"list"` 11599 11600 // The list of task sets described. 11601 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 11602} 11603 11604// String returns the string representation 11605func (s DescribeTaskSetsOutput) String() string { 11606 return awsutil.Prettify(s) 11607} 11608 11609// GoString returns the string representation 11610func (s DescribeTaskSetsOutput) GoString() string { 11611 return s.String() 11612} 11613 11614// SetFailures sets the Failures field's value. 11615func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 11616 s.Failures = v 11617 return s 11618} 11619 11620// SetTaskSets sets the TaskSets field's value. 11621func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 11622 s.TaskSets = v 11623 return s 11624} 11625 11626type DescribeTasksInput struct { 11627 _ struct{} `type:"structure"` 11628 11629 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11630 // the task or tasks to describe. If you do not specify a cluster, the default 11631 // cluster is assumed. This parameter is required if the task or tasks you are 11632 // describing were launched in any cluster other than the default cluster. 11633 Cluster *string `locationName:"cluster" type:"string"` 11634 11635 // Specifies whether you want to see the resource tags for the task. If TAGS 11636 // is specified, the tags are included in the response. If this field is omitted, 11637 // tags are not included in the response. 11638 Include []*string `locationName:"include" type:"list"` 11639 11640 // A list of up to 100 task IDs or full ARN entries. 11641 // 11642 // Tasks is a required field 11643 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 11644} 11645 11646// String returns the string representation 11647func (s DescribeTasksInput) String() string { 11648 return awsutil.Prettify(s) 11649} 11650 11651// GoString returns the string representation 11652func (s DescribeTasksInput) GoString() string { 11653 return s.String() 11654} 11655 11656// Validate inspects the fields of the type to determine if they are valid. 11657func (s *DescribeTasksInput) Validate() error { 11658 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 11659 if s.Tasks == nil { 11660 invalidParams.Add(request.NewErrParamRequired("Tasks")) 11661 } 11662 11663 if invalidParams.Len() > 0 { 11664 return invalidParams 11665 } 11666 return nil 11667} 11668 11669// SetCluster sets the Cluster field's value. 11670func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 11671 s.Cluster = &v 11672 return s 11673} 11674 11675// SetInclude sets the Include field's value. 11676func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 11677 s.Include = v 11678 return s 11679} 11680 11681// SetTasks sets the Tasks field's value. 11682func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 11683 s.Tasks = v 11684 return s 11685} 11686 11687type DescribeTasksOutput struct { 11688 _ struct{} `type:"structure"` 11689 11690 // Any failures associated with the call. 11691 Failures []*Failure `locationName:"failures" type:"list"` 11692 11693 // The list of tasks. 11694 Tasks []*Task `locationName:"tasks" type:"list"` 11695} 11696 11697// String returns the string representation 11698func (s DescribeTasksOutput) String() string { 11699 return awsutil.Prettify(s) 11700} 11701 11702// GoString returns the string representation 11703func (s DescribeTasksOutput) GoString() string { 11704 return s.String() 11705} 11706 11707// SetFailures sets the Failures field's value. 11708func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 11709 s.Failures = v 11710 return s 11711} 11712 11713// SetTasks sets the Tasks field's value. 11714func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 11715 s.Tasks = v 11716 return s 11717} 11718 11719// An object representing a container instance host device. 11720type Device struct { 11721 _ struct{} `type:"structure"` 11722 11723 // The path inside the container at which to expose the host device. 11724 ContainerPath *string `locationName:"containerPath" type:"string"` 11725 11726 // The path for the device on the host container instance. 11727 // 11728 // HostPath is a required field 11729 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 11730 11731 // The explicit permissions to provide to the container for the device. By default, 11732 // the container has permissions for read, write, and mknod for the device. 11733 Permissions []*string `locationName:"permissions" type:"list"` 11734} 11735 11736// String returns the string representation 11737func (s Device) String() string { 11738 return awsutil.Prettify(s) 11739} 11740 11741// GoString returns the string representation 11742func (s Device) GoString() string { 11743 return s.String() 11744} 11745 11746// Validate inspects the fields of the type to determine if they are valid. 11747func (s *Device) Validate() error { 11748 invalidParams := request.ErrInvalidParams{Context: "Device"} 11749 if s.HostPath == nil { 11750 invalidParams.Add(request.NewErrParamRequired("HostPath")) 11751 } 11752 11753 if invalidParams.Len() > 0 { 11754 return invalidParams 11755 } 11756 return nil 11757} 11758 11759// SetContainerPath sets the ContainerPath field's value. 11760func (s *Device) SetContainerPath(v string) *Device { 11761 s.ContainerPath = &v 11762 return s 11763} 11764 11765// SetHostPath sets the HostPath field's value. 11766func (s *Device) SetHostPath(v string) *Device { 11767 s.HostPath = &v 11768 return s 11769} 11770 11771// SetPermissions sets the Permissions field's value. 11772func (s *Device) SetPermissions(v []*string) *Device { 11773 s.Permissions = v 11774 return s 11775} 11776 11777type DiscoverPollEndpointInput struct { 11778 _ struct{} `type:"structure"` 11779 11780 // The short name or full Amazon Resource Name (ARN) of the cluster to which 11781 // the container instance belongs. 11782 Cluster *string `locationName:"cluster" type:"string"` 11783 11784 // The container instance ID or full ARN of the container instance. The ARN 11785 // contains the arn:aws:ecs namespace, followed by the Region of the container 11786 // instance, the Amazon Web Services account ID of the container instance owner, 11787 // the container-instance namespace, and then the container instance ID. For 11788 // example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 11789 ContainerInstance *string `locationName:"containerInstance" type:"string"` 11790} 11791 11792// String returns the string representation 11793func (s DiscoverPollEndpointInput) String() string { 11794 return awsutil.Prettify(s) 11795} 11796 11797// GoString returns the string representation 11798func (s DiscoverPollEndpointInput) GoString() string { 11799 return s.String() 11800} 11801 11802// SetCluster sets the Cluster field's value. 11803func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 11804 s.Cluster = &v 11805 return s 11806} 11807 11808// SetContainerInstance sets the ContainerInstance field's value. 11809func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 11810 s.ContainerInstance = &v 11811 return s 11812} 11813 11814type DiscoverPollEndpointOutput struct { 11815 _ struct{} `type:"structure"` 11816 11817 // The endpoint for the Amazon ECS agent to poll. 11818 Endpoint *string `locationName:"endpoint" type:"string"` 11819 11820 // The telemetry endpoint for the Amazon ECS agent. 11821 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 11822} 11823 11824// String returns the string representation 11825func (s DiscoverPollEndpointOutput) String() string { 11826 return awsutil.Prettify(s) 11827} 11828 11829// GoString returns the string representation 11830func (s DiscoverPollEndpointOutput) GoString() string { 11831 return s.String() 11832} 11833 11834// SetEndpoint sets the Endpoint field's value. 11835func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 11836 s.Endpoint = &v 11837 return s 11838} 11839 11840// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 11841func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 11842 s.TelemetryEndpoint = &v 11843 return s 11844} 11845 11846// This parameter is specified when you are using Docker volumes. Docker volumes 11847// are only supported when you are using the EC2 launch type. Windows containers 11848// only support the use of the local driver. To use bind mounts, specify a host 11849// instead. 11850type DockerVolumeConfiguration struct { 11851 _ struct{} `type:"structure"` 11852 11853 // If this value is true, the Docker volume is created if it does not already 11854 // exist. 11855 // 11856 // This field is only used if the scope is shared. 11857 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 11858 11859 // The Docker volume driver to use. The driver value must match the driver name 11860 // provided by Docker because it is used for task placement. If the driver was 11861 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 11862 // driver name from your container instance. If the driver was installed using 11863 // another method, use Docker plugin discovery to retrieve the driver name. 11864 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 11865 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11866 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11867 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11868 Driver *string `locationName:"driver" type:"string"` 11869 11870 // A map of Docker driver-specific options passed through. This parameter maps 11871 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11872 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11873 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11874 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 11875 11876 // Custom metadata to add to your Docker volume. This parameter maps to Labels 11877 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11878 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11879 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11880 Labels map[string]*string `locationName:"labels" type:"map"` 11881 11882 // The scope for the Docker volume that determines its lifecycle. Docker volumes 11883 // that are scoped to a task are automatically provisioned when the task starts 11884 // and destroyed when the task stops. Docker volumes that are scoped as shared 11885 // persist after the task stops. 11886 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 11887} 11888 11889// String returns the string representation 11890func (s DockerVolumeConfiguration) String() string { 11891 return awsutil.Prettify(s) 11892} 11893 11894// GoString returns the string representation 11895func (s DockerVolumeConfiguration) GoString() string { 11896 return s.String() 11897} 11898 11899// SetAutoprovision sets the Autoprovision field's value. 11900func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 11901 s.Autoprovision = &v 11902 return s 11903} 11904 11905// SetDriver sets the Driver field's value. 11906func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 11907 s.Driver = &v 11908 return s 11909} 11910 11911// SetDriverOpts sets the DriverOpts field's value. 11912func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 11913 s.DriverOpts = v 11914 return s 11915} 11916 11917// SetLabels sets the Labels field's value. 11918func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 11919 s.Labels = v 11920 return s 11921} 11922 11923// SetScope sets the Scope field's value. 11924func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 11925 s.Scope = &v 11926 return s 11927} 11928 11929// The authorization configuration details for the Amazon EFS file system. 11930type EFSAuthorizationConfig struct { 11931 _ struct{} `type:"structure"` 11932 11933 // The Amazon EFS access point ID to use. If an access point is specified, the 11934 // root directory value specified in the EFSVolumeConfiguration must either 11935 // be omitted or set to / which will enforce the path set on the EFS access 11936 // point. If an access point is used, transit encryption must be enabled in 11937 // the EFSVolumeConfiguration. For more information, see Working with Amazon 11938 // EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 11939 // in the Amazon Elastic File System User Guide. 11940 AccessPointId *string `locationName:"accessPointId" type:"string"` 11941 11942 // Whether or not to use the Amazon ECS task IAM role defined in a task definition 11943 // when mounting the Amazon EFS file system. If enabled, transit encryption 11944 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 11945 // the default value of DISABLED is used. For more information, see Using Amazon 11946 // EFS Access Points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) 11947 // in the Amazon Elastic Container Service Developer Guide. 11948 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 11949} 11950 11951// String returns the string representation 11952func (s EFSAuthorizationConfig) String() string { 11953 return awsutil.Prettify(s) 11954} 11955 11956// GoString returns the string representation 11957func (s EFSAuthorizationConfig) GoString() string { 11958 return s.String() 11959} 11960 11961// SetAccessPointId sets the AccessPointId field's value. 11962func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 11963 s.AccessPointId = &v 11964 return s 11965} 11966 11967// SetIam sets the Iam field's value. 11968func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 11969 s.Iam = &v 11970 return s 11971} 11972 11973// This parameter is specified when you are using an Amazon Elastic File System 11974// file system for task storage. For more information, see Amazon EFS Volumes 11975// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) 11976// in the Amazon Elastic Container Service Developer Guide. 11977type EFSVolumeConfiguration struct { 11978 _ struct{} `type:"structure"` 11979 11980 // The authorization configuration details for the Amazon EFS file system. 11981 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 11982 11983 // The Amazon EFS file system ID to use. 11984 // 11985 // FileSystemId is a required field 11986 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 11987 11988 // The directory within the Amazon EFS file system to mount as the root directory 11989 // inside the host. If this parameter is omitted, the root of the Amazon EFS 11990 // volume will be used. Specifying / will have the same effect as omitting this 11991 // parameter. 11992 // 11993 // If an EFS access point is specified in the authorizationConfig, the root 11994 // directory parameter must either be omitted or set to / which will enforce 11995 // the path set on the EFS access point. 11996 RootDirectory *string `locationName:"rootDirectory" type:"string"` 11997 11998 // Whether or not to enable encryption for Amazon EFS data in transit between 11999 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 12000 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 12001 // the default value of DISABLED is used. For more information, see Encrypting 12002 // Data in Transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 12003 // in the Amazon Elastic File System User Guide. 12004 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 12005 12006 // The port to use when sending encrypted data between the Amazon ECS host and 12007 // the Amazon EFS server. If you do not specify a transit encryption port, it 12008 // will use the port selection strategy that the Amazon EFS mount helper uses. 12009 // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) 12010 // in the Amazon Elastic File System User Guide. 12011 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 12012} 12013 12014// String returns the string representation 12015func (s EFSVolumeConfiguration) String() string { 12016 return awsutil.Prettify(s) 12017} 12018 12019// GoString returns the string representation 12020func (s EFSVolumeConfiguration) GoString() string { 12021 return s.String() 12022} 12023 12024// Validate inspects the fields of the type to determine if they are valid. 12025func (s *EFSVolumeConfiguration) Validate() error { 12026 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 12027 if s.FileSystemId == nil { 12028 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 12029 } 12030 12031 if invalidParams.Len() > 0 { 12032 return invalidParams 12033 } 12034 return nil 12035} 12036 12037// SetAuthorizationConfig sets the AuthorizationConfig field's value. 12038func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 12039 s.AuthorizationConfig = v 12040 return s 12041} 12042 12043// SetFileSystemId sets the FileSystemId field's value. 12044func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 12045 s.FileSystemId = &v 12046 return s 12047} 12048 12049// SetRootDirectory sets the RootDirectory field's value. 12050func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 12051 s.RootDirectory = &v 12052 return s 12053} 12054 12055// SetTransitEncryption sets the TransitEncryption field's value. 12056func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 12057 s.TransitEncryption = &v 12058 return s 12059} 12060 12061// SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 12062func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 12063 s.TransitEncryptionPort = &v 12064 return s 12065} 12066 12067// A list of files containing the environment variables to pass to a container. 12068// You can specify up to ten environment files. The file must have a .env file 12069// extension. Each line in an environment file should contain an environment 12070// variable in VARIABLE=VALUE format. Lines beginning with # are treated as 12071// comments and are ignored. For more information on the environment variable 12072// file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 12073// 12074// If there are environment variables specified using the environment parameter 12075// in a container definition, they take precedence over the variables contained 12076// within an environment file. If multiple environment files are specified that 12077// contain the same variable, they are processed from the top down. It is recommended 12078// to use unique variable names. For more information, see Specifying environment 12079// variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 12080// in the Amazon Elastic Container Service Developer Guide. 12081// 12082// This field is only valid for containers in Fargate tasks that use platform 12083// version 1.4.0 or later. 12084type EnvironmentFile struct { 12085 _ struct{} `type:"structure"` 12086 12087 // The file type to use. The only supported value is s3. 12088 // 12089 // Type is a required field 12090 Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentFileType"` 12091 12092 // The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment 12093 // variable file. 12094 // 12095 // Value is a required field 12096 Value *string `locationName:"value" type:"string" required:"true"` 12097} 12098 12099// String returns the string representation 12100func (s EnvironmentFile) String() string { 12101 return awsutil.Prettify(s) 12102} 12103 12104// GoString returns the string representation 12105func (s EnvironmentFile) GoString() string { 12106 return s.String() 12107} 12108 12109// Validate inspects the fields of the type to determine if they are valid. 12110func (s *EnvironmentFile) Validate() error { 12111 invalidParams := request.ErrInvalidParams{Context: "EnvironmentFile"} 12112 if s.Type == nil { 12113 invalidParams.Add(request.NewErrParamRequired("Type")) 12114 } 12115 if s.Value == nil { 12116 invalidParams.Add(request.NewErrParamRequired("Value")) 12117 } 12118 12119 if invalidParams.Len() > 0 { 12120 return invalidParams 12121 } 12122 return nil 12123} 12124 12125// SetType sets the Type field's value. 12126func (s *EnvironmentFile) SetType(v string) *EnvironmentFile { 12127 s.Type = &v 12128 return s 12129} 12130 12131// SetValue sets the Value field's value. 12132func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { 12133 s.Value = &v 12134 return s 12135} 12136 12137// The amount of ephemeral storage to allocate for the task. This parameter 12138// is used to expand the total amount of ephemeral storage available, beyond 12139// the default amount, for tasks hosted on Fargate. For more information, see 12140// Fargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) 12141// in the Amazon ECS User Guide for Fargate. 12142// 12143// This parameter is only supported for tasks hosted on Fargate using platform 12144// version 1.4.0 or later. 12145type EphemeralStorage struct { 12146 _ struct{} `type:"structure"` 12147 12148 // The total amount, in GiB, of ephemeral storage to set for the task. The minimum 12149 // supported value is 21 GiB and the maximum supported value is 200 GiB. 12150 // 12151 // SizeInGiB is a required field 12152 SizeInGiB *int64 `locationName:"sizeInGiB" type:"integer" required:"true"` 12153} 12154 12155// String returns the string representation 12156func (s EphemeralStorage) String() string { 12157 return awsutil.Prettify(s) 12158} 12159 12160// GoString returns the string representation 12161func (s EphemeralStorage) GoString() string { 12162 return s.String() 12163} 12164 12165// Validate inspects the fields of the type to determine if they are valid. 12166func (s *EphemeralStorage) Validate() error { 12167 invalidParams := request.ErrInvalidParams{Context: "EphemeralStorage"} 12168 if s.SizeInGiB == nil { 12169 invalidParams.Add(request.NewErrParamRequired("SizeInGiB")) 12170 } 12171 12172 if invalidParams.Len() > 0 { 12173 return invalidParams 12174 } 12175 return nil 12176} 12177 12178// SetSizeInGiB sets the SizeInGiB field's value. 12179func (s *EphemeralStorage) SetSizeInGiB(v int64) *EphemeralStorage { 12180 s.SizeInGiB = &v 12181 return s 12182} 12183 12184// The details of the execute command configuration. 12185type ExecuteCommandConfiguration struct { 12186 _ struct{} `type:"structure"` 12187 12188 // Specify an Key Management Service key ID to encrypt the data between the 12189 // local client and the container. 12190 KmsKeyId *string `locationName:"kmsKeyId" type:"string"` 12191 12192 // The log configuration for the results of the execute command actions. The 12193 // logs can be sent to CloudWatch Logs or an Amazon S3 bucket. When logging=OVERRIDE 12194 // is specified, a logConfiguration must be provided. 12195 LogConfiguration *ExecuteCommandLogConfiguration `locationName:"logConfiguration" type:"structure"` 12196 12197 // The log setting to use for redirecting logs for your execute command results. 12198 // The following log settings are available. 12199 // 12200 // * NONE: The execute command session is not logged. 12201 // 12202 // * DEFAULT: The awslogs configuration in the task definition is used. If 12203 // no logging parameter is specified, it defaults to this value. If no awslogs 12204 // log driver is configured in the task definition, the output won't be logged. 12205 // 12206 // * OVERRIDE: Specify the logging details as a part of logConfiguration. 12207 // If the OVERRIDE logging option is specified, the logConfiguration is required. 12208 Logging *string `locationName:"logging" type:"string" enum:"ExecuteCommandLogging"` 12209} 12210 12211// String returns the string representation 12212func (s ExecuteCommandConfiguration) String() string { 12213 return awsutil.Prettify(s) 12214} 12215 12216// GoString returns the string representation 12217func (s ExecuteCommandConfiguration) GoString() string { 12218 return s.String() 12219} 12220 12221// SetKmsKeyId sets the KmsKeyId field's value. 12222func (s *ExecuteCommandConfiguration) SetKmsKeyId(v string) *ExecuteCommandConfiguration { 12223 s.KmsKeyId = &v 12224 return s 12225} 12226 12227// SetLogConfiguration sets the LogConfiguration field's value. 12228func (s *ExecuteCommandConfiguration) SetLogConfiguration(v *ExecuteCommandLogConfiguration) *ExecuteCommandConfiguration { 12229 s.LogConfiguration = v 12230 return s 12231} 12232 12233// SetLogging sets the Logging field's value. 12234func (s *ExecuteCommandConfiguration) SetLogging(v string) *ExecuteCommandConfiguration { 12235 s.Logging = &v 12236 return s 12237} 12238 12239type ExecuteCommandInput struct { 12240 _ struct{} `type:"structure"` 12241 12242 // The Amazon Resource Name (ARN) or short name of the cluster the task is running 12243 // in. If you do not specify a cluster, the default cluster is assumed. 12244 Cluster *string `locationName:"cluster" type:"string"` 12245 12246 // The command to run on the container. 12247 // 12248 // Command is a required field 12249 Command *string `locationName:"command" type:"string" required:"true"` 12250 12251 // The name of the container to execute the command on. A container name only 12252 // needs to be specified for tasks containing multiple containers. 12253 Container *string `locationName:"container" type:"string"` 12254 12255 // Use this flag to run your command in interactive mode. 12256 // 12257 // Interactive is a required field 12258 Interactive *bool `locationName:"interactive" type:"boolean" required:"true"` 12259 12260 // The Amazon Resource Name (ARN) or ID of the task the container is part of. 12261 // 12262 // Task is a required field 12263 Task *string `locationName:"task" type:"string" required:"true"` 12264} 12265 12266// String returns the string representation 12267func (s ExecuteCommandInput) String() string { 12268 return awsutil.Prettify(s) 12269} 12270 12271// GoString returns the string representation 12272func (s ExecuteCommandInput) GoString() string { 12273 return s.String() 12274} 12275 12276// Validate inspects the fields of the type to determine if they are valid. 12277func (s *ExecuteCommandInput) Validate() error { 12278 invalidParams := request.ErrInvalidParams{Context: "ExecuteCommandInput"} 12279 if s.Command == nil { 12280 invalidParams.Add(request.NewErrParamRequired("Command")) 12281 } 12282 if s.Interactive == nil { 12283 invalidParams.Add(request.NewErrParamRequired("Interactive")) 12284 } 12285 if s.Task == nil { 12286 invalidParams.Add(request.NewErrParamRequired("Task")) 12287 } 12288 12289 if invalidParams.Len() > 0 { 12290 return invalidParams 12291 } 12292 return nil 12293} 12294 12295// SetCluster sets the Cluster field's value. 12296func (s *ExecuteCommandInput) SetCluster(v string) *ExecuteCommandInput { 12297 s.Cluster = &v 12298 return s 12299} 12300 12301// SetCommand sets the Command field's value. 12302func (s *ExecuteCommandInput) SetCommand(v string) *ExecuteCommandInput { 12303 s.Command = &v 12304 return s 12305} 12306 12307// SetContainer sets the Container field's value. 12308func (s *ExecuteCommandInput) SetContainer(v string) *ExecuteCommandInput { 12309 s.Container = &v 12310 return s 12311} 12312 12313// SetInteractive sets the Interactive field's value. 12314func (s *ExecuteCommandInput) SetInteractive(v bool) *ExecuteCommandInput { 12315 s.Interactive = &v 12316 return s 12317} 12318 12319// SetTask sets the Task field's value. 12320func (s *ExecuteCommandInput) SetTask(v string) *ExecuteCommandInput { 12321 s.Task = &v 12322 return s 12323} 12324 12325// The log configuration for the results of the execute command actions. The 12326// logs can be sent to CloudWatch Logs or an Amazon S3 bucket. 12327type ExecuteCommandLogConfiguration struct { 12328 _ struct{} `type:"structure"` 12329 12330 // Whether or not to enable encryption on the CloudWatch logs. If not specified, 12331 // encryption will be disabled. 12332 CloudWatchEncryptionEnabled *bool `locationName:"cloudWatchEncryptionEnabled" type:"boolean"` 12333 12334 // The name of the CloudWatch log group to send logs to. 12335 // 12336 // The CloudWatch log group must already be created. 12337 CloudWatchLogGroupName *string `locationName:"cloudWatchLogGroupName" type:"string"` 12338 12339 // The name of the S3 bucket to send logs to. 12340 // 12341 // The S3 bucket must already be created. 12342 S3BucketName *string `locationName:"s3BucketName" type:"string"` 12343 12344 // Whether or not to enable encryption on the CloudWatch logs. If not specified, 12345 // encryption will be disabled. 12346 S3EncryptionEnabled *bool `locationName:"s3EncryptionEnabled" type:"boolean"` 12347 12348 // An optional folder in the S3 bucket to place logs in. 12349 S3KeyPrefix *string `locationName:"s3KeyPrefix" type:"string"` 12350} 12351 12352// String returns the string representation 12353func (s ExecuteCommandLogConfiguration) String() string { 12354 return awsutil.Prettify(s) 12355} 12356 12357// GoString returns the string representation 12358func (s ExecuteCommandLogConfiguration) GoString() string { 12359 return s.String() 12360} 12361 12362// SetCloudWatchEncryptionEnabled sets the CloudWatchEncryptionEnabled field's value. 12363func (s *ExecuteCommandLogConfiguration) SetCloudWatchEncryptionEnabled(v bool) *ExecuteCommandLogConfiguration { 12364 s.CloudWatchEncryptionEnabled = &v 12365 return s 12366} 12367 12368// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value. 12369func (s *ExecuteCommandLogConfiguration) SetCloudWatchLogGroupName(v string) *ExecuteCommandLogConfiguration { 12370 s.CloudWatchLogGroupName = &v 12371 return s 12372} 12373 12374// SetS3BucketName sets the S3BucketName field's value. 12375func (s *ExecuteCommandLogConfiguration) SetS3BucketName(v string) *ExecuteCommandLogConfiguration { 12376 s.S3BucketName = &v 12377 return s 12378} 12379 12380// SetS3EncryptionEnabled sets the S3EncryptionEnabled field's value. 12381func (s *ExecuteCommandLogConfiguration) SetS3EncryptionEnabled(v bool) *ExecuteCommandLogConfiguration { 12382 s.S3EncryptionEnabled = &v 12383 return s 12384} 12385 12386// SetS3KeyPrefix sets the S3KeyPrefix field's value. 12387func (s *ExecuteCommandLogConfiguration) SetS3KeyPrefix(v string) *ExecuteCommandLogConfiguration { 12388 s.S3KeyPrefix = &v 12389 return s 12390} 12391 12392type ExecuteCommandOutput struct { 12393 _ struct{} `type:"structure"` 12394 12395 // The Amazon Resource Name (ARN) of the cluster. 12396 ClusterArn *string `locationName:"clusterArn" type:"string"` 12397 12398 // The Amazon Resource Name (ARN) of the container. 12399 ContainerArn *string `locationName:"containerArn" type:"string"` 12400 12401 // The name of the container. 12402 ContainerName *string `locationName:"containerName" type:"string"` 12403 12404 // Whether or not the execute command session is running in interactive mode. 12405 // Amazon ECS only supports initiating interactive sessions, so you must specify 12406 // true for this value. 12407 Interactive *bool `locationName:"interactive" type:"boolean"` 12408 12409 // The details of the SSM session that was created for this instance of execute-command. 12410 Session *Session `locationName:"session" type:"structure"` 12411 12412 // The Amazon Resource Name (ARN) of the task. 12413 TaskArn *string `locationName:"taskArn" type:"string"` 12414} 12415 12416// String returns the string representation 12417func (s ExecuteCommandOutput) String() string { 12418 return awsutil.Prettify(s) 12419} 12420 12421// GoString returns the string representation 12422func (s ExecuteCommandOutput) GoString() string { 12423 return s.String() 12424} 12425 12426// SetClusterArn sets the ClusterArn field's value. 12427func (s *ExecuteCommandOutput) SetClusterArn(v string) *ExecuteCommandOutput { 12428 s.ClusterArn = &v 12429 return s 12430} 12431 12432// SetContainerArn sets the ContainerArn field's value. 12433func (s *ExecuteCommandOutput) SetContainerArn(v string) *ExecuteCommandOutput { 12434 s.ContainerArn = &v 12435 return s 12436} 12437 12438// SetContainerName sets the ContainerName field's value. 12439func (s *ExecuteCommandOutput) SetContainerName(v string) *ExecuteCommandOutput { 12440 s.ContainerName = &v 12441 return s 12442} 12443 12444// SetInteractive sets the Interactive field's value. 12445func (s *ExecuteCommandOutput) SetInteractive(v bool) *ExecuteCommandOutput { 12446 s.Interactive = &v 12447 return s 12448} 12449 12450// SetSession sets the Session field's value. 12451func (s *ExecuteCommandOutput) SetSession(v *Session) *ExecuteCommandOutput { 12452 s.Session = v 12453 return s 12454} 12455 12456// SetTaskArn sets the TaskArn field's value. 12457func (s *ExecuteCommandOutput) SetTaskArn(v string) *ExecuteCommandOutput { 12458 s.TaskArn = &v 12459 return s 12460} 12461 12462// The authorization configuration details for Amazon FSx for Windows File Server 12463// file system. See FSxWindowsFileServerVolumeConfiguration (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html) 12464// in the Amazon Elastic Container Service API Reference. 12465// 12466// For more information and the input format, see Amazon FSx for Windows File 12467// Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) 12468// in the Amazon Elastic Container Service Developer Guide. 12469type FSxWindowsFileServerAuthorizationConfig struct { 12470 _ struct{} `type:"structure"` 12471 12472 // The authorization credential option to use. The authorization credential 12473 // options can be provided using either the Amazon Resource Name (ARN) of an 12474 // Secrets Manager secret or SSM Parameter Store parameter. The ARNs refer to 12475 // the stored credentials. 12476 // 12477 // CredentialsParameter is a required field 12478 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 12479 12480 // A fully qualified domain name hosted by an Directory Service (https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) 12481 // Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2. 12482 // 12483 // Domain is a required field 12484 Domain *string `locationName:"domain" type:"string" required:"true"` 12485} 12486 12487// String returns the string representation 12488func (s FSxWindowsFileServerAuthorizationConfig) String() string { 12489 return awsutil.Prettify(s) 12490} 12491 12492// GoString returns the string representation 12493func (s FSxWindowsFileServerAuthorizationConfig) GoString() string { 12494 return s.String() 12495} 12496 12497// Validate inspects the fields of the type to determine if they are valid. 12498func (s *FSxWindowsFileServerAuthorizationConfig) Validate() error { 12499 invalidParams := request.ErrInvalidParams{Context: "FSxWindowsFileServerAuthorizationConfig"} 12500 if s.CredentialsParameter == nil { 12501 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 12502 } 12503 if s.Domain == nil { 12504 invalidParams.Add(request.NewErrParamRequired("Domain")) 12505 } 12506 12507 if invalidParams.Len() > 0 { 12508 return invalidParams 12509 } 12510 return nil 12511} 12512 12513// SetCredentialsParameter sets the CredentialsParameter field's value. 12514func (s *FSxWindowsFileServerAuthorizationConfig) SetCredentialsParameter(v string) *FSxWindowsFileServerAuthorizationConfig { 12515 s.CredentialsParameter = &v 12516 return s 12517} 12518 12519// SetDomain sets the Domain field's value. 12520func (s *FSxWindowsFileServerAuthorizationConfig) SetDomain(v string) *FSxWindowsFileServerAuthorizationConfig { 12521 s.Domain = &v 12522 return s 12523} 12524 12525// This parameter is specified when you are using Amazon FSx for Windows File 12526// Server (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) 12527// file system for task storage. 12528// 12529// For more information and the input format, see Amazon FSx for Windows File 12530// Server Volumes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html) 12531// in the Amazon Elastic Container Service Developer Guide. 12532type FSxWindowsFileServerVolumeConfiguration struct { 12533 _ struct{} `type:"structure"` 12534 12535 // The authorization configuration details for the Amazon FSx for Windows File 12536 // Server file system. 12537 // 12538 // AuthorizationConfig is a required field 12539 AuthorizationConfig *FSxWindowsFileServerAuthorizationConfig `locationName:"authorizationConfig" type:"structure" required:"true"` 12540 12541 // The Amazon FSx for Windows File Server file system ID to use. 12542 // 12543 // FileSystemId is a required field 12544 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 12545 12546 // The directory within the Amazon FSx for Windows File Server file system to 12547 // mount as the root directory inside the host. 12548 // 12549 // RootDirectory is a required field 12550 RootDirectory *string `locationName:"rootDirectory" type:"string" required:"true"` 12551} 12552 12553// String returns the string representation 12554func (s FSxWindowsFileServerVolumeConfiguration) String() string { 12555 return awsutil.Prettify(s) 12556} 12557 12558// GoString returns the string representation 12559func (s FSxWindowsFileServerVolumeConfiguration) GoString() string { 12560 return s.String() 12561} 12562 12563// Validate inspects the fields of the type to determine if they are valid. 12564func (s *FSxWindowsFileServerVolumeConfiguration) Validate() error { 12565 invalidParams := request.ErrInvalidParams{Context: "FSxWindowsFileServerVolumeConfiguration"} 12566 if s.AuthorizationConfig == nil { 12567 invalidParams.Add(request.NewErrParamRequired("AuthorizationConfig")) 12568 } 12569 if s.FileSystemId == nil { 12570 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 12571 } 12572 if s.RootDirectory == nil { 12573 invalidParams.Add(request.NewErrParamRequired("RootDirectory")) 12574 } 12575 if s.AuthorizationConfig != nil { 12576 if err := s.AuthorizationConfig.Validate(); err != nil { 12577 invalidParams.AddNested("AuthorizationConfig", err.(request.ErrInvalidParams)) 12578 } 12579 } 12580 12581 if invalidParams.Len() > 0 { 12582 return invalidParams 12583 } 12584 return nil 12585} 12586 12587// SetAuthorizationConfig sets the AuthorizationConfig field's value. 12588func (s *FSxWindowsFileServerVolumeConfiguration) SetAuthorizationConfig(v *FSxWindowsFileServerAuthorizationConfig) *FSxWindowsFileServerVolumeConfiguration { 12589 s.AuthorizationConfig = v 12590 return s 12591} 12592 12593// SetFileSystemId sets the FileSystemId field's value. 12594func (s *FSxWindowsFileServerVolumeConfiguration) SetFileSystemId(v string) *FSxWindowsFileServerVolumeConfiguration { 12595 s.FileSystemId = &v 12596 return s 12597} 12598 12599// SetRootDirectory sets the RootDirectory field's value. 12600func (s *FSxWindowsFileServerVolumeConfiguration) SetRootDirectory(v string) *FSxWindowsFileServerVolumeConfiguration { 12601 s.RootDirectory = &v 12602 return s 12603} 12604 12605// A failed resource. For a list of common causes, see API failure reasons (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html) 12606// in the Amazon Elastic Container Service Developer Guide. 12607type Failure struct { 12608 _ struct{} `type:"structure"` 12609 12610 // The Amazon Resource Name (ARN) of the failed resource. 12611 Arn *string `locationName:"arn" type:"string"` 12612 12613 // The details of the failure. 12614 Detail *string `locationName:"detail" type:"string"` 12615 12616 // The reason for the failure. 12617 Reason *string `locationName:"reason" type:"string"` 12618} 12619 12620// String returns the string representation 12621func (s Failure) String() string { 12622 return awsutil.Prettify(s) 12623} 12624 12625// GoString returns the string representation 12626func (s Failure) GoString() string { 12627 return s.String() 12628} 12629 12630// SetArn sets the Arn field's value. 12631func (s *Failure) SetArn(v string) *Failure { 12632 s.Arn = &v 12633 return s 12634} 12635 12636// SetDetail sets the Detail field's value. 12637func (s *Failure) SetDetail(v string) *Failure { 12638 s.Detail = &v 12639 return s 12640} 12641 12642// SetReason sets the Reason field's value. 12643func (s *Failure) SetReason(v string) *Failure { 12644 s.Reason = &v 12645 return s 12646} 12647 12648// The FireLens configuration for the container. This is used to specify and 12649// configure a log router for container logs. For more information, see Custom 12650// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 12651// in the Amazon Elastic Container Service Developer Guide. 12652type FirelensConfiguration struct { 12653 _ struct{} `type:"structure"` 12654 12655 // The options to use when configuring the log router. This field is optional 12656 // and can be used to specify a custom configuration file or to add additional 12657 // metadata, such as the task, task definition, cluster, and container instance 12658 // 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"}. 12659 // For more information, see Creating a Task Definition that Uses a FireLens 12660 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 12661 // in the Amazon Elastic Container Service Developer Guide. 12662 // 12663 // Tasks hosted on Fargate only support the file configuration file type. 12664 Options map[string]*string `locationName:"options" type:"map"` 12665 12666 // The log router to use. The valid values are fluentd or fluentbit. 12667 // 12668 // Type is a required field 12669 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 12670} 12671 12672// String returns the string representation 12673func (s FirelensConfiguration) String() string { 12674 return awsutil.Prettify(s) 12675} 12676 12677// GoString returns the string representation 12678func (s FirelensConfiguration) GoString() string { 12679 return s.String() 12680} 12681 12682// Validate inspects the fields of the type to determine if they are valid. 12683func (s *FirelensConfiguration) Validate() error { 12684 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 12685 if s.Type == nil { 12686 invalidParams.Add(request.NewErrParamRequired("Type")) 12687 } 12688 12689 if invalidParams.Len() > 0 { 12690 return invalidParams 12691 } 12692 return nil 12693} 12694 12695// SetOptions sets the Options field's value. 12696func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 12697 s.Options = v 12698 return s 12699} 12700 12701// SetType sets the Type field's value. 12702func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 12703 s.Type = &v 12704 return s 12705} 12706 12707// An object representing a container health check. Health check parameters 12708// that are specified in a container definition override any Docker health checks 12709// that exist in the container image (such as those specified in a parent image 12710// or from the image's Dockerfile). 12711// 12712// You can view the health status of both individual containers and a task with 12713// the DescribeTasks API operation or when viewing the task details in the console. 12714// 12715// The following describes the possible healthStatus values for a container: 12716// 12717// * HEALTHY-The container health check has passed successfully. 12718// 12719// * UNHEALTHY-The container health check has failed. 12720// 12721// * UNKNOWN-The container health check is being evaluated or there is no 12722// container health check defined. 12723// 12724// The following describes the possible healthStatus values for a task. The 12725// container health check status of nonessential containers do not have an effect 12726// on the health status of a task. 12727// 12728// * HEALTHY-All essential containers within the task have passed their health 12729// checks. 12730// 12731// * UNHEALTHY-One or more essential containers have failed their health 12732// check. 12733// 12734// * UNKNOWN-The essential containers within the task are still having their 12735// health checks evaluated or there are no container health checks defined. 12736// 12737// If a task is run manually, and not as part of a service, the task will continue 12738// its lifecycle regardless of its health status. For tasks that are part of 12739// a service, if the task reports as unhealthy then the task will be stopped 12740// and the service scheduler will replace it. 12741// 12742// The following are notes about container health check support: 12743// 12744// * Container health checks require version 1.17.0 or greater of the Amazon 12745// ECS container agent. For more information, see Updating the Amazon ECS 12746// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 12747// 12748// * Container health checks are supported for Fargate tasks if you are using 12749// platform version 1.1.0 or greater. For more information, see Fargate Platform 12750// Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 12751// 12752// * Container health checks are not supported for tasks that are part of 12753// a service that is configured to use a Classic Load Balancer. 12754type HealthCheck struct { 12755 _ struct{} `type:"structure"` 12756 12757 // A string array representing the command that the container runs to determine 12758 // if it is healthy. The string array must start with CMD to execute the command 12759 // arguments directly, or CMD-SHELL to run the command with the container's 12760 // default shell. 12761 // 12762 // When you use the Amazon Web Services Management Console JSON panel, the Command 12763 // Line Interface, or the APIs, you should enclose the list of commands in brackets, 12764 // as shown below. 12765 // 12766 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 12767 // 12768 // You do not need to include the brackets when you use the Amazon Web Services 12769 // Management Consoleas shown below. 12770 // 12771 // "CMD-SHELL", "curl -f http://localhost/ || exit 1" 12772 // 12773 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 12774 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12775 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 12776 // 12777 // Command is a required field 12778 Command []*string `locationName:"command" type:"list" required:"true"` 12779 12780 // The time period in seconds between each health check execution. You may specify 12781 // between 5 and 300 seconds. The default value is 30 seconds. 12782 Interval *int64 `locationName:"interval" type:"integer"` 12783 12784 // The number of times to retry a failed health check before the container is 12785 // considered unhealthy. You may specify between 1 and 10 retries. The default 12786 // value is 3. 12787 Retries *int64 `locationName:"retries" type:"integer"` 12788 12789 // The optional grace period within which to provide containers time to bootstrap 12790 // before failed health checks count towards the maximum number of retries. 12791 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 12792 // default. 12793 // 12794 // If a health check succeeds within the startPeriod, then the container is 12795 // considered healthy and any subsequent failures count toward the maximum number 12796 // of retries. 12797 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 12798 12799 // The time period in seconds to wait for a health check to succeed before it 12800 // is considered a failure. You may specify between 2 and 60 seconds. The default 12801 // value is 5. 12802 Timeout *int64 `locationName:"timeout" type:"integer"` 12803} 12804 12805// String returns the string representation 12806func (s HealthCheck) String() string { 12807 return awsutil.Prettify(s) 12808} 12809 12810// GoString returns the string representation 12811func (s HealthCheck) GoString() string { 12812 return s.String() 12813} 12814 12815// Validate inspects the fields of the type to determine if they are valid. 12816func (s *HealthCheck) Validate() error { 12817 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 12818 if s.Command == nil { 12819 invalidParams.Add(request.NewErrParamRequired("Command")) 12820 } 12821 12822 if invalidParams.Len() > 0 { 12823 return invalidParams 12824 } 12825 return nil 12826} 12827 12828// SetCommand sets the Command field's value. 12829func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 12830 s.Command = v 12831 return s 12832} 12833 12834// SetInterval sets the Interval field's value. 12835func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 12836 s.Interval = &v 12837 return s 12838} 12839 12840// SetRetries sets the Retries field's value. 12841func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 12842 s.Retries = &v 12843 return s 12844} 12845 12846// SetStartPeriod sets the StartPeriod field's value. 12847func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 12848 s.StartPeriod = &v 12849 return s 12850} 12851 12852// SetTimeout sets the Timeout field's value. 12853func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 12854 s.Timeout = &v 12855 return s 12856} 12857 12858// Hostnames and IP address entries that are added to the /etc/hosts file of 12859// a container via the extraHosts parameter of its ContainerDefinition. 12860type HostEntry struct { 12861 _ struct{} `type:"structure"` 12862 12863 // The hostname to use in the /etc/hosts entry. 12864 // 12865 // Hostname is a required field 12866 Hostname *string `locationName:"hostname" type:"string" required:"true"` 12867 12868 // The IP address to use in the /etc/hosts entry. 12869 // 12870 // IpAddress is a required field 12871 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 12872} 12873 12874// String returns the string representation 12875func (s HostEntry) String() string { 12876 return awsutil.Prettify(s) 12877} 12878 12879// GoString returns the string representation 12880func (s HostEntry) GoString() string { 12881 return s.String() 12882} 12883 12884// Validate inspects the fields of the type to determine if they are valid. 12885func (s *HostEntry) Validate() error { 12886 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 12887 if s.Hostname == nil { 12888 invalidParams.Add(request.NewErrParamRequired("Hostname")) 12889 } 12890 if s.IpAddress == nil { 12891 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 12892 } 12893 12894 if invalidParams.Len() > 0 { 12895 return invalidParams 12896 } 12897 return nil 12898} 12899 12900// SetHostname sets the Hostname field's value. 12901func (s *HostEntry) SetHostname(v string) *HostEntry { 12902 s.Hostname = &v 12903 return s 12904} 12905 12906// SetIpAddress sets the IpAddress field's value. 12907func (s *HostEntry) SetIpAddress(v string) *HostEntry { 12908 s.IpAddress = &v 12909 return s 12910} 12911 12912// Details on a container instance bind mount host volume. 12913type HostVolumeProperties struct { 12914 _ struct{} `type:"structure"` 12915 12916 // When the host parameter is used, specify a sourcePath to declare the path 12917 // on the host container instance that is presented to the container. If this 12918 // parameter is empty, then the Docker daemon has assigned a host path for you. 12919 // If the host parameter contains a sourcePath file location, then the data 12920 // volume persists at the specified location on the host container instance 12921 // until you delete it manually. If the sourcePath value does not exist on the 12922 // host container instance, the Docker daemon creates it. If the location does 12923 // exist, the contents of the source path folder are exported. 12924 // 12925 // If you are using the Fargate launch type, the sourcePath parameter is not 12926 // supported. 12927 SourcePath *string `locationName:"sourcePath" type:"string"` 12928} 12929 12930// String returns the string representation 12931func (s HostVolumeProperties) String() string { 12932 return awsutil.Prettify(s) 12933} 12934 12935// GoString returns the string representation 12936func (s HostVolumeProperties) GoString() string { 12937 return s.String() 12938} 12939 12940// SetSourcePath sets the SourcePath field's value. 12941func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 12942 s.SourcePath = &v 12943 return s 12944} 12945 12946// Details on a Elastic Inference accelerator. For more information, see Working 12947// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 12948// in the Amazon Elastic Container Service Developer Guide. 12949type InferenceAccelerator struct { 12950 _ struct{} `type:"structure"` 12951 12952 // The Elastic Inference accelerator device name. The deviceName must also be 12953 // referenced in a container definition as a ResourceRequirement. 12954 // 12955 // DeviceName is a required field 12956 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 12957 12958 // The Elastic Inference accelerator type to use. 12959 // 12960 // DeviceType is a required field 12961 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 12962} 12963 12964// String returns the string representation 12965func (s InferenceAccelerator) String() string { 12966 return awsutil.Prettify(s) 12967} 12968 12969// GoString returns the string representation 12970func (s InferenceAccelerator) GoString() string { 12971 return s.String() 12972} 12973 12974// Validate inspects the fields of the type to determine if they are valid. 12975func (s *InferenceAccelerator) Validate() error { 12976 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 12977 if s.DeviceName == nil { 12978 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 12979 } 12980 if s.DeviceType == nil { 12981 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 12982 } 12983 12984 if invalidParams.Len() > 0 { 12985 return invalidParams 12986 } 12987 return nil 12988} 12989 12990// SetDeviceName sets the DeviceName field's value. 12991func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 12992 s.DeviceName = &v 12993 return s 12994} 12995 12996// SetDeviceType sets the DeviceType field's value. 12997func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 12998 s.DeviceType = &v 12999 return s 13000} 13001 13002// Details on an Elastic Inference accelerator task override. This parameter 13003// is used to override the Elastic Inference accelerator specified in the task 13004// definition. For more information, see Working with Amazon Elastic Inference 13005// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 13006// in the Amazon Elastic Container Service Developer Guide. 13007type InferenceAcceleratorOverride struct { 13008 _ struct{} `type:"structure"` 13009 13010 // The Elastic Inference accelerator device name to override for the task. This 13011 // parameter must match a deviceName specified in the task definition. 13012 DeviceName *string `locationName:"deviceName" type:"string"` 13013 13014 // The Elastic Inference accelerator type to use. 13015 DeviceType *string `locationName:"deviceType" type:"string"` 13016} 13017 13018// String returns the string representation 13019func (s InferenceAcceleratorOverride) String() string { 13020 return awsutil.Prettify(s) 13021} 13022 13023// GoString returns the string representation 13024func (s InferenceAcceleratorOverride) GoString() string { 13025 return s.String() 13026} 13027 13028// SetDeviceName sets the DeviceName field's value. 13029func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 13030 s.DeviceName = &v 13031 return s 13032} 13033 13034// SetDeviceType sets the DeviceType field's value. 13035func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 13036 s.DeviceType = &v 13037 return s 13038} 13039 13040// The specified parameter is invalid. Review the available parameters for the 13041// API request. 13042type InvalidParameterException struct { 13043 _ struct{} `type:"structure"` 13044 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13045 13046 Message_ *string `locationName:"message" type:"string"` 13047} 13048 13049// String returns the string representation 13050func (s InvalidParameterException) String() string { 13051 return awsutil.Prettify(s) 13052} 13053 13054// GoString returns the string representation 13055func (s InvalidParameterException) GoString() string { 13056 return s.String() 13057} 13058 13059func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 13060 return &InvalidParameterException{ 13061 RespMetadata: v, 13062 } 13063} 13064 13065// Code returns the exception type name. 13066func (s *InvalidParameterException) Code() string { 13067 return "InvalidParameterException" 13068} 13069 13070// Message returns the exception's message. 13071func (s *InvalidParameterException) Message() string { 13072 if s.Message_ != nil { 13073 return *s.Message_ 13074 } 13075 return "" 13076} 13077 13078// OrigErr always returns nil, satisfies awserr.Error interface. 13079func (s *InvalidParameterException) OrigErr() error { 13080 return nil 13081} 13082 13083func (s *InvalidParameterException) Error() string { 13084 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13085} 13086 13087// Status code returns the HTTP status code for the request's response error. 13088func (s *InvalidParameterException) StatusCode() int { 13089 return s.RespMetadata.StatusCode 13090} 13091 13092// RequestID returns the service's response RequestID for request. 13093func (s *InvalidParameterException) RequestID() string { 13094 return s.RespMetadata.RequestID 13095} 13096 13097// The Linux capabilities for the container that are added to or dropped from 13098// the default configuration provided by Docker. For more information on the 13099// default capabilities and the non-default available capabilities, see Runtime 13100// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 13101// in the Docker run reference. For more detailed information on these Linux 13102// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 13103// Linux manual page. 13104type KernelCapabilities struct { 13105 _ struct{} `type:"structure"` 13106 13107 // The Linux capabilities for the container that have been added to the default 13108 // configuration provided by Docker. This parameter maps to CapAdd in the Create 13109 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13110 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13111 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13112 // 13113 // Tasks launched on Fargate only support adding the SYS_PTRACE kernel capability. 13114 // 13115 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 13116 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 13117 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 13118 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 13119 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 13120 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 13121 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 13122 // "WAKE_ALARM" 13123 Add []*string `locationName:"add" type:"list"` 13124 13125 // The Linux capabilities for the container that have been removed from the 13126 // default configuration provided by Docker. This parameter maps to CapDrop 13127 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13128 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13129 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13130 // 13131 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 13132 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 13133 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 13134 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 13135 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 13136 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 13137 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 13138 // "WAKE_ALARM" 13139 Drop []*string `locationName:"drop" type:"list"` 13140} 13141 13142// String returns the string representation 13143func (s KernelCapabilities) String() string { 13144 return awsutil.Prettify(s) 13145} 13146 13147// GoString returns the string representation 13148func (s KernelCapabilities) GoString() string { 13149 return s.String() 13150} 13151 13152// SetAdd sets the Add field's value. 13153func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 13154 s.Add = v 13155 return s 13156} 13157 13158// SetDrop sets the Drop field's value. 13159func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 13160 s.Drop = v 13161 return s 13162} 13163 13164// A key-value pair object. 13165type KeyValuePair struct { 13166 _ struct{} `type:"structure"` 13167 13168 // The name of the key-value pair. For environment variables, this is the name 13169 // of the environment variable. 13170 Name *string `locationName:"name" type:"string"` 13171 13172 // The value of the key-value pair. For environment variables, this is the value 13173 // of the environment variable. 13174 Value *string `locationName:"value" type:"string"` 13175} 13176 13177// String returns the string representation 13178func (s KeyValuePair) String() string { 13179 return awsutil.Prettify(s) 13180} 13181 13182// GoString returns the string representation 13183func (s KeyValuePair) GoString() string { 13184 return s.String() 13185} 13186 13187// SetName sets the Name field's value. 13188func (s *KeyValuePair) SetName(v string) *KeyValuePair { 13189 s.Name = &v 13190 return s 13191} 13192 13193// SetValue sets the Value field's value. 13194func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 13195 s.Value = &v 13196 return s 13197} 13198 13199// The limit for the resource has been exceeded. 13200type LimitExceededException struct { 13201 _ struct{} `type:"structure"` 13202 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13203 13204 Message_ *string `locationName:"message" type:"string"` 13205} 13206 13207// String returns the string representation 13208func (s LimitExceededException) String() string { 13209 return awsutil.Prettify(s) 13210} 13211 13212// GoString returns the string representation 13213func (s LimitExceededException) GoString() string { 13214 return s.String() 13215} 13216 13217func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 13218 return &LimitExceededException{ 13219 RespMetadata: v, 13220 } 13221} 13222 13223// Code returns the exception type name. 13224func (s *LimitExceededException) Code() string { 13225 return "LimitExceededException" 13226} 13227 13228// Message returns the exception's message. 13229func (s *LimitExceededException) Message() string { 13230 if s.Message_ != nil { 13231 return *s.Message_ 13232 } 13233 return "" 13234} 13235 13236// OrigErr always returns nil, satisfies awserr.Error interface. 13237func (s *LimitExceededException) OrigErr() error { 13238 return nil 13239} 13240 13241func (s *LimitExceededException) Error() string { 13242 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13243} 13244 13245// Status code returns the HTTP status code for the request's response error. 13246func (s *LimitExceededException) StatusCode() int { 13247 return s.RespMetadata.StatusCode 13248} 13249 13250// RequestID returns the service's response RequestID for request. 13251func (s *LimitExceededException) RequestID() string { 13252 return s.RespMetadata.RequestID 13253} 13254 13255// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 13256type LinuxParameters struct { 13257 _ struct{} `type:"structure"` 13258 13259 // The Linux capabilities for the container that are added to or dropped from 13260 // the default configuration provided by Docker. 13261 // 13262 // For tasks that use the Fargate launch type, capabilities is supported for 13263 // all platform versions but the add parameter is only supported if using platform 13264 // version 1.4.0 or later. 13265 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 13266 13267 // Any host devices to expose to the container. This parameter maps to Devices 13268 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13269 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13270 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13271 // 13272 // If you are using tasks that use the Fargate launch type, the devices parameter 13273 // is not supported. 13274 Devices []*Device `locationName:"devices" type:"list"` 13275 13276 // Run an init process inside the container that forwards signals and reaps 13277 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13278 // This parameter requires version 1.25 of the Docker Remote API or greater 13279 // on your container instance. To check the Docker Remote API version on your 13280 // container instance, log in to your container instance and run the following 13281 // command: sudo docker version --format '{{.Server.APIVersion}}' 13282 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 13283 13284 // The total amount of swap memory (in MiB) a container can use. This parameter 13285 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration) 13286 // where the value would be the sum of the container memory plus the maxSwap 13287 // value. 13288 // 13289 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 13290 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 13291 // the container will use the swap configuration for the container instance 13292 // it is running on. A maxSwap value must be set for the swappiness parameter 13293 // to be used. 13294 // 13295 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 13296 // is not supported. 13297 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 13298 13299 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 13300 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13301 // 13302 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 13303 // parameter is not supported. 13304 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 13305 13306 // This allows you to tune a container's memory swappiness behavior. A swappiness 13307 // value of 0 will cause swapping to not happen unless absolutely necessary. 13308 // A swappiness value of 100 will cause pages to be swapped very aggressively. 13309 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 13310 // is not specified, a default value of 60 is used. If a value is not specified 13311 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 13312 // option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13313 // 13314 // If you are using tasks that use the Fargate launch type, the swappiness parameter 13315 // is not supported. 13316 Swappiness *int64 `locationName:"swappiness" type:"integer"` 13317 13318 // The container path, mount options, and size (in MiB) of the tmpfs mount. 13319 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 13320 // 13321 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 13322 // is not supported. 13323 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 13324} 13325 13326// String returns the string representation 13327func (s LinuxParameters) String() string { 13328 return awsutil.Prettify(s) 13329} 13330 13331// GoString returns the string representation 13332func (s LinuxParameters) GoString() string { 13333 return s.String() 13334} 13335 13336// Validate inspects the fields of the type to determine if they are valid. 13337func (s *LinuxParameters) Validate() error { 13338 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 13339 if s.Devices != nil { 13340 for i, v := range s.Devices { 13341 if v == nil { 13342 continue 13343 } 13344 if err := v.Validate(); err != nil { 13345 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 13346 } 13347 } 13348 } 13349 if s.Tmpfs != nil { 13350 for i, v := range s.Tmpfs { 13351 if v == nil { 13352 continue 13353 } 13354 if err := v.Validate(); err != nil { 13355 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 13356 } 13357 } 13358 } 13359 13360 if invalidParams.Len() > 0 { 13361 return invalidParams 13362 } 13363 return nil 13364} 13365 13366// SetCapabilities sets the Capabilities field's value. 13367func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 13368 s.Capabilities = v 13369 return s 13370} 13371 13372// SetDevices sets the Devices field's value. 13373func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 13374 s.Devices = v 13375 return s 13376} 13377 13378// SetInitProcessEnabled sets the InitProcessEnabled field's value. 13379func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 13380 s.InitProcessEnabled = &v 13381 return s 13382} 13383 13384// SetMaxSwap sets the MaxSwap field's value. 13385func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 13386 s.MaxSwap = &v 13387 return s 13388} 13389 13390// SetSharedMemorySize sets the SharedMemorySize field's value. 13391func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 13392 s.SharedMemorySize = &v 13393 return s 13394} 13395 13396// SetSwappiness sets the Swappiness field's value. 13397func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 13398 s.Swappiness = &v 13399 return s 13400} 13401 13402// SetTmpfs sets the Tmpfs field's value. 13403func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 13404 s.Tmpfs = v 13405 return s 13406} 13407 13408type ListAccountSettingsInput struct { 13409 _ struct{} `type:"structure"` 13410 13411 // Specifies whether to return the effective settings. If true, the account 13412 // settings for the root user or the default setting for the principalArn are 13413 // returned. If false, the account settings for the principalArn are returned 13414 // if they are set. Otherwise, no account settings are returned. 13415 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 13416 13417 // The maximum number of account setting results returned by ListAccountSettings 13418 // in paginated output. When this parameter is used, ListAccountSettings only 13419 // returns maxResults results in a single page along with a nextToken response 13420 // element. The remaining results of the initial request can be seen by sending 13421 // another ListAccountSettings request with the returned nextToken value. This 13422 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 13423 // returns up to 10 results and a nextToken value if applicable. 13424 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13425 13426 // The name of the account setting you want to list the settings for. 13427 Name *string `locationName:"name" type:"string" enum:"SettingName"` 13428 13429 // The nextToken value returned from a ListAccountSettings request indicating 13430 // that more results are available to fulfill the request and further calls 13431 // will be needed. If maxResults was provided, it is possible the number of 13432 // results to be fewer than maxResults. 13433 // 13434 // This token should be treated as an opaque identifier that is only used to 13435 // retrieve the next items in a list and not for other programmatic purposes. 13436 NextToken *string `locationName:"nextToken" type:"string"` 13437 13438 // The ARN of the principal, which can be an IAM user, IAM role, or the root 13439 // user. If this field is omitted, the account settings are listed only for 13440 // the authenticated user. 13441 // 13442 // Federated users assume the account setting of the root user and can't have 13443 // explicit account settings set for them. 13444 PrincipalArn *string `locationName:"principalArn" type:"string"` 13445 13446 // The value of the account settings with which to filter results. You must 13447 // also specify an account setting name to use this parameter. 13448 Value *string `locationName:"value" type:"string"` 13449} 13450 13451// String returns the string representation 13452func (s ListAccountSettingsInput) String() string { 13453 return awsutil.Prettify(s) 13454} 13455 13456// GoString returns the string representation 13457func (s ListAccountSettingsInput) GoString() string { 13458 return s.String() 13459} 13460 13461// SetEffectiveSettings sets the EffectiveSettings field's value. 13462func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 13463 s.EffectiveSettings = &v 13464 return s 13465} 13466 13467// SetMaxResults sets the MaxResults field's value. 13468func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 13469 s.MaxResults = &v 13470 return s 13471} 13472 13473// SetName sets the Name field's value. 13474func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 13475 s.Name = &v 13476 return s 13477} 13478 13479// SetNextToken sets the NextToken field's value. 13480func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 13481 s.NextToken = &v 13482 return s 13483} 13484 13485// SetPrincipalArn sets the PrincipalArn field's value. 13486func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 13487 s.PrincipalArn = &v 13488 return s 13489} 13490 13491// SetValue sets the Value field's value. 13492func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 13493 s.Value = &v 13494 return s 13495} 13496 13497type ListAccountSettingsOutput struct { 13498 _ struct{} `type:"structure"` 13499 13500 // The nextToken value to include in a future ListAccountSettings request. When 13501 // the results of a ListAccountSettings request exceed maxResults, this value 13502 // can be used to retrieve the next page of results. This value is null when 13503 // there are no more results to return. 13504 NextToken *string `locationName:"nextToken" type:"string"` 13505 13506 // The account settings for the resource. 13507 Settings []*Setting `locationName:"settings" type:"list"` 13508} 13509 13510// String returns the string representation 13511func (s ListAccountSettingsOutput) String() string { 13512 return awsutil.Prettify(s) 13513} 13514 13515// GoString returns the string representation 13516func (s ListAccountSettingsOutput) GoString() string { 13517 return s.String() 13518} 13519 13520// SetNextToken sets the NextToken field's value. 13521func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 13522 s.NextToken = &v 13523 return s 13524} 13525 13526// SetSettings sets the Settings field's value. 13527func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 13528 s.Settings = v 13529 return s 13530} 13531 13532type ListAttributesInput struct { 13533 _ struct{} `type:"structure"` 13534 13535 // The name of the attribute with which to filter the results. 13536 AttributeName *string `locationName:"attributeName" type:"string"` 13537 13538 // The value of the attribute with which to filter results. You must also specify 13539 // an attribute name to use this parameter. 13540 AttributeValue *string `locationName:"attributeValue" type:"string"` 13541 13542 // The short name or full Amazon Resource Name (ARN) of the cluster to list 13543 // attributes. If you do not specify a cluster, the default cluster is assumed. 13544 Cluster *string `locationName:"cluster" type:"string"` 13545 13546 // The maximum number of cluster results returned by ListAttributes in paginated 13547 // output. When this parameter is used, ListAttributes only returns maxResults 13548 // results in a single page along with a nextToken response element. The remaining 13549 // results of the initial request can be seen by sending another ListAttributes 13550 // request with the returned nextToken value. This value can be between 1 and 13551 // 100. If this parameter is not used, then ListAttributes returns up to 100 13552 // results and a nextToken value if applicable. 13553 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13554 13555 // The nextToken value returned from a ListAttributes request indicating that 13556 // more results are available to fulfill the request and further calls will 13557 // be needed. If maxResults was provided, it is possible the number of results 13558 // to be fewer than maxResults. 13559 // 13560 // This token should be treated as an opaque identifier that is only used to 13561 // retrieve the next items in a list and not for other programmatic purposes. 13562 NextToken *string `locationName:"nextToken" type:"string"` 13563 13564 // The type of the target with which to list attributes. 13565 // 13566 // TargetType is a required field 13567 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 13568} 13569 13570// String returns the string representation 13571func (s ListAttributesInput) String() string { 13572 return awsutil.Prettify(s) 13573} 13574 13575// GoString returns the string representation 13576func (s ListAttributesInput) GoString() string { 13577 return s.String() 13578} 13579 13580// Validate inspects the fields of the type to determine if they are valid. 13581func (s *ListAttributesInput) Validate() error { 13582 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 13583 if s.TargetType == nil { 13584 invalidParams.Add(request.NewErrParamRequired("TargetType")) 13585 } 13586 13587 if invalidParams.Len() > 0 { 13588 return invalidParams 13589 } 13590 return nil 13591} 13592 13593// SetAttributeName sets the AttributeName field's value. 13594func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 13595 s.AttributeName = &v 13596 return s 13597} 13598 13599// SetAttributeValue sets the AttributeValue field's value. 13600func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 13601 s.AttributeValue = &v 13602 return s 13603} 13604 13605// SetCluster sets the Cluster field's value. 13606func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 13607 s.Cluster = &v 13608 return s 13609} 13610 13611// SetMaxResults sets the MaxResults field's value. 13612func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 13613 s.MaxResults = &v 13614 return s 13615} 13616 13617// SetNextToken sets the NextToken field's value. 13618func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 13619 s.NextToken = &v 13620 return s 13621} 13622 13623// SetTargetType sets the TargetType field's value. 13624func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 13625 s.TargetType = &v 13626 return s 13627} 13628 13629type ListAttributesOutput struct { 13630 _ struct{} `type:"structure"` 13631 13632 // A list of attribute objects that meet the criteria of the request. 13633 Attributes []*Attribute `locationName:"attributes" type:"list"` 13634 13635 // The nextToken value to include in a future ListAttributes request. When the 13636 // results of a ListAttributes request exceed maxResults, this value can be 13637 // used to retrieve the next page of results. This value is null when there 13638 // are no more results to return. 13639 NextToken *string `locationName:"nextToken" type:"string"` 13640} 13641 13642// String returns the string representation 13643func (s ListAttributesOutput) String() string { 13644 return awsutil.Prettify(s) 13645} 13646 13647// GoString returns the string representation 13648func (s ListAttributesOutput) GoString() string { 13649 return s.String() 13650} 13651 13652// SetAttributes sets the Attributes field's value. 13653func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 13654 s.Attributes = v 13655 return s 13656} 13657 13658// SetNextToken sets the NextToken field's value. 13659func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 13660 s.NextToken = &v 13661 return s 13662} 13663 13664type ListClustersInput struct { 13665 _ struct{} `type:"structure"` 13666 13667 // The maximum number of cluster results returned by ListClusters in paginated 13668 // output. When this parameter is used, ListClusters only returns maxResults 13669 // results in a single page along with a nextToken response element. The remaining 13670 // results of the initial request can be seen by sending another ListClusters 13671 // request with the returned nextToken value. This value can be between 1 and 13672 // 100. If this parameter is not used, then ListClusters returns up to 100 results 13673 // and a nextToken value if applicable. 13674 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13675 13676 // The nextToken value returned from a ListClusters request indicating that 13677 // more results are available to fulfill the request and further calls will 13678 // be needed. If maxResults was provided, it is possible the number of results 13679 // to be fewer than maxResults. 13680 // 13681 // This token should be treated as an opaque identifier that is only used to 13682 // retrieve the next items in a list and not for other programmatic purposes. 13683 NextToken *string `locationName:"nextToken" type:"string"` 13684} 13685 13686// String returns the string representation 13687func (s ListClustersInput) String() string { 13688 return awsutil.Prettify(s) 13689} 13690 13691// GoString returns the string representation 13692func (s ListClustersInput) GoString() string { 13693 return s.String() 13694} 13695 13696// SetMaxResults sets the MaxResults field's value. 13697func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 13698 s.MaxResults = &v 13699 return s 13700} 13701 13702// SetNextToken sets the NextToken field's value. 13703func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 13704 s.NextToken = &v 13705 return s 13706} 13707 13708type ListClustersOutput struct { 13709 _ struct{} `type:"structure"` 13710 13711 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 13712 // with your account. 13713 ClusterArns []*string `locationName:"clusterArns" type:"list"` 13714 13715 // The nextToken value to include in a future ListClusters request. When the 13716 // results of a ListClusters request exceed maxResults, this value can be used 13717 // to retrieve the next page of results. This value is null when there are no 13718 // more results to return. 13719 NextToken *string `locationName:"nextToken" type:"string"` 13720} 13721 13722// String returns the string representation 13723func (s ListClustersOutput) String() string { 13724 return awsutil.Prettify(s) 13725} 13726 13727// GoString returns the string representation 13728func (s ListClustersOutput) GoString() string { 13729 return s.String() 13730} 13731 13732// SetClusterArns sets the ClusterArns field's value. 13733func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 13734 s.ClusterArns = v 13735 return s 13736} 13737 13738// SetNextToken sets the NextToken field's value. 13739func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 13740 s.NextToken = &v 13741 return s 13742} 13743 13744type ListContainerInstancesInput struct { 13745 _ struct{} `type:"structure"` 13746 13747 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13748 // the container instances to list. If you do not specify a cluster, the default 13749 // cluster is assumed. 13750 Cluster *string `locationName:"cluster" type:"string"` 13751 13752 // You can filter the results of a ListContainerInstances operation with cluster 13753 // query language statements. For more information, see Cluster Query Language 13754 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 13755 // in the Amazon Elastic Container Service Developer Guide. 13756 Filter *string `locationName:"filter" type:"string"` 13757 13758 // The maximum number of container instance results returned by ListContainerInstances 13759 // in paginated output. When this parameter is used, ListContainerInstances 13760 // only returns maxResults results in a single page along with a nextToken response 13761 // element. The remaining results of the initial request can be seen by sending 13762 // another ListContainerInstances request with the returned nextToken value. 13763 // This value can be between 1 and 100. If this parameter is not used, then 13764 // ListContainerInstances returns up to 100 results and a nextToken value if 13765 // applicable. 13766 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13767 13768 // The nextToken value returned from a ListContainerInstances request indicating 13769 // that more results are available to fulfill the request and further calls 13770 // will be needed. If maxResults was provided, it is possible the number of 13771 // results to be fewer than maxResults. 13772 // 13773 // This token should be treated as an opaque identifier that is only used to 13774 // retrieve the next items in a list and not for other programmatic purposes. 13775 NextToken *string `locationName:"nextToken" type:"string"` 13776 13777 // Filters the container instances by status. For example, if you specify the 13778 // DRAINING status, the results include only container instances that have been 13779 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 13780 // this parameter, the default is to include container instances set to all 13781 // states other than INACTIVE. 13782 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 13783} 13784 13785// String returns the string representation 13786func (s ListContainerInstancesInput) String() string { 13787 return awsutil.Prettify(s) 13788} 13789 13790// GoString returns the string representation 13791func (s ListContainerInstancesInput) GoString() string { 13792 return s.String() 13793} 13794 13795// SetCluster sets the Cluster field's value. 13796func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 13797 s.Cluster = &v 13798 return s 13799} 13800 13801// SetFilter sets the Filter field's value. 13802func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 13803 s.Filter = &v 13804 return s 13805} 13806 13807// SetMaxResults sets the MaxResults field's value. 13808func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 13809 s.MaxResults = &v 13810 return s 13811} 13812 13813// SetNextToken sets the NextToken field's value. 13814func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 13815 s.NextToken = &v 13816 return s 13817} 13818 13819// SetStatus sets the Status field's value. 13820func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 13821 s.Status = &v 13822 return s 13823} 13824 13825type ListContainerInstancesOutput struct { 13826 _ struct{} `type:"structure"` 13827 13828 // The list of container instances with full ARN entries for each container 13829 // instance associated with the specified cluster. 13830 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 13831 13832 // The nextToken value to include in a future ListContainerInstances request. 13833 // When the results of a ListContainerInstances request exceed maxResults, this 13834 // value can be used to retrieve the next page of results. This value is null 13835 // when there are no more results to return. 13836 NextToken *string `locationName:"nextToken" type:"string"` 13837} 13838 13839// String returns the string representation 13840func (s ListContainerInstancesOutput) String() string { 13841 return awsutil.Prettify(s) 13842} 13843 13844// GoString returns the string representation 13845func (s ListContainerInstancesOutput) GoString() string { 13846 return s.String() 13847} 13848 13849// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 13850func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 13851 s.ContainerInstanceArns = v 13852 return s 13853} 13854 13855// SetNextToken sets the NextToken field's value. 13856func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 13857 s.NextToken = &v 13858 return s 13859} 13860 13861type ListServicesInput struct { 13862 _ struct{} `type:"structure"` 13863 13864 // The short name or full Amazon Resource Name (ARN) of the cluster to use when 13865 // filtering the ListServices results. If you do not specify a cluster, the 13866 // default cluster is assumed. 13867 Cluster *string `locationName:"cluster" type:"string"` 13868 13869 // The launch type to use when filtering the ListServices results. 13870 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13871 13872 // The maximum number of service results returned by ListServices in paginated 13873 // output. When this parameter is used, ListServices only returns maxResults 13874 // results in a single page along with a nextToken response element. The remaining 13875 // results of the initial request can be seen by sending another ListServices 13876 // request with the returned nextToken value. This value can be between 1 and 13877 // 100. If this parameter is not used, then ListServices returns up to 10 results 13878 // and a nextToken value if applicable. 13879 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13880 13881 // The nextToken value returned from a ListServices request indicating that 13882 // more results are available to fulfill the request and further calls will 13883 // be needed. If maxResults was provided, it is possible the number of results 13884 // to be fewer than maxResults. 13885 // 13886 // This token should be treated as an opaque identifier that is only used to 13887 // retrieve the next items in a list and not for other programmatic purposes. 13888 NextToken *string `locationName:"nextToken" type:"string"` 13889 13890 // The scheduling strategy to use when filtering the ListServices results. 13891 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 13892} 13893 13894// String returns the string representation 13895func (s ListServicesInput) String() string { 13896 return awsutil.Prettify(s) 13897} 13898 13899// GoString returns the string representation 13900func (s ListServicesInput) GoString() string { 13901 return s.String() 13902} 13903 13904// SetCluster sets the Cluster field's value. 13905func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 13906 s.Cluster = &v 13907 return s 13908} 13909 13910// SetLaunchType sets the LaunchType field's value. 13911func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 13912 s.LaunchType = &v 13913 return s 13914} 13915 13916// SetMaxResults sets the MaxResults field's value. 13917func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 13918 s.MaxResults = &v 13919 return s 13920} 13921 13922// SetNextToken sets the NextToken field's value. 13923func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 13924 s.NextToken = &v 13925 return s 13926} 13927 13928// SetSchedulingStrategy sets the SchedulingStrategy field's value. 13929func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 13930 s.SchedulingStrategy = &v 13931 return s 13932} 13933 13934type ListServicesOutput struct { 13935 _ struct{} `type:"structure"` 13936 13937 // The nextToken value to include in a future ListServices request. When the 13938 // results of a ListServices request exceed maxResults, this value can be used 13939 // to retrieve the next page of results. This value is null when there are no 13940 // more results to return. 13941 NextToken *string `locationName:"nextToken" type:"string"` 13942 13943 // The list of full ARN entries for each service associated with the specified 13944 // cluster. 13945 ServiceArns []*string `locationName:"serviceArns" type:"list"` 13946} 13947 13948// String returns the string representation 13949func (s ListServicesOutput) String() string { 13950 return awsutil.Prettify(s) 13951} 13952 13953// GoString returns the string representation 13954func (s ListServicesOutput) GoString() string { 13955 return s.String() 13956} 13957 13958// SetNextToken sets the NextToken field's value. 13959func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 13960 s.NextToken = &v 13961 return s 13962} 13963 13964// SetServiceArns sets the ServiceArns field's value. 13965func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 13966 s.ServiceArns = v 13967 return s 13968} 13969 13970type ListTagsForResourceInput struct { 13971 _ struct{} `type:"structure"` 13972 13973 // The Amazon Resource Name (ARN) that identifies the resource for which to 13974 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 13975 // task definitions, clusters, and container instances. 13976 // 13977 // ResourceArn is a required field 13978 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 13979} 13980 13981// String returns the string representation 13982func (s ListTagsForResourceInput) String() string { 13983 return awsutil.Prettify(s) 13984} 13985 13986// GoString returns the string representation 13987func (s ListTagsForResourceInput) GoString() string { 13988 return s.String() 13989} 13990 13991// Validate inspects the fields of the type to determine if they are valid. 13992func (s *ListTagsForResourceInput) Validate() error { 13993 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 13994 if s.ResourceArn == nil { 13995 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 13996 } 13997 13998 if invalidParams.Len() > 0 { 13999 return invalidParams 14000 } 14001 return nil 14002} 14003 14004// SetResourceArn sets the ResourceArn field's value. 14005func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 14006 s.ResourceArn = &v 14007 return s 14008} 14009 14010type ListTagsForResourceOutput struct { 14011 _ struct{} `type:"structure"` 14012 14013 // The tags for the resource. 14014 Tags []*Tag `locationName:"tags" type:"list"` 14015} 14016 14017// String returns the string representation 14018func (s ListTagsForResourceOutput) String() string { 14019 return awsutil.Prettify(s) 14020} 14021 14022// GoString returns the string representation 14023func (s ListTagsForResourceOutput) GoString() string { 14024 return s.String() 14025} 14026 14027// SetTags sets the Tags field's value. 14028func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 14029 s.Tags = v 14030 return s 14031} 14032 14033type ListTaskDefinitionFamiliesInput struct { 14034 _ struct{} `type:"structure"` 14035 14036 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 14037 // If you specify a familyPrefix, only task definition family names that begin 14038 // with the familyPrefix string are returned. 14039 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 14040 14041 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 14042 // in paginated output. When this parameter is used, ListTaskDefinitions only 14043 // returns maxResults results in a single page along with a nextToken response 14044 // element. The remaining results of the initial request can be seen by sending 14045 // another ListTaskDefinitionFamilies request with the returned nextToken value. 14046 // This value can be between 1 and 100. If this parameter is not used, then 14047 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 14048 // if applicable. 14049 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14050 14051 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 14052 // that more results are available to fulfill the request and further calls 14053 // will be needed. If maxResults was provided, it is possible the number of 14054 // results to be fewer than maxResults. 14055 // 14056 // This token should be treated as an opaque identifier that is only used to 14057 // retrieve the next items in a list and not for other programmatic purposes. 14058 NextToken *string `locationName:"nextToken" type:"string"` 14059 14060 // The task definition family status with which to filter the ListTaskDefinitionFamilies 14061 // results. By default, both ACTIVE and INACTIVE task definition families are 14062 // listed. If this parameter is set to ACTIVE, only task definition families 14063 // that have an ACTIVE task definition revision are returned. If this parameter 14064 // is set to INACTIVE, only task definition families that do not have any ACTIVE 14065 // task definition revisions are returned. If you paginate the resulting output, 14066 // be sure to keep the status value constant in each subsequent request. 14067 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 14068} 14069 14070// String returns the string representation 14071func (s ListTaskDefinitionFamiliesInput) String() string { 14072 return awsutil.Prettify(s) 14073} 14074 14075// GoString returns the string representation 14076func (s ListTaskDefinitionFamiliesInput) GoString() string { 14077 return s.String() 14078} 14079 14080// SetFamilyPrefix sets the FamilyPrefix field's value. 14081func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 14082 s.FamilyPrefix = &v 14083 return s 14084} 14085 14086// SetMaxResults sets the MaxResults field's value. 14087func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 14088 s.MaxResults = &v 14089 return s 14090} 14091 14092// SetNextToken sets the NextToken field's value. 14093func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 14094 s.NextToken = &v 14095 return s 14096} 14097 14098// SetStatus sets the Status field's value. 14099func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 14100 s.Status = &v 14101 return s 14102} 14103 14104type ListTaskDefinitionFamiliesOutput struct { 14105 _ struct{} `type:"structure"` 14106 14107 // The list of task definition family names that match the ListTaskDefinitionFamilies 14108 // request. 14109 Families []*string `locationName:"families" type:"list"` 14110 14111 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 14112 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 14113 // this value can be used to retrieve the next page of results. This value is 14114 // null when there are no more results to return. 14115 NextToken *string `locationName:"nextToken" type:"string"` 14116} 14117 14118// String returns the string representation 14119func (s ListTaskDefinitionFamiliesOutput) String() string { 14120 return awsutil.Prettify(s) 14121} 14122 14123// GoString returns the string representation 14124func (s ListTaskDefinitionFamiliesOutput) GoString() string { 14125 return s.String() 14126} 14127 14128// SetFamilies sets the Families field's value. 14129func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 14130 s.Families = v 14131 return s 14132} 14133 14134// SetNextToken sets the NextToken field's value. 14135func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 14136 s.NextToken = &v 14137 return s 14138} 14139 14140type ListTaskDefinitionsInput struct { 14141 _ struct{} `type:"structure"` 14142 14143 // The full family name with which to filter the ListTaskDefinitions results. 14144 // Specifying a familyPrefix limits the listed task definitions to task definition 14145 // revisions that belong to that family. 14146 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 14147 14148 // The maximum number of task definition results returned by ListTaskDefinitions 14149 // in paginated output. When this parameter is used, ListTaskDefinitions only 14150 // returns maxResults results in a single page along with a nextToken response 14151 // element. The remaining results of the initial request can be seen by sending 14152 // another ListTaskDefinitions request with the returned nextToken value. This 14153 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 14154 // returns up to 100 results and a nextToken value if applicable. 14155 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14156 14157 // The nextToken value returned from a ListTaskDefinitions request indicating 14158 // that more results are available to fulfill the request and further calls 14159 // will be needed. If maxResults was provided, it is possible the number of 14160 // results to be fewer than maxResults. 14161 // 14162 // This token should be treated as an opaque identifier that is only used to 14163 // retrieve the next items in a list and not for other programmatic purposes. 14164 NextToken *string `locationName:"nextToken" type:"string"` 14165 14166 // The order in which to sort the results. Valid values are ASC and DESC. By 14167 // default (ASC), task definitions are listed lexicographically by family name 14168 // and in ascending numerical order by revision so that the newest task definitions 14169 // in a family are listed last. Setting this parameter to DESC reverses the 14170 // sort order on family name and revision so that the newest task definitions 14171 // in a family are listed first. 14172 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 14173 14174 // The task definition status with which to filter the ListTaskDefinitions results. 14175 // By default, only ACTIVE task definitions are listed. By setting this parameter 14176 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 14177 // active task or service still references them. If you paginate the resulting 14178 // output, be sure to keep the status value constant in each subsequent request. 14179 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 14180} 14181 14182// String returns the string representation 14183func (s ListTaskDefinitionsInput) String() string { 14184 return awsutil.Prettify(s) 14185} 14186 14187// GoString returns the string representation 14188func (s ListTaskDefinitionsInput) GoString() string { 14189 return s.String() 14190} 14191 14192// SetFamilyPrefix sets the FamilyPrefix field's value. 14193func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 14194 s.FamilyPrefix = &v 14195 return s 14196} 14197 14198// SetMaxResults sets the MaxResults field's value. 14199func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 14200 s.MaxResults = &v 14201 return s 14202} 14203 14204// SetNextToken sets the NextToken field's value. 14205func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 14206 s.NextToken = &v 14207 return s 14208} 14209 14210// SetSort sets the Sort field's value. 14211func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 14212 s.Sort = &v 14213 return s 14214} 14215 14216// SetStatus sets the Status field's value. 14217func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 14218 s.Status = &v 14219 return s 14220} 14221 14222type ListTaskDefinitionsOutput struct { 14223 _ struct{} `type:"structure"` 14224 14225 // The nextToken value to include in a future ListTaskDefinitions request. When 14226 // the results of a ListTaskDefinitions request exceed maxResults, this value 14227 // can be used to retrieve the next page of results. This value is null when 14228 // there are no more results to return. 14229 NextToken *string `locationName:"nextToken" type:"string"` 14230 14231 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 14232 // request. 14233 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 14234} 14235 14236// String returns the string representation 14237func (s ListTaskDefinitionsOutput) String() string { 14238 return awsutil.Prettify(s) 14239} 14240 14241// GoString returns the string representation 14242func (s ListTaskDefinitionsOutput) GoString() string { 14243 return s.String() 14244} 14245 14246// SetNextToken sets the NextToken field's value. 14247func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 14248 s.NextToken = &v 14249 return s 14250} 14251 14252// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 14253func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 14254 s.TaskDefinitionArns = v 14255 return s 14256} 14257 14258type ListTasksInput struct { 14259 _ struct{} `type:"structure"` 14260 14261 // The short name or full Amazon Resource Name (ARN) of the cluster to use when 14262 // filtering the ListTasks results. If you do not specify a cluster, the default 14263 // cluster is assumed. 14264 Cluster *string `locationName:"cluster" type:"string"` 14265 14266 // The container instance ID or full ARN of the container instance to use when 14267 // filtering the ListTasks results. Specifying a containerInstance limits the 14268 // results to tasks that belong to that container instance. 14269 ContainerInstance *string `locationName:"containerInstance" type:"string"` 14270 14271 // The task desired status to use when filtering the ListTasks results. Specifying 14272 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 14273 // set the desired status to STOPPED. This can be useful for debugging tasks 14274 // that are not starting properly or have died or finished. The default status 14275 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 14276 // status to RUNNING. 14277 // 14278 // Although you can filter results based on a desired status of PENDING, this 14279 // does not return any results. Amazon ECS never sets the desired status of 14280 // a task to that value (only a task's lastStatus may have a value of PENDING). 14281 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 14282 14283 // The name of the task definition family to use when filtering the ListTasks 14284 // results. Specifying a family limits the results to tasks that belong to that 14285 // family. 14286 Family *string `locationName:"family" type:"string"` 14287 14288 // The launch type to use when filtering the ListTasks results. 14289 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 14290 14291 // The maximum number of task results returned by ListTasks in paginated output. 14292 // When this parameter is used, ListTasks only returns maxResults results in 14293 // a single page along with a nextToken response element. The remaining results 14294 // of the initial request can be seen by sending another ListTasks request with 14295 // the returned nextToken value. This value can be between 1 and 100. If this 14296 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 14297 // value if applicable. 14298 MaxResults *int64 `locationName:"maxResults" type:"integer"` 14299 14300 // The nextToken value returned from a ListTasks request indicating that more 14301 // results are available to fulfill the request and further calls will be needed. 14302 // If maxResults was provided, it is possible the number of results to be fewer 14303 // than maxResults. 14304 // 14305 // This token should be treated as an opaque identifier that is only used to 14306 // retrieve the next items in a list and not for other programmatic purposes. 14307 NextToken *string `locationName:"nextToken" type:"string"` 14308 14309 // The name of the service to use when filtering the ListTasks results. Specifying 14310 // a serviceName limits the results to tasks that belong to that service. 14311 ServiceName *string `locationName:"serviceName" type:"string"` 14312 14313 // The startedBy value with which to filter the task results. Specifying a startedBy 14314 // value limits the results to tasks that were started with that value. 14315 StartedBy *string `locationName:"startedBy" type:"string"` 14316} 14317 14318// String returns the string representation 14319func (s ListTasksInput) String() string { 14320 return awsutil.Prettify(s) 14321} 14322 14323// GoString returns the string representation 14324func (s ListTasksInput) GoString() string { 14325 return s.String() 14326} 14327 14328// SetCluster sets the Cluster field's value. 14329func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 14330 s.Cluster = &v 14331 return s 14332} 14333 14334// SetContainerInstance sets the ContainerInstance field's value. 14335func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 14336 s.ContainerInstance = &v 14337 return s 14338} 14339 14340// SetDesiredStatus sets the DesiredStatus field's value. 14341func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 14342 s.DesiredStatus = &v 14343 return s 14344} 14345 14346// SetFamily sets the Family field's value. 14347func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 14348 s.Family = &v 14349 return s 14350} 14351 14352// SetLaunchType sets the LaunchType field's value. 14353func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 14354 s.LaunchType = &v 14355 return s 14356} 14357 14358// SetMaxResults sets the MaxResults field's value. 14359func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 14360 s.MaxResults = &v 14361 return s 14362} 14363 14364// SetNextToken sets the NextToken field's value. 14365func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 14366 s.NextToken = &v 14367 return s 14368} 14369 14370// SetServiceName sets the ServiceName field's value. 14371func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 14372 s.ServiceName = &v 14373 return s 14374} 14375 14376// SetStartedBy sets the StartedBy field's value. 14377func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 14378 s.StartedBy = &v 14379 return s 14380} 14381 14382type ListTasksOutput struct { 14383 _ struct{} `type:"structure"` 14384 14385 // The nextToken value to include in a future ListTasks request. When the results 14386 // of a ListTasks request exceed maxResults, this value can be used to retrieve 14387 // the next page of results. This value is null when there are no more results 14388 // to return. 14389 NextToken *string `locationName:"nextToken" type:"string"` 14390 14391 // The list of task ARN entries for the ListTasks request. 14392 TaskArns []*string `locationName:"taskArns" type:"list"` 14393} 14394 14395// String returns the string representation 14396func (s ListTasksOutput) String() string { 14397 return awsutil.Prettify(s) 14398} 14399 14400// GoString returns the string representation 14401func (s ListTasksOutput) GoString() string { 14402 return s.String() 14403} 14404 14405// SetNextToken sets the NextToken field's value. 14406func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 14407 s.NextToken = &v 14408 return s 14409} 14410 14411// SetTaskArns sets the TaskArns field's value. 14412func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 14413 s.TaskArns = v 14414 return s 14415} 14416 14417// The load balancer configuration to use with a service or task set. 14418// 14419// For specific notes and restrictions regarding the use of load balancers with 14420// services and task sets, see the CreateService and CreateTaskSet actions. 14421type LoadBalancer struct { 14422 _ struct{} `type:"structure"` 14423 14424 // The name of the container (as it appears in a container definition) to associate 14425 // with the load balancer. 14426 ContainerName *string `locationName:"containerName" type:"string"` 14427 14428 // The port on the container to associate with the load balancer. This port 14429 // must correspond to a containerPort in the task definition the tasks in the 14430 // service are using. For tasks that use the EC2 launch type, the container 14431 // instance they are launched on must allow ingress traffic on the hostPort 14432 // of the port mapping. 14433 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14434 14435 // The name of the load balancer to associate with the Amazon ECS service or 14436 // task set. 14437 // 14438 // A load balancer name is only specified when using a Classic Load Balancer. 14439 // If you are using an Application Load Balancer or a Network Load Balancer 14440 // the load balancer name parameter should be omitted. 14441 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 14442 14443 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 14444 // group or groups associated with a service or task set. 14445 // 14446 // A target group ARN is only specified when using an Application Load Balancer 14447 // or Network Load Balancer. If you are using a Classic Load Balancer the target 14448 // group ARN should be omitted. 14449 // 14450 // For services using the ECS deployment controller, you can specify one or 14451 // multiple target groups. For more information, see Registering Multiple Target 14452 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 14453 // in the Amazon Elastic Container Service Developer Guide. 14454 // 14455 // For services using the CODE_DEPLOY deployment controller, you are required 14456 // to define two target groups for the load balancer. For more information, 14457 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 14458 // in the Amazon Elastic Container Service Developer Guide. 14459 // 14460 // If your service's task definition uses the awsvpc network mode (which is 14461 // required for the Fargate launch type), you must choose ip as the target type, 14462 // not instance, when creating your target groups because tasks that use the 14463 // awsvpc network mode are associated with an elastic network interface, not 14464 // an Amazon EC2 instance. 14465 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 14466} 14467 14468// String returns the string representation 14469func (s LoadBalancer) String() string { 14470 return awsutil.Prettify(s) 14471} 14472 14473// GoString returns the string representation 14474func (s LoadBalancer) GoString() string { 14475 return s.String() 14476} 14477 14478// SetContainerName sets the ContainerName field's value. 14479func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 14480 s.ContainerName = &v 14481 return s 14482} 14483 14484// SetContainerPort sets the ContainerPort field's value. 14485func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 14486 s.ContainerPort = &v 14487 return s 14488} 14489 14490// SetLoadBalancerName sets the LoadBalancerName field's value. 14491func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 14492 s.LoadBalancerName = &v 14493 return s 14494} 14495 14496// SetTargetGroupArn sets the TargetGroupArn field's value. 14497func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 14498 s.TargetGroupArn = &v 14499 return s 14500} 14501 14502// The log configuration for the container. This parameter maps to LogConfig 14503// in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 14504// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 14505// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 14506// 14507// By default, containers use the same logging driver that the Docker daemon 14508// uses; however the container may use a different logging driver than the Docker 14509// daemon by specifying a log driver configuration in the container definition. 14510// For more information on the options for different supported log drivers, 14511// see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 14512// in the Docker documentation. 14513// 14514// The following should be noted when specifying a log configuration for your 14515// containers: 14516// 14517// * Amazon ECS currently supports a subset of the logging drivers available 14518// to the Docker daemon (shown in the valid values below). Additional log 14519// drivers may be available in future releases of the Amazon ECS container 14520// agent. 14521// 14522// * This parameter requires version 1.18 of the Docker Remote API or greater 14523// on your container instance. 14524// 14525// * For tasks hosted on Amazon EC2 instances, the Amazon ECS container agent 14526// must register the available logging drivers with the ECS_AVAILABLE_LOGGING_DRIVERS 14527// environment variable before containers placed on that instance can use 14528// these log configuration options. For more information, see Amazon ECS 14529// container agent configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 14530// in the Amazon Elastic Container Service Developer Guide. 14531// 14532// * For tasks on Fargate, because you do not have access to the underlying 14533// infrastructure your tasks are hosted on, any additional software needed 14534// will have to be installed outside of the task. For example, the Fluentd 14535// output aggregators or a remote host running Logstash to send Gelf logs 14536// to. 14537type LogConfiguration struct { 14538 _ struct{} `type:"structure"` 14539 14540 // The log driver to use for the container. 14541 // 14542 // For tasks on Fargate, the supported log drivers are awslogs, splunk, and 14543 // awsfirelens. 14544 // 14545 // For tasks hosted on Amazon EC2 instances, the supported log drivers are awslogs, 14546 // fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens. 14547 // 14548 // For more information about using the awslogs log driver, see Using the awslogs 14549 // log driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 14550 // in the Amazon Elastic Container Service Developer Guide. 14551 // 14552 // For more information about using the awsfirelens log driver, see Custom log 14553 // routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 14554 // in the Amazon Elastic Container Service Developer Guide. 14555 // 14556 // If you have a custom driver that is not listed, you can fork the Amazon ECS 14557 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 14558 // and customize it to work with that driver. We encourage you to submit pull 14559 // requests for changes that you would like to have included. However, we do 14560 // not currently provide support for running modified copies of this software. 14561 // 14562 // LogDriver is a required field 14563 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 14564 14565 // The configuration options to send to the log driver. This parameter requires 14566 // version 1.19 of the Docker Remote API or greater on your container instance. 14567 // To check the Docker Remote API version on your container instance, log in 14568 // to your container instance and run the following command: sudo docker version 14569 // --format '{{.Server.APIVersion}}' 14570 Options map[string]*string `locationName:"options" type:"map"` 14571 14572 // The secrets to pass to the log configuration. For more information, see Specifying 14573 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 14574 // in the Amazon Elastic Container Service Developer Guide. 14575 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 14576} 14577 14578// String returns the string representation 14579func (s LogConfiguration) String() string { 14580 return awsutil.Prettify(s) 14581} 14582 14583// GoString returns the string representation 14584func (s LogConfiguration) GoString() string { 14585 return s.String() 14586} 14587 14588// Validate inspects the fields of the type to determine if they are valid. 14589func (s *LogConfiguration) Validate() error { 14590 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 14591 if s.LogDriver == nil { 14592 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 14593 } 14594 if s.SecretOptions != nil { 14595 for i, v := range s.SecretOptions { 14596 if v == nil { 14597 continue 14598 } 14599 if err := v.Validate(); err != nil { 14600 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 14601 } 14602 } 14603 } 14604 14605 if invalidParams.Len() > 0 { 14606 return invalidParams 14607 } 14608 return nil 14609} 14610 14611// SetLogDriver sets the LogDriver field's value. 14612func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 14613 s.LogDriver = &v 14614 return s 14615} 14616 14617// SetOptions sets the Options field's value. 14618func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 14619 s.Options = v 14620 return s 14621} 14622 14623// SetSecretOptions sets the SecretOptions field's value. 14624func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 14625 s.SecretOptions = v 14626 return s 14627} 14628 14629// Details about the managed agent status for the container. 14630type ManagedAgent struct { 14631 _ struct{} `type:"structure"` 14632 14633 // The Unix timestamp for when the managed agent was last started. 14634 LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"` 14635 14636 // The last known status of the managed agent. 14637 LastStatus *string `locationName:"lastStatus" type:"string"` 14638 14639 // The name of the managed agent. When the execute command feature is enabled, 14640 // the managed agent name is ExecuteCommandAgent. 14641 Name *string `locationName:"name" type:"string" enum:"ManagedAgentName"` 14642 14643 // The reason for why the managed agent is in the state it is in. 14644 Reason *string `locationName:"reason" type:"string"` 14645} 14646 14647// String returns the string representation 14648func (s ManagedAgent) String() string { 14649 return awsutil.Prettify(s) 14650} 14651 14652// GoString returns the string representation 14653func (s ManagedAgent) GoString() string { 14654 return s.String() 14655} 14656 14657// SetLastStartedAt sets the LastStartedAt field's value. 14658func (s *ManagedAgent) SetLastStartedAt(v time.Time) *ManagedAgent { 14659 s.LastStartedAt = &v 14660 return s 14661} 14662 14663// SetLastStatus sets the LastStatus field's value. 14664func (s *ManagedAgent) SetLastStatus(v string) *ManagedAgent { 14665 s.LastStatus = &v 14666 return s 14667} 14668 14669// SetName sets the Name field's value. 14670func (s *ManagedAgent) SetName(v string) *ManagedAgent { 14671 s.Name = &v 14672 return s 14673} 14674 14675// SetReason sets the Reason field's value. 14676func (s *ManagedAgent) SetReason(v string) *ManagedAgent { 14677 s.Reason = &v 14678 return s 14679} 14680 14681// An object representing a change in state for a managed agent. 14682type ManagedAgentStateChange struct { 14683 _ struct{} `type:"structure"` 14684 14685 // The name of the container associated with the managed agent. 14686 // 14687 // ContainerName is a required field 14688 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 14689 14690 // The name of the managed agent. 14691 // 14692 // ManagedAgentName is a required field 14693 ManagedAgentName *string `locationName:"managedAgentName" type:"string" required:"true" enum:"ManagedAgentName"` 14694 14695 // The reason for the status of the managed agent. 14696 Reason *string `locationName:"reason" type:"string"` 14697 14698 // The status of the managed agent. 14699 // 14700 // Status is a required field 14701 Status *string `locationName:"status" type:"string" required:"true"` 14702} 14703 14704// String returns the string representation 14705func (s ManagedAgentStateChange) String() string { 14706 return awsutil.Prettify(s) 14707} 14708 14709// GoString returns the string representation 14710func (s ManagedAgentStateChange) GoString() string { 14711 return s.String() 14712} 14713 14714// Validate inspects the fields of the type to determine if they are valid. 14715func (s *ManagedAgentStateChange) Validate() error { 14716 invalidParams := request.ErrInvalidParams{Context: "ManagedAgentStateChange"} 14717 if s.ContainerName == nil { 14718 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 14719 } 14720 if s.ManagedAgentName == nil { 14721 invalidParams.Add(request.NewErrParamRequired("ManagedAgentName")) 14722 } 14723 if s.Status == nil { 14724 invalidParams.Add(request.NewErrParamRequired("Status")) 14725 } 14726 14727 if invalidParams.Len() > 0 { 14728 return invalidParams 14729 } 14730 return nil 14731} 14732 14733// SetContainerName sets the ContainerName field's value. 14734func (s *ManagedAgentStateChange) SetContainerName(v string) *ManagedAgentStateChange { 14735 s.ContainerName = &v 14736 return s 14737} 14738 14739// SetManagedAgentName sets the ManagedAgentName field's value. 14740func (s *ManagedAgentStateChange) SetManagedAgentName(v string) *ManagedAgentStateChange { 14741 s.ManagedAgentName = &v 14742 return s 14743} 14744 14745// SetReason sets the Reason field's value. 14746func (s *ManagedAgentStateChange) SetReason(v string) *ManagedAgentStateChange { 14747 s.Reason = &v 14748 return s 14749} 14750 14751// SetStatus sets the Status field's value. 14752func (s *ManagedAgentStateChange) SetStatus(v string) *ManagedAgentStateChange { 14753 s.Status = &v 14754 return s 14755} 14756 14757// The managed scaling settings for the Auto Scaling group capacity provider. 14758// 14759// When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 14760// actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 14761// policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 14762// value as the target value for the metric. For more information, see Using 14763// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 14764// in the Amazon Elastic Container Service Developer Guide. 14765// 14766// If managed scaling is disabled, the user must manage the scaling of the Auto 14767// Scaling group. 14768type ManagedScaling struct { 14769 _ struct{} `type:"structure"` 14770 14771 // The period of time, in seconds, after a newly launched Amazon EC2 instance 14772 // can contribute to CloudWatch metrics for Auto Scaling group. If this parameter 14773 // is omitted, the default value of 300 seconds is used. 14774 InstanceWarmupPeriod *int64 `locationName:"instanceWarmupPeriod" type:"integer"` 14775 14776 // The maximum number of container instances that Amazon ECS will scale in or 14777 // scale out at one time. If this parameter is omitted, the default value of 14778 // 10000 is used. 14779 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 14780 14781 // The minimum number of container instances that Amazon ECS will scale in or 14782 // scale out at one time. If this parameter is omitted, the default value of 14783 // 1 is used. 14784 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 14785 14786 // Whether or not to enable managed scaling for the capacity provider. 14787 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 14788 14789 // The target capacity value for the capacity provider. The specified value 14790 // must be greater than 0 and less than or equal to 100. A value of 100 will 14791 // result in the Amazon EC2 instances in your Auto Scaling group being completely 14792 // utilized. 14793 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 14794} 14795 14796// String returns the string representation 14797func (s ManagedScaling) String() string { 14798 return awsutil.Prettify(s) 14799} 14800 14801// GoString returns the string representation 14802func (s ManagedScaling) GoString() string { 14803 return s.String() 14804} 14805 14806// Validate inspects the fields of the type to determine if they are valid. 14807func (s *ManagedScaling) Validate() error { 14808 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 14809 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 14810 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 14811 } 14812 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 14813 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 14814 } 14815 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 14816 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 14817 } 14818 14819 if invalidParams.Len() > 0 { 14820 return invalidParams 14821 } 14822 return nil 14823} 14824 14825// SetInstanceWarmupPeriod sets the InstanceWarmupPeriod field's value. 14826func (s *ManagedScaling) SetInstanceWarmupPeriod(v int64) *ManagedScaling { 14827 s.InstanceWarmupPeriod = &v 14828 return s 14829} 14830 14831// SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 14832func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 14833 s.MaximumScalingStepSize = &v 14834 return s 14835} 14836 14837// SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 14838func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 14839 s.MinimumScalingStepSize = &v 14840 return s 14841} 14842 14843// SetStatus sets the Status field's value. 14844func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 14845 s.Status = &v 14846 return s 14847} 14848 14849// SetTargetCapacity sets the TargetCapacity field's value. 14850func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 14851 s.TargetCapacity = &v 14852 return s 14853} 14854 14855// Amazon ECS is unable to determine the current version of the Amazon ECS container 14856// agent on the container instance and does not have enough information to proceed 14857// with an update. This could be because the agent running on the container 14858// instance is an older or custom version that does not use our version information. 14859type MissingVersionException struct { 14860 _ struct{} `type:"structure"` 14861 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14862 14863 Message_ *string `locationName:"message" type:"string"` 14864} 14865 14866// String returns the string representation 14867func (s MissingVersionException) String() string { 14868 return awsutil.Prettify(s) 14869} 14870 14871// GoString returns the string representation 14872func (s MissingVersionException) GoString() string { 14873 return s.String() 14874} 14875 14876func newErrorMissingVersionException(v protocol.ResponseMetadata) error { 14877 return &MissingVersionException{ 14878 RespMetadata: v, 14879 } 14880} 14881 14882// Code returns the exception type name. 14883func (s *MissingVersionException) Code() string { 14884 return "MissingVersionException" 14885} 14886 14887// Message returns the exception's message. 14888func (s *MissingVersionException) Message() string { 14889 if s.Message_ != nil { 14890 return *s.Message_ 14891 } 14892 return "" 14893} 14894 14895// OrigErr always returns nil, satisfies awserr.Error interface. 14896func (s *MissingVersionException) OrigErr() error { 14897 return nil 14898} 14899 14900func (s *MissingVersionException) Error() string { 14901 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14902} 14903 14904// Status code returns the HTTP status code for the request's response error. 14905func (s *MissingVersionException) StatusCode() int { 14906 return s.RespMetadata.StatusCode 14907} 14908 14909// RequestID returns the service's response RequestID for request. 14910func (s *MissingVersionException) RequestID() string { 14911 return s.RespMetadata.RequestID 14912} 14913 14914// Details on a volume mount point that is used in a container definition. 14915type MountPoint struct { 14916 _ struct{} `type:"structure"` 14917 14918 // The path on the container to mount the host volume at. 14919 ContainerPath *string `locationName:"containerPath" type:"string"` 14920 14921 // If this value is true, the container has read-only access to the volume. 14922 // If this value is false, then the container can write to the volume. The default 14923 // value is false. 14924 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 14925 14926 // The name of the volume to mount. Must be a volume name referenced in the 14927 // name parameter of task definition volume. 14928 SourceVolume *string `locationName:"sourceVolume" type:"string"` 14929} 14930 14931// String returns the string representation 14932func (s MountPoint) String() string { 14933 return awsutil.Prettify(s) 14934} 14935 14936// GoString returns the string representation 14937func (s MountPoint) GoString() string { 14938 return s.String() 14939} 14940 14941// SetContainerPath sets the ContainerPath field's value. 14942func (s *MountPoint) SetContainerPath(v string) *MountPoint { 14943 s.ContainerPath = &v 14944 return s 14945} 14946 14947// SetReadOnly sets the ReadOnly field's value. 14948func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 14949 s.ReadOnly = &v 14950 return s 14951} 14952 14953// SetSourceVolume sets the SourceVolume field's value. 14954func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 14955 s.SourceVolume = &v 14956 return s 14957} 14958 14959// Details on the network bindings between a container and its host container 14960// instance. After a task reaches the RUNNING status, manual and automatic host 14961// and container port assignments are visible in the networkBindings section 14962// of DescribeTasks API responses. 14963type NetworkBinding struct { 14964 _ struct{} `type:"structure"` 14965 14966 // The IP address that the container is bound to on the container instance. 14967 BindIP *string `locationName:"bindIP" type:"string"` 14968 14969 // The port number on the container that is used with the network binding. 14970 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14971 14972 // The port number on the host that is used with the network binding. 14973 HostPort *int64 `locationName:"hostPort" type:"integer"` 14974 14975 // The protocol used for the network binding. 14976 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 14977} 14978 14979// String returns the string representation 14980func (s NetworkBinding) String() string { 14981 return awsutil.Prettify(s) 14982} 14983 14984// GoString returns the string representation 14985func (s NetworkBinding) GoString() string { 14986 return s.String() 14987} 14988 14989// SetBindIP sets the BindIP field's value. 14990func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 14991 s.BindIP = &v 14992 return s 14993} 14994 14995// SetContainerPort sets the ContainerPort field's value. 14996func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 14997 s.ContainerPort = &v 14998 return s 14999} 15000 15001// SetHostPort sets the HostPort field's value. 15002func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 15003 s.HostPort = &v 15004 return s 15005} 15006 15007// SetProtocol sets the Protocol field's value. 15008func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 15009 s.Protocol = &v 15010 return s 15011} 15012 15013// An object representing the network configuration for a task or service. 15014type NetworkConfiguration struct { 15015 _ struct{} `type:"structure"` 15016 15017 // The VPC subnets and security groups associated with a task. 15018 // 15019 // All specified subnets and security groups must be from the same VPC. 15020 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 15021} 15022 15023// String returns the string representation 15024func (s NetworkConfiguration) String() string { 15025 return awsutil.Prettify(s) 15026} 15027 15028// GoString returns the string representation 15029func (s NetworkConfiguration) GoString() string { 15030 return s.String() 15031} 15032 15033// Validate inspects the fields of the type to determine if they are valid. 15034func (s *NetworkConfiguration) Validate() error { 15035 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 15036 if s.AwsvpcConfiguration != nil { 15037 if err := s.AwsvpcConfiguration.Validate(); err != nil { 15038 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 15039 } 15040 } 15041 15042 if invalidParams.Len() > 0 { 15043 return invalidParams 15044 } 15045 return nil 15046} 15047 15048// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 15049func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 15050 s.AwsvpcConfiguration = v 15051 return s 15052} 15053 15054// An object representing the elastic network interface for tasks that use the 15055// awsvpc network mode. 15056type NetworkInterface struct { 15057 _ struct{} `type:"structure"` 15058 15059 // The attachment ID for the network interface. 15060 AttachmentId *string `locationName:"attachmentId" type:"string"` 15061 15062 // The private IPv6 address for the network interface. 15063 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 15064 15065 // The private IPv4 address for the network interface. 15066 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 15067} 15068 15069// String returns the string representation 15070func (s NetworkInterface) String() string { 15071 return awsutil.Prettify(s) 15072} 15073 15074// GoString returns the string representation 15075func (s NetworkInterface) GoString() string { 15076 return s.String() 15077} 15078 15079// SetAttachmentId sets the AttachmentId field's value. 15080func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 15081 s.AttachmentId = &v 15082 return s 15083} 15084 15085// SetIpv6Address sets the Ipv6Address field's value. 15086func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 15087 s.Ipv6Address = &v 15088 return s 15089} 15090 15091// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 15092func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 15093 s.PrivateIpv4Address = &v 15094 return s 15095} 15096 15097// There is no update available for this Amazon ECS container agent. This could 15098// be because the agent is already running the latest version, or it is so old 15099// that there is no update path to the current version. 15100type NoUpdateAvailableException struct { 15101 _ struct{} `type:"structure"` 15102 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15103 15104 Message_ *string `locationName:"message" type:"string"` 15105} 15106 15107// String returns the string representation 15108func (s NoUpdateAvailableException) String() string { 15109 return awsutil.Prettify(s) 15110} 15111 15112// GoString returns the string representation 15113func (s NoUpdateAvailableException) GoString() string { 15114 return s.String() 15115} 15116 15117func newErrorNoUpdateAvailableException(v protocol.ResponseMetadata) error { 15118 return &NoUpdateAvailableException{ 15119 RespMetadata: v, 15120 } 15121} 15122 15123// Code returns the exception type name. 15124func (s *NoUpdateAvailableException) Code() string { 15125 return "NoUpdateAvailableException" 15126} 15127 15128// Message returns the exception's message. 15129func (s *NoUpdateAvailableException) Message() string { 15130 if s.Message_ != nil { 15131 return *s.Message_ 15132 } 15133 return "" 15134} 15135 15136// OrigErr always returns nil, satisfies awserr.Error interface. 15137func (s *NoUpdateAvailableException) OrigErr() error { 15138 return nil 15139} 15140 15141func (s *NoUpdateAvailableException) Error() string { 15142 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15143} 15144 15145// Status code returns the HTTP status code for the request's response error. 15146func (s *NoUpdateAvailableException) StatusCode() int { 15147 return s.RespMetadata.StatusCode 15148} 15149 15150// RequestID returns the service's response RequestID for request. 15151func (s *NoUpdateAvailableException) RequestID() string { 15152 return s.RespMetadata.RequestID 15153} 15154 15155// An object representing a constraint on task placement. For more information, 15156// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 15157// in the Amazon Elastic Container Service Developer Guide. 15158// 15159// If you are using the Fargate launch type, task placement constraints are 15160// not supported. 15161type PlacementConstraint struct { 15162 _ struct{} `type:"structure"` 15163 15164 // A cluster query language expression to apply to the constraint. The expression 15165 // can have a maximum length of 2000 characters. You can't specify an expression 15166 // if the constraint type is distinctInstance. For more information, see Cluster 15167 // query language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 15168 // in the Amazon Elastic Container Service Developer Guide. 15169 Expression *string `locationName:"expression" type:"string"` 15170 15171 // The type of constraint. Use distinctInstance to ensure that each task in 15172 // a particular group is running on a different container instance. Use memberOf 15173 // to restrict the selection to a group of valid candidates. 15174 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 15175} 15176 15177// String returns the string representation 15178func (s PlacementConstraint) String() string { 15179 return awsutil.Prettify(s) 15180} 15181 15182// GoString returns the string representation 15183func (s PlacementConstraint) GoString() string { 15184 return s.String() 15185} 15186 15187// SetExpression sets the Expression field's value. 15188func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 15189 s.Expression = &v 15190 return s 15191} 15192 15193// SetType sets the Type field's value. 15194func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 15195 s.Type = &v 15196 return s 15197} 15198 15199// The task placement strategy for a task or service. For more information, 15200// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 15201// in the Amazon Elastic Container Service Developer Guide. 15202type PlacementStrategy struct { 15203 _ struct{} `type:"structure"` 15204 15205 // The field to apply the placement strategy against. For the spread placement 15206 // strategy, valid values are instanceId (or host, which has the same effect), 15207 // or any platform or custom attribute that is applied to a container instance, 15208 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 15209 // valid values are cpu and memory. For the random placement strategy, this 15210 // field is not used. 15211 Field *string `locationName:"field" type:"string"` 15212 15213 // The type of placement strategy. The random placement strategy randomly places 15214 // tasks on available candidates. The spread placement strategy spreads placement 15215 // across available candidates evenly based on the field parameter. The binpack 15216 // strategy places tasks on available candidates that have the least available 15217 // amount of the resource that is specified with the field parameter. For example, 15218 // if you binpack on memory, a task is placed on the instance with the least 15219 // amount of remaining memory (but still enough to run the task). 15220 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 15221} 15222 15223// String returns the string representation 15224func (s PlacementStrategy) String() string { 15225 return awsutil.Prettify(s) 15226} 15227 15228// GoString returns the string representation 15229func (s PlacementStrategy) GoString() string { 15230 return s.String() 15231} 15232 15233// SetField sets the Field field's value. 15234func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 15235 s.Field = &v 15236 return s 15237} 15238 15239// SetType sets the Type field's value. 15240func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 15241 s.Type = &v 15242 return s 15243} 15244 15245// The devices that are available on the container instance. The only supported 15246// device type is a GPU. 15247type PlatformDevice struct { 15248 _ struct{} `type:"structure"` 15249 15250 // The ID for the GPU(s) on the container instance. The available GPU IDs can 15251 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 15252 // file. 15253 // 15254 // Id is a required field 15255 Id *string `locationName:"id" type:"string" required:"true"` 15256 15257 // The type of device that is available on the container instance. The only 15258 // supported value is GPU. 15259 // 15260 // Type is a required field 15261 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 15262} 15263 15264// String returns the string representation 15265func (s PlatformDevice) String() string { 15266 return awsutil.Prettify(s) 15267} 15268 15269// GoString returns the string representation 15270func (s PlatformDevice) GoString() string { 15271 return s.String() 15272} 15273 15274// Validate inspects the fields of the type to determine if they are valid. 15275func (s *PlatformDevice) Validate() error { 15276 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 15277 if s.Id == nil { 15278 invalidParams.Add(request.NewErrParamRequired("Id")) 15279 } 15280 if s.Type == nil { 15281 invalidParams.Add(request.NewErrParamRequired("Type")) 15282 } 15283 15284 if invalidParams.Len() > 0 { 15285 return invalidParams 15286 } 15287 return nil 15288} 15289 15290// SetId sets the Id field's value. 15291func (s *PlatformDevice) SetId(v string) *PlatformDevice { 15292 s.Id = &v 15293 return s 15294} 15295 15296// SetType sets the Type field's value. 15297func (s *PlatformDevice) SetType(v string) *PlatformDevice { 15298 s.Type = &v 15299 return s 15300} 15301 15302// The specified platform version does not satisfy the task definition's required 15303// capabilities. 15304type PlatformTaskDefinitionIncompatibilityException struct { 15305 _ struct{} `type:"structure"` 15306 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15307 15308 Message_ *string `locationName:"message" type:"string"` 15309} 15310 15311// String returns the string representation 15312func (s PlatformTaskDefinitionIncompatibilityException) String() string { 15313 return awsutil.Prettify(s) 15314} 15315 15316// GoString returns the string representation 15317func (s PlatformTaskDefinitionIncompatibilityException) GoString() string { 15318 return s.String() 15319} 15320 15321func newErrorPlatformTaskDefinitionIncompatibilityException(v protocol.ResponseMetadata) error { 15322 return &PlatformTaskDefinitionIncompatibilityException{ 15323 RespMetadata: v, 15324 } 15325} 15326 15327// Code returns the exception type name. 15328func (s *PlatformTaskDefinitionIncompatibilityException) Code() string { 15329 return "PlatformTaskDefinitionIncompatibilityException" 15330} 15331 15332// Message returns the exception's message. 15333func (s *PlatformTaskDefinitionIncompatibilityException) Message() string { 15334 if s.Message_ != nil { 15335 return *s.Message_ 15336 } 15337 return "" 15338} 15339 15340// OrigErr always returns nil, satisfies awserr.Error interface. 15341func (s *PlatformTaskDefinitionIncompatibilityException) OrigErr() error { 15342 return nil 15343} 15344 15345func (s *PlatformTaskDefinitionIncompatibilityException) Error() string { 15346 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15347} 15348 15349// Status code returns the HTTP status code for the request's response error. 15350func (s *PlatformTaskDefinitionIncompatibilityException) StatusCode() int { 15351 return s.RespMetadata.StatusCode 15352} 15353 15354// RequestID returns the service's response RequestID for request. 15355func (s *PlatformTaskDefinitionIncompatibilityException) RequestID() string { 15356 return s.RespMetadata.RequestID 15357} 15358 15359// The specified platform version does not exist. 15360type PlatformUnknownException struct { 15361 _ struct{} `type:"structure"` 15362 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15363 15364 Message_ *string `locationName:"message" type:"string"` 15365} 15366 15367// String returns the string representation 15368func (s PlatformUnknownException) String() string { 15369 return awsutil.Prettify(s) 15370} 15371 15372// GoString returns the string representation 15373func (s PlatformUnknownException) GoString() string { 15374 return s.String() 15375} 15376 15377func newErrorPlatformUnknownException(v protocol.ResponseMetadata) error { 15378 return &PlatformUnknownException{ 15379 RespMetadata: v, 15380 } 15381} 15382 15383// Code returns the exception type name. 15384func (s *PlatformUnknownException) Code() string { 15385 return "PlatformUnknownException" 15386} 15387 15388// Message returns the exception's message. 15389func (s *PlatformUnknownException) Message() string { 15390 if s.Message_ != nil { 15391 return *s.Message_ 15392 } 15393 return "" 15394} 15395 15396// OrigErr always returns nil, satisfies awserr.Error interface. 15397func (s *PlatformUnknownException) OrigErr() error { 15398 return nil 15399} 15400 15401func (s *PlatformUnknownException) Error() string { 15402 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15403} 15404 15405// Status code returns the HTTP status code for the request's response error. 15406func (s *PlatformUnknownException) StatusCode() int { 15407 return s.RespMetadata.StatusCode 15408} 15409 15410// RequestID returns the service's response RequestID for request. 15411func (s *PlatformUnknownException) RequestID() string { 15412 return s.RespMetadata.RequestID 15413} 15414 15415// Port mappings allow containers to access ports on the host container instance 15416// to send or receive traffic. Port mappings are specified as part of the container 15417// definition. 15418// 15419// If you are using containers in a task with the awsvpc or host network mode, 15420// exposed ports should be specified using containerPort. The hostPort can be 15421// left blank or it must be the same value as the containerPort. 15422// 15423// You cannot expose the same container port for multiple protocols. An error 15424// will be returned if this is attempted 15425// 15426// After a task reaches the RUNNING status, manual and automatic host and container 15427// port assignments are visible in the networkBindings section of DescribeTasks 15428// API responses. 15429type PortMapping struct { 15430 _ struct{} `type:"structure"` 15431 15432 // The port number on the container that is bound to the user-specified or automatically 15433 // assigned host port. 15434 // 15435 // If you are using containers in a task with the awsvpc or host network mode, 15436 // exposed ports should be specified using containerPort. 15437 // 15438 // If you are using containers in a task with the bridge network mode and you 15439 // specify a container port and not a host port, your container automatically 15440 // receives a host port in the ephemeral port range. For more information, see 15441 // hostPort. Port mappings that are automatically assigned in this way do not 15442 // count toward the 100 reserved ports limit of a container instance. 15443 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 15444 15445 // The port number on the container instance to reserve for your container. 15446 // 15447 // If you are using containers in a task with the awsvpc or host network mode, 15448 // the hostPort can either be left blank or set to the same value as the containerPort. 15449 // 15450 // If you are using containers in a task with the bridge network mode, you can 15451 // specify a non-reserved host port for your container port mapping, or you 15452 // can omit the hostPort (or set it to 0) while specifying a containerPort and 15453 // your container automatically receives a port in the ephemeral port range 15454 // for your container instance operating system and Docker version. 15455 // 15456 // The default ephemeral port range for Docker version 1.6.0 and later is listed 15457 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 15458 // parameter is unavailable, the default ephemeral port range from 49153 through 15459 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 15460 // range as these are reserved for automatic assignment. In general, ports below 15461 // 32768 are outside of the ephemeral port range. 15462 // 15463 // The default ephemeral port range from 49153 through 65535 is always used 15464 // for Docker versions before 1.6.0. 15465 // 15466 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 15467 // and the Amazon ECS container agent ports 51678-51680. Any host port that 15468 // was previously specified in a running task is also reserved while the task 15469 // is running (after a task stops, the host port is released). The current reserved 15470 // ports are displayed in the remainingResources of DescribeContainerInstances 15471 // output. A container instance can have up to 100 reserved ports at a time, 15472 // including the default reserved ports. Automatically assigned ports don't 15473 // count toward the 100 reserved ports limit. 15474 HostPort *int64 `locationName:"hostPort" type:"integer"` 15475 15476 // The protocol used for the port mapping. Valid values are tcp and udp. The 15477 // default is tcp. 15478 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 15479} 15480 15481// String returns the string representation 15482func (s PortMapping) String() string { 15483 return awsutil.Prettify(s) 15484} 15485 15486// GoString returns the string representation 15487func (s PortMapping) GoString() string { 15488 return s.String() 15489} 15490 15491// SetContainerPort sets the ContainerPort field's value. 15492func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 15493 s.ContainerPort = &v 15494 return s 15495} 15496 15497// SetHostPort sets the HostPort field's value. 15498func (s *PortMapping) SetHostPort(v int64) *PortMapping { 15499 s.HostPort = &v 15500 return s 15501} 15502 15503// SetProtocol sets the Protocol field's value. 15504func (s *PortMapping) SetProtocol(v string) *PortMapping { 15505 s.Protocol = &v 15506 return s 15507} 15508 15509// The configuration details for the App Mesh proxy. 15510// 15511// For tasks using the EC2 launch type, the container instances require at least 15512// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 15513// ecs-init package to enable a proxy configuration. If your container instances 15514// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 15515// then they contain the required versions of the container agent and ecs-init. 15516// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 15517type ProxyConfiguration struct { 15518 _ struct{} `type:"structure"` 15519 15520 // The name of the container that will serve as the App Mesh proxy. 15521 // 15522 // ContainerName is a required field 15523 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 15524 15525 // The set of network configuration parameters to provide the Container Network 15526 // Interface (CNI) plugin, specified as key-value pairs. 15527 // 15528 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 15529 // defined by the user parameter in a container definition. This is used 15530 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 15531 // this field can be empty. 15532 // 15533 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 15534 // defined by the user parameter in a container definition. This is used 15535 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 15536 // this field can be empty. 15537 // 15538 // * AppPorts - (Required) The list of ports that the application uses. Network 15539 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 15540 // 15541 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 15542 // to the AppPorts is directed to. 15543 // 15544 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 15545 // from the AppPorts is directed to. 15546 // 15547 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 15548 // ports is ignored and not redirected to the ProxyEgressPort. It can be 15549 // an empty list. 15550 // 15551 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 15552 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 15553 // can be an empty list. 15554 Properties []*KeyValuePair `locationName:"properties" type:"list"` 15555 15556 // The proxy type. The only supported value is APPMESH. 15557 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 15558} 15559 15560// String returns the string representation 15561func (s ProxyConfiguration) String() string { 15562 return awsutil.Prettify(s) 15563} 15564 15565// GoString returns the string representation 15566func (s ProxyConfiguration) GoString() string { 15567 return s.String() 15568} 15569 15570// Validate inspects the fields of the type to determine if they are valid. 15571func (s *ProxyConfiguration) Validate() error { 15572 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 15573 if s.ContainerName == nil { 15574 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 15575 } 15576 15577 if invalidParams.Len() > 0 { 15578 return invalidParams 15579 } 15580 return nil 15581} 15582 15583// SetContainerName sets the ContainerName field's value. 15584func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 15585 s.ContainerName = &v 15586 return s 15587} 15588 15589// SetProperties sets the Properties field's value. 15590func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 15591 s.Properties = v 15592 return s 15593} 15594 15595// SetType sets the Type field's value. 15596func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 15597 s.Type = &v 15598 return s 15599} 15600 15601type PutAccountSettingDefaultInput struct { 15602 _ struct{} `type:"structure"` 15603 15604 // The resource name for which to modify the account setting. If serviceLongArnFormat 15605 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 15606 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 15607 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 15608 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 15609 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 15610 // is specified, the default setting for CloudWatch Container Insights for your 15611 // clusters is affected. 15612 // 15613 // Name is a required field 15614 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 15615 15616 // The account setting value for the specified principal ARN. Accepted values 15617 // are enabled and disabled. 15618 // 15619 // Value is a required field 15620 Value *string `locationName:"value" type:"string" required:"true"` 15621} 15622 15623// String returns the string representation 15624func (s PutAccountSettingDefaultInput) String() string { 15625 return awsutil.Prettify(s) 15626} 15627 15628// GoString returns the string representation 15629func (s PutAccountSettingDefaultInput) GoString() string { 15630 return s.String() 15631} 15632 15633// Validate inspects the fields of the type to determine if they are valid. 15634func (s *PutAccountSettingDefaultInput) Validate() error { 15635 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 15636 if s.Name == nil { 15637 invalidParams.Add(request.NewErrParamRequired("Name")) 15638 } 15639 if s.Value == nil { 15640 invalidParams.Add(request.NewErrParamRequired("Value")) 15641 } 15642 15643 if invalidParams.Len() > 0 { 15644 return invalidParams 15645 } 15646 return nil 15647} 15648 15649// SetName sets the Name field's value. 15650func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 15651 s.Name = &v 15652 return s 15653} 15654 15655// SetValue sets the Value field's value. 15656func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 15657 s.Value = &v 15658 return s 15659} 15660 15661type PutAccountSettingDefaultOutput struct { 15662 _ struct{} `type:"structure"` 15663 15664 // The current setting for a resource. 15665 Setting *Setting `locationName:"setting" type:"structure"` 15666} 15667 15668// String returns the string representation 15669func (s PutAccountSettingDefaultOutput) String() string { 15670 return awsutil.Prettify(s) 15671} 15672 15673// GoString returns the string representation 15674func (s PutAccountSettingDefaultOutput) GoString() string { 15675 return s.String() 15676} 15677 15678// SetSetting sets the Setting field's value. 15679func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 15680 s.Setting = v 15681 return s 15682} 15683 15684type PutAccountSettingInput struct { 15685 _ struct{} `type:"structure"` 15686 15687 // The Amazon ECS resource name for which to modify the account setting. If 15688 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 15689 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 15690 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 15691 // the ARN and resource ID for your Amazon ECS container instances is affected. 15692 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 15693 // for your Amazon ECS container instances is affected. If containerInsights 15694 // is specified, the default setting for CloudWatch Container Insights for your 15695 // clusters is affected. 15696 // 15697 // Name is a required field 15698 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 15699 15700 // The ARN of the principal, which can be an IAM user, IAM role, or the root 15701 // user. If you specify the root user, it modifies the account setting for all 15702 // IAM users, IAM roles, and the root user of the account unless an IAM user 15703 // or role explicitly overrides these settings. If this field is omitted, the 15704 // setting is changed only for the authenticated user. 15705 // 15706 // Federated users assume the account setting of the root user and can't have 15707 // explicit account settings set for them. 15708 PrincipalArn *string `locationName:"principalArn" type:"string"` 15709 15710 // The account setting value for the specified principal ARN. Accepted values 15711 // are enabled and disabled. 15712 // 15713 // Value is a required field 15714 Value *string `locationName:"value" type:"string" required:"true"` 15715} 15716 15717// String returns the string representation 15718func (s PutAccountSettingInput) String() string { 15719 return awsutil.Prettify(s) 15720} 15721 15722// GoString returns the string representation 15723func (s PutAccountSettingInput) GoString() string { 15724 return s.String() 15725} 15726 15727// Validate inspects the fields of the type to determine if they are valid. 15728func (s *PutAccountSettingInput) Validate() error { 15729 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 15730 if s.Name == nil { 15731 invalidParams.Add(request.NewErrParamRequired("Name")) 15732 } 15733 if s.Value == nil { 15734 invalidParams.Add(request.NewErrParamRequired("Value")) 15735 } 15736 15737 if invalidParams.Len() > 0 { 15738 return invalidParams 15739 } 15740 return nil 15741} 15742 15743// SetName sets the Name field's value. 15744func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 15745 s.Name = &v 15746 return s 15747} 15748 15749// SetPrincipalArn sets the PrincipalArn field's value. 15750func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 15751 s.PrincipalArn = &v 15752 return s 15753} 15754 15755// SetValue sets the Value field's value. 15756func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 15757 s.Value = &v 15758 return s 15759} 15760 15761type PutAccountSettingOutput struct { 15762 _ struct{} `type:"structure"` 15763 15764 // The current account setting for a resource. 15765 Setting *Setting `locationName:"setting" type:"structure"` 15766} 15767 15768// String returns the string representation 15769func (s PutAccountSettingOutput) String() string { 15770 return awsutil.Prettify(s) 15771} 15772 15773// GoString returns the string representation 15774func (s PutAccountSettingOutput) GoString() string { 15775 return s.String() 15776} 15777 15778// SetSetting sets the Setting field's value. 15779func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 15780 s.Setting = v 15781 return s 15782} 15783 15784type PutAttributesInput struct { 15785 _ struct{} `type:"structure"` 15786 15787 // The attributes to apply to your resource. You can specify up to 10 custom 15788 // attributes per resource. You can specify up to 10 attributes in a single 15789 // call. 15790 // 15791 // Attributes is a required field 15792 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 15793 15794 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 15795 // the resource to apply attributes. If you do not specify a cluster, the default 15796 // cluster is assumed. 15797 Cluster *string `locationName:"cluster" type:"string"` 15798} 15799 15800// String returns the string representation 15801func (s PutAttributesInput) String() string { 15802 return awsutil.Prettify(s) 15803} 15804 15805// GoString returns the string representation 15806func (s PutAttributesInput) GoString() string { 15807 return s.String() 15808} 15809 15810// Validate inspects the fields of the type to determine if they are valid. 15811func (s *PutAttributesInput) Validate() error { 15812 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 15813 if s.Attributes == nil { 15814 invalidParams.Add(request.NewErrParamRequired("Attributes")) 15815 } 15816 if s.Attributes != nil { 15817 for i, v := range s.Attributes { 15818 if v == nil { 15819 continue 15820 } 15821 if err := v.Validate(); err != nil { 15822 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 15823 } 15824 } 15825 } 15826 15827 if invalidParams.Len() > 0 { 15828 return invalidParams 15829 } 15830 return nil 15831} 15832 15833// SetAttributes sets the Attributes field's value. 15834func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 15835 s.Attributes = v 15836 return s 15837} 15838 15839// SetCluster sets the Cluster field's value. 15840func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 15841 s.Cluster = &v 15842 return s 15843} 15844 15845type PutAttributesOutput struct { 15846 _ struct{} `type:"structure"` 15847 15848 // The attributes applied to your resource. 15849 Attributes []*Attribute `locationName:"attributes" type:"list"` 15850} 15851 15852// String returns the string representation 15853func (s PutAttributesOutput) String() string { 15854 return awsutil.Prettify(s) 15855} 15856 15857// GoString returns the string representation 15858func (s PutAttributesOutput) GoString() string { 15859 return s.String() 15860} 15861 15862// SetAttributes sets the Attributes field's value. 15863func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 15864 s.Attributes = v 15865 return s 15866} 15867 15868type PutClusterCapacityProvidersInput struct { 15869 _ struct{} `type:"structure"` 15870 15871 // The name of one or more capacity providers to associate with the cluster. 15872 // 15873 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15874 // provider must already be created. New capacity providers can be created with 15875 // the CreateCapacityProvider API operation. 15876 // 15877 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15878 // capacity providers. The Fargate capacity providers are available to all accounts 15879 // and only need to be associated with a cluster to be used. 15880 // 15881 // CapacityProviders is a required field 15882 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 15883 15884 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 15885 // the capacity provider settings for. If you do not specify a cluster, the 15886 // default cluster is assumed. 15887 // 15888 // Cluster is a required field 15889 Cluster *string `locationName:"cluster" type:"string" required:"true"` 15890 15891 // The capacity provider strategy to use by default for the cluster. 15892 // 15893 // When creating a service or running a task on a cluster, if no capacity provider 15894 // or launch type is specified then the default capacity provider strategy for 15895 // the cluster is used. 15896 // 15897 // A capacity provider strategy consists of one or more capacity providers along 15898 // with the base and weight to assign to them. A capacity provider must be associated 15899 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 15900 // API is used to associate a capacity provider with a cluster. Only capacity 15901 // providers with an ACTIVE or UPDATING status can be used. 15902 // 15903 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15904 // provider must already be created. New capacity providers can be created with 15905 // the CreateCapacityProvider API operation. 15906 // 15907 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15908 // capacity providers. The Fargate capacity providers are available to all accounts 15909 // and only need to be associated with a cluster to be used. 15910 // 15911 // DefaultCapacityProviderStrategy is a required field 15912 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 15913} 15914 15915// String returns the string representation 15916func (s PutClusterCapacityProvidersInput) String() string { 15917 return awsutil.Prettify(s) 15918} 15919 15920// GoString returns the string representation 15921func (s PutClusterCapacityProvidersInput) GoString() string { 15922 return s.String() 15923} 15924 15925// Validate inspects the fields of the type to determine if they are valid. 15926func (s *PutClusterCapacityProvidersInput) Validate() error { 15927 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 15928 if s.CapacityProviders == nil { 15929 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 15930 } 15931 if s.Cluster == nil { 15932 invalidParams.Add(request.NewErrParamRequired("Cluster")) 15933 } 15934 if s.DefaultCapacityProviderStrategy == nil { 15935 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 15936 } 15937 if s.DefaultCapacityProviderStrategy != nil { 15938 for i, v := range s.DefaultCapacityProviderStrategy { 15939 if v == nil { 15940 continue 15941 } 15942 if err := v.Validate(); err != nil { 15943 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 15944 } 15945 } 15946 } 15947 15948 if invalidParams.Len() > 0 { 15949 return invalidParams 15950 } 15951 return nil 15952} 15953 15954// SetCapacityProviders sets the CapacityProviders field's value. 15955func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 15956 s.CapacityProviders = v 15957 return s 15958} 15959 15960// SetCluster sets the Cluster field's value. 15961func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 15962 s.Cluster = &v 15963 return s 15964} 15965 15966// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 15967func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 15968 s.DefaultCapacityProviderStrategy = v 15969 return s 15970} 15971 15972type PutClusterCapacityProvidersOutput struct { 15973 _ struct{} `type:"structure"` 15974 15975 // Details about the cluster. 15976 Cluster *Cluster `locationName:"cluster" type:"structure"` 15977} 15978 15979// String returns the string representation 15980func (s PutClusterCapacityProvidersOutput) String() string { 15981 return awsutil.Prettify(s) 15982} 15983 15984// GoString returns the string representation 15985func (s PutClusterCapacityProvidersOutput) GoString() string { 15986 return s.String() 15987} 15988 15989// SetCluster sets the Cluster field's value. 15990func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 15991 s.Cluster = v 15992 return s 15993} 15994 15995type RegisterContainerInstanceInput struct { 15996 _ struct{} `type:"structure"` 15997 15998 // The container instance attributes that this container instance supports. 15999 Attributes []*Attribute `locationName:"attributes" type:"list"` 16000 16001 // The short name or full Amazon Resource Name (ARN) of the cluster with which 16002 // to register your container instance. If you do not specify a cluster, the 16003 // default cluster is assumed. 16004 Cluster *string `locationName:"cluster" type:"string"` 16005 16006 // The ARN of the container instance (if it was previously registered). 16007 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 16008 16009 // The instance identity document for the EC2 instance to register. This document 16010 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 16011 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 16012 16013 // The instance identity document signature for the EC2 instance to register. 16014 // This signature can be found by running the following command from the instance: 16015 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 16016 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 16017 16018 // The devices that are available on the container instance. The only supported 16019 // device type is a GPU. 16020 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 16021 16022 // The metadata that you apply to the container instance to help you categorize 16023 // and organize them. Each tag consists of a key and an optional value, both 16024 // of which you define. 16025 // 16026 // The following basic restrictions apply to tags: 16027 // 16028 // * Maximum number of tags per resource - 50 16029 // 16030 // * For each resource, each tag key must be unique, and each tag key can 16031 // have only one value. 16032 // 16033 // * Maximum key length - 128 Unicode characters in UTF-8 16034 // 16035 // * Maximum value length - 256 Unicode characters in UTF-8 16036 // 16037 // * If your tagging schema is used across multiple services and resources, 16038 // remember that other services may have restrictions on allowed characters. 16039 // Generally allowed characters are: letters, numbers, and spaces representable 16040 // in UTF-8, and the following characters: + - = . _ : / @. 16041 // 16042 // * Tag keys and values are case-sensitive. 16043 // 16044 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16045 // as a prefix for either keys or values as it is reserved for Amazon Web 16046 // Services use. You cannot edit or delete tag keys or values with this prefix. 16047 // Tags with this prefix do not count against your tags per resource limit. 16048 Tags []*Tag `locationName:"tags" type:"list"` 16049 16050 // The resources available on the instance. 16051 TotalResources []*Resource `locationName:"totalResources" type:"list"` 16052 16053 // The version information for the Amazon ECS container agent and Docker daemon 16054 // running on the container instance. 16055 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 16056} 16057 16058// String returns the string representation 16059func (s RegisterContainerInstanceInput) String() string { 16060 return awsutil.Prettify(s) 16061} 16062 16063// GoString returns the string representation 16064func (s RegisterContainerInstanceInput) GoString() string { 16065 return s.String() 16066} 16067 16068// Validate inspects the fields of the type to determine if they are valid. 16069func (s *RegisterContainerInstanceInput) Validate() error { 16070 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 16071 if s.Attributes != nil { 16072 for i, v := range s.Attributes { 16073 if v == nil { 16074 continue 16075 } 16076 if err := v.Validate(); err != nil { 16077 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 16078 } 16079 } 16080 } 16081 if s.PlatformDevices != nil { 16082 for i, v := range s.PlatformDevices { 16083 if v == nil { 16084 continue 16085 } 16086 if err := v.Validate(); err != nil { 16087 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 16088 } 16089 } 16090 } 16091 if s.Tags != nil { 16092 for i, v := range s.Tags { 16093 if v == nil { 16094 continue 16095 } 16096 if err := v.Validate(); err != nil { 16097 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16098 } 16099 } 16100 } 16101 16102 if invalidParams.Len() > 0 { 16103 return invalidParams 16104 } 16105 return nil 16106} 16107 16108// SetAttributes sets the Attributes field's value. 16109func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 16110 s.Attributes = v 16111 return s 16112} 16113 16114// SetCluster sets the Cluster field's value. 16115func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 16116 s.Cluster = &v 16117 return s 16118} 16119 16120// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 16121func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 16122 s.ContainerInstanceArn = &v 16123 return s 16124} 16125 16126// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 16127func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 16128 s.InstanceIdentityDocument = &v 16129 return s 16130} 16131 16132// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 16133func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 16134 s.InstanceIdentityDocumentSignature = &v 16135 return s 16136} 16137 16138// SetPlatformDevices sets the PlatformDevices field's value. 16139func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 16140 s.PlatformDevices = v 16141 return s 16142} 16143 16144// SetTags sets the Tags field's value. 16145func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 16146 s.Tags = v 16147 return s 16148} 16149 16150// SetTotalResources sets the TotalResources field's value. 16151func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 16152 s.TotalResources = v 16153 return s 16154} 16155 16156// SetVersionInfo sets the VersionInfo field's value. 16157func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 16158 s.VersionInfo = v 16159 return s 16160} 16161 16162type RegisterContainerInstanceOutput struct { 16163 _ struct{} `type:"structure"` 16164 16165 // The container instance that was registered. 16166 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 16167} 16168 16169// String returns the string representation 16170func (s RegisterContainerInstanceOutput) String() string { 16171 return awsutil.Prettify(s) 16172} 16173 16174// GoString returns the string representation 16175func (s RegisterContainerInstanceOutput) GoString() string { 16176 return s.String() 16177} 16178 16179// SetContainerInstance sets the ContainerInstance field's value. 16180func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 16181 s.ContainerInstance = v 16182 return s 16183} 16184 16185type RegisterTaskDefinitionInput struct { 16186 _ struct{} `type:"structure"` 16187 16188 // A list of container definitions in JSON format that describe the different 16189 // containers that make up your task. 16190 // 16191 // ContainerDefinitions is a required field 16192 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 16193 16194 // The number of CPU units used by the task. It can be expressed as an integer 16195 // using CPU units, for example 1024, or as a string using vCPUs, for example 16196 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 16197 // integer indicating the CPU units when the task definition is registered. 16198 // 16199 // Task-level CPU and memory parameters are ignored for Windows containers. 16200 // We recommend specifying container-level resources for Windows containers. 16201 // 16202 // If you are using the EC2 launch type, this field is optional. Supported values 16203 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 16204 // 16205 // If you are using the Fargate launch type, this field is required and you 16206 // must use one of the following values, which determines your range of supported 16207 // values for the memory parameter: 16208 // 16209 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 16210 // 2048 (2 GB) 16211 // 16212 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 16213 // (3 GB), 4096 (4 GB) 16214 // 16215 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 16216 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 16217 // 16218 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 16219 // (16 GB) in increments of 1024 (1 GB) 16220 // 16221 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 16222 // (30 GB) in increments of 1024 (1 GB) 16223 Cpu *string `locationName:"cpu" type:"string"` 16224 16225 // The amount of ephemeral storage to allocate for the task. This parameter 16226 // is used to expand the total amount of ephemeral storage available, beyond 16227 // the default amount, for tasks hosted on Fargate. For more information, see 16228 // Fargate task storage (https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html) 16229 // in the Amazon ECS User Guide for Fargate. 16230 // 16231 // This parameter is only supported for tasks hosted on Fargate using platform 16232 // version 1.4.0 or later. 16233 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 16234 16235 // The Amazon Resource Name (ARN) of the task execution role that grants the 16236 // Amazon ECS container agent permission to make Amazon Web Services API calls 16237 // on your behalf. The task execution IAM role is required depending on the 16238 // requirements of your task. For more information, see Amazon ECS task execution 16239 // IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 16240 // in the Amazon Elastic Container Service Developer Guide. 16241 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 16242 16243 // You must specify a family for a task definition, which allows you to track 16244 // multiple versions of the same task definition. The family is used as a name 16245 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 16246 // underscores, and hyphens are allowed. 16247 // 16248 // Family is a required field 16249 Family *string `locationName:"family" type:"string" required:"true"` 16250 16251 // The Elastic Inference accelerators to use for the containers in the task. 16252 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 16253 16254 // The IPC resource namespace to use for the containers in the task. The valid 16255 // values are host, task, or none. If host is specified, then all containers 16256 // within the tasks that specified the host IPC mode on the same container instance 16257 // share the same IPC resources with the host Amazon EC2 instance. If task is 16258 // specified, all containers within the specified task share the same IPC resources. 16259 // If none is specified, then IPC resources within the containers of a task 16260 // are private and not shared with other containers in a task or on the container 16261 // instance. If no value is specified, then the IPC resource namespace sharing 16262 // depends on the Docker daemon setting on the container instance. For more 16263 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 16264 // in the Docker run reference. 16265 // 16266 // If the host IPC mode is used, be aware that there is a heightened risk of 16267 // undesired IPC namespace expose. For more information, see Docker security 16268 // (https://docs.docker.com/engine/security/security/). 16269 // 16270 // If you are setting namespaced kernel parameters using systemControls for 16271 // the containers in the task, the following will apply to your IPC resource 16272 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 16273 // in the Amazon Elastic Container Service Developer Guide. 16274 // 16275 // * For tasks that use the host IPC mode, IPC namespace related systemControls 16276 // are not supported. 16277 // 16278 // * For tasks that use the task IPC mode, IPC namespace related systemControls 16279 // will apply to all containers within a task. 16280 // 16281 // This parameter is not supported for Windows containers or tasks run on Fargate. 16282 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 16283 16284 // The amount of memory (in MiB) used by the task. It can be expressed as an 16285 // integer using MiB, for example 1024, or as a string using GB, for example 16286 // 1GB or 1 GB, in a task definition. String values are converted to an integer 16287 // indicating the MiB when the task definition is registered. 16288 // 16289 // Task-level CPU and memory parameters are ignored for Windows containers. 16290 // We recommend specifying container-level resources for Windows containers. 16291 // 16292 // If using the EC2 launch type, this field is optional. 16293 // 16294 // If using the Fargate launch type, this field is required and you must use 16295 // one of the following values, which determines your range of supported values 16296 // for the cpu parameter: 16297 // 16298 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 16299 // vCPU) 16300 // 16301 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 16302 // 512 (.5 vCPU) 16303 // 16304 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 16305 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 16306 // 16307 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 16308 // Available cpu values: 2048 (2 vCPU) 16309 // 16310 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 16311 // Available cpu values: 4096 (4 vCPU) 16312 Memory *string `locationName:"memory" type:"string"` 16313 16314 // The Docker networking mode to use for the containers in the task. The valid 16315 // values are none, bridge, awsvpc, and host. If no network mode is specified, 16316 // the default is bridge. 16317 // 16318 // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For 16319 // Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. 16320 // For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc 16321 // can be used. If the network mode is set to none, you cannot specify port 16322 // mappings in your container definitions, and the tasks containers do not have 16323 // external connectivity. The host and awsvpc network modes offer the highest 16324 // networking performance for containers because they use the EC2 network stack 16325 // instead of the virtualized network stack provided by the bridge mode. 16326 // 16327 // With the host and awsvpc network modes, exposed container ports are mapped 16328 // directly to the corresponding host port (for the host network mode) or the 16329 // attached elastic network interface port (for the awsvpc network mode), so 16330 // you cannot take advantage of dynamic host port mappings. 16331 // 16332 // When using the host network mode, you should not run containers using the 16333 // root user (UID 0). It is considered best practice to use a non-root user. 16334 // 16335 // If the network mode is awsvpc, the task is allocated an elastic network interface, 16336 // and you must specify a NetworkConfiguration value when you create a service 16337 // or run a task with the task definition. For more information, see Task Networking 16338 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 16339 // in the Amazon Elastic Container Service Developer Guide. 16340 // 16341 // If the network mode is host, you cannot run multiple instantiations of the 16342 // same task on a single container instance when port mappings are used. 16343 // 16344 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 16345 // in the Docker run reference. 16346 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 16347 16348 // The process namespace to use for the containers in the task. The valid values 16349 // are host or task. If host is specified, then all containers within the tasks 16350 // that specified the host PID mode on the same container instance share the 16351 // same process namespace with the host Amazon EC2 instance. If task is specified, 16352 // all containers within the specified task share the same process namespace. 16353 // If no value is specified, the default is a private namespace. For more information, 16354 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 16355 // in the Docker run reference. 16356 // 16357 // If the host PID mode is used, be aware that there is a heightened risk of 16358 // undesired process namespace expose. For more information, see Docker security 16359 // (https://docs.docker.com/engine/security/security/). 16360 // 16361 // This parameter is not supported for Windows containers or tasks run on Fargate. 16362 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 16363 16364 // An array of placement constraint objects to use for the task. You can specify 16365 // a maximum of 10 constraints per task (this limit includes constraints in 16366 // the task definition and those specified at runtime). 16367 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 16368 16369 // The configuration details for the App Mesh proxy. 16370 // 16371 // For tasks hosted on Amazon EC2 instances, the container instances require 16372 // at least version 1.26.0 of the container agent and at least version 1.26.0-1 16373 // of the ecs-init package to enable a proxy configuration. If your container 16374 // instances are launched from the Amazon ECS-optimized AMI version 20190301 16375 // or later, then they contain the required versions of the container agent 16376 // and ecs-init. For more information, see Amazon ECS-optimized AMI versions 16377 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html) 16378 // in the Amazon Elastic Container Service Developer Guide. 16379 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 16380 16381 // The task launch type that Amazon ECS should validate the task definition 16382 // against. A client exception is returned if the task definition doesn't validate 16383 // against the compatibilities specified. If no value is specified, the parameter 16384 // is omitted from the response. 16385 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 16386 16387 // The metadata that you apply to the task definition to help you categorize 16388 // and organize them. Each tag consists of a key and an optional value, both 16389 // of which you define. 16390 // 16391 // The following basic restrictions apply to tags: 16392 // 16393 // * Maximum number of tags per resource - 50 16394 // 16395 // * For each resource, each tag key must be unique, and each tag key can 16396 // have only one value. 16397 // 16398 // * Maximum key length - 128 Unicode characters in UTF-8 16399 // 16400 // * Maximum value length - 256 Unicode characters in UTF-8 16401 // 16402 // * If your tagging schema is used across multiple services and resources, 16403 // remember that other services may have restrictions on allowed characters. 16404 // Generally allowed characters are: letters, numbers, and spaces representable 16405 // in UTF-8, and the following characters: + - = . _ : / @. 16406 // 16407 // * Tag keys and values are case-sensitive. 16408 // 16409 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16410 // as a prefix for either keys or values as it is reserved for Amazon Web 16411 // Services use. You cannot edit or delete tag keys or values with this prefix. 16412 // Tags with this prefix do not count against your tags per resource limit. 16413 Tags []*Tag `locationName:"tags" type:"list"` 16414 16415 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 16416 // in this task can assume. All containers in this task are granted the permissions 16417 // that are specified in this role. For more information, see IAM Roles for 16418 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 16419 // in the Amazon Elastic Container Service Developer Guide. 16420 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 16421 16422 // A list of volume definitions in JSON format that containers in your task 16423 // may use. 16424 Volumes []*Volume `locationName:"volumes" type:"list"` 16425} 16426 16427// String returns the string representation 16428func (s RegisterTaskDefinitionInput) String() string { 16429 return awsutil.Prettify(s) 16430} 16431 16432// GoString returns the string representation 16433func (s RegisterTaskDefinitionInput) GoString() string { 16434 return s.String() 16435} 16436 16437// Validate inspects the fields of the type to determine if they are valid. 16438func (s *RegisterTaskDefinitionInput) Validate() error { 16439 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 16440 if s.ContainerDefinitions == nil { 16441 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 16442 } 16443 if s.Family == nil { 16444 invalidParams.Add(request.NewErrParamRequired("Family")) 16445 } 16446 if s.ContainerDefinitions != nil { 16447 for i, v := range s.ContainerDefinitions { 16448 if v == nil { 16449 continue 16450 } 16451 if err := v.Validate(); err != nil { 16452 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 16453 } 16454 } 16455 } 16456 if s.EphemeralStorage != nil { 16457 if err := s.EphemeralStorage.Validate(); err != nil { 16458 invalidParams.AddNested("EphemeralStorage", err.(request.ErrInvalidParams)) 16459 } 16460 } 16461 if s.InferenceAccelerators != nil { 16462 for i, v := range s.InferenceAccelerators { 16463 if v == nil { 16464 continue 16465 } 16466 if err := v.Validate(); err != nil { 16467 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 16468 } 16469 } 16470 } 16471 if s.ProxyConfiguration != nil { 16472 if err := s.ProxyConfiguration.Validate(); err != nil { 16473 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 16474 } 16475 } 16476 if s.Tags != nil { 16477 for i, v := range s.Tags { 16478 if v == nil { 16479 continue 16480 } 16481 if err := v.Validate(); err != nil { 16482 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16483 } 16484 } 16485 } 16486 if s.Volumes != nil { 16487 for i, v := range s.Volumes { 16488 if v == nil { 16489 continue 16490 } 16491 if err := v.Validate(); err != nil { 16492 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 16493 } 16494 } 16495 } 16496 16497 if invalidParams.Len() > 0 { 16498 return invalidParams 16499 } 16500 return nil 16501} 16502 16503// SetContainerDefinitions sets the ContainerDefinitions field's value. 16504func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 16505 s.ContainerDefinitions = v 16506 return s 16507} 16508 16509// SetCpu sets the Cpu field's value. 16510func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 16511 s.Cpu = &v 16512 return s 16513} 16514 16515// SetEphemeralStorage sets the EphemeralStorage field's value. 16516func (s *RegisterTaskDefinitionInput) SetEphemeralStorage(v *EphemeralStorage) *RegisterTaskDefinitionInput { 16517 s.EphemeralStorage = v 16518 return s 16519} 16520 16521// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 16522func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 16523 s.ExecutionRoleArn = &v 16524 return s 16525} 16526 16527// SetFamily sets the Family field's value. 16528func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 16529 s.Family = &v 16530 return s 16531} 16532 16533// SetInferenceAccelerators sets the InferenceAccelerators field's value. 16534func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 16535 s.InferenceAccelerators = v 16536 return s 16537} 16538 16539// SetIpcMode sets the IpcMode field's value. 16540func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 16541 s.IpcMode = &v 16542 return s 16543} 16544 16545// SetMemory sets the Memory field's value. 16546func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 16547 s.Memory = &v 16548 return s 16549} 16550 16551// SetNetworkMode sets the NetworkMode field's value. 16552func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 16553 s.NetworkMode = &v 16554 return s 16555} 16556 16557// SetPidMode sets the PidMode field's value. 16558func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 16559 s.PidMode = &v 16560 return s 16561} 16562 16563// SetPlacementConstraints sets the PlacementConstraints field's value. 16564func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 16565 s.PlacementConstraints = v 16566 return s 16567} 16568 16569// SetProxyConfiguration sets the ProxyConfiguration field's value. 16570func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 16571 s.ProxyConfiguration = v 16572 return s 16573} 16574 16575// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 16576func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 16577 s.RequiresCompatibilities = v 16578 return s 16579} 16580 16581// SetTags sets the Tags field's value. 16582func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 16583 s.Tags = v 16584 return s 16585} 16586 16587// SetTaskRoleArn sets the TaskRoleArn field's value. 16588func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 16589 s.TaskRoleArn = &v 16590 return s 16591} 16592 16593// SetVolumes sets the Volumes field's value. 16594func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 16595 s.Volumes = v 16596 return s 16597} 16598 16599type RegisterTaskDefinitionOutput struct { 16600 _ struct{} `type:"structure"` 16601 16602 // The list of tags associated with the task definition. 16603 Tags []*Tag `locationName:"tags" type:"list"` 16604 16605 // The full description of the registered task definition. 16606 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 16607} 16608 16609// String returns the string representation 16610func (s RegisterTaskDefinitionOutput) String() string { 16611 return awsutil.Prettify(s) 16612} 16613 16614// GoString returns the string representation 16615func (s RegisterTaskDefinitionOutput) GoString() string { 16616 return s.String() 16617} 16618 16619// SetTags sets the Tags field's value. 16620func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 16621 s.Tags = v 16622 return s 16623} 16624 16625// SetTaskDefinition sets the TaskDefinition field's value. 16626func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 16627 s.TaskDefinition = v 16628 return s 16629} 16630 16631// The repository credentials for private registry authentication. 16632type RepositoryCredentials struct { 16633 _ struct{} `type:"structure"` 16634 16635 // The Amazon Resource Name (ARN) of the secret containing the private repository 16636 // credentials. 16637 // 16638 // When you are using the Amazon ECS API, CLI, or Amazon Web Services SDK, if 16639 // the secret exists in the same Region as the task that you are launching then 16640 // you can use either the full ARN or the name of the secret. When you are using 16641 // the Amazon Web Services Management Console, you must specify the full ARN 16642 // of the secret. 16643 // 16644 // CredentialsParameter is a required field 16645 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 16646} 16647 16648// String returns the string representation 16649func (s RepositoryCredentials) String() string { 16650 return awsutil.Prettify(s) 16651} 16652 16653// GoString returns the string representation 16654func (s RepositoryCredentials) GoString() string { 16655 return s.String() 16656} 16657 16658// Validate inspects the fields of the type to determine if they are valid. 16659func (s *RepositoryCredentials) Validate() error { 16660 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 16661 if s.CredentialsParameter == nil { 16662 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 16663 } 16664 16665 if invalidParams.Len() > 0 { 16666 return invalidParams 16667 } 16668 return nil 16669} 16670 16671// SetCredentialsParameter sets the CredentialsParameter field's value. 16672func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 16673 s.CredentialsParameter = &v 16674 return s 16675} 16676 16677// Describes the resources available for a container instance. 16678type Resource struct { 16679 _ struct{} `type:"structure"` 16680 16681 // When the doubleValue type is set, the value of the resource must be a double 16682 // precision floating-point type. 16683 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 16684 16685 // When the integerValue type is set, the value of the resource must be an integer. 16686 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 16687 16688 // When the longValue type is set, the value of the resource must be an extended 16689 // precision floating-point type. 16690 LongValue *int64 `locationName:"longValue" type:"long"` 16691 16692 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 16693 // resource. 16694 Name *string `locationName:"name" type:"string"` 16695 16696 // When the stringSetValue type is set, the value of the resource must be a 16697 // string type. 16698 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 16699 16700 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 16701 Type *string `locationName:"type" type:"string"` 16702} 16703 16704// String returns the string representation 16705func (s Resource) String() string { 16706 return awsutil.Prettify(s) 16707} 16708 16709// GoString returns the string representation 16710func (s Resource) GoString() string { 16711 return s.String() 16712} 16713 16714// SetDoubleValue sets the DoubleValue field's value. 16715func (s *Resource) SetDoubleValue(v float64) *Resource { 16716 s.DoubleValue = &v 16717 return s 16718} 16719 16720// SetIntegerValue sets the IntegerValue field's value. 16721func (s *Resource) SetIntegerValue(v int64) *Resource { 16722 s.IntegerValue = &v 16723 return s 16724} 16725 16726// SetLongValue sets the LongValue field's value. 16727func (s *Resource) SetLongValue(v int64) *Resource { 16728 s.LongValue = &v 16729 return s 16730} 16731 16732// SetName sets the Name field's value. 16733func (s *Resource) SetName(v string) *Resource { 16734 s.Name = &v 16735 return s 16736} 16737 16738// SetStringSetValue sets the StringSetValue field's value. 16739func (s *Resource) SetStringSetValue(v []*string) *Resource { 16740 s.StringSetValue = v 16741 return s 16742} 16743 16744// SetType sets the Type field's value. 16745func (s *Resource) SetType(v string) *Resource { 16746 s.Type = &v 16747 return s 16748} 16749 16750// The specified resource is in-use and cannot be removed. 16751type ResourceInUseException struct { 16752 _ struct{} `type:"structure"` 16753 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16754 16755 Message_ *string `locationName:"message" type:"string"` 16756} 16757 16758// String returns the string representation 16759func (s ResourceInUseException) String() string { 16760 return awsutil.Prettify(s) 16761} 16762 16763// GoString returns the string representation 16764func (s ResourceInUseException) GoString() string { 16765 return s.String() 16766} 16767 16768func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 16769 return &ResourceInUseException{ 16770 RespMetadata: v, 16771 } 16772} 16773 16774// Code returns the exception type name. 16775func (s *ResourceInUseException) Code() string { 16776 return "ResourceInUseException" 16777} 16778 16779// Message returns the exception's message. 16780func (s *ResourceInUseException) Message() string { 16781 if s.Message_ != nil { 16782 return *s.Message_ 16783 } 16784 return "" 16785} 16786 16787// OrigErr always returns nil, satisfies awserr.Error interface. 16788func (s *ResourceInUseException) OrigErr() error { 16789 return nil 16790} 16791 16792func (s *ResourceInUseException) Error() string { 16793 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16794} 16795 16796// Status code returns the HTTP status code for the request's response error. 16797func (s *ResourceInUseException) StatusCode() int { 16798 return s.RespMetadata.StatusCode 16799} 16800 16801// RequestID returns the service's response RequestID for request. 16802func (s *ResourceInUseException) RequestID() string { 16803 return s.RespMetadata.RequestID 16804} 16805 16806// The specified resource could not be found. 16807type ResourceNotFoundException struct { 16808 _ struct{} `type:"structure"` 16809 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16810 16811 Message_ *string `locationName:"message" type:"string"` 16812} 16813 16814// String returns the string representation 16815func (s ResourceNotFoundException) String() string { 16816 return awsutil.Prettify(s) 16817} 16818 16819// GoString returns the string representation 16820func (s ResourceNotFoundException) GoString() string { 16821 return s.String() 16822} 16823 16824func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 16825 return &ResourceNotFoundException{ 16826 RespMetadata: v, 16827 } 16828} 16829 16830// Code returns the exception type name. 16831func (s *ResourceNotFoundException) Code() string { 16832 return "ResourceNotFoundException" 16833} 16834 16835// Message returns the exception's message. 16836func (s *ResourceNotFoundException) Message() string { 16837 if s.Message_ != nil { 16838 return *s.Message_ 16839 } 16840 return "" 16841} 16842 16843// OrigErr always returns nil, satisfies awserr.Error interface. 16844func (s *ResourceNotFoundException) OrigErr() error { 16845 return nil 16846} 16847 16848func (s *ResourceNotFoundException) Error() string { 16849 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16850} 16851 16852// Status code returns the HTTP status code for the request's response error. 16853func (s *ResourceNotFoundException) StatusCode() int { 16854 return s.RespMetadata.StatusCode 16855} 16856 16857// RequestID returns the service's response RequestID for request. 16858func (s *ResourceNotFoundException) RequestID() string { 16859 return s.RespMetadata.RequestID 16860} 16861 16862// The type and amount of a resource to assign to a container. The supported 16863// resource types are GPUs and Elastic Inference accelerators. For more information, 16864// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 16865// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 16866// in the Amazon Elastic Container Service Developer Guide 16867type ResourceRequirement struct { 16868 _ struct{} `type:"structure"` 16869 16870 // The type of resource to assign to a container. The supported values are GPU 16871 // or InferenceAccelerator. 16872 // 16873 // Type is a required field 16874 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 16875 16876 // The value for the specified resource type. 16877 // 16878 // If the GPU type is used, the value is the number of physical GPUs the Amazon 16879 // ECS container agent will reserve for the container. The number of GPUs reserved 16880 // for all containers in a task should not exceed the number of available GPUs 16881 // on the container instance the task is launched on. 16882 // 16883 // If the InferenceAccelerator type is used, the value should match the deviceName 16884 // for an InferenceAccelerator specified in a task definition. 16885 // 16886 // Value is a required field 16887 Value *string `locationName:"value" type:"string" required:"true"` 16888} 16889 16890// String returns the string representation 16891func (s ResourceRequirement) String() string { 16892 return awsutil.Prettify(s) 16893} 16894 16895// GoString returns the string representation 16896func (s ResourceRequirement) GoString() string { 16897 return s.String() 16898} 16899 16900// Validate inspects the fields of the type to determine if they are valid. 16901func (s *ResourceRequirement) Validate() error { 16902 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 16903 if s.Type == nil { 16904 invalidParams.Add(request.NewErrParamRequired("Type")) 16905 } 16906 if s.Value == nil { 16907 invalidParams.Add(request.NewErrParamRequired("Value")) 16908 } 16909 16910 if invalidParams.Len() > 0 { 16911 return invalidParams 16912 } 16913 return nil 16914} 16915 16916// SetType sets the Type field's value. 16917func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 16918 s.Type = &v 16919 return s 16920} 16921 16922// SetValue sets the Value field's value. 16923func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 16924 s.Value = &v 16925 return s 16926} 16927 16928type RunTaskInput struct { 16929 _ struct{} `type:"structure"` 16930 16931 // The capacity provider strategy to use for the task. 16932 // 16933 // If a capacityProviderStrategy is specified, the launchType parameter must 16934 // be omitted. If no capacityProviderStrategy or launchType is specified, the 16935 // defaultCapacityProviderStrategy for the cluster is used. 16936 // 16937 // When you use cluster auto scaling, you must specify capacityProviderStrategy 16938 // and not launchType. 16939 // 16940 // A capacity provider strategy may contain a maximum of 6 capacity providers. 16941 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 16942 16943 // The short name or full Amazon Resource Name (ARN) of the cluster on which 16944 // to run your task. If you do not specify a cluster, the default cluster is 16945 // assumed. 16946 Cluster *string `locationName:"cluster" type:"string"` 16947 16948 // The number of instantiations of the specified task to place on your cluster. 16949 // You can specify up to 10 tasks per call. 16950 Count *int64 `locationName:"count" type:"integer"` 16951 16952 // Specifies whether to enable Amazon ECS managed tags for the task. For more 16953 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16954 // in the Amazon Elastic Container Service Developer Guide. 16955 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16956 16957 // Whether or not to enable the execute command functionality for the containers 16958 // in this task. If true, this enables execute command functionality on all 16959 // containers in the task. 16960 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 16961 16962 // The name of the task group to associate with the task. The default value 16963 // is the family name of the task definition (for example, family:my-family-name). 16964 Group *string `locationName:"group" type:"string"` 16965 16966 // The infrastructure on which to run your standalone task. For more information, 16967 // see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16968 // in the Amazon Elastic Container Service Developer Guide. 16969 // 16970 // The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. 16971 // 16972 // Fargate Spot infrastructure is available for use but a capacity provider 16973 // strategy must be used. For more information, see Fargate capacity providers 16974 // (https://docs.aws.amazon.com/AmazonECS/latest/userguide/fargate-capacity-providers.html) 16975 // in the Amazon ECS User Guide for Fargate. 16976 // 16977 // The EC2 launch type runs your tasks on Amazon EC2 instances registered to 16978 // your cluster. 16979 // 16980 // The EXTERNAL launch type runs your tasks on your on-premise server or virtual 16981 // machine (VM) capacity registered to your cluster. 16982 // 16983 // A task can use either a launch type or a capacity provider strategy. If a 16984 // launchType is specified, the capacityProviderStrategy parameter must be omitted. 16985 // 16986 // When you use cluster auto scaling, you must specify capacityProviderStrategy 16987 // and not launchType. 16988 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 16989 16990 // The network configuration for the task. This parameter is required for task 16991 // definitions that use the awsvpc network mode to receive their own elastic 16992 // network interface, and it is not supported for other network modes. For more 16993 // information, see Task networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 16994 // in the Amazon Elastic Container Service Developer Guide. 16995 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16996 16997 // A list of container overrides in JSON format that specify the name of a container 16998 // in the specified task definition and the overrides it should receive. You 16999 // can override the default command for a container (that is specified in the 17000 // task definition or Docker image) with a command override. You can also override 17001 // existing environment variables (that are specified in the task definition 17002 // or Docker image) on a container or add new environment variables to it with 17003 // an environment override. 17004 // 17005 // A total of 8192 characters are allowed for overrides. This limit includes 17006 // the JSON formatting characters of the override structure. 17007 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 17008 17009 // An array of placement constraint objects to use for the task. You can specify 17010 // up to 10 constraints per task (including constraints in the task definition 17011 // and those specified at runtime). 17012 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 17013 17014 // The placement strategy objects to use for the task. You can specify a maximum 17015 // of 5 strategy rules per task. 17016 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 17017 17018 // The platform version the task should use. A platform version is only specified 17019 // for tasks hosted on Fargate. If one is not specified, the LATEST platform 17020 // version is used by default. For more information, see Fargate platform versions 17021 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 17022 // in the Amazon Elastic Container Service Developer Guide. 17023 PlatformVersion *string `locationName:"platformVersion" type:"string"` 17024 17025 // Specifies whether to propagate the tags from the task definition to the task. 17026 // If no value is specified, the tags are not propagated. Tags can only be propagated 17027 // to the task during task creation. To add tags to a task after task creation, 17028 // use the TagResource API action. 17029 // 17030 // An error will be received if you specify the SERVICE option when running 17031 // a task. 17032 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 17033 17034 // The reference ID to use for the task. The reference ID can have a maximum 17035 // length of 1024 characters. 17036 ReferenceId *string `locationName:"referenceId" type:"string"` 17037 17038 // An optional tag specified when a task is started. For example, if you automatically 17039 // trigger a task to run a batch process job, you could apply a unique identifier 17040 // for that job to your task with the startedBy parameter. You can then identify 17041 // which tasks belong to that job by filtering the results of a ListTasks call 17042 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 17043 // hyphens, and underscores are allowed. 17044 // 17045 // If a task is started by an Amazon ECS service, then the startedBy parameter 17046 // contains the deployment ID of the service that starts it. 17047 StartedBy *string `locationName:"startedBy" type:"string"` 17048 17049 // The metadata that you apply to the task to help you categorize and organize 17050 // them. Each tag consists of a key and an optional value, both of which you 17051 // define. 17052 // 17053 // The following basic restrictions apply to tags: 17054 // 17055 // * Maximum number of tags per resource - 50 17056 // 17057 // * For each resource, each tag key must be unique, and each tag key can 17058 // have only one value. 17059 // 17060 // * Maximum key length - 128 Unicode characters in UTF-8 17061 // 17062 // * Maximum value length - 256 Unicode characters in UTF-8 17063 // 17064 // * If your tagging schema is used across multiple services and resources, 17065 // remember that other services may have restrictions on allowed characters. 17066 // Generally allowed characters are: letters, numbers, and spaces representable 17067 // in UTF-8, and the following characters: + - = . _ : / @. 17068 // 17069 // * Tag keys and values are case-sensitive. 17070 // 17071 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17072 // as a prefix for either keys or values as it is reserved for Amazon Web 17073 // Services use. You cannot edit or delete tag keys or values with this prefix. 17074 // Tags with this prefix do not count against your tags per resource limit. 17075 Tags []*Tag `locationName:"tags" type:"list"` 17076 17077 // The family and revision (family:revision) or full ARN of the task definition 17078 // to run. If a revision is not specified, the latest ACTIVE revision is used. 17079 // 17080 // TaskDefinition is a required field 17081 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 17082} 17083 17084// String returns the string representation 17085func (s RunTaskInput) String() string { 17086 return awsutil.Prettify(s) 17087} 17088 17089// GoString returns the string representation 17090func (s RunTaskInput) GoString() string { 17091 return s.String() 17092} 17093 17094// Validate inspects the fields of the type to determine if they are valid. 17095func (s *RunTaskInput) Validate() error { 17096 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 17097 if s.TaskDefinition == nil { 17098 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 17099 } 17100 if s.CapacityProviderStrategy != nil { 17101 for i, v := range s.CapacityProviderStrategy { 17102 if v == nil { 17103 continue 17104 } 17105 if err := v.Validate(); err != nil { 17106 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 17107 } 17108 } 17109 } 17110 if s.NetworkConfiguration != nil { 17111 if err := s.NetworkConfiguration.Validate(); err != nil { 17112 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 17113 } 17114 } 17115 if s.Overrides != nil { 17116 if err := s.Overrides.Validate(); err != nil { 17117 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 17118 } 17119 } 17120 if s.Tags != nil { 17121 for i, v := range s.Tags { 17122 if v == nil { 17123 continue 17124 } 17125 if err := v.Validate(); err != nil { 17126 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17127 } 17128 } 17129 } 17130 17131 if invalidParams.Len() > 0 { 17132 return invalidParams 17133 } 17134 return nil 17135} 17136 17137// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 17138func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 17139 s.CapacityProviderStrategy = v 17140 return s 17141} 17142 17143// SetCluster sets the Cluster field's value. 17144func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 17145 s.Cluster = &v 17146 return s 17147} 17148 17149// SetCount sets the Count field's value. 17150func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 17151 s.Count = &v 17152 return s 17153} 17154 17155// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 17156func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 17157 s.EnableECSManagedTags = &v 17158 return s 17159} 17160 17161// SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 17162func (s *RunTaskInput) SetEnableExecuteCommand(v bool) *RunTaskInput { 17163 s.EnableExecuteCommand = &v 17164 return s 17165} 17166 17167// SetGroup sets the Group field's value. 17168func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 17169 s.Group = &v 17170 return s 17171} 17172 17173// SetLaunchType sets the LaunchType field's value. 17174func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 17175 s.LaunchType = &v 17176 return s 17177} 17178 17179// SetNetworkConfiguration sets the NetworkConfiguration field's value. 17180func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 17181 s.NetworkConfiguration = v 17182 return s 17183} 17184 17185// SetOverrides sets the Overrides field's value. 17186func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 17187 s.Overrides = v 17188 return s 17189} 17190 17191// SetPlacementConstraints sets the PlacementConstraints field's value. 17192func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 17193 s.PlacementConstraints = v 17194 return s 17195} 17196 17197// SetPlacementStrategy sets the PlacementStrategy field's value. 17198func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 17199 s.PlacementStrategy = v 17200 return s 17201} 17202 17203// SetPlatformVersion sets the PlatformVersion field's value. 17204func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 17205 s.PlatformVersion = &v 17206 return s 17207} 17208 17209// SetPropagateTags sets the PropagateTags field's value. 17210func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 17211 s.PropagateTags = &v 17212 return s 17213} 17214 17215// SetReferenceId sets the ReferenceId field's value. 17216func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 17217 s.ReferenceId = &v 17218 return s 17219} 17220 17221// SetStartedBy sets the StartedBy field's value. 17222func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 17223 s.StartedBy = &v 17224 return s 17225} 17226 17227// SetTags sets the Tags field's value. 17228func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 17229 s.Tags = v 17230 return s 17231} 17232 17233// SetTaskDefinition sets the TaskDefinition field's value. 17234func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 17235 s.TaskDefinition = &v 17236 return s 17237} 17238 17239type RunTaskOutput struct { 17240 _ struct{} `type:"structure"` 17241 17242 // Any failures associated with the call. 17243 Failures []*Failure `locationName:"failures" type:"list"` 17244 17245 // A full description of the tasks that were run. The tasks that were successfully 17246 // placed on your cluster are described here. 17247 Tasks []*Task `locationName:"tasks" type:"list"` 17248} 17249 17250// String returns the string representation 17251func (s RunTaskOutput) String() string { 17252 return awsutil.Prettify(s) 17253} 17254 17255// GoString returns the string representation 17256func (s RunTaskOutput) GoString() string { 17257 return s.String() 17258} 17259 17260// SetFailures sets the Failures field's value. 17261func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 17262 s.Failures = v 17263 return s 17264} 17265 17266// SetTasks sets the Tasks field's value. 17267func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 17268 s.Tasks = v 17269 return s 17270} 17271 17272// A floating-point percentage of the desired number of tasks to place and keep 17273// running in the task set. 17274type Scale struct { 17275 _ struct{} `type:"structure"` 17276 17277 // The unit of measure for the scale value. 17278 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 17279 17280 // The value, specified as a percent total of a service's desiredCount, to scale 17281 // the task set. Accepted values are numbers between 0 and 100. 17282 Value *float64 `locationName:"value" type:"double"` 17283} 17284 17285// String returns the string representation 17286func (s Scale) String() string { 17287 return awsutil.Prettify(s) 17288} 17289 17290// GoString returns the string representation 17291func (s Scale) GoString() string { 17292 return s.String() 17293} 17294 17295// SetUnit sets the Unit field's value. 17296func (s *Scale) SetUnit(v string) *Scale { 17297 s.Unit = &v 17298 return s 17299} 17300 17301// SetValue sets the Value field's value. 17302func (s *Scale) SetValue(v float64) *Scale { 17303 s.Value = &v 17304 return s 17305} 17306 17307// An object representing the secret to expose to your container. Secrets can 17308// be exposed to a container in the following ways: 17309// 17310// * To inject sensitive data into your containers as environment variables, 17311// use the secrets container definition parameter. 17312// 17313// * To reference sensitive information in the log configuration of a container, 17314// use the secretOptions container definition parameter. 17315// 17316// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 17317// in the Amazon Elastic Container Service Developer Guide. 17318type Secret struct { 17319 _ struct{} `type:"structure"` 17320 17321 // The name of the secret. 17322 // 17323 // Name is a required field 17324 Name *string `locationName:"name" type:"string" required:"true"` 17325 17326 // The secret to expose to the container. The supported values are either the 17327 // full ARN of the Secrets Manager secret or the full ARN of the parameter in 17328 // the SSM Parameter Store. 17329 // 17330 // If the SSM Parameter Store parameter exists in the same Region as the task 17331 // you are launching, then you can use either the full ARN or name of the parameter. 17332 // If the parameter exists in a different Region, then the full ARN must be 17333 // specified. 17334 // 17335 // ValueFrom is a required field 17336 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 17337} 17338 17339// String returns the string representation 17340func (s Secret) String() string { 17341 return awsutil.Prettify(s) 17342} 17343 17344// GoString returns the string representation 17345func (s Secret) GoString() string { 17346 return s.String() 17347} 17348 17349// Validate inspects the fields of the type to determine if they are valid. 17350func (s *Secret) Validate() error { 17351 invalidParams := request.ErrInvalidParams{Context: "Secret"} 17352 if s.Name == nil { 17353 invalidParams.Add(request.NewErrParamRequired("Name")) 17354 } 17355 if s.ValueFrom == nil { 17356 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 17357 } 17358 17359 if invalidParams.Len() > 0 { 17360 return invalidParams 17361 } 17362 return nil 17363} 17364 17365// SetName sets the Name field's value. 17366func (s *Secret) SetName(v string) *Secret { 17367 s.Name = &v 17368 return s 17369} 17370 17371// SetValueFrom sets the ValueFrom field's value. 17372func (s *Secret) SetValueFrom(v string) *Secret { 17373 s.ValueFrom = &v 17374 return s 17375} 17376 17377// These errors are usually caused by a server issue. 17378type ServerException struct { 17379 _ struct{} `type:"structure"` 17380 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17381 17382 Message_ *string `locationName:"message" type:"string"` 17383} 17384 17385// String returns the string representation 17386func (s ServerException) String() string { 17387 return awsutil.Prettify(s) 17388} 17389 17390// GoString returns the string representation 17391func (s ServerException) GoString() string { 17392 return s.String() 17393} 17394 17395func newErrorServerException(v protocol.ResponseMetadata) error { 17396 return &ServerException{ 17397 RespMetadata: v, 17398 } 17399} 17400 17401// Code returns the exception type name. 17402func (s *ServerException) Code() string { 17403 return "ServerException" 17404} 17405 17406// Message returns the exception's message. 17407func (s *ServerException) Message() string { 17408 if s.Message_ != nil { 17409 return *s.Message_ 17410 } 17411 return "" 17412} 17413 17414// OrigErr always returns nil, satisfies awserr.Error interface. 17415func (s *ServerException) OrigErr() error { 17416 return nil 17417} 17418 17419func (s *ServerException) Error() string { 17420 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17421} 17422 17423// Status code returns the HTTP status code for the request's response error. 17424func (s *ServerException) StatusCode() int { 17425 return s.RespMetadata.StatusCode 17426} 17427 17428// RequestID returns the service's response RequestID for request. 17429func (s *ServerException) RequestID() string { 17430 return s.RespMetadata.RequestID 17431} 17432 17433// Details on a service within a cluster 17434type Service struct { 17435 _ struct{} `type:"structure"` 17436 17437 // The capacity provider strategy the service is using. When using the DescribeServices 17438 // API, this field is omitted if the service was created using a launch type. 17439 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 17440 17441 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 17442 ClusterArn *string `locationName:"clusterArn" type:"string"` 17443 17444 // The Unix timestamp for when the service was created. 17445 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 17446 17447 // The principal that created the service. 17448 CreatedBy *string `locationName:"createdBy" type:"string"` 17449 17450 // Optional deployment parameters that control how many tasks run during the 17451 // deployment and the ordering of stopping and starting tasks. 17452 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 17453 17454 // The deployment controller type the service is using. When using the DescribeServices 17455 // API, this field is omitted if the service is using the ECS deployment controller 17456 // type. 17457 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 17458 17459 // The current state of deployments for the service. 17460 Deployments []*Deployment `locationName:"deployments" type:"list"` 17461 17462 // The desired number of instantiations of the task definition to keep running 17463 // on the service. This value is specified when the service is created with 17464 // CreateService, and it can be modified with UpdateService. 17465 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 17466 17467 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 17468 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 17469 // in the Amazon Elastic Container Service Developer Guide. 17470 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 17471 17472 // Whether or not the execute command functionality is enabled for the service. 17473 // If true, the execute command functionality is enabled for all containers 17474 // in tasks as part of the service. 17475 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 17476 17477 // The event stream for your service. A maximum of 100 of the latest events 17478 // are displayed. 17479 Events []*ServiceEvent `locationName:"events" type:"list"` 17480 17481 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 17482 // unhealthy Elastic Load Balancing target health checks after a task has first 17483 // started. 17484 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 17485 17486 // The launch type the service is using. When using the DescribeServices API, 17487 // this field is omitted if the service was created using a capacity provider 17488 // strategy. 17489 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 17490 17491 // A list of Elastic Load Balancing load balancer objects, containing the load 17492 // balancer name, the container name (as it appears in a container definition), 17493 // and the container port to access from the load balancer. 17494 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 17495 17496 // The VPC subnet and security group configuration for tasks that receive their 17497 // own elastic network interface by using the awsvpc networking mode. 17498 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 17499 17500 // The number of tasks in the cluster that are in the PENDING state. 17501 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 17502 17503 // The placement constraints for the tasks in the service. 17504 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 17505 17506 // The placement strategy that determines how tasks for the service are placed. 17507 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 17508 17509 // The platform version on which to run your service. A platform version is 17510 // only specified for tasks hosted on Fargate. If one is not specified, the 17511 // LATEST platform version is used by default. For more information, see Fargate 17512 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 17513 // in the Amazon Elastic Container Service Developer Guide. 17514 PlatformVersion *string `locationName:"platformVersion" type:"string"` 17515 17516 // Specifies whether to propagate the tags from the task definition or the service 17517 // to the task. If no value is specified, the tags are not propagated. 17518 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 17519 17520 // The ARN of the IAM role associated with the service that allows the Amazon 17521 // ECS container agent to register container instances with an Elastic Load 17522 // Balancing load balancer. 17523 RoleArn *string `locationName:"roleArn" type:"string"` 17524 17525 // The number of tasks in the cluster that are in the RUNNING state. 17526 RunningCount *int64 `locationName:"runningCount" type:"integer"` 17527 17528 // The scheduling strategy to use for the service. For more information, see 17529 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 17530 // 17531 // There are two service scheduler strategies available: 17532 // 17533 // * REPLICA-The replica scheduling strategy places and maintains the desired 17534 // number of tasks across your cluster. By default, the service scheduler 17535 // spreads tasks across Availability Zones. You can use task placement strategies 17536 // and constraints to customize task placement decisions. 17537 // 17538 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 17539 // active container instance that meets all of the task placement constraints 17540 // that you specify in your cluster. The service scheduler also evaluates 17541 // the task placement constraints for running tasks and will stop tasks that 17542 // do not meet the placement constraints. Fargate tasks do not support the 17543 // DAEMON scheduling strategy. 17544 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 17545 17546 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 17547 // followed by the Region of the service, the Amazon Web Services account ID 17548 // of the service owner, the service namespace, and then the service name. For 17549 // example, arn:aws:ecs:region:012345678910:service/my-service. 17550 ServiceArn *string `locationName:"serviceArn" type:"string"` 17551 17552 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 17553 // underscores, and hyphens are allowed. Service names must be unique within 17554 // a cluster, but you can have similarly named services in multiple clusters 17555 // within a Region or across multiple Regions. 17556 ServiceName *string `locationName:"serviceName" type:"string"` 17557 17558 // The details of the service discovery registries to assign to this service. 17559 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 17560 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 17561 17562 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 17563 Status *string `locationName:"status" type:"string"` 17564 17565 // The metadata that you apply to the service to help you categorize and organize 17566 // them. Each tag consists of a key and an optional value, both of which you 17567 // define. 17568 // 17569 // The following basic restrictions apply to tags: 17570 // 17571 // * Maximum number of tags per resource - 50 17572 // 17573 // * For each resource, each tag key must be unique, and each tag key can 17574 // have only one value. 17575 // 17576 // * Maximum key length - 128 Unicode characters in UTF-8 17577 // 17578 // * Maximum value length - 256 Unicode characters in UTF-8 17579 // 17580 // * If your tagging schema is used across multiple services and resources, 17581 // remember that other services may have restrictions on allowed characters. 17582 // Generally allowed characters are: letters, numbers, and spaces representable 17583 // in UTF-8, and the following characters: + - = . _ : / @. 17584 // 17585 // * Tag keys and values are case-sensitive. 17586 // 17587 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17588 // as a prefix for either keys or values as it is reserved for Amazon Web 17589 // Services use. You cannot edit or delete tag keys or values with this prefix. 17590 // Tags with this prefix do not count against your tags per resource limit. 17591 Tags []*Tag `locationName:"tags" type:"list"` 17592 17593 // The task definition to use for tasks in the service. This value is specified 17594 // when the service is created with CreateService, and it can be modified with 17595 // UpdateService. 17596 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 17597 17598 // Information about a set of Amazon ECS tasks in either an CodeDeploy or an 17599 // EXTERNAL deployment. An Amazon ECS task set includes details such as the 17600 // desired number of tasks, how many tasks are running, and whether the task 17601 // set serves production traffic. 17602 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 17603} 17604 17605// String returns the string representation 17606func (s Service) String() string { 17607 return awsutil.Prettify(s) 17608} 17609 17610// GoString returns the string representation 17611func (s Service) GoString() string { 17612 return s.String() 17613} 17614 17615// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 17616func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 17617 s.CapacityProviderStrategy = v 17618 return s 17619} 17620 17621// SetClusterArn sets the ClusterArn field's value. 17622func (s *Service) SetClusterArn(v string) *Service { 17623 s.ClusterArn = &v 17624 return s 17625} 17626 17627// SetCreatedAt sets the CreatedAt field's value. 17628func (s *Service) SetCreatedAt(v time.Time) *Service { 17629 s.CreatedAt = &v 17630 return s 17631} 17632 17633// SetCreatedBy sets the CreatedBy field's value. 17634func (s *Service) SetCreatedBy(v string) *Service { 17635 s.CreatedBy = &v 17636 return s 17637} 17638 17639// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 17640func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 17641 s.DeploymentConfiguration = v 17642 return s 17643} 17644 17645// SetDeploymentController sets the DeploymentController field's value. 17646func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 17647 s.DeploymentController = v 17648 return s 17649} 17650 17651// SetDeployments sets the Deployments field's value. 17652func (s *Service) SetDeployments(v []*Deployment) *Service { 17653 s.Deployments = v 17654 return s 17655} 17656 17657// SetDesiredCount sets the DesiredCount field's value. 17658func (s *Service) SetDesiredCount(v int64) *Service { 17659 s.DesiredCount = &v 17660 return s 17661} 17662 17663// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 17664func (s *Service) SetEnableECSManagedTags(v bool) *Service { 17665 s.EnableECSManagedTags = &v 17666 return s 17667} 17668 17669// SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 17670func (s *Service) SetEnableExecuteCommand(v bool) *Service { 17671 s.EnableExecuteCommand = &v 17672 return s 17673} 17674 17675// SetEvents sets the Events field's value. 17676func (s *Service) SetEvents(v []*ServiceEvent) *Service { 17677 s.Events = v 17678 return s 17679} 17680 17681// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 17682func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 17683 s.HealthCheckGracePeriodSeconds = &v 17684 return s 17685} 17686 17687// SetLaunchType sets the LaunchType field's value. 17688func (s *Service) SetLaunchType(v string) *Service { 17689 s.LaunchType = &v 17690 return s 17691} 17692 17693// SetLoadBalancers sets the LoadBalancers field's value. 17694func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 17695 s.LoadBalancers = v 17696 return s 17697} 17698 17699// SetNetworkConfiguration sets the NetworkConfiguration field's value. 17700func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 17701 s.NetworkConfiguration = v 17702 return s 17703} 17704 17705// SetPendingCount sets the PendingCount field's value. 17706func (s *Service) SetPendingCount(v int64) *Service { 17707 s.PendingCount = &v 17708 return s 17709} 17710 17711// SetPlacementConstraints sets the PlacementConstraints field's value. 17712func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 17713 s.PlacementConstraints = v 17714 return s 17715} 17716 17717// SetPlacementStrategy sets the PlacementStrategy field's value. 17718func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 17719 s.PlacementStrategy = v 17720 return s 17721} 17722 17723// SetPlatformVersion sets the PlatformVersion field's value. 17724func (s *Service) SetPlatformVersion(v string) *Service { 17725 s.PlatformVersion = &v 17726 return s 17727} 17728 17729// SetPropagateTags sets the PropagateTags field's value. 17730func (s *Service) SetPropagateTags(v string) *Service { 17731 s.PropagateTags = &v 17732 return s 17733} 17734 17735// SetRoleArn sets the RoleArn field's value. 17736func (s *Service) SetRoleArn(v string) *Service { 17737 s.RoleArn = &v 17738 return s 17739} 17740 17741// SetRunningCount sets the RunningCount field's value. 17742func (s *Service) SetRunningCount(v int64) *Service { 17743 s.RunningCount = &v 17744 return s 17745} 17746 17747// SetSchedulingStrategy sets the SchedulingStrategy field's value. 17748func (s *Service) SetSchedulingStrategy(v string) *Service { 17749 s.SchedulingStrategy = &v 17750 return s 17751} 17752 17753// SetServiceArn sets the ServiceArn field's value. 17754func (s *Service) SetServiceArn(v string) *Service { 17755 s.ServiceArn = &v 17756 return s 17757} 17758 17759// SetServiceName sets the ServiceName field's value. 17760func (s *Service) SetServiceName(v string) *Service { 17761 s.ServiceName = &v 17762 return s 17763} 17764 17765// SetServiceRegistries sets the ServiceRegistries field's value. 17766func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 17767 s.ServiceRegistries = v 17768 return s 17769} 17770 17771// SetStatus sets the Status field's value. 17772func (s *Service) SetStatus(v string) *Service { 17773 s.Status = &v 17774 return s 17775} 17776 17777// SetTags sets the Tags field's value. 17778func (s *Service) SetTags(v []*Tag) *Service { 17779 s.Tags = v 17780 return s 17781} 17782 17783// SetTaskDefinition sets the TaskDefinition field's value. 17784func (s *Service) SetTaskDefinition(v string) *Service { 17785 s.TaskDefinition = &v 17786 return s 17787} 17788 17789// SetTaskSets sets the TaskSets field's value. 17790func (s *Service) SetTaskSets(v []*TaskSet) *Service { 17791 s.TaskSets = v 17792 return s 17793} 17794 17795// Details on an event associated with a service. 17796type ServiceEvent struct { 17797 _ struct{} `type:"structure"` 17798 17799 // The Unix timestamp for when the event was triggered. 17800 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 17801 17802 // The ID string of the event. 17803 Id *string `locationName:"id" type:"string"` 17804 17805 // The event message. 17806 Message *string `locationName:"message" type:"string"` 17807} 17808 17809// String returns the string representation 17810func (s ServiceEvent) String() string { 17811 return awsutil.Prettify(s) 17812} 17813 17814// GoString returns the string representation 17815func (s ServiceEvent) GoString() string { 17816 return s.String() 17817} 17818 17819// SetCreatedAt sets the CreatedAt field's value. 17820func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 17821 s.CreatedAt = &v 17822 return s 17823} 17824 17825// SetId sets the Id field's value. 17826func (s *ServiceEvent) SetId(v string) *ServiceEvent { 17827 s.Id = &v 17828 return s 17829} 17830 17831// SetMessage sets the Message field's value. 17832func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 17833 s.Message = &v 17834 return s 17835} 17836 17837// The specified service is not active. You can't update a service that is inactive. 17838// If you have previously deleted a service, you can re-create it with CreateService. 17839type ServiceNotActiveException struct { 17840 _ struct{} `type:"structure"` 17841 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17842 17843 Message_ *string `locationName:"message" type:"string"` 17844} 17845 17846// String returns the string representation 17847func (s ServiceNotActiveException) String() string { 17848 return awsutil.Prettify(s) 17849} 17850 17851// GoString returns the string representation 17852func (s ServiceNotActiveException) GoString() string { 17853 return s.String() 17854} 17855 17856func newErrorServiceNotActiveException(v protocol.ResponseMetadata) error { 17857 return &ServiceNotActiveException{ 17858 RespMetadata: v, 17859 } 17860} 17861 17862// Code returns the exception type name. 17863func (s *ServiceNotActiveException) Code() string { 17864 return "ServiceNotActiveException" 17865} 17866 17867// Message returns the exception's message. 17868func (s *ServiceNotActiveException) Message() string { 17869 if s.Message_ != nil { 17870 return *s.Message_ 17871 } 17872 return "" 17873} 17874 17875// OrigErr always returns nil, satisfies awserr.Error interface. 17876func (s *ServiceNotActiveException) OrigErr() error { 17877 return nil 17878} 17879 17880func (s *ServiceNotActiveException) Error() string { 17881 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17882} 17883 17884// Status code returns the HTTP status code for the request's response error. 17885func (s *ServiceNotActiveException) StatusCode() int { 17886 return s.RespMetadata.StatusCode 17887} 17888 17889// RequestID returns the service's response RequestID for request. 17890func (s *ServiceNotActiveException) RequestID() string { 17891 return s.RespMetadata.RequestID 17892} 17893 17894// The specified service could not be found. You can view your available services 17895// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 17896type ServiceNotFoundException struct { 17897 _ struct{} `type:"structure"` 17898 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17899 17900 Message_ *string `locationName:"message" type:"string"` 17901} 17902 17903// String returns the string representation 17904func (s ServiceNotFoundException) String() string { 17905 return awsutil.Prettify(s) 17906} 17907 17908// GoString returns the string representation 17909func (s ServiceNotFoundException) GoString() string { 17910 return s.String() 17911} 17912 17913func newErrorServiceNotFoundException(v protocol.ResponseMetadata) error { 17914 return &ServiceNotFoundException{ 17915 RespMetadata: v, 17916 } 17917} 17918 17919// Code returns the exception type name. 17920func (s *ServiceNotFoundException) Code() string { 17921 return "ServiceNotFoundException" 17922} 17923 17924// Message returns the exception's message. 17925func (s *ServiceNotFoundException) Message() string { 17926 if s.Message_ != nil { 17927 return *s.Message_ 17928 } 17929 return "" 17930} 17931 17932// OrigErr always returns nil, satisfies awserr.Error interface. 17933func (s *ServiceNotFoundException) OrigErr() error { 17934 return nil 17935} 17936 17937func (s *ServiceNotFoundException) Error() string { 17938 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17939} 17940 17941// Status code returns the HTTP status code for the request's response error. 17942func (s *ServiceNotFoundException) StatusCode() int { 17943 return s.RespMetadata.StatusCode 17944} 17945 17946// RequestID returns the service's response RequestID for request. 17947func (s *ServiceNotFoundException) RequestID() string { 17948 return s.RespMetadata.RequestID 17949} 17950 17951// Details of the service registry. 17952type ServiceRegistry struct { 17953 _ struct{} `type:"structure"` 17954 17955 // The container name value, already specified in the task definition, to be 17956 // used for your service discovery service. If the task definition that your 17957 // service task specifies uses the bridge or host network mode, you must specify 17958 // a containerName and containerPort combination from the task definition. If 17959 // the task definition that your service task specifies uses the awsvpc network 17960 // mode and a type SRV DNS record is used, you must specify either a containerName 17961 // and containerPort combination or a port value, but not both. 17962 ContainerName *string `locationName:"containerName" type:"string"` 17963 17964 // The port value, already specified in the task definition, to be used for 17965 // your service discovery service. If the task definition your service task 17966 // specifies uses the bridge or host network mode, you must specify a containerName 17967 // and containerPort combination from the task definition. If the task definition 17968 // your service task specifies uses the awsvpc network mode and a type SRV DNS 17969 // record is used, you must specify either a containerName and containerPort 17970 // combination or a port value, but not both. 17971 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 17972 17973 // The port value used if your service discovery service specified an SRV record. 17974 // This field may be used if both the awsvpc network mode and SRV records are 17975 // used. 17976 Port *int64 `locationName:"port" type:"integer"` 17977 17978 // The Amazon Resource Name (ARN) of the service registry. The currently supported 17979 // service registry is Cloud Map. For more information, see CreateService (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 17980 RegistryArn *string `locationName:"registryArn" type:"string"` 17981} 17982 17983// String returns the string representation 17984func (s ServiceRegistry) String() string { 17985 return awsutil.Prettify(s) 17986} 17987 17988// GoString returns the string representation 17989func (s ServiceRegistry) GoString() string { 17990 return s.String() 17991} 17992 17993// SetContainerName sets the ContainerName field's value. 17994func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 17995 s.ContainerName = &v 17996 return s 17997} 17998 17999// SetContainerPort sets the ContainerPort field's value. 18000func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 18001 s.ContainerPort = &v 18002 return s 18003} 18004 18005// SetPort sets the Port field's value. 18006func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 18007 s.Port = &v 18008 return s 18009} 18010 18011// SetRegistryArn sets the RegistryArn field's value. 18012func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 18013 s.RegistryArn = &v 18014 return s 18015} 18016 18017// The details of the execute command session. 18018type Session struct { 18019 _ struct{} `type:"structure"` 18020 18021 // The ID of the execute command session. 18022 SessionId *string `locationName:"sessionId" type:"string"` 18023 18024 // A URL back to managed agent on the container that the SSM Session Manager 18025 // client uses to send commands and receive output from the container. 18026 StreamUrl *string `locationName:"streamUrl" type:"string"` 18027 18028 // An encrypted token value containing session and caller information. Used 18029 // to authenticate the connection to the container. 18030 TokenValue *string `locationName:"tokenValue" type:"string" sensitive:"true"` 18031} 18032 18033// String returns the string representation 18034func (s Session) String() string { 18035 return awsutil.Prettify(s) 18036} 18037 18038// GoString returns the string representation 18039func (s Session) GoString() string { 18040 return s.String() 18041} 18042 18043// SetSessionId sets the SessionId field's value. 18044func (s *Session) SetSessionId(v string) *Session { 18045 s.SessionId = &v 18046 return s 18047} 18048 18049// SetStreamUrl sets the StreamUrl field's value. 18050func (s *Session) SetStreamUrl(v string) *Session { 18051 s.StreamUrl = &v 18052 return s 18053} 18054 18055// SetTokenValue sets the TokenValue field's value. 18056func (s *Session) SetTokenValue(v string) *Session { 18057 s.TokenValue = &v 18058 return s 18059} 18060 18061// The current account setting for a resource. 18062type Setting struct { 18063 _ struct{} `type:"structure"` 18064 18065 // The Amazon ECS resource name. 18066 Name *string `locationName:"name" type:"string" enum:"SettingName"` 18067 18068 // The ARN of the principal, which can be an IAM user, IAM role, or the root 18069 // user. If this field is omitted, the authenticated user is assumed. 18070 PrincipalArn *string `locationName:"principalArn" type:"string"` 18071 18072 // Whether the account setting is enabled or disabled for the specified resource. 18073 Value *string `locationName:"value" type:"string"` 18074} 18075 18076// String returns the string representation 18077func (s Setting) String() string { 18078 return awsutil.Prettify(s) 18079} 18080 18081// GoString returns the string representation 18082func (s Setting) GoString() string { 18083 return s.String() 18084} 18085 18086// SetName sets the Name field's value. 18087func (s *Setting) SetName(v string) *Setting { 18088 s.Name = &v 18089 return s 18090} 18091 18092// SetPrincipalArn sets the PrincipalArn field's value. 18093func (s *Setting) SetPrincipalArn(v string) *Setting { 18094 s.PrincipalArn = &v 18095 return s 18096} 18097 18098// SetValue sets the Value field's value. 18099func (s *Setting) SetValue(v string) *Setting { 18100 s.Value = &v 18101 return s 18102} 18103 18104type StartTaskInput struct { 18105 _ struct{} `type:"structure"` 18106 18107 // The short name or full Amazon Resource Name (ARN) of the cluster on which 18108 // to start your task. If you do not specify a cluster, the default cluster 18109 // is assumed. 18110 Cluster *string `locationName:"cluster" type:"string"` 18111 18112 // The container instance IDs or full ARN entries for the container instances 18113 // on which you would like to place your task. You can specify up to 10 container 18114 // instances. 18115 // 18116 // ContainerInstances is a required field 18117 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 18118 18119 // Specifies whether to enable Amazon ECS managed tags for the task. For more 18120 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 18121 // in the Amazon Elastic Container Service Developer Guide. 18122 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 18123 18124 // Whether or not the execute command functionality is enabled for the task. 18125 // If true, this enables execute command functionality on all containers in 18126 // the task. 18127 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 18128 18129 // The name of the task group to associate with the task. The default value 18130 // is the family name of the task definition (for example, family:my-family-name). 18131 Group *string `locationName:"group" type:"string"` 18132 18133 // The VPC subnet and security group configuration for tasks that receive their 18134 // own elastic network interface by using the awsvpc networking mode. 18135 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 18136 18137 // A list of container overrides in JSON format that specify the name of a container 18138 // in the specified task definition and the overrides it should receive. You 18139 // can override the default command for a container (that is specified in the 18140 // task definition or Docker image) with a command override. You can also override 18141 // existing environment variables (that are specified in the task definition 18142 // or Docker image) on a container or add new environment variables to it with 18143 // an environment override. 18144 // 18145 // A total of 8192 characters are allowed for overrides. This limit includes 18146 // the JSON formatting characters of the override structure. 18147 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 18148 18149 // Specifies whether to propagate the tags from the task definition or the service 18150 // to the task. If no value is specified, the tags are not propagated. 18151 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 18152 18153 // The reference ID to use for the task. 18154 ReferenceId *string `locationName:"referenceId" type:"string"` 18155 18156 // An optional tag specified when a task is started. For example, if you automatically 18157 // trigger a task to run a batch process job, you could apply a unique identifier 18158 // for that job to your task with the startedBy parameter. You can then identify 18159 // which tasks belong to that job by filtering the results of a ListTasks call 18160 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 18161 // hyphens, and underscores are allowed. 18162 // 18163 // If a task is started by an Amazon ECS service, then the startedBy parameter 18164 // contains the deployment ID of the service that starts it. 18165 StartedBy *string `locationName:"startedBy" type:"string"` 18166 18167 // The metadata that you apply to the task to help you categorize and organize 18168 // them. Each tag consists of a key and an optional value, both of which you 18169 // define. 18170 // 18171 // The following basic restrictions apply to tags: 18172 // 18173 // * Maximum number of tags per resource - 50 18174 // 18175 // * For each resource, each tag key must be unique, and each tag key can 18176 // have only one value. 18177 // 18178 // * Maximum key length - 128 Unicode characters in UTF-8 18179 // 18180 // * Maximum value length - 256 Unicode characters in UTF-8 18181 // 18182 // * If your tagging schema is used across multiple services and resources, 18183 // remember that other services may have restrictions on allowed characters. 18184 // Generally allowed characters are: letters, numbers, and spaces representable 18185 // in UTF-8, and the following characters: + - = . _ : / @. 18186 // 18187 // * Tag keys and values are case-sensitive. 18188 // 18189 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18190 // as a prefix for either keys or values as it is reserved for Amazon Web 18191 // Services use. You cannot edit or delete tag keys or values with this prefix. 18192 // Tags with this prefix do not count against your tags per resource limit. 18193 Tags []*Tag `locationName:"tags" type:"list"` 18194 18195 // The family and revision (family:revision) or full ARN of the task definition 18196 // to start. If a revision is not specified, the latest ACTIVE revision is used. 18197 // 18198 // TaskDefinition is a required field 18199 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 18200} 18201 18202// String returns the string representation 18203func (s StartTaskInput) String() string { 18204 return awsutil.Prettify(s) 18205} 18206 18207// GoString returns the string representation 18208func (s StartTaskInput) GoString() string { 18209 return s.String() 18210} 18211 18212// Validate inspects the fields of the type to determine if they are valid. 18213func (s *StartTaskInput) Validate() error { 18214 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 18215 if s.ContainerInstances == nil { 18216 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 18217 } 18218 if s.TaskDefinition == nil { 18219 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 18220 } 18221 if s.NetworkConfiguration != nil { 18222 if err := s.NetworkConfiguration.Validate(); err != nil { 18223 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 18224 } 18225 } 18226 if s.Overrides != nil { 18227 if err := s.Overrides.Validate(); err != nil { 18228 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 18229 } 18230 } 18231 if s.Tags != nil { 18232 for i, v := range s.Tags { 18233 if v == nil { 18234 continue 18235 } 18236 if err := v.Validate(); err != nil { 18237 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 18238 } 18239 } 18240 } 18241 18242 if invalidParams.Len() > 0 { 18243 return invalidParams 18244 } 18245 return nil 18246} 18247 18248// SetCluster sets the Cluster field's value. 18249func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 18250 s.Cluster = &v 18251 return s 18252} 18253 18254// SetContainerInstances sets the ContainerInstances field's value. 18255func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 18256 s.ContainerInstances = v 18257 return s 18258} 18259 18260// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 18261func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 18262 s.EnableECSManagedTags = &v 18263 return s 18264} 18265 18266// SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 18267func (s *StartTaskInput) SetEnableExecuteCommand(v bool) *StartTaskInput { 18268 s.EnableExecuteCommand = &v 18269 return s 18270} 18271 18272// SetGroup sets the Group field's value. 18273func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 18274 s.Group = &v 18275 return s 18276} 18277 18278// SetNetworkConfiguration sets the NetworkConfiguration field's value. 18279func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 18280 s.NetworkConfiguration = v 18281 return s 18282} 18283 18284// SetOverrides sets the Overrides field's value. 18285func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 18286 s.Overrides = v 18287 return s 18288} 18289 18290// SetPropagateTags sets the PropagateTags field's value. 18291func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 18292 s.PropagateTags = &v 18293 return s 18294} 18295 18296// SetReferenceId sets the ReferenceId field's value. 18297func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 18298 s.ReferenceId = &v 18299 return s 18300} 18301 18302// SetStartedBy sets the StartedBy field's value. 18303func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 18304 s.StartedBy = &v 18305 return s 18306} 18307 18308// SetTags sets the Tags field's value. 18309func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 18310 s.Tags = v 18311 return s 18312} 18313 18314// SetTaskDefinition sets the TaskDefinition field's value. 18315func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 18316 s.TaskDefinition = &v 18317 return s 18318} 18319 18320type StartTaskOutput struct { 18321 _ struct{} `type:"structure"` 18322 18323 // Any failures associated with the call. 18324 Failures []*Failure `locationName:"failures" type:"list"` 18325 18326 // A full description of the tasks that were started. Each task that was successfully 18327 // placed on your container instances is described. 18328 Tasks []*Task `locationName:"tasks" type:"list"` 18329} 18330 18331// String returns the string representation 18332func (s StartTaskOutput) String() string { 18333 return awsutil.Prettify(s) 18334} 18335 18336// GoString returns the string representation 18337func (s StartTaskOutput) GoString() string { 18338 return s.String() 18339} 18340 18341// SetFailures sets the Failures field's value. 18342func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 18343 s.Failures = v 18344 return s 18345} 18346 18347// SetTasks sets the Tasks field's value. 18348func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 18349 s.Tasks = v 18350 return s 18351} 18352 18353type StopTaskInput struct { 18354 _ struct{} `type:"structure"` 18355 18356 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 18357 // the task to stop. If you do not specify a cluster, the default cluster is 18358 // assumed. 18359 Cluster *string `locationName:"cluster" type:"string"` 18360 18361 // An optional message specified when a task is stopped. For example, if you 18362 // are using a custom scheduler, you can use this parameter to specify the reason 18363 // for stopping the task here, and the message appears in subsequent DescribeTasks 18364 // API operations on this task. Up to 255 characters are allowed in this message. 18365 Reason *string `locationName:"reason" type:"string"` 18366 18367 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 18368 // 18369 // Task is a required field 18370 Task *string `locationName:"task" type:"string" required:"true"` 18371} 18372 18373// String returns the string representation 18374func (s StopTaskInput) String() string { 18375 return awsutil.Prettify(s) 18376} 18377 18378// GoString returns the string representation 18379func (s StopTaskInput) GoString() string { 18380 return s.String() 18381} 18382 18383// Validate inspects the fields of the type to determine if they are valid. 18384func (s *StopTaskInput) Validate() error { 18385 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 18386 if s.Task == nil { 18387 invalidParams.Add(request.NewErrParamRequired("Task")) 18388 } 18389 18390 if invalidParams.Len() > 0 { 18391 return invalidParams 18392 } 18393 return nil 18394} 18395 18396// SetCluster sets the Cluster field's value. 18397func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 18398 s.Cluster = &v 18399 return s 18400} 18401 18402// SetReason sets the Reason field's value. 18403func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 18404 s.Reason = &v 18405 return s 18406} 18407 18408// SetTask sets the Task field's value. 18409func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 18410 s.Task = &v 18411 return s 18412} 18413 18414type StopTaskOutput struct { 18415 _ struct{} `type:"structure"` 18416 18417 // The task that was stopped. 18418 Task *Task `locationName:"task" type:"structure"` 18419} 18420 18421// String returns the string representation 18422func (s StopTaskOutput) String() string { 18423 return awsutil.Prettify(s) 18424} 18425 18426// GoString returns the string representation 18427func (s StopTaskOutput) GoString() string { 18428 return s.String() 18429} 18430 18431// SetTask sets the Task field's value. 18432func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 18433 s.Task = v 18434 return s 18435} 18436 18437type SubmitAttachmentStateChangesInput struct { 18438 _ struct{} `type:"structure"` 18439 18440 // Any attachments associated with the state change request. 18441 // 18442 // Attachments is a required field 18443 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 18444 18445 // The short name or full ARN of the cluster that hosts the container instance 18446 // the attachment belongs to. 18447 Cluster *string `locationName:"cluster" type:"string"` 18448} 18449 18450// String returns the string representation 18451func (s SubmitAttachmentStateChangesInput) String() string { 18452 return awsutil.Prettify(s) 18453} 18454 18455// GoString returns the string representation 18456func (s SubmitAttachmentStateChangesInput) GoString() string { 18457 return s.String() 18458} 18459 18460// Validate inspects the fields of the type to determine if they are valid. 18461func (s *SubmitAttachmentStateChangesInput) Validate() error { 18462 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 18463 if s.Attachments == nil { 18464 invalidParams.Add(request.NewErrParamRequired("Attachments")) 18465 } 18466 if s.Attachments != nil { 18467 for i, v := range s.Attachments { 18468 if v == nil { 18469 continue 18470 } 18471 if err := v.Validate(); err != nil { 18472 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 18473 } 18474 } 18475 } 18476 18477 if invalidParams.Len() > 0 { 18478 return invalidParams 18479 } 18480 return nil 18481} 18482 18483// SetAttachments sets the Attachments field's value. 18484func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 18485 s.Attachments = v 18486 return s 18487} 18488 18489// SetCluster sets the Cluster field's value. 18490func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 18491 s.Cluster = &v 18492 return s 18493} 18494 18495type SubmitAttachmentStateChangesOutput struct { 18496 _ struct{} `type:"structure"` 18497 18498 // Acknowledgement of the state change. 18499 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 18500} 18501 18502// String returns the string representation 18503func (s SubmitAttachmentStateChangesOutput) String() string { 18504 return awsutil.Prettify(s) 18505} 18506 18507// GoString returns the string representation 18508func (s SubmitAttachmentStateChangesOutput) GoString() string { 18509 return s.String() 18510} 18511 18512// SetAcknowledgment sets the Acknowledgment field's value. 18513func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 18514 s.Acknowledgment = &v 18515 return s 18516} 18517 18518type SubmitContainerStateChangeInput struct { 18519 _ struct{} `type:"structure"` 18520 18521 // The short name or full ARN of the cluster that hosts the container. 18522 Cluster *string `locationName:"cluster" type:"string"` 18523 18524 // The name of the container. 18525 ContainerName *string `locationName:"containerName" type:"string"` 18526 18527 // The exit code returned for the state change request. 18528 ExitCode *int64 `locationName:"exitCode" type:"integer"` 18529 18530 // The network bindings of the container. 18531 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 18532 18533 // The reason for the state change request. 18534 Reason *string `locationName:"reason" type:"string"` 18535 18536 // The ID of the Docker container. 18537 RuntimeId *string `locationName:"runtimeId" type:"string"` 18538 18539 // The status of the state change request. 18540 Status *string `locationName:"status" type:"string"` 18541 18542 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 18543 // container. 18544 Task *string `locationName:"task" type:"string"` 18545} 18546 18547// String returns the string representation 18548func (s SubmitContainerStateChangeInput) String() string { 18549 return awsutil.Prettify(s) 18550} 18551 18552// GoString returns the string representation 18553func (s SubmitContainerStateChangeInput) GoString() string { 18554 return s.String() 18555} 18556 18557// SetCluster sets the Cluster field's value. 18558func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 18559 s.Cluster = &v 18560 return s 18561} 18562 18563// SetContainerName sets the ContainerName field's value. 18564func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 18565 s.ContainerName = &v 18566 return s 18567} 18568 18569// SetExitCode sets the ExitCode field's value. 18570func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 18571 s.ExitCode = &v 18572 return s 18573} 18574 18575// SetNetworkBindings sets the NetworkBindings field's value. 18576func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 18577 s.NetworkBindings = v 18578 return s 18579} 18580 18581// SetReason sets the Reason field's value. 18582func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 18583 s.Reason = &v 18584 return s 18585} 18586 18587// SetRuntimeId sets the RuntimeId field's value. 18588func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 18589 s.RuntimeId = &v 18590 return s 18591} 18592 18593// SetStatus sets the Status field's value. 18594func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 18595 s.Status = &v 18596 return s 18597} 18598 18599// SetTask sets the Task field's value. 18600func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 18601 s.Task = &v 18602 return s 18603} 18604 18605type SubmitContainerStateChangeOutput struct { 18606 _ struct{} `type:"structure"` 18607 18608 // Acknowledgement of the state change. 18609 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 18610} 18611 18612// String returns the string representation 18613func (s SubmitContainerStateChangeOutput) String() string { 18614 return awsutil.Prettify(s) 18615} 18616 18617// GoString returns the string representation 18618func (s SubmitContainerStateChangeOutput) GoString() string { 18619 return s.String() 18620} 18621 18622// SetAcknowledgment sets the Acknowledgment field's value. 18623func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 18624 s.Acknowledgment = &v 18625 return s 18626} 18627 18628type SubmitTaskStateChangeInput struct { 18629 _ struct{} `type:"structure"` 18630 18631 // Any attachments associated with the state change request. 18632 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 18633 18634 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 18635 // the task. 18636 Cluster *string `locationName:"cluster" type:"string"` 18637 18638 // Any containers associated with the state change request. 18639 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 18640 18641 // The Unix timestamp for when the task execution stopped. 18642 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 18643 18644 // The details for the managed agent associated with the task. 18645 ManagedAgents []*ManagedAgentStateChange `locationName:"managedAgents" type:"list"` 18646 18647 // The Unix timestamp for when the container image pull began. 18648 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 18649 18650 // The Unix timestamp for when the container image pull completed. 18651 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 18652 18653 // The reason for the state change request. 18654 Reason *string `locationName:"reason" type:"string"` 18655 18656 // The status of the state change request. 18657 Status *string `locationName:"status" type:"string"` 18658 18659 // The task ID or full ARN of the task in the state change request. 18660 Task *string `locationName:"task" type:"string"` 18661} 18662 18663// String returns the string representation 18664func (s SubmitTaskStateChangeInput) String() string { 18665 return awsutil.Prettify(s) 18666} 18667 18668// GoString returns the string representation 18669func (s SubmitTaskStateChangeInput) GoString() string { 18670 return s.String() 18671} 18672 18673// Validate inspects the fields of the type to determine if they are valid. 18674func (s *SubmitTaskStateChangeInput) Validate() error { 18675 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 18676 if s.Attachments != nil { 18677 for i, v := range s.Attachments { 18678 if v == nil { 18679 continue 18680 } 18681 if err := v.Validate(); err != nil { 18682 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 18683 } 18684 } 18685 } 18686 if s.ManagedAgents != nil { 18687 for i, v := range s.ManagedAgents { 18688 if v == nil { 18689 continue 18690 } 18691 if err := v.Validate(); err != nil { 18692 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ManagedAgents", i), err.(request.ErrInvalidParams)) 18693 } 18694 } 18695 } 18696 18697 if invalidParams.Len() > 0 { 18698 return invalidParams 18699 } 18700 return nil 18701} 18702 18703// SetAttachments sets the Attachments field's value. 18704func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 18705 s.Attachments = v 18706 return s 18707} 18708 18709// SetCluster sets the Cluster field's value. 18710func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 18711 s.Cluster = &v 18712 return s 18713} 18714 18715// SetContainers sets the Containers field's value. 18716func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 18717 s.Containers = v 18718 return s 18719} 18720 18721// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 18722func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 18723 s.ExecutionStoppedAt = &v 18724 return s 18725} 18726 18727// SetManagedAgents sets the ManagedAgents field's value. 18728func (s *SubmitTaskStateChangeInput) SetManagedAgents(v []*ManagedAgentStateChange) *SubmitTaskStateChangeInput { 18729 s.ManagedAgents = v 18730 return s 18731} 18732 18733// SetPullStartedAt sets the PullStartedAt field's value. 18734func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 18735 s.PullStartedAt = &v 18736 return s 18737} 18738 18739// SetPullStoppedAt sets the PullStoppedAt field's value. 18740func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 18741 s.PullStoppedAt = &v 18742 return s 18743} 18744 18745// SetReason sets the Reason field's value. 18746func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 18747 s.Reason = &v 18748 return s 18749} 18750 18751// SetStatus sets the Status field's value. 18752func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 18753 s.Status = &v 18754 return s 18755} 18756 18757// SetTask sets the Task field's value. 18758func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 18759 s.Task = &v 18760 return s 18761} 18762 18763type SubmitTaskStateChangeOutput struct { 18764 _ struct{} `type:"structure"` 18765 18766 // Acknowledgement of the state change. 18767 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 18768} 18769 18770// String returns the string representation 18771func (s SubmitTaskStateChangeOutput) String() string { 18772 return awsutil.Prettify(s) 18773} 18774 18775// GoString returns the string representation 18776func (s SubmitTaskStateChangeOutput) GoString() string { 18777 return s.String() 18778} 18779 18780// SetAcknowledgment sets the Acknowledgment field's value. 18781func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 18782 s.Acknowledgment = &v 18783 return s 18784} 18785 18786// A list of namespaced kernel parameters to set in the container. This parameter 18787// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 18788// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 18789// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/#security-configuration). 18790// 18791// It is not recommended that you specify network-related systemControls parameters 18792// for multiple containers in a single task that also uses either the awsvpc 18793// or host network mode for the following reasons: 18794// 18795// * For tasks that use the awsvpc network mode, if you set systemControls 18796// for any container, it applies to all containers in the task. If you set 18797// different systemControls for multiple containers in a single task, the 18798// container that is started last determines which systemControls take effect. 18799// 18800// * For tasks that use the host network mode, the systemControls parameter 18801// applies to the container instance's kernel parameter as well as that of 18802// all containers of any tasks running on that container instance. 18803type SystemControl struct { 18804 _ struct{} `type:"structure"` 18805 18806 // The namespaced kernel parameter for which to set a value. 18807 Namespace *string `locationName:"namespace" type:"string"` 18808 18809 // The value for the namespaced kernel parameter specified in namespace. 18810 Value *string `locationName:"value" type:"string"` 18811} 18812 18813// String returns the string representation 18814func (s SystemControl) String() string { 18815 return awsutil.Prettify(s) 18816} 18817 18818// GoString returns the string representation 18819func (s SystemControl) GoString() string { 18820 return s.String() 18821} 18822 18823// SetNamespace sets the Namespace field's value. 18824func (s *SystemControl) SetNamespace(v string) *SystemControl { 18825 s.Namespace = &v 18826 return s 18827} 18828 18829// SetValue sets the Value field's value. 18830func (s *SystemControl) SetValue(v string) *SystemControl { 18831 s.Value = &v 18832 return s 18833} 18834 18835// The metadata that you apply to a resource to help you categorize and organize 18836// them. Each tag consists of a key and an optional value, both of which you 18837// define. 18838// 18839// The following basic restrictions apply to tags: 18840// 18841// * Maximum number of tags per resource - 50 18842// 18843// * For each resource, each tag key must be unique, and each tag key can 18844// have only one value. 18845// 18846// * Maximum key length - 128 Unicode characters in UTF-8 18847// 18848// * Maximum value length - 256 Unicode characters in UTF-8 18849// 18850// * If your tagging schema is used across multiple services and resources, 18851// remember that other services may have restrictions on allowed characters. 18852// Generally allowed characters are: letters, numbers, and spaces representable 18853// in UTF-8, and the following characters: + - = . _ : / @. 18854// 18855// * Tag keys and values are case-sensitive. 18856// 18857// * Do not use aws:, AWS:, or any upper or lowercase combination of such 18858// as a prefix for either keys or values as it is reserved for Amazon Web 18859// Services use. You cannot edit or delete tag keys or values with this prefix. 18860// Tags with this prefix do not count against your tags per resource limit. 18861type Tag struct { 18862 _ struct{} `type:"structure"` 18863 18864 // One part of a key-value pair that make up a tag. A key is a general label 18865 // that acts like a category for more specific tag values. 18866 Key *string `locationName:"key" min:"1" type:"string"` 18867 18868 // The optional part of a key-value pair that make up a tag. A value acts as 18869 // a descriptor within a tag category (key). 18870 Value *string `locationName:"value" type:"string"` 18871} 18872 18873// String returns the string representation 18874func (s Tag) String() string { 18875 return awsutil.Prettify(s) 18876} 18877 18878// GoString returns the string representation 18879func (s Tag) GoString() string { 18880 return s.String() 18881} 18882 18883// Validate inspects the fields of the type to determine if they are valid. 18884func (s *Tag) Validate() error { 18885 invalidParams := request.ErrInvalidParams{Context: "Tag"} 18886 if s.Key != nil && len(*s.Key) < 1 { 18887 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 18888 } 18889 18890 if invalidParams.Len() > 0 { 18891 return invalidParams 18892 } 18893 return nil 18894} 18895 18896// SetKey sets the Key field's value. 18897func (s *Tag) SetKey(v string) *Tag { 18898 s.Key = &v 18899 return s 18900} 18901 18902// SetValue sets the Value field's value. 18903func (s *Tag) SetValue(v string) *Tag { 18904 s.Value = &v 18905 return s 18906} 18907 18908type TagResourceInput struct { 18909 _ struct{} `type:"structure"` 18910 18911 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 18912 // the supported resources are Amazon ECS capacity providers, tasks, services, 18913 // task definitions, clusters, and container instances. 18914 // 18915 // ResourceArn is a required field 18916 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 18917 18918 // The tags to add to the resource. A tag is an array of key-value pairs. 18919 // 18920 // The following basic restrictions apply to tags: 18921 // 18922 // * Maximum number of tags per resource - 50 18923 // 18924 // * For each resource, each tag key must be unique, and each tag key can 18925 // have only one value. 18926 // 18927 // * Maximum key length - 128 Unicode characters in UTF-8 18928 // 18929 // * Maximum value length - 256 Unicode characters in UTF-8 18930 // 18931 // * If your tagging schema is used across multiple services and resources, 18932 // remember that other services may have restrictions on allowed characters. 18933 // Generally allowed characters are: letters, numbers, and spaces representable 18934 // in UTF-8, and the following characters: + - = . _ : / @. 18935 // 18936 // * Tag keys and values are case-sensitive. 18937 // 18938 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18939 // as a prefix for either keys or values as it is reserved for Amazon Web 18940 // Services use. You cannot edit or delete tag keys or values with this prefix. 18941 // Tags with this prefix do not count against your tags per resource limit. 18942 // 18943 // Tags is a required field 18944 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 18945} 18946 18947// String returns the string representation 18948func (s TagResourceInput) String() string { 18949 return awsutil.Prettify(s) 18950} 18951 18952// GoString returns the string representation 18953func (s TagResourceInput) GoString() string { 18954 return s.String() 18955} 18956 18957// Validate inspects the fields of the type to determine if they are valid. 18958func (s *TagResourceInput) Validate() error { 18959 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 18960 if s.ResourceArn == nil { 18961 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 18962 } 18963 if s.Tags == nil { 18964 invalidParams.Add(request.NewErrParamRequired("Tags")) 18965 } 18966 if s.Tags != nil { 18967 for i, v := range s.Tags { 18968 if v == nil { 18969 continue 18970 } 18971 if err := v.Validate(); err != nil { 18972 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 18973 } 18974 } 18975 } 18976 18977 if invalidParams.Len() > 0 { 18978 return invalidParams 18979 } 18980 return nil 18981} 18982 18983// SetResourceArn sets the ResourceArn field's value. 18984func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 18985 s.ResourceArn = &v 18986 return s 18987} 18988 18989// SetTags sets the Tags field's value. 18990func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 18991 s.Tags = v 18992 return s 18993} 18994 18995type TagResourceOutput struct { 18996 _ struct{} `type:"structure"` 18997} 18998 18999// String returns the string representation 19000func (s TagResourceOutput) String() string { 19001 return awsutil.Prettify(s) 19002} 19003 19004// GoString returns the string representation 19005func (s TagResourceOutput) GoString() string { 19006 return s.String() 19007} 19008 19009// The target container is not properly configured with the execute command 19010// agent or the container is no longer active or running. 19011type TargetNotConnectedException struct { 19012 _ struct{} `type:"structure"` 19013 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19014 19015 Message_ *string `locationName:"message" type:"string"` 19016} 19017 19018// String returns the string representation 19019func (s TargetNotConnectedException) String() string { 19020 return awsutil.Prettify(s) 19021} 19022 19023// GoString returns the string representation 19024func (s TargetNotConnectedException) GoString() string { 19025 return s.String() 19026} 19027 19028func newErrorTargetNotConnectedException(v protocol.ResponseMetadata) error { 19029 return &TargetNotConnectedException{ 19030 RespMetadata: v, 19031 } 19032} 19033 19034// Code returns the exception type name. 19035func (s *TargetNotConnectedException) Code() string { 19036 return "TargetNotConnectedException" 19037} 19038 19039// Message returns the exception's message. 19040func (s *TargetNotConnectedException) Message() string { 19041 if s.Message_ != nil { 19042 return *s.Message_ 19043 } 19044 return "" 19045} 19046 19047// OrigErr always returns nil, satisfies awserr.Error interface. 19048func (s *TargetNotConnectedException) OrigErr() error { 19049 return nil 19050} 19051 19052func (s *TargetNotConnectedException) Error() string { 19053 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19054} 19055 19056// Status code returns the HTTP status code for the request's response error. 19057func (s *TargetNotConnectedException) StatusCode() int { 19058 return s.RespMetadata.StatusCode 19059} 19060 19061// RequestID returns the service's response RequestID for request. 19062func (s *TargetNotConnectedException) RequestID() string { 19063 return s.RespMetadata.RequestID 19064} 19065 19066// The specified target could not be found. You can view your available container 19067// instances with ListContainerInstances. Amazon ECS container instances are 19068// cluster-specific and Region-specific. 19069type TargetNotFoundException struct { 19070 _ struct{} `type:"structure"` 19071 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19072 19073 Message_ *string `locationName:"message" type:"string"` 19074} 19075 19076// String returns the string representation 19077func (s TargetNotFoundException) String() string { 19078 return awsutil.Prettify(s) 19079} 19080 19081// GoString returns the string representation 19082func (s TargetNotFoundException) GoString() string { 19083 return s.String() 19084} 19085 19086func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error { 19087 return &TargetNotFoundException{ 19088 RespMetadata: v, 19089 } 19090} 19091 19092// Code returns the exception type name. 19093func (s *TargetNotFoundException) Code() string { 19094 return "TargetNotFoundException" 19095} 19096 19097// Message returns the exception's message. 19098func (s *TargetNotFoundException) Message() string { 19099 if s.Message_ != nil { 19100 return *s.Message_ 19101 } 19102 return "" 19103} 19104 19105// OrigErr always returns nil, satisfies awserr.Error interface. 19106func (s *TargetNotFoundException) OrigErr() error { 19107 return nil 19108} 19109 19110func (s *TargetNotFoundException) Error() string { 19111 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19112} 19113 19114// Status code returns the HTTP status code for the request's response error. 19115func (s *TargetNotFoundException) StatusCode() int { 19116 return s.RespMetadata.StatusCode 19117} 19118 19119// RequestID returns the service's response RequestID for request. 19120func (s *TargetNotFoundException) RequestID() string { 19121 return s.RespMetadata.RequestID 19122} 19123 19124// Details on a task in a cluster. 19125type Task struct { 19126 _ struct{} `type:"structure"` 19127 19128 // The Elastic Network Adapter associated with the task if the task uses the 19129 // awsvpc network mode. 19130 Attachments []*Attachment `locationName:"attachments" type:"list"` 19131 19132 // The attributes of the task 19133 Attributes []*Attribute `locationName:"attributes" type:"list"` 19134 19135 // The availability zone of the task. 19136 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 19137 19138 // The capacity provider associated with the task. 19139 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 19140 19141 // The ARN of the cluster that hosts the task. 19142 ClusterArn *string `locationName:"clusterArn" type:"string"` 19143 19144 // The connectivity status of a task. 19145 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 19146 19147 // The Unix timestamp for when the task last went into CONNECTED status. 19148 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 19149 19150 // The ARN of the container instances that host the task. 19151 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 19152 19153 // The containers associated with the task. 19154 Containers []*Container `locationName:"containers" type:"list"` 19155 19156 // The number of CPU units used by the task as expressed in a task definition. 19157 // It can be expressed as an integer using CPU units, for example 1024. It can 19158 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 19159 // String values are converted to an integer indicating the CPU units when the 19160 // task definition is registered. 19161 // 19162 // If you are using the EC2 launch type, this field is optional. Supported values 19163 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 19164 // 19165 // If you are using the Fargate launch type, this field is required and you 19166 // must use one of the following values, which determines your range of supported 19167 // values for the memory parameter: 19168 // 19169 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 19170 // 2048 (2 GB) 19171 // 19172 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 19173 // (3 GB), 4096 (4 GB) 19174 // 19175 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 19176 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 19177 // 19178 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 19179 // (16 GB) in increments of 1024 (1 GB) 19180 // 19181 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 19182 // (30 GB) in increments of 1024 (1 GB) 19183 Cpu *string `locationName:"cpu" type:"string"` 19184 19185 // The Unix timestamp for when the task was created (the task entered the PENDING 19186 // state). 19187 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 19188 19189 // The desired status of the task. For more information, see Task Lifecycle 19190 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 19191 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 19192 19193 // Whether or not execute command functionality is enabled for this task. If 19194 // true, this enables execute command functionality on all containers in the 19195 // task. 19196 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 19197 19198 // The ephemeral storage settings for the task. 19199 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 19200 19201 // The Unix timestamp for when the task execution stopped. 19202 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 19203 19204 // The name of the task group associated with the task. 19205 Group *string `locationName:"group" type:"string"` 19206 19207 // The health status for the task, which is determined by the health of the 19208 // essential containers in the task. If all essential containers in the task 19209 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 19210 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 19211 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 19212 // 19213 // The Amazon ECS container agent does not monitor or report on Docker health 19214 // checks that are embedded in a container image (such as those specified in 19215 // a parent image or from the image's Dockerfile) and not specified in the container 19216 // definition. Health check parameters that are specified in a container definition 19217 // override any Docker health checks that exist in the container image. 19218 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 19219 19220 // The Elastic Inference accelerator associated with the task. 19221 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 19222 19223 // The last known status of the task. For more information, see Task Lifecycle 19224 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 19225 LastStatus *string `locationName:"lastStatus" type:"string"` 19226 19227 // The infrastructure on which your task is running. For more information, see 19228 // Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 19229 // in the Amazon Elastic Container Service Developer Guide. 19230 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 19231 19232 // The amount of memory (in MiB) used by the task as expressed in a task definition. 19233 // It can be expressed as an integer using MiB, for example 1024. It can also 19234 // be expressed as a string using GB, for example 1GB or 1 GB. String values 19235 // are converted to an integer indicating the MiB when the task definition is 19236 // registered. 19237 // 19238 // If you are using the EC2 launch type, this field is optional. 19239 // 19240 // If you are using the Fargate launch type, this field is required and you 19241 // must use one of the following values, which determines your range of supported 19242 // values for the cpu parameter: 19243 // 19244 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 19245 // vCPU) 19246 // 19247 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 19248 // 512 (.5 vCPU) 19249 // 19250 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 19251 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 19252 // 19253 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 19254 // Available cpu values: 2048 (2 vCPU) 19255 // 19256 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 19257 // Available cpu values: 4096 (4 vCPU) 19258 Memory *string `locationName:"memory" type:"string"` 19259 19260 // One or more container overrides. 19261 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 19262 19263 // The platform version on which your task is running. A platform version is 19264 // only specified for tasks using the Fargate launch type. If one is not specified, 19265 // the LATEST platform version is used by default. For more information, see 19266 // Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 19267 // in the Amazon Elastic Container Service Developer Guide. 19268 PlatformVersion *string `locationName:"platformVersion" type:"string"` 19269 19270 // The Unix timestamp for when the container image pull began. 19271 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 19272 19273 // The Unix timestamp for when the container image pull completed. 19274 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 19275 19276 // The Unix timestamp for when the task started (the task transitioned from 19277 // the PENDING state to the RUNNING state). 19278 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 19279 19280 // The tag specified when a task is started. If the task is started by an Amazon 19281 // ECS service, then the startedBy parameter contains the deployment ID of the 19282 // service that starts it. 19283 StartedBy *string `locationName:"startedBy" type:"string"` 19284 19285 // The stop code indicating why a task was stopped. The stoppedReason may contain 19286 // additional details. 19287 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 19288 19289 // The Unix timestamp for when the task was stopped (the task transitioned from 19290 // the RUNNING state to the STOPPED state). 19291 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 19292 19293 // The reason that the task was stopped. 19294 StoppedReason *string `locationName:"stoppedReason" type:"string"` 19295 19296 // The Unix timestamp for when the task stops (transitions from the RUNNING 19297 // state to STOPPED). 19298 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 19299 19300 // The metadata that you apply to the task to help you categorize and organize 19301 // them. Each tag consists of a key and an optional value, both of which you 19302 // define. 19303 // 19304 // The following basic restrictions apply to tags: 19305 // 19306 // * Maximum number of tags per resource - 50 19307 // 19308 // * For each resource, each tag key must be unique, and each tag key can 19309 // have only one value. 19310 // 19311 // * Maximum key length - 128 Unicode characters in UTF-8 19312 // 19313 // * Maximum value length - 256 Unicode characters in UTF-8 19314 // 19315 // * If your tagging schema is used across multiple services and resources, 19316 // remember that other services may have restrictions on allowed characters. 19317 // Generally allowed characters are: letters, numbers, and spaces representable 19318 // in UTF-8, and the following characters: + - = . _ : / @. 19319 // 19320 // * Tag keys and values are case-sensitive. 19321 // 19322 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 19323 // as a prefix for either keys or values as it is reserved for Amazon Web 19324 // Services use. You cannot edit or delete tag keys or values with this prefix. 19325 // Tags with this prefix do not count against your tags per resource limit. 19326 Tags []*Tag `locationName:"tags" type:"list"` 19327 19328 // The Amazon Resource Name (ARN) of the task. 19329 TaskArn *string `locationName:"taskArn" type:"string"` 19330 19331 // The ARN of the task definition that creates the task. 19332 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 19333 19334 // The version counter for the task. Every time a task experiences a change 19335 // that triggers a CloudWatch event, the version counter is incremented. If 19336 // you are replicating your Amazon ECS task state with CloudWatch Events, you 19337 // can compare the version of a task reported by the Amazon ECS API actions 19338 // with the version reported in CloudWatch Events for the task (inside the detail 19339 // object) to verify that the version in your event stream is current. 19340 Version *int64 `locationName:"version" type:"long"` 19341} 19342 19343// String returns the string representation 19344func (s Task) String() string { 19345 return awsutil.Prettify(s) 19346} 19347 19348// GoString returns the string representation 19349func (s Task) GoString() string { 19350 return s.String() 19351} 19352 19353// SetAttachments sets the Attachments field's value. 19354func (s *Task) SetAttachments(v []*Attachment) *Task { 19355 s.Attachments = v 19356 return s 19357} 19358 19359// SetAttributes sets the Attributes field's value. 19360func (s *Task) SetAttributes(v []*Attribute) *Task { 19361 s.Attributes = v 19362 return s 19363} 19364 19365// SetAvailabilityZone sets the AvailabilityZone field's value. 19366func (s *Task) SetAvailabilityZone(v string) *Task { 19367 s.AvailabilityZone = &v 19368 return s 19369} 19370 19371// SetCapacityProviderName sets the CapacityProviderName field's value. 19372func (s *Task) SetCapacityProviderName(v string) *Task { 19373 s.CapacityProviderName = &v 19374 return s 19375} 19376 19377// SetClusterArn sets the ClusterArn field's value. 19378func (s *Task) SetClusterArn(v string) *Task { 19379 s.ClusterArn = &v 19380 return s 19381} 19382 19383// SetConnectivity sets the Connectivity field's value. 19384func (s *Task) SetConnectivity(v string) *Task { 19385 s.Connectivity = &v 19386 return s 19387} 19388 19389// SetConnectivityAt sets the ConnectivityAt field's value. 19390func (s *Task) SetConnectivityAt(v time.Time) *Task { 19391 s.ConnectivityAt = &v 19392 return s 19393} 19394 19395// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 19396func (s *Task) SetContainerInstanceArn(v string) *Task { 19397 s.ContainerInstanceArn = &v 19398 return s 19399} 19400 19401// SetContainers sets the Containers field's value. 19402func (s *Task) SetContainers(v []*Container) *Task { 19403 s.Containers = v 19404 return s 19405} 19406 19407// SetCpu sets the Cpu field's value. 19408func (s *Task) SetCpu(v string) *Task { 19409 s.Cpu = &v 19410 return s 19411} 19412 19413// SetCreatedAt sets the CreatedAt field's value. 19414func (s *Task) SetCreatedAt(v time.Time) *Task { 19415 s.CreatedAt = &v 19416 return s 19417} 19418 19419// SetDesiredStatus sets the DesiredStatus field's value. 19420func (s *Task) SetDesiredStatus(v string) *Task { 19421 s.DesiredStatus = &v 19422 return s 19423} 19424 19425// SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 19426func (s *Task) SetEnableExecuteCommand(v bool) *Task { 19427 s.EnableExecuteCommand = &v 19428 return s 19429} 19430 19431// SetEphemeralStorage sets the EphemeralStorage field's value. 19432func (s *Task) SetEphemeralStorage(v *EphemeralStorage) *Task { 19433 s.EphemeralStorage = v 19434 return s 19435} 19436 19437// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 19438func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 19439 s.ExecutionStoppedAt = &v 19440 return s 19441} 19442 19443// SetGroup sets the Group field's value. 19444func (s *Task) SetGroup(v string) *Task { 19445 s.Group = &v 19446 return s 19447} 19448 19449// SetHealthStatus sets the HealthStatus field's value. 19450func (s *Task) SetHealthStatus(v string) *Task { 19451 s.HealthStatus = &v 19452 return s 19453} 19454 19455// SetInferenceAccelerators sets the InferenceAccelerators field's value. 19456func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 19457 s.InferenceAccelerators = v 19458 return s 19459} 19460 19461// SetLastStatus sets the LastStatus field's value. 19462func (s *Task) SetLastStatus(v string) *Task { 19463 s.LastStatus = &v 19464 return s 19465} 19466 19467// SetLaunchType sets the LaunchType field's value. 19468func (s *Task) SetLaunchType(v string) *Task { 19469 s.LaunchType = &v 19470 return s 19471} 19472 19473// SetMemory sets the Memory field's value. 19474func (s *Task) SetMemory(v string) *Task { 19475 s.Memory = &v 19476 return s 19477} 19478 19479// SetOverrides sets the Overrides field's value. 19480func (s *Task) SetOverrides(v *TaskOverride) *Task { 19481 s.Overrides = v 19482 return s 19483} 19484 19485// SetPlatformVersion sets the PlatformVersion field's value. 19486func (s *Task) SetPlatformVersion(v string) *Task { 19487 s.PlatformVersion = &v 19488 return s 19489} 19490 19491// SetPullStartedAt sets the PullStartedAt field's value. 19492func (s *Task) SetPullStartedAt(v time.Time) *Task { 19493 s.PullStartedAt = &v 19494 return s 19495} 19496 19497// SetPullStoppedAt sets the PullStoppedAt field's value. 19498func (s *Task) SetPullStoppedAt(v time.Time) *Task { 19499 s.PullStoppedAt = &v 19500 return s 19501} 19502 19503// SetStartedAt sets the StartedAt field's value. 19504func (s *Task) SetStartedAt(v time.Time) *Task { 19505 s.StartedAt = &v 19506 return s 19507} 19508 19509// SetStartedBy sets the StartedBy field's value. 19510func (s *Task) SetStartedBy(v string) *Task { 19511 s.StartedBy = &v 19512 return s 19513} 19514 19515// SetStopCode sets the StopCode field's value. 19516func (s *Task) SetStopCode(v string) *Task { 19517 s.StopCode = &v 19518 return s 19519} 19520 19521// SetStoppedAt sets the StoppedAt field's value. 19522func (s *Task) SetStoppedAt(v time.Time) *Task { 19523 s.StoppedAt = &v 19524 return s 19525} 19526 19527// SetStoppedReason sets the StoppedReason field's value. 19528func (s *Task) SetStoppedReason(v string) *Task { 19529 s.StoppedReason = &v 19530 return s 19531} 19532 19533// SetStoppingAt sets the StoppingAt field's value. 19534func (s *Task) SetStoppingAt(v time.Time) *Task { 19535 s.StoppingAt = &v 19536 return s 19537} 19538 19539// SetTags sets the Tags field's value. 19540func (s *Task) SetTags(v []*Tag) *Task { 19541 s.Tags = v 19542 return s 19543} 19544 19545// SetTaskArn sets the TaskArn field's value. 19546func (s *Task) SetTaskArn(v string) *Task { 19547 s.TaskArn = &v 19548 return s 19549} 19550 19551// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 19552func (s *Task) SetTaskDefinitionArn(v string) *Task { 19553 s.TaskDefinitionArn = &v 19554 return s 19555} 19556 19557// SetVersion sets the Version field's value. 19558func (s *Task) SetVersion(v int64) *Task { 19559 s.Version = &v 19560 return s 19561} 19562 19563// The details of a task definition which describes the container and volume 19564// definitions of an Amazon Elastic Container Service task. You can specify 19565// which Docker images to use, the required resources, and other configurations 19566// related to launching the task definition through an Amazon ECS service or 19567// task. 19568type TaskDefinition struct { 19569 _ struct{} `type:"structure"` 19570 19571 // The task launch types the task definition validated against during task definition 19572 // registration. For more information, see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 19573 // in the Amazon Elastic Container Service Developer Guide. 19574 Compatibilities []*string `locationName:"compatibilities" type:"list"` 19575 19576 // A list of container definitions in JSON format that describe the different 19577 // containers that make up your task. For more information about container definition 19578 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 19579 // in the Amazon Elastic Container Service Developer Guide. 19580 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 19581 19582 // The number of cpu units used by the task. If you are using the EC2 launch 19583 // type, this field is optional and any value can be used. If you are using 19584 // the Fargate launch type, this field is required and you must use one of the 19585 // following values, which determines your range of valid values for the memory 19586 // parameter: 19587 // 19588 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 19589 // 2048 (2 GB) 19590 // 19591 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 19592 // (3 GB), 4096 (4 GB) 19593 // 19594 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 19595 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 19596 // 19597 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 19598 // (16 GB) in increments of 1024 (1 GB) 19599 // 19600 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 19601 // (30 GB) in increments of 1024 (1 GB) 19602 Cpu *string `locationName:"cpu" type:"string"` 19603 19604 // The Unix timestamp for when the task definition was deregistered. 19605 DeregisteredAt *time.Time `locationName:"deregisteredAt" type:"timestamp"` 19606 19607 // The ephemeral storage settings to use for tasks run with the task definition. 19608 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 19609 19610 // The Amazon Resource Name (ARN) of the task execution role that grants the 19611 // Amazon ECS container agent permission to make Amazon Web Services API calls 19612 // on your behalf. The task execution IAM role is required depending on the 19613 // requirements of your task. For more information, see Amazon ECS task execution 19614 // IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 19615 // in the Amazon Elastic Container Service Developer Guide. 19616 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 19617 19618 // The name of a family that this task definition is registered to. Up to 255 19619 // letters (uppercase and lowercase), numbers, hyphens, and underscores are 19620 // allowed. 19621 // 19622 // A family groups multiple versions of a task definition. Amazon ECS gives 19623 // the first task definition that you registered to a family a revision number 19624 // of 1. Amazon ECS gives sequential revision numbers to each task definition 19625 // that you add. 19626 Family *string `locationName:"family" type:"string"` 19627 19628 // The Elastic Inference accelerator associated with the task. 19629 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 19630 19631 // The IPC resource namespace to use for the containers in the task. The valid 19632 // values are host, task, or none. If host is specified, then all containers 19633 // within the tasks that specified the host IPC mode on the same container instance 19634 // share the same IPC resources with the host Amazon EC2 instance. If task is 19635 // specified, all containers within the specified task share the same IPC resources. 19636 // If none is specified, then IPC resources within the containers of a task 19637 // are private and not shared with other containers in a task or on the container 19638 // instance. If no value is specified, then the IPC resource namespace sharing 19639 // depends on the Docker daemon setting on the container instance. For more 19640 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 19641 // in the Docker run reference. 19642 // 19643 // If the host IPC mode is used, be aware that there is a heightened risk of 19644 // undesired IPC namespace expose. For more information, see Docker security 19645 // (https://docs.docker.com/engine/security/security/). 19646 // 19647 // If you are setting namespaced kernel parameters using systemControls for 19648 // the containers in the task, the following will apply to your IPC resource 19649 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 19650 // in the Amazon Elastic Container Service Developer Guide. 19651 // 19652 // * For tasks that use the host IPC mode, IPC namespace related systemControls 19653 // are not supported. 19654 // 19655 // * For tasks that use the task IPC mode, IPC namespace related systemControls 19656 // will apply to all containers within a task. 19657 // 19658 // This parameter is not supported for Windows containers or tasks run on Fargate. 19659 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 19660 19661 // The amount (in MiB) of memory used by the task. 19662 // 19663 // If your tasks will be run on Amazon EC2 instances, you must specify either 19664 // a task-level memory value or a container-level memory value. This field is 19665 // optional and any value can be used. If a task-level memory value is specified 19666 // then the container-level memory value is optional. For more information regarding 19667 // container-level memory and memory reservation, see ContainerDefinition (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html). 19668 // 19669 // If your tasks will be run on Fargate, this field is required and you must 19670 // use one of the following values, which determines your range of valid values 19671 // for the cpu parameter: 19672 // 19673 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 19674 // vCPU) 19675 // 19676 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 19677 // 512 (.5 vCPU) 19678 // 19679 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 19680 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 19681 // 19682 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 19683 // Available cpu values: 2048 (2 vCPU) 19684 // 19685 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 19686 // Available cpu values: 4096 (4 vCPU) 19687 Memory *string `locationName:"memory" type:"string"` 19688 19689 // The Docker networking mode to use for the containers in the task. The valid 19690 // values are none, bridge, awsvpc, and host. If no network mode is specified, 19691 // the default is bridge. 19692 // 19693 // For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For 19694 // Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. 19695 // For Amazon ECS tasks on Amazon EC2 Windows instances, <default> or awsvpc 19696 // can be used. If the network mode is set to none, you cannot specify port 19697 // mappings in your container definitions, and the tasks containers do not have 19698 // external connectivity. The host and awsvpc network modes offer the highest 19699 // networking performance for containers because they use the EC2 network stack 19700 // instead of the virtualized network stack provided by the bridge mode. 19701 // 19702 // With the host and awsvpc network modes, exposed container ports are mapped 19703 // directly to the corresponding host port (for the host network mode) or the 19704 // attached elastic network interface port (for the awsvpc network mode), so 19705 // you cannot take advantage of dynamic host port mappings. 19706 // 19707 // When using the host network mode, you should not run containers using the 19708 // root user (UID 0). It is considered best practice to use a non-root user. 19709 // 19710 // If the network mode is awsvpc, the task is allocated an elastic network interface, 19711 // and you must specify a NetworkConfiguration value when you create a service 19712 // or run a task with the task definition. For more information, see Task Networking 19713 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 19714 // in the Amazon Elastic Container Service Developer Guide. 19715 // 19716 // If the network mode is host, you cannot run multiple instantiations of the 19717 // same task on a single container instance when port mappings are used. 19718 // 19719 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 19720 // in the Docker run reference. 19721 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 19722 19723 // The process namespace to use for the containers in the task. The valid values 19724 // are host or task. If host is specified, then all containers within the tasks 19725 // that specified the host PID mode on the same container instance share the 19726 // same process namespace with the host Amazon EC2 instance. If task is specified, 19727 // all containers within the specified task share the same process namespace. 19728 // If no value is specified, the default is a private namespace. For more information, 19729 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 19730 // in the Docker run reference. 19731 // 19732 // If the host PID mode is used, be aware that there is a heightened risk of 19733 // undesired process namespace expose. For more information, see Docker security 19734 // (https://docs.docker.com/engine/security/security/). 19735 // 19736 // This parameter is not supported for Windows containers or tasks run on Fargate. 19737 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 19738 19739 // An array of placement constraint objects to use for tasks. 19740 // 19741 // This parameter is not supported for tasks run on Fargate. 19742 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 19743 19744 // The configuration details for the App Mesh proxy. 19745 // 19746 // Your Amazon ECS container instances require at least version 1.26.0 of the 19747 // container agent and at least version 1.26.0-1 of the ecs-init package to 19748 // enable a proxy configuration. If your container instances are launched from 19749 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 19750 // the required versions of the container agent and ecs-init. For more information, 19751 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 19752 // in the Amazon Elastic Container Service Developer Guide. 19753 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 19754 19755 // The Unix timestamp for when the task definition was registered. 19756 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 19757 19758 // The principal that registered the task definition. 19759 RegisteredBy *string `locationName:"registeredBy" type:"string"` 19760 19761 // The container instance attributes required by your task. When an Amazon EC2 19762 // instance is registered to your cluster, the Amazon ECS container agent assigns 19763 // some standard attributes to the instance. You can apply custom attributes, 19764 // specified as key-value pairs using the Amazon ECS console or the PutAttributes 19765 // API. These attributes are used when considering task placement for tasks 19766 // hosted on Amazon EC2 instances. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 19767 // in the Amazon Elastic Container Service Developer Guide. 19768 // 19769 // This parameter is not supported for tasks run on Fargate. 19770 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 19771 19772 // The task launch types the task definition was validated against. To determine 19773 // which task launch types the task definition is validated for, see the TaskDefinition$compatibilities 19774 // parameter. 19775 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 19776 19777 // The revision of the task in a particular family. The revision is a version 19778 // number of a task definition in a family. When you register a task definition 19779 // for the first time, the revision is 1. Each time that you register a new 19780 // revision of a task definition in the same family, the revision value always 19781 // increases by one, even if you have deregistered previous revisions in this 19782 // family. 19783 Revision *int64 `locationName:"revision" type:"integer"` 19784 19785 // The status of the task definition. 19786 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 19787 19788 // The full Amazon Resource Name (ARN) of the task definition. 19789 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 19790 19791 // The short name or full Amazon Resource Name (ARN) of the Identity and Access 19792 // Management role that grants containers in the task permission to call Amazon 19793 // Web Services APIs on your behalf. For more information, see Amazon ECS Task 19794 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 19795 // in the Amazon Elastic Container Service Developer Guide. 19796 // 19797 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 19798 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 19799 // must also run some configuration code in order to take advantage of the feature. 19800 // For more information, see Windows IAM roles for tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 19801 // in the Amazon Elastic Container Service Developer Guide. 19802 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 19803 19804 // The list of data volume definitions for the task. For more information, see 19805 // Using data volumes in tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html) 19806 // in the Amazon Elastic Container Service Developer Guide. 19807 // 19808 // The host and sourcePath parameters are not supported for tasks run on Fargate. 19809 Volumes []*Volume `locationName:"volumes" type:"list"` 19810} 19811 19812// String returns the string representation 19813func (s TaskDefinition) String() string { 19814 return awsutil.Prettify(s) 19815} 19816 19817// GoString returns the string representation 19818func (s TaskDefinition) GoString() string { 19819 return s.String() 19820} 19821 19822// SetCompatibilities sets the Compatibilities field's value. 19823func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 19824 s.Compatibilities = v 19825 return s 19826} 19827 19828// SetContainerDefinitions sets the ContainerDefinitions field's value. 19829func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 19830 s.ContainerDefinitions = v 19831 return s 19832} 19833 19834// SetCpu sets the Cpu field's value. 19835func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 19836 s.Cpu = &v 19837 return s 19838} 19839 19840// SetDeregisteredAt sets the DeregisteredAt field's value. 19841func (s *TaskDefinition) SetDeregisteredAt(v time.Time) *TaskDefinition { 19842 s.DeregisteredAt = &v 19843 return s 19844} 19845 19846// SetEphemeralStorage sets the EphemeralStorage field's value. 19847func (s *TaskDefinition) SetEphemeralStorage(v *EphemeralStorage) *TaskDefinition { 19848 s.EphemeralStorage = v 19849 return s 19850} 19851 19852// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 19853func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 19854 s.ExecutionRoleArn = &v 19855 return s 19856} 19857 19858// SetFamily sets the Family field's value. 19859func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 19860 s.Family = &v 19861 return s 19862} 19863 19864// SetInferenceAccelerators sets the InferenceAccelerators field's value. 19865func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 19866 s.InferenceAccelerators = v 19867 return s 19868} 19869 19870// SetIpcMode sets the IpcMode field's value. 19871func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 19872 s.IpcMode = &v 19873 return s 19874} 19875 19876// SetMemory sets the Memory field's value. 19877func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 19878 s.Memory = &v 19879 return s 19880} 19881 19882// SetNetworkMode sets the NetworkMode field's value. 19883func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 19884 s.NetworkMode = &v 19885 return s 19886} 19887 19888// SetPidMode sets the PidMode field's value. 19889func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 19890 s.PidMode = &v 19891 return s 19892} 19893 19894// SetPlacementConstraints sets the PlacementConstraints field's value. 19895func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 19896 s.PlacementConstraints = v 19897 return s 19898} 19899 19900// SetProxyConfiguration sets the ProxyConfiguration field's value. 19901func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 19902 s.ProxyConfiguration = v 19903 return s 19904} 19905 19906// SetRegisteredAt sets the RegisteredAt field's value. 19907func (s *TaskDefinition) SetRegisteredAt(v time.Time) *TaskDefinition { 19908 s.RegisteredAt = &v 19909 return s 19910} 19911 19912// SetRegisteredBy sets the RegisteredBy field's value. 19913func (s *TaskDefinition) SetRegisteredBy(v string) *TaskDefinition { 19914 s.RegisteredBy = &v 19915 return s 19916} 19917 19918// SetRequiresAttributes sets the RequiresAttributes field's value. 19919func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 19920 s.RequiresAttributes = v 19921 return s 19922} 19923 19924// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 19925func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 19926 s.RequiresCompatibilities = v 19927 return s 19928} 19929 19930// SetRevision sets the Revision field's value. 19931func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 19932 s.Revision = &v 19933 return s 19934} 19935 19936// SetStatus sets the Status field's value. 19937func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 19938 s.Status = &v 19939 return s 19940} 19941 19942// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 19943func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 19944 s.TaskDefinitionArn = &v 19945 return s 19946} 19947 19948// SetTaskRoleArn sets the TaskRoleArn field's value. 19949func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 19950 s.TaskRoleArn = &v 19951 return s 19952} 19953 19954// SetVolumes sets the Volumes field's value. 19955func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 19956 s.Volumes = v 19957 return s 19958} 19959 19960// An object representing a constraint on task placement in the task definition. 19961// For more information, see Task placement constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 19962// in the Amazon Elastic Container Service Developer Guide. 19963// 19964// Task placement constraints are not supported for tasks run on Fargate. 19965type TaskDefinitionPlacementConstraint struct { 19966 _ struct{} `type:"structure"` 19967 19968 // A cluster query language expression to apply to the constraint. For more 19969 // information, see Cluster query language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 19970 // in the Amazon Elastic Container Service Developer Guide. 19971 Expression *string `locationName:"expression" type:"string"` 19972 19973 // The type of constraint. The MemberOf constraint restricts selection to be 19974 // from a group of valid candidates. 19975 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 19976} 19977 19978// String returns the string representation 19979func (s TaskDefinitionPlacementConstraint) String() string { 19980 return awsutil.Prettify(s) 19981} 19982 19983// GoString returns the string representation 19984func (s TaskDefinitionPlacementConstraint) GoString() string { 19985 return s.String() 19986} 19987 19988// SetExpression sets the Expression field's value. 19989func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 19990 s.Expression = &v 19991 return s 19992} 19993 19994// SetType sets the Type field's value. 19995func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 19996 s.Type = &v 19997 return s 19998} 19999 20000// The overrides associated with a task. 20001type TaskOverride struct { 20002 _ struct{} `type:"structure"` 20003 20004 // One or more container overrides sent to a task. 20005 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 20006 20007 // The cpu override for the task. 20008 Cpu *string `locationName:"cpu" type:"string"` 20009 20010 // The ephemeral storage setting override for the task. 20011 // 20012 // This parameter is only supported for tasks hosted on Fargate using platform 20013 // version 1.4.0 or later. 20014 EphemeralStorage *EphemeralStorage `locationName:"ephemeralStorage" type:"structure"` 20015 20016 // The Amazon Resource Name (ARN) of the task execution IAM role override for 20017 // the task. 20018 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 20019 20020 // The Elastic Inference accelerator override for the task. 20021 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 20022 20023 // The memory override for the task. 20024 Memory *string `locationName:"memory" type:"string"` 20025 20026 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 20027 // can assume. All containers in this task are granted the permissions that 20028 // are specified in this role. 20029 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 20030} 20031 20032// String returns the string representation 20033func (s TaskOverride) String() string { 20034 return awsutil.Prettify(s) 20035} 20036 20037// GoString returns the string representation 20038func (s TaskOverride) GoString() string { 20039 return s.String() 20040} 20041 20042// Validate inspects the fields of the type to determine if they are valid. 20043func (s *TaskOverride) Validate() error { 20044 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 20045 if s.ContainerOverrides != nil { 20046 for i, v := range s.ContainerOverrides { 20047 if v == nil { 20048 continue 20049 } 20050 if err := v.Validate(); err != nil { 20051 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 20052 } 20053 } 20054 } 20055 if s.EphemeralStorage != nil { 20056 if err := s.EphemeralStorage.Validate(); err != nil { 20057 invalidParams.AddNested("EphemeralStorage", err.(request.ErrInvalidParams)) 20058 } 20059 } 20060 20061 if invalidParams.Len() > 0 { 20062 return invalidParams 20063 } 20064 return nil 20065} 20066 20067// SetContainerOverrides sets the ContainerOverrides field's value. 20068func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 20069 s.ContainerOverrides = v 20070 return s 20071} 20072 20073// SetCpu sets the Cpu field's value. 20074func (s *TaskOverride) SetCpu(v string) *TaskOverride { 20075 s.Cpu = &v 20076 return s 20077} 20078 20079// SetEphemeralStorage sets the EphemeralStorage field's value. 20080func (s *TaskOverride) SetEphemeralStorage(v *EphemeralStorage) *TaskOverride { 20081 s.EphemeralStorage = v 20082 return s 20083} 20084 20085// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 20086func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 20087 s.ExecutionRoleArn = &v 20088 return s 20089} 20090 20091// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 20092func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 20093 s.InferenceAcceleratorOverrides = v 20094 return s 20095} 20096 20097// SetMemory sets the Memory field's value. 20098func (s *TaskOverride) SetMemory(v string) *TaskOverride { 20099 s.Memory = &v 20100 return s 20101} 20102 20103// SetTaskRoleArn sets the TaskRoleArn field's value. 20104func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 20105 s.TaskRoleArn = &v 20106 return s 20107} 20108 20109// Information about a set of Amazon ECS tasks in either an CodeDeploy or an 20110// EXTERNAL deployment. An Amazon ECS task set includes details such as the 20111// desired number of tasks, how many tasks are running, and whether the task 20112// set serves production traffic. 20113type TaskSet struct { 20114 _ struct{} `type:"structure"` 20115 20116 // The capacity provider strategy associated with the task set. 20117 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 20118 20119 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 20120 // the task set exists in. 20121 ClusterArn *string `locationName:"clusterArn" type:"string"` 20122 20123 // The computed desired count for the task set. This is calculated by multiplying 20124 // the service's desiredCount by the task set's scale percentage. The result 20125 // is always rounded up. For example, if the computed desired count is 1.2, 20126 // it rounds up to 2 tasks. 20127 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 20128 20129 // The Unix timestamp for when the task set was created. 20130 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 20131 20132 // The external ID associated with the task set. 20133 // 20134 // If a task set is created by an CodeDeploy deployment, the externalId parameter 20135 // contains the CodeDeploy deployment ID. 20136 // 20137 // If a task set is created for an external deployment and is associated with 20138 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 20139 // Cloud Map attribute. 20140 ExternalId *string `locationName:"externalId" type:"string"` 20141 20142 // The ID of the task set. 20143 Id *string `locationName:"id" type:"string"` 20144 20145 // The launch type the tasks in the task set are using. For more information, 20146 // see Amazon ECS launch types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 20147 // in the Amazon Elastic Container Service Developer Guide. 20148 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 20149 20150 // Details on a load balancer that is used with a task set. 20151 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 20152 20153 // The network configuration for the task set. 20154 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 20155 20156 // The number of tasks in the task set that are in the PENDING status during 20157 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 20158 // state. A task set enters the PENDING status when it launches for the first 20159 // time or when it is restarted after being in the STOPPED state. 20160 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 20161 20162 // The Fargate platform version on which the tasks in the task set are running. 20163 // A platform version is only specified for tasks run on Fargate. For more information, 20164 // see Fargate platform versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 20165 // in the Amazon Elastic Container Service Developer Guide. 20166 PlatformVersion *string `locationName:"platformVersion" type:"string"` 20167 20168 // The number of tasks in the task set that are in the RUNNING status during 20169 // a deployment. A task in the RUNNING state is running and ready for use. 20170 RunningCount *int64 `locationName:"runningCount" type:"integer"` 20171 20172 // A floating-point percentage of the desired number of tasks to place and keep 20173 // running in the task set. 20174 Scale *Scale `locationName:"scale" type:"structure"` 20175 20176 // The Amazon Resource Name (ARN) of the service the task set exists in. 20177 ServiceArn *string `locationName:"serviceArn" type:"string"` 20178 20179 // The details of the service discovery registries to assign to this task set. 20180 // For more information, see Service discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 20181 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 20182 20183 // The stability status, which indicates whether the task set has reached a 20184 // steady state. If the following conditions are met, the task set will be in 20185 // STEADY_STATE: 20186 // 20187 // * The task runningCount is equal to the computedDesiredCount. 20188 // 20189 // * The pendingCount is 0. 20190 // 20191 // * There are no tasks running on container instances in the DRAINING status. 20192 // 20193 // * All tasks are reporting a healthy status from the load balancers, service 20194 // discovery, and container health checks. 20195 // 20196 // If any of those conditions are not met, the stability status returns STABILIZING. 20197 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 20198 20199 // The Unix timestamp for when the task set stability status was retrieved. 20200 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 20201 20202 // The tag specified when a task set is started. If the task set is created 20203 // by an CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. For 20204 // a task set created for an external deployment, the startedBy field isn't 20205 // used. 20206 StartedBy *string `locationName:"startedBy" type:"string"` 20207 20208 // The status of the task set. The following describes each state: 20209 // 20210 // PRIMARY 20211 // 20212 // The task set is serving production traffic. 20213 // 20214 // ACTIVE 20215 // 20216 // The task set is not serving production traffic. 20217 // 20218 // DRAINING 20219 // 20220 // The tasks in the task set are being stopped and their corresponding targets 20221 // are being deregistered from their target group. 20222 Status *string `locationName:"status" type:"string"` 20223 20224 // The metadata that you apply to the task set to help you categorize and organize 20225 // them. Each tag consists of a key and an optional value, both of which you 20226 // define. 20227 // 20228 // The following basic restrictions apply to tags: 20229 // 20230 // * Maximum number of tags per resource - 50 20231 // 20232 // * For each resource, each tag key must be unique, and each tag key can 20233 // have only one value. 20234 // 20235 // * Maximum key length - 128 Unicode characters in UTF-8 20236 // 20237 // * Maximum value length - 256 Unicode characters in UTF-8 20238 // 20239 // * If your tagging schema is used across multiple services and resources, 20240 // remember that other services may have restrictions on allowed characters. 20241 // Generally allowed characters are: letters, numbers, and spaces representable 20242 // in UTF-8, and the following characters: + - = . _ : / @. 20243 // 20244 // * Tag keys and values are case-sensitive. 20245 // 20246 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 20247 // as a prefix for either keys or values as it is reserved for Amazon Web 20248 // Services use. You cannot edit or delete tag keys or values with this prefix. 20249 // Tags with this prefix do not count against your tags per resource limit. 20250 Tags []*Tag `locationName:"tags" type:"list"` 20251 20252 // The task definition the task set is using. 20253 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 20254 20255 // The Amazon Resource Name (ARN) of the task set. 20256 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 20257 20258 // The Unix timestamp for when the task set was last updated. 20259 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 20260} 20261 20262// String returns the string representation 20263func (s TaskSet) String() string { 20264 return awsutil.Prettify(s) 20265} 20266 20267// GoString returns the string representation 20268func (s TaskSet) GoString() string { 20269 return s.String() 20270} 20271 20272// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 20273func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 20274 s.CapacityProviderStrategy = v 20275 return s 20276} 20277 20278// SetClusterArn sets the ClusterArn field's value. 20279func (s *TaskSet) SetClusterArn(v string) *TaskSet { 20280 s.ClusterArn = &v 20281 return s 20282} 20283 20284// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 20285func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 20286 s.ComputedDesiredCount = &v 20287 return s 20288} 20289 20290// SetCreatedAt sets the CreatedAt field's value. 20291func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 20292 s.CreatedAt = &v 20293 return s 20294} 20295 20296// SetExternalId sets the ExternalId field's value. 20297func (s *TaskSet) SetExternalId(v string) *TaskSet { 20298 s.ExternalId = &v 20299 return s 20300} 20301 20302// SetId sets the Id field's value. 20303func (s *TaskSet) SetId(v string) *TaskSet { 20304 s.Id = &v 20305 return s 20306} 20307 20308// SetLaunchType sets the LaunchType field's value. 20309func (s *TaskSet) SetLaunchType(v string) *TaskSet { 20310 s.LaunchType = &v 20311 return s 20312} 20313 20314// SetLoadBalancers sets the LoadBalancers field's value. 20315func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 20316 s.LoadBalancers = v 20317 return s 20318} 20319 20320// SetNetworkConfiguration sets the NetworkConfiguration field's value. 20321func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 20322 s.NetworkConfiguration = v 20323 return s 20324} 20325 20326// SetPendingCount sets the PendingCount field's value. 20327func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 20328 s.PendingCount = &v 20329 return s 20330} 20331 20332// SetPlatformVersion sets the PlatformVersion field's value. 20333func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 20334 s.PlatformVersion = &v 20335 return s 20336} 20337 20338// SetRunningCount sets the RunningCount field's value. 20339func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 20340 s.RunningCount = &v 20341 return s 20342} 20343 20344// SetScale sets the Scale field's value. 20345func (s *TaskSet) SetScale(v *Scale) *TaskSet { 20346 s.Scale = v 20347 return s 20348} 20349 20350// SetServiceArn sets the ServiceArn field's value. 20351func (s *TaskSet) SetServiceArn(v string) *TaskSet { 20352 s.ServiceArn = &v 20353 return s 20354} 20355 20356// SetServiceRegistries sets the ServiceRegistries field's value. 20357func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 20358 s.ServiceRegistries = v 20359 return s 20360} 20361 20362// SetStabilityStatus sets the StabilityStatus field's value. 20363func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 20364 s.StabilityStatus = &v 20365 return s 20366} 20367 20368// SetStabilityStatusAt sets the StabilityStatusAt field's value. 20369func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 20370 s.StabilityStatusAt = &v 20371 return s 20372} 20373 20374// SetStartedBy sets the StartedBy field's value. 20375func (s *TaskSet) SetStartedBy(v string) *TaskSet { 20376 s.StartedBy = &v 20377 return s 20378} 20379 20380// SetStatus sets the Status field's value. 20381func (s *TaskSet) SetStatus(v string) *TaskSet { 20382 s.Status = &v 20383 return s 20384} 20385 20386// SetTags sets the Tags field's value. 20387func (s *TaskSet) SetTags(v []*Tag) *TaskSet { 20388 s.Tags = v 20389 return s 20390} 20391 20392// SetTaskDefinition sets the TaskDefinition field's value. 20393func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 20394 s.TaskDefinition = &v 20395 return s 20396} 20397 20398// SetTaskSetArn sets the TaskSetArn field's value. 20399func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 20400 s.TaskSetArn = &v 20401 return s 20402} 20403 20404// SetUpdatedAt sets the UpdatedAt field's value. 20405func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 20406 s.UpdatedAt = &v 20407 return s 20408} 20409 20410// The specified task set could not be found. You can view your available task 20411// sets with DescribeTaskSets. Task sets are specific to each cluster, service 20412// and Region. 20413type TaskSetNotFoundException struct { 20414 _ struct{} `type:"structure"` 20415 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 20416 20417 Message_ *string `locationName:"message" type:"string"` 20418} 20419 20420// String returns the string representation 20421func (s TaskSetNotFoundException) String() string { 20422 return awsutil.Prettify(s) 20423} 20424 20425// GoString returns the string representation 20426func (s TaskSetNotFoundException) GoString() string { 20427 return s.String() 20428} 20429 20430func newErrorTaskSetNotFoundException(v protocol.ResponseMetadata) error { 20431 return &TaskSetNotFoundException{ 20432 RespMetadata: v, 20433 } 20434} 20435 20436// Code returns the exception type name. 20437func (s *TaskSetNotFoundException) Code() string { 20438 return "TaskSetNotFoundException" 20439} 20440 20441// Message returns the exception's message. 20442func (s *TaskSetNotFoundException) Message() string { 20443 if s.Message_ != nil { 20444 return *s.Message_ 20445 } 20446 return "" 20447} 20448 20449// OrigErr always returns nil, satisfies awserr.Error interface. 20450func (s *TaskSetNotFoundException) OrigErr() error { 20451 return nil 20452} 20453 20454func (s *TaskSetNotFoundException) Error() string { 20455 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 20456} 20457 20458// Status code returns the HTTP status code for the request's response error. 20459func (s *TaskSetNotFoundException) StatusCode() int { 20460 return s.RespMetadata.StatusCode 20461} 20462 20463// RequestID returns the service's response RequestID for request. 20464func (s *TaskSetNotFoundException) RequestID() string { 20465 return s.RespMetadata.RequestID 20466} 20467 20468// The container path, mount options, and size of the tmpfs mount. 20469type Tmpfs struct { 20470 _ struct{} `type:"structure"` 20471 20472 // The absolute file path where the tmpfs volume is to be mounted. 20473 // 20474 // ContainerPath is a required field 20475 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 20476 20477 // The list of tmpfs volume mount options. 20478 // 20479 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 20480 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 20481 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 20482 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 20483 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 20484 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 20485 MountOptions []*string `locationName:"mountOptions" type:"list"` 20486 20487 // The maximum size (in MiB) of the tmpfs volume. 20488 // 20489 // Size is a required field 20490 Size *int64 `locationName:"size" type:"integer" required:"true"` 20491} 20492 20493// String returns the string representation 20494func (s Tmpfs) String() string { 20495 return awsutil.Prettify(s) 20496} 20497 20498// GoString returns the string representation 20499func (s Tmpfs) GoString() string { 20500 return s.String() 20501} 20502 20503// Validate inspects the fields of the type to determine if they are valid. 20504func (s *Tmpfs) Validate() error { 20505 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 20506 if s.ContainerPath == nil { 20507 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 20508 } 20509 if s.Size == nil { 20510 invalidParams.Add(request.NewErrParamRequired("Size")) 20511 } 20512 20513 if invalidParams.Len() > 0 { 20514 return invalidParams 20515 } 20516 return nil 20517} 20518 20519// SetContainerPath sets the ContainerPath field's value. 20520func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 20521 s.ContainerPath = &v 20522 return s 20523} 20524 20525// SetMountOptions sets the MountOptions field's value. 20526func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 20527 s.MountOptions = v 20528 return s 20529} 20530 20531// SetSize sets the Size field's value. 20532func (s *Tmpfs) SetSize(v int64) *Tmpfs { 20533 s.Size = &v 20534 return s 20535} 20536 20537// The ulimit settings to pass to the container. 20538// 20539// Amazon ECS tasks hosted on Fargate use the default resource limit values 20540// set by the operating system with the exception of the nofile resource limit 20541// parameter which Fargate overrides. The nofile resource limit sets a restriction 20542// on the number of open files that a container can use. The default nofile 20543// soft limit is 1024 and hard limit is 4096. 20544type Ulimit struct { 20545 _ struct{} `type:"structure"` 20546 20547 // The hard limit for the ulimit type. 20548 // 20549 // HardLimit is a required field 20550 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 20551 20552 // The type of the ulimit. 20553 // 20554 // Name is a required field 20555 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 20556 20557 // The soft limit for the ulimit type. 20558 // 20559 // SoftLimit is a required field 20560 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 20561} 20562 20563// String returns the string representation 20564func (s Ulimit) String() string { 20565 return awsutil.Prettify(s) 20566} 20567 20568// GoString returns the string representation 20569func (s Ulimit) GoString() string { 20570 return s.String() 20571} 20572 20573// Validate inspects the fields of the type to determine if they are valid. 20574func (s *Ulimit) Validate() error { 20575 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 20576 if s.HardLimit == nil { 20577 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 20578 } 20579 if s.Name == nil { 20580 invalidParams.Add(request.NewErrParamRequired("Name")) 20581 } 20582 if s.SoftLimit == nil { 20583 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 20584 } 20585 20586 if invalidParams.Len() > 0 { 20587 return invalidParams 20588 } 20589 return nil 20590} 20591 20592// SetHardLimit sets the HardLimit field's value. 20593func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 20594 s.HardLimit = &v 20595 return s 20596} 20597 20598// SetName sets the Name field's value. 20599func (s *Ulimit) SetName(v string) *Ulimit { 20600 s.Name = &v 20601 return s 20602} 20603 20604// SetSoftLimit sets the SoftLimit field's value. 20605func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 20606 s.SoftLimit = &v 20607 return s 20608} 20609 20610// The specified task is not supported in this Region. 20611type UnsupportedFeatureException struct { 20612 _ struct{} `type:"structure"` 20613 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 20614 20615 Message_ *string `locationName:"message" type:"string"` 20616} 20617 20618// String returns the string representation 20619func (s UnsupportedFeatureException) String() string { 20620 return awsutil.Prettify(s) 20621} 20622 20623// GoString returns the string representation 20624func (s UnsupportedFeatureException) GoString() string { 20625 return s.String() 20626} 20627 20628func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error { 20629 return &UnsupportedFeatureException{ 20630 RespMetadata: v, 20631 } 20632} 20633 20634// Code returns the exception type name. 20635func (s *UnsupportedFeatureException) Code() string { 20636 return "UnsupportedFeatureException" 20637} 20638 20639// Message returns the exception's message. 20640func (s *UnsupportedFeatureException) Message() string { 20641 if s.Message_ != nil { 20642 return *s.Message_ 20643 } 20644 return "" 20645} 20646 20647// OrigErr always returns nil, satisfies awserr.Error interface. 20648func (s *UnsupportedFeatureException) OrigErr() error { 20649 return nil 20650} 20651 20652func (s *UnsupportedFeatureException) Error() string { 20653 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 20654} 20655 20656// Status code returns the HTTP status code for the request's response error. 20657func (s *UnsupportedFeatureException) StatusCode() int { 20658 return s.RespMetadata.StatusCode 20659} 20660 20661// RequestID returns the service's response RequestID for request. 20662func (s *UnsupportedFeatureException) RequestID() string { 20663 return s.RespMetadata.RequestID 20664} 20665 20666type UntagResourceInput struct { 20667 _ struct{} `type:"structure"` 20668 20669 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 20670 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 20671 // services, task definitions, clusters, and container instances. 20672 // 20673 // ResourceArn is a required field 20674 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 20675 20676 // The keys of the tags to be removed. 20677 // 20678 // TagKeys is a required field 20679 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 20680} 20681 20682// String returns the string representation 20683func (s UntagResourceInput) String() string { 20684 return awsutil.Prettify(s) 20685} 20686 20687// GoString returns the string representation 20688func (s UntagResourceInput) GoString() string { 20689 return s.String() 20690} 20691 20692// Validate inspects the fields of the type to determine if they are valid. 20693func (s *UntagResourceInput) Validate() error { 20694 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 20695 if s.ResourceArn == nil { 20696 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 20697 } 20698 if s.TagKeys == nil { 20699 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 20700 } 20701 20702 if invalidParams.Len() > 0 { 20703 return invalidParams 20704 } 20705 return nil 20706} 20707 20708// SetResourceArn sets the ResourceArn field's value. 20709func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 20710 s.ResourceArn = &v 20711 return s 20712} 20713 20714// SetTagKeys sets the TagKeys field's value. 20715func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 20716 s.TagKeys = v 20717 return s 20718} 20719 20720type UntagResourceOutput struct { 20721 _ struct{} `type:"structure"` 20722} 20723 20724// String returns the string representation 20725func (s UntagResourceOutput) String() string { 20726 return awsutil.Prettify(s) 20727} 20728 20729// GoString returns the string representation 20730func (s UntagResourceOutput) GoString() string { 20731 return s.String() 20732} 20733 20734type UpdateCapacityProviderInput struct { 20735 _ struct{} `type:"structure"` 20736 20737 // An object representing the parameters to update for the Auto Scaling group 20738 // capacity provider. 20739 // 20740 // AutoScalingGroupProvider is a required field 20741 AutoScalingGroupProvider *AutoScalingGroupProviderUpdate `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 20742 20743 // The name of the capacity provider to update. 20744 // 20745 // Name is a required field 20746 Name *string `locationName:"name" type:"string" required:"true"` 20747} 20748 20749// String returns the string representation 20750func (s UpdateCapacityProviderInput) String() string { 20751 return awsutil.Prettify(s) 20752} 20753 20754// GoString returns the string representation 20755func (s UpdateCapacityProviderInput) GoString() string { 20756 return s.String() 20757} 20758 20759// Validate inspects the fields of the type to determine if they are valid. 20760func (s *UpdateCapacityProviderInput) Validate() error { 20761 invalidParams := request.ErrInvalidParams{Context: "UpdateCapacityProviderInput"} 20762 if s.AutoScalingGroupProvider == nil { 20763 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 20764 } 20765 if s.Name == nil { 20766 invalidParams.Add(request.NewErrParamRequired("Name")) 20767 } 20768 if s.AutoScalingGroupProvider != nil { 20769 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 20770 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 20771 } 20772 } 20773 20774 if invalidParams.Len() > 0 { 20775 return invalidParams 20776 } 20777 return nil 20778} 20779 20780// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 20781func (s *UpdateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProviderUpdate) *UpdateCapacityProviderInput { 20782 s.AutoScalingGroupProvider = v 20783 return s 20784} 20785 20786// SetName sets the Name field's value. 20787func (s *UpdateCapacityProviderInput) SetName(v string) *UpdateCapacityProviderInput { 20788 s.Name = &v 20789 return s 20790} 20791 20792type UpdateCapacityProviderOutput struct { 20793 _ struct{} `type:"structure"` 20794 20795 // Details about the capacity provider. 20796 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 20797} 20798 20799// String returns the string representation 20800func (s UpdateCapacityProviderOutput) String() string { 20801 return awsutil.Prettify(s) 20802} 20803 20804// GoString returns the string representation 20805func (s UpdateCapacityProviderOutput) GoString() string { 20806 return s.String() 20807} 20808 20809// SetCapacityProvider sets the CapacityProvider field's value. 20810func (s *UpdateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *UpdateCapacityProviderOutput { 20811 s.CapacityProvider = v 20812 return s 20813} 20814 20815type UpdateClusterInput struct { 20816 _ struct{} `type:"structure"` 20817 20818 // The name of the cluster to modify the settings for. 20819 // 20820 // Cluster is a required field 20821 Cluster *string `locationName:"cluster" type:"string" required:"true"` 20822 20823 // The execute command configuration for the cluster. 20824 Configuration *ClusterConfiguration `locationName:"configuration" type:"structure"` 20825 20826 // The cluster settings for your cluster. 20827 Settings []*ClusterSetting `locationName:"settings" type:"list"` 20828} 20829 20830// String returns the string representation 20831func (s UpdateClusterInput) String() string { 20832 return awsutil.Prettify(s) 20833} 20834 20835// GoString returns the string representation 20836func (s UpdateClusterInput) GoString() string { 20837 return s.String() 20838} 20839 20840// Validate inspects the fields of the type to determine if they are valid. 20841func (s *UpdateClusterInput) Validate() error { 20842 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"} 20843 if s.Cluster == nil { 20844 invalidParams.Add(request.NewErrParamRequired("Cluster")) 20845 } 20846 20847 if invalidParams.Len() > 0 { 20848 return invalidParams 20849 } 20850 return nil 20851} 20852 20853// SetCluster sets the Cluster field's value. 20854func (s *UpdateClusterInput) SetCluster(v string) *UpdateClusterInput { 20855 s.Cluster = &v 20856 return s 20857} 20858 20859// SetConfiguration sets the Configuration field's value. 20860func (s *UpdateClusterInput) SetConfiguration(v *ClusterConfiguration) *UpdateClusterInput { 20861 s.Configuration = v 20862 return s 20863} 20864 20865// SetSettings sets the Settings field's value. 20866func (s *UpdateClusterInput) SetSettings(v []*ClusterSetting) *UpdateClusterInput { 20867 s.Settings = v 20868 return s 20869} 20870 20871type UpdateClusterOutput struct { 20872 _ struct{} `type:"structure"` 20873 20874 // Details about the cluster. 20875 Cluster *Cluster `locationName:"cluster" type:"structure"` 20876} 20877 20878// String returns the string representation 20879func (s UpdateClusterOutput) String() string { 20880 return awsutil.Prettify(s) 20881} 20882 20883// GoString returns the string representation 20884func (s UpdateClusterOutput) GoString() string { 20885 return s.String() 20886} 20887 20888// SetCluster sets the Cluster field's value. 20889func (s *UpdateClusterOutput) SetCluster(v *Cluster) *UpdateClusterOutput { 20890 s.Cluster = v 20891 return s 20892} 20893 20894type UpdateClusterSettingsInput struct { 20895 _ struct{} `type:"structure"` 20896 20897 // The name of the cluster to modify the settings for. 20898 // 20899 // Cluster is a required field 20900 Cluster *string `locationName:"cluster" type:"string" required:"true"` 20901 20902 // The setting to use by default for a cluster. This parameter is used to enable 20903 // CloudWatch Container Insights for a cluster. If this value is specified, 20904 // it will override the containerInsights value set with PutAccountSetting or 20905 // PutAccountSettingDefault. 20906 // 20907 // Settings is a required field 20908 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 20909} 20910 20911// String returns the string representation 20912func (s UpdateClusterSettingsInput) String() string { 20913 return awsutil.Prettify(s) 20914} 20915 20916// GoString returns the string representation 20917func (s UpdateClusterSettingsInput) GoString() string { 20918 return s.String() 20919} 20920 20921// Validate inspects the fields of the type to determine if they are valid. 20922func (s *UpdateClusterSettingsInput) Validate() error { 20923 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 20924 if s.Cluster == nil { 20925 invalidParams.Add(request.NewErrParamRequired("Cluster")) 20926 } 20927 if s.Settings == nil { 20928 invalidParams.Add(request.NewErrParamRequired("Settings")) 20929 } 20930 20931 if invalidParams.Len() > 0 { 20932 return invalidParams 20933 } 20934 return nil 20935} 20936 20937// SetCluster sets the Cluster field's value. 20938func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 20939 s.Cluster = &v 20940 return s 20941} 20942 20943// SetSettings sets the Settings field's value. 20944func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 20945 s.Settings = v 20946 return s 20947} 20948 20949type UpdateClusterSettingsOutput struct { 20950 _ struct{} `type:"structure"` 20951 20952 // Details about the cluster 20953 Cluster *Cluster `locationName:"cluster" type:"structure"` 20954} 20955 20956// String returns the string representation 20957func (s UpdateClusterSettingsOutput) String() string { 20958 return awsutil.Prettify(s) 20959} 20960 20961// GoString returns the string representation 20962func (s UpdateClusterSettingsOutput) GoString() string { 20963 return s.String() 20964} 20965 20966// SetCluster sets the Cluster field's value. 20967func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 20968 s.Cluster = v 20969 return s 20970} 20971 20972type UpdateContainerAgentInput struct { 20973 _ struct{} `type:"structure"` 20974 20975 // The short name or full Amazon Resource Name (ARN) of the cluster that your 20976 // container instance is running on. If you do not specify a cluster, the default 20977 // cluster is assumed. 20978 Cluster *string `locationName:"cluster" type:"string"` 20979 20980 // The container instance ID or full ARN entries for the container instance 20981 // on which you would like to update the Amazon ECS container agent. 20982 // 20983 // ContainerInstance is a required field 20984 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 20985} 20986 20987// String returns the string representation 20988func (s UpdateContainerAgentInput) String() string { 20989 return awsutil.Prettify(s) 20990} 20991 20992// GoString returns the string representation 20993func (s UpdateContainerAgentInput) GoString() string { 20994 return s.String() 20995} 20996 20997// Validate inspects the fields of the type to determine if they are valid. 20998func (s *UpdateContainerAgentInput) Validate() error { 20999 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 21000 if s.ContainerInstance == nil { 21001 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 21002 } 21003 21004 if invalidParams.Len() > 0 { 21005 return invalidParams 21006 } 21007 return nil 21008} 21009 21010// SetCluster sets the Cluster field's value. 21011func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 21012 s.Cluster = &v 21013 return s 21014} 21015 21016// SetContainerInstance sets the ContainerInstance field's value. 21017func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 21018 s.ContainerInstance = &v 21019 return s 21020} 21021 21022type UpdateContainerAgentOutput struct { 21023 _ struct{} `type:"structure"` 21024 21025 // The container instance for which the container agent was updated. 21026 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 21027} 21028 21029// String returns the string representation 21030func (s UpdateContainerAgentOutput) String() string { 21031 return awsutil.Prettify(s) 21032} 21033 21034// GoString returns the string representation 21035func (s UpdateContainerAgentOutput) GoString() string { 21036 return s.String() 21037} 21038 21039// SetContainerInstance sets the ContainerInstance field's value. 21040func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 21041 s.ContainerInstance = v 21042 return s 21043} 21044 21045type UpdateContainerInstancesStateInput struct { 21046 _ struct{} `type:"structure"` 21047 21048 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 21049 // the container instance to update. If you do not specify a cluster, the default 21050 // cluster is assumed. 21051 Cluster *string `locationName:"cluster" type:"string"` 21052 21053 // A list of container instance IDs or full ARN entries. 21054 // 21055 // ContainerInstances is a required field 21056 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 21057 21058 // The container instance state with which to update the container instance. 21059 // The only valid values for this action are ACTIVE and DRAINING. A container 21060 // instance can only be updated to DRAINING status once it has reached an ACTIVE 21061 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 21062 // state you can describe the container instance but will be unable to update 21063 // the container instance state. 21064 // 21065 // Status is a required field 21066 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 21067} 21068 21069// String returns the string representation 21070func (s UpdateContainerInstancesStateInput) String() string { 21071 return awsutil.Prettify(s) 21072} 21073 21074// GoString returns the string representation 21075func (s UpdateContainerInstancesStateInput) GoString() string { 21076 return s.String() 21077} 21078 21079// Validate inspects the fields of the type to determine if they are valid. 21080func (s *UpdateContainerInstancesStateInput) Validate() error { 21081 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 21082 if s.ContainerInstances == nil { 21083 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 21084 } 21085 if s.Status == nil { 21086 invalidParams.Add(request.NewErrParamRequired("Status")) 21087 } 21088 21089 if invalidParams.Len() > 0 { 21090 return invalidParams 21091 } 21092 return nil 21093} 21094 21095// SetCluster sets the Cluster field's value. 21096func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 21097 s.Cluster = &v 21098 return s 21099} 21100 21101// SetContainerInstances sets the ContainerInstances field's value. 21102func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 21103 s.ContainerInstances = v 21104 return s 21105} 21106 21107// SetStatus sets the Status field's value. 21108func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 21109 s.Status = &v 21110 return s 21111} 21112 21113type UpdateContainerInstancesStateOutput struct { 21114 _ struct{} `type:"structure"` 21115 21116 // The list of container instances. 21117 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 21118 21119 // Any failures associated with the call. 21120 Failures []*Failure `locationName:"failures" type:"list"` 21121} 21122 21123// String returns the string representation 21124func (s UpdateContainerInstancesStateOutput) String() string { 21125 return awsutil.Prettify(s) 21126} 21127 21128// GoString returns the string representation 21129func (s UpdateContainerInstancesStateOutput) GoString() string { 21130 return s.String() 21131} 21132 21133// SetContainerInstances sets the ContainerInstances field's value. 21134func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 21135 s.ContainerInstances = v 21136 return s 21137} 21138 21139// SetFailures sets the Failures field's value. 21140func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 21141 s.Failures = v 21142 return s 21143} 21144 21145// There is already a current Amazon ECS container agent update in progress 21146// on the specified container instance. If the container agent becomes disconnected 21147// while it is in a transitional stage, such as PENDING or STAGING, the update 21148// process can get stuck in that state. However, when the agent reconnects, 21149// it resumes where it stopped previously. 21150type UpdateInProgressException struct { 21151 _ struct{} `type:"structure"` 21152 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 21153 21154 Message_ *string `locationName:"message" type:"string"` 21155} 21156 21157// String returns the string representation 21158func (s UpdateInProgressException) String() string { 21159 return awsutil.Prettify(s) 21160} 21161 21162// GoString returns the string representation 21163func (s UpdateInProgressException) GoString() string { 21164 return s.String() 21165} 21166 21167func newErrorUpdateInProgressException(v protocol.ResponseMetadata) error { 21168 return &UpdateInProgressException{ 21169 RespMetadata: v, 21170 } 21171} 21172 21173// Code returns the exception type name. 21174func (s *UpdateInProgressException) Code() string { 21175 return "UpdateInProgressException" 21176} 21177 21178// Message returns the exception's message. 21179func (s *UpdateInProgressException) Message() string { 21180 if s.Message_ != nil { 21181 return *s.Message_ 21182 } 21183 return "" 21184} 21185 21186// OrigErr always returns nil, satisfies awserr.Error interface. 21187func (s *UpdateInProgressException) OrigErr() error { 21188 return nil 21189} 21190 21191func (s *UpdateInProgressException) Error() string { 21192 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 21193} 21194 21195// Status code returns the HTTP status code for the request's response error. 21196func (s *UpdateInProgressException) StatusCode() int { 21197 return s.RespMetadata.StatusCode 21198} 21199 21200// RequestID returns the service's response RequestID for request. 21201func (s *UpdateInProgressException) RequestID() string { 21202 return s.RespMetadata.RequestID 21203} 21204 21205type UpdateServiceInput struct { 21206 _ struct{} `type:"structure"` 21207 21208 // The capacity provider strategy to update the service to use. 21209 // 21210 // If the service is using the default capacity provider strategy for the cluster, 21211 // the service can be updated to use one or more capacity providers as opposed 21212 // to the default capacity provider strategy. However, when a service is using 21213 // a capacity provider strategy that is not the default capacity provider strategy, 21214 // the service cannot be updated to use the cluster's default capacity provider 21215 // strategy. 21216 // 21217 // A capacity provider strategy consists of one or more capacity providers along 21218 // with the base and weight to assign to them. A capacity provider must be associated 21219 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 21220 // API is used to associate a capacity provider with a cluster. Only capacity 21221 // providers with an ACTIVE or UPDATING status can be used. 21222 // 21223 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 21224 // provider must already be created. New capacity providers can be created with 21225 // the CreateCapacityProvider API operation. 21226 // 21227 // To use a Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 21228 // capacity providers. The Fargate capacity providers are available to all accounts 21229 // and only need to be associated with a cluster to be used. 21230 // 21231 // The PutClusterCapacityProviders API operation is used to update the list 21232 // of available capacity providers for a cluster after the cluster is created. 21233 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 21234 21235 // The short name or full Amazon Resource Name (ARN) of the cluster that your 21236 // service is running on. If you do not specify a cluster, the default cluster 21237 // is assumed. 21238 Cluster *string `locationName:"cluster" type:"string"` 21239 21240 // Optional deployment parameters that control how many tasks run during the 21241 // deployment and the ordering of stopping and starting tasks. 21242 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 21243 21244 // The number of instantiations of the task to place and keep running in your 21245 // service. 21246 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 21247 21248 // If true, this enables execute command functionality on all task containers. 21249 // 21250 // If you do not want to override the value that was set when the service was 21251 // created, you can set this to null when performing this action. 21252 EnableExecuteCommand *bool `locationName:"enableExecuteCommand" type:"boolean"` 21253 21254 // Whether to force a new deployment of the service. Deployments are not forced 21255 // by default. You can use this option to trigger a new deployment with no service 21256 // definition changes. For example, you can update a service's tasks to use 21257 // a newer Docker image with the same image/tag combination (my_image:latest) 21258 // or to roll Fargate tasks onto a newer platform version. 21259 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 21260 21261 // The period of time, in seconds, that the Amazon ECS service scheduler should 21262 // ignore unhealthy Elastic Load Balancing target health checks after a task 21263 // has first started. This is only valid if your service is configured to use 21264 // a load balancer. If your service's tasks take a while to start and respond 21265 // to Elastic Load Balancing health checks, you can specify a health check grace 21266 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 21267 // scheduler ignores the Elastic Load Balancing health check status. This grace 21268 // period can prevent the ECS service scheduler from marking tasks as unhealthy 21269 // and stopping them before they have time to come up. 21270 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 21271 21272 // An object representing the network configuration for the service. 21273 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 21274 21275 // An array of task placement constraint objects to update the service to use. 21276 // If no value is specified, the existing placement constraints for the service 21277 // will remain unchanged. If this value is specified, it will override any existing 21278 // placement constraints defined for the service. To remove all existing placement 21279 // constraints, specify an empty array. 21280 // 21281 // You can specify a maximum of 10 constraints per task (this limit includes 21282 // constraints in the task definition and those specified at runtime). 21283 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 21284 21285 // The task placement strategy objects to update the service to use. If no value 21286 // is specified, the existing placement strategy for the service will remain 21287 // unchanged. If this value is specified, it will override the existing placement 21288 // strategy defined for the service. To remove an existing placement strategy, 21289 // specify an empty object. 21290 // 21291 // You can specify a maximum of five strategy rules per service. 21292 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 21293 21294 // The platform version on which your tasks in the service are running. A platform 21295 // version is only specified for tasks using the Fargate launch type. If a platform 21296 // version is not specified, the LATEST platform version is used by default. 21297 // For more information, see Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 21298 // in the Amazon Elastic Container Service Developer Guide. 21299 PlatformVersion *string `locationName:"platformVersion" type:"string"` 21300 21301 // The name of the service to update. 21302 // 21303 // Service is a required field 21304 Service *string `locationName:"service" type:"string" required:"true"` 21305 21306 // The family and revision (family:revision) or full ARN of the task definition 21307 // to run in your service. If a revision is not specified, the latest ACTIVE 21308 // revision is used. If you modify the task definition with UpdateService, Amazon 21309 // ECS spawns a task with the new version of the task definition and then stops 21310 // an old task after the new version is running. 21311 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 21312} 21313 21314// String returns the string representation 21315func (s UpdateServiceInput) String() string { 21316 return awsutil.Prettify(s) 21317} 21318 21319// GoString returns the string representation 21320func (s UpdateServiceInput) GoString() string { 21321 return s.String() 21322} 21323 21324// Validate inspects the fields of the type to determine if they are valid. 21325func (s *UpdateServiceInput) Validate() error { 21326 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 21327 if s.Service == nil { 21328 invalidParams.Add(request.NewErrParamRequired("Service")) 21329 } 21330 if s.CapacityProviderStrategy != nil { 21331 for i, v := range s.CapacityProviderStrategy { 21332 if v == nil { 21333 continue 21334 } 21335 if err := v.Validate(); err != nil { 21336 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 21337 } 21338 } 21339 } 21340 if s.DeploymentConfiguration != nil { 21341 if err := s.DeploymentConfiguration.Validate(); err != nil { 21342 invalidParams.AddNested("DeploymentConfiguration", err.(request.ErrInvalidParams)) 21343 } 21344 } 21345 if s.NetworkConfiguration != nil { 21346 if err := s.NetworkConfiguration.Validate(); err != nil { 21347 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 21348 } 21349 } 21350 21351 if invalidParams.Len() > 0 { 21352 return invalidParams 21353 } 21354 return nil 21355} 21356 21357// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 21358func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 21359 s.CapacityProviderStrategy = v 21360 return s 21361} 21362 21363// SetCluster sets the Cluster field's value. 21364func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 21365 s.Cluster = &v 21366 return s 21367} 21368 21369// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 21370func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 21371 s.DeploymentConfiguration = v 21372 return s 21373} 21374 21375// SetDesiredCount sets the DesiredCount field's value. 21376func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 21377 s.DesiredCount = &v 21378 return s 21379} 21380 21381// SetEnableExecuteCommand sets the EnableExecuteCommand field's value. 21382func (s *UpdateServiceInput) SetEnableExecuteCommand(v bool) *UpdateServiceInput { 21383 s.EnableExecuteCommand = &v 21384 return s 21385} 21386 21387// SetForceNewDeployment sets the ForceNewDeployment field's value. 21388func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 21389 s.ForceNewDeployment = &v 21390 return s 21391} 21392 21393// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 21394func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 21395 s.HealthCheckGracePeriodSeconds = &v 21396 return s 21397} 21398 21399// SetNetworkConfiguration sets the NetworkConfiguration field's value. 21400func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 21401 s.NetworkConfiguration = v 21402 return s 21403} 21404 21405// SetPlacementConstraints sets the PlacementConstraints field's value. 21406func (s *UpdateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *UpdateServiceInput { 21407 s.PlacementConstraints = v 21408 return s 21409} 21410 21411// SetPlacementStrategy sets the PlacementStrategy field's value. 21412func (s *UpdateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *UpdateServiceInput { 21413 s.PlacementStrategy = v 21414 return s 21415} 21416 21417// SetPlatformVersion sets the PlatformVersion field's value. 21418func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 21419 s.PlatformVersion = &v 21420 return s 21421} 21422 21423// SetService sets the Service field's value. 21424func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 21425 s.Service = &v 21426 return s 21427} 21428 21429// SetTaskDefinition sets the TaskDefinition field's value. 21430func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 21431 s.TaskDefinition = &v 21432 return s 21433} 21434 21435type UpdateServiceOutput struct { 21436 _ struct{} `type:"structure"` 21437 21438 // The full description of your service following the update call. 21439 Service *Service `locationName:"service" type:"structure"` 21440} 21441 21442// String returns the string representation 21443func (s UpdateServiceOutput) String() string { 21444 return awsutil.Prettify(s) 21445} 21446 21447// GoString returns the string representation 21448func (s UpdateServiceOutput) GoString() string { 21449 return s.String() 21450} 21451 21452// SetService sets the Service field's value. 21453func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 21454 s.Service = v 21455 return s 21456} 21457 21458type UpdateServicePrimaryTaskSetInput struct { 21459 _ struct{} `type:"structure"` 21460 21461 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 21462 // the service that the task set exists in. 21463 // 21464 // Cluster is a required field 21465 Cluster *string `locationName:"cluster" type:"string" required:"true"` 21466 21467 // The short name or full Amazon Resource Name (ARN) of the task set to set 21468 // as the primary task set in the deployment. 21469 // 21470 // PrimaryTaskSet is a required field 21471 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 21472 21473 // The short name or full Amazon Resource Name (ARN) of the service that the 21474 // task set exists in. 21475 // 21476 // Service is a required field 21477 Service *string `locationName:"service" type:"string" required:"true"` 21478} 21479 21480// String returns the string representation 21481func (s UpdateServicePrimaryTaskSetInput) String() string { 21482 return awsutil.Prettify(s) 21483} 21484 21485// GoString returns the string representation 21486func (s UpdateServicePrimaryTaskSetInput) GoString() string { 21487 return s.String() 21488} 21489 21490// Validate inspects the fields of the type to determine if they are valid. 21491func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 21492 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 21493 if s.Cluster == nil { 21494 invalidParams.Add(request.NewErrParamRequired("Cluster")) 21495 } 21496 if s.PrimaryTaskSet == nil { 21497 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 21498 } 21499 if s.Service == nil { 21500 invalidParams.Add(request.NewErrParamRequired("Service")) 21501 } 21502 21503 if invalidParams.Len() > 0 { 21504 return invalidParams 21505 } 21506 return nil 21507} 21508 21509// SetCluster sets the Cluster field's value. 21510func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 21511 s.Cluster = &v 21512 return s 21513} 21514 21515// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 21516func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 21517 s.PrimaryTaskSet = &v 21518 return s 21519} 21520 21521// SetService sets the Service field's value. 21522func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 21523 s.Service = &v 21524 return s 21525} 21526 21527type UpdateServicePrimaryTaskSetOutput struct { 21528 _ struct{} `type:"structure"` 21529 21530 // Details about the task set. 21531 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 21532} 21533 21534// String returns the string representation 21535func (s UpdateServicePrimaryTaskSetOutput) String() string { 21536 return awsutil.Prettify(s) 21537} 21538 21539// GoString returns the string representation 21540func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 21541 return s.String() 21542} 21543 21544// SetTaskSet sets the TaskSet field's value. 21545func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 21546 s.TaskSet = v 21547 return s 21548} 21549 21550type UpdateTaskSetInput struct { 21551 _ struct{} `type:"structure"` 21552 21553 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 21554 // the service that the task set exists in. 21555 // 21556 // Cluster is a required field 21557 Cluster *string `locationName:"cluster" type:"string" required:"true"` 21558 21559 // A floating-point percentage of the desired number of tasks to place and keep 21560 // running in the task set. 21561 // 21562 // Scale is a required field 21563 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 21564 21565 // The short name or full Amazon Resource Name (ARN) of the service that the 21566 // task set exists in. 21567 // 21568 // Service is a required field 21569 Service *string `locationName:"service" type:"string" required:"true"` 21570 21571 // The short name or full Amazon Resource Name (ARN) of the task set to update. 21572 // 21573 // TaskSet is a required field 21574 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 21575} 21576 21577// String returns the string representation 21578func (s UpdateTaskSetInput) String() string { 21579 return awsutil.Prettify(s) 21580} 21581 21582// GoString returns the string representation 21583func (s UpdateTaskSetInput) GoString() string { 21584 return s.String() 21585} 21586 21587// Validate inspects the fields of the type to determine if they are valid. 21588func (s *UpdateTaskSetInput) Validate() error { 21589 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 21590 if s.Cluster == nil { 21591 invalidParams.Add(request.NewErrParamRequired("Cluster")) 21592 } 21593 if s.Scale == nil { 21594 invalidParams.Add(request.NewErrParamRequired("Scale")) 21595 } 21596 if s.Service == nil { 21597 invalidParams.Add(request.NewErrParamRequired("Service")) 21598 } 21599 if s.TaskSet == nil { 21600 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 21601 } 21602 21603 if invalidParams.Len() > 0 { 21604 return invalidParams 21605 } 21606 return nil 21607} 21608 21609// SetCluster sets the Cluster field's value. 21610func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 21611 s.Cluster = &v 21612 return s 21613} 21614 21615// SetScale sets the Scale field's value. 21616func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 21617 s.Scale = v 21618 return s 21619} 21620 21621// SetService sets the Service field's value. 21622func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 21623 s.Service = &v 21624 return s 21625} 21626 21627// SetTaskSet sets the TaskSet field's value. 21628func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 21629 s.TaskSet = &v 21630 return s 21631} 21632 21633type UpdateTaskSetOutput struct { 21634 _ struct{} `type:"structure"` 21635 21636 // Details about the task set. 21637 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 21638} 21639 21640// String returns the string representation 21641func (s UpdateTaskSetOutput) String() string { 21642 return awsutil.Prettify(s) 21643} 21644 21645// GoString returns the string representation 21646func (s UpdateTaskSetOutput) GoString() string { 21647 return s.String() 21648} 21649 21650// SetTaskSet sets the TaskSet field's value. 21651func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 21652 s.TaskSet = v 21653 return s 21654} 21655 21656// The Docker and Amazon ECS container agent version information about a container 21657// instance. 21658type VersionInfo struct { 21659 _ struct{} `type:"structure"` 21660 21661 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 21662 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 21663 AgentHash *string `locationName:"agentHash" type:"string"` 21664 21665 // The version number of the Amazon ECS container agent. 21666 AgentVersion *string `locationName:"agentVersion" type:"string"` 21667 21668 // The Docker version running on the container instance. 21669 DockerVersion *string `locationName:"dockerVersion" type:"string"` 21670} 21671 21672// String returns the string representation 21673func (s VersionInfo) String() string { 21674 return awsutil.Prettify(s) 21675} 21676 21677// GoString returns the string representation 21678func (s VersionInfo) GoString() string { 21679 return s.String() 21680} 21681 21682// SetAgentHash sets the AgentHash field's value. 21683func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 21684 s.AgentHash = &v 21685 return s 21686} 21687 21688// SetAgentVersion sets the AgentVersion field's value. 21689func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 21690 s.AgentVersion = &v 21691 return s 21692} 21693 21694// SetDockerVersion sets the DockerVersion field's value. 21695func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 21696 s.DockerVersion = &v 21697 return s 21698} 21699 21700// A data volume used in a task definition. For tasks that use the Amazon Elastic 21701// File System (Amazon EFS), specify an efsVolumeConfiguration. For Windows 21702// tasks that use Amazon FSx for Windows File Server file system, specify a 21703// fsxWindowsFileServerVolumeConfiguration. For tasks that use a Docker volume, 21704// specify a DockerVolumeConfiguration. For tasks that use a bind mount host 21705// volume, specify a host and optional sourcePath. For more information, see 21706// Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 21707type Volume struct { 21708 _ struct{} `type:"structure"` 21709 21710 // This parameter is specified when you are using Docker volumes. 21711 // 21712 // Windows containers only support the use of the local driver. To use bind 21713 // mounts, specify the host parameter instead. 21714 // 21715 // Docker volumes are not supported by tasks run on Fargate. 21716 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 21717 21718 // This parameter is specified when you are using an Amazon Elastic File System 21719 // file system for task storage. 21720 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 21721 21722 // This parameter is specified when you are using Amazon FSx for Windows File 21723 // Server file system for task storage. 21724 FsxWindowsFileServerVolumeConfiguration *FSxWindowsFileServerVolumeConfiguration `locationName:"fsxWindowsFileServerVolumeConfiguration" type:"structure"` 21725 21726 // This parameter is specified when you are using bind mount host volumes. The 21727 // contents of the host parameter determine whether your bind mount host volume 21728 // persists on the host container instance and where it is stored. If the host 21729 // parameter is empty, then the Docker daemon assigns a host path for your data 21730 // volume. However, the data is not guaranteed to persist after the containers 21731 // associated with it stop running. 21732 // 21733 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 21734 // Windows containers cannot mount directories on a different drive, and mount 21735 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 21736 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 21737 Host *HostVolumeProperties `locationName:"host" type:"structure"` 21738 21739 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 21740 // underscores, and hyphens are allowed. This name is referenced in the sourceVolume 21741 // parameter of container definition mountPoints. 21742 Name *string `locationName:"name" type:"string"` 21743} 21744 21745// String returns the string representation 21746func (s Volume) String() string { 21747 return awsutil.Prettify(s) 21748} 21749 21750// GoString returns the string representation 21751func (s Volume) GoString() string { 21752 return s.String() 21753} 21754 21755// Validate inspects the fields of the type to determine if they are valid. 21756func (s *Volume) Validate() error { 21757 invalidParams := request.ErrInvalidParams{Context: "Volume"} 21758 if s.EfsVolumeConfiguration != nil { 21759 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 21760 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 21761 } 21762 } 21763 if s.FsxWindowsFileServerVolumeConfiguration != nil { 21764 if err := s.FsxWindowsFileServerVolumeConfiguration.Validate(); err != nil { 21765 invalidParams.AddNested("FsxWindowsFileServerVolumeConfiguration", err.(request.ErrInvalidParams)) 21766 } 21767 } 21768 21769 if invalidParams.Len() > 0 { 21770 return invalidParams 21771 } 21772 return nil 21773} 21774 21775// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 21776func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 21777 s.DockerVolumeConfiguration = v 21778 return s 21779} 21780 21781// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 21782func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 21783 s.EfsVolumeConfiguration = v 21784 return s 21785} 21786 21787// SetFsxWindowsFileServerVolumeConfiguration sets the FsxWindowsFileServerVolumeConfiguration field's value. 21788func (s *Volume) SetFsxWindowsFileServerVolumeConfiguration(v *FSxWindowsFileServerVolumeConfiguration) *Volume { 21789 s.FsxWindowsFileServerVolumeConfiguration = v 21790 return s 21791} 21792 21793// SetHost sets the Host field's value. 21794func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 21795 s.Host = v 21796 return s 21797} 21798 21799// SetName sets the Name field's value. 21800func (s *Volume) SetName(v string) *Volume { 21801 s.Name = &v 21802 return s 21803} 21804 21805// Details on a data volume from another container in the same task definition. 21806type VolumeFrom struct { 21807 _ struct{} `type:"structure"` 21808 21809 // If this value is true, the container has read-only access to the volume. 21810 // If this value is false, then the container can write to the volume. The default 21811 // value is false. 21812 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 21813 21814 // The name of another container within the same task definition from which 21815 // to mount volumes. 21816 SourceContainer *string `locationName:"sourceContainer" type:"string"` 21817} 21818 21819// String returns the string representation 21820func (s VolumeFrom) String() string { 21821 return awsutil.Prettify(s) 21822} 21823 21824// GoString returns the string representation 21825func (s VolumeFrom) GoString() string { 21826 return s.String() 21827} 21828 21829// SetReadOnly sets the ReadOnly field's value. 21830func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 21831 s.ReadOnly = &v 21832 return s 21833} 21834 21835// SetSourceContainer sets the SourceContainer field's value. 21836func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 21837 s.SourceContainer = &v 21838 return s 21839} 21840 21841const ( 21842 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 21843 AgentUpdateStatusPending = "PENDING" 21844 21845 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 21846 AgentUpdateStatusStaging = "STAGING" 21847 21848 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 21849 AgentUpdateStatusStaged = "STAGED" 21850 21851 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 21852 AgentUpdateStatusUpdating = "UPDATING" 21853 21854 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 21855 AgentUpdateStatusUpdated = "UPDATED" 21856 21857 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 21858 AgentUpdateStatusFailed = "FAILED" 21859) 21860 21861// AgentUpdateStatus_Values returns all elements of the AgentUpdateStatus enum 21862func AgentUpdateStatus_Values() []string { 21863 return []string{ 21864 AgentUpdateStatusPending, 21865 AgentUpdateStatusStaging, 21866 AgentUpdateStatusStaged, 21867 AgentUpdateStatusUpdating, 21868 AgentUpdateStatusUpdated, 21869 AgentUpdateStatusFailed, 21870 } 21871} 21872 21873const ( 21874 // AssignPublicIpEnabled is a AssignPublicIp enum value 21875 AssignPublicIpEnabled = "ENABLED" 21876 21877 // AssignPublicIpDisabled is a AssignPublicIp enum value 21878 AssignPublicIpDisabled = "DISABLED" 21879) 21880 21881// AssignPublicIp_Values returns all elements of the AssignPublicIp enum 21882func AssignPublicIp_Values() []string { 21883 return []string{ 21884 AssignPublicIpEnabled, 21885 AssignPublicIpDisabled, 21886 } 21887} 21888 21889const ( 21890 // CapacityProviderFieldTags is a CapacityProviderField enum value 21891 CapacityProviderFieldTags = "TAGS" 21892) 21893 21894// CapacityProviderField_Values returns all elements of the CapacityProviderField enum 21895func CapacityProviderField_Values() []string { 21896 return []string{ 21897 CapacityProviderFieldTags, 21898 } 21899} 21900 21901const ( 21902 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 21903 CapacityProviderStatusActive = "ACTIVE" 21904 21905 // CapacityProviderStatusInactive is a CapacityProviderStatus enum value 21906 CapacityProviderStatusInactive = "INACTIVE" 21907) 21908 21909// CapacityProviderStatus_Values returns all elements of the CapacityProviderStatus enum 21910func CapacityProviderStatus_Values() []string { 21911 return []string{ 21912 CapacityProviderStatusActive, 21913 CapacityProviderStatusInactive, 21914 } 21915} 21916 21917const ( 21918 // CapacityProviderUpdateStatusDeleteInProgress is a CapacityProviderUpdateStatus enum value 21919 CapacityProviderUpdateStatusDeleteInProgress = "DELETE_IN_PROGRESS" 21920 21921 // CapacityProviderUpdateStatusDeleteComplete is a CapacityProviderUpdateStatus enum value 21922 CapacityProviderUpdateStatusDeleteComplete = "DELETE_COMPLETE" 21923 21924 // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value 21925 CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" 21926 21927 // CapacityProviderUpdateStatusUpdateInProgress is a CapacityProviderUpdateStatus enum value 21928 CapacityProviderUpdateStatusUpdateInProgress = "UPDATE_IN_PROGRESS" 21929 21930 // CapacityProviderUpdateStatusUpdateComplete is a CapacityProviderUpdateStatus enum value 21931 CapacityProviderUpdateStatusUpdateComplete = "UPDATE_COMPLETE" 21932 21933 // CapacityProviderUpdateStatusUpdateFailed is a CapacityProviderUpdateStatus enum value 21934 CapacityProviderUpdateStatusUpdateFailed = "UPDATE_FAILED" 21935) 21936 21937// CapacityProviderUpdateStatus_Values returns all elements of the CapacityProviderUpdateStatus enum 21938func CapacityProviderUpdateStatus_Values() []string { 21939 return []string{ 21940 CapacityProviderUpdateStatusDeleteInProgress, 21941 CapacityProviderUpdateStatusDeleteComplete, 21942 CapacityProviderUpdateStatusDeleteFailed, 21943 CapacityProviderUpdateStatusUpdateInProgress, 21944 CapacityProviderUpdateStatusUpdateComplete, 21945 CapacityProviderUpdateStatusUpdateFailed, 21946 } 21947} 21948 21949const ( 21950 // ClusterFieldAttachments is a ClusterField enum value 21951 ClusterFieldAttachments = "ATTACHMENTS" 21952 21953 // ClusterFieldConfigurations is a ClusterField enum value 21954 ClusterFieldConfigurations = "CONFIGURATIONS" 21955 21956 // ClusterFieldSettings is a ClusterField enum value 21957 ClusterFieldSettings = "SETTINGS" 21958 21959 // ClusterFieldStatistics is a ClusterField enum value 21960 ClusterFieldStatistics = "STATISTICS" 21961 21962 // ClusterFieldTags is a ClusterField enum value 21963 ClusterFieldTags = "TAGS" 21964) 21965 21966// ClusterField_Values returns all elements of the ClusterField enum 21967func ClusterField_Values() []string { 21968 return []string{ 21969 ClusterFieldAttachments, 21970 ClusterFieldConfigurations, 21971 ClusterFieldSettings, 21972 ClusterFieldStatistics, 21973 ClusterFieldTags, 21974 } 21975} 21976 21977const ( 21978 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 21979 ClusterSettingNameContainerInsights = "containerInsights" 21980) 21981 21982// ClusterSettingName_Values returns all elements of the ClusterSettingName enum 21983func ClusterSettingName_Values() []string { 21984 return []string{ 21985 ClusterSettingNameContainerInsights, 21986 } 21987} 21988 21989const ( 21990 // CompatibilityEc2 is a Compatibility enum value 21991 CompatibilityEc2 = "EC2" 21992 21993 // CompatibilityFargate is a Compatibility enum value 21994 CompatibilityFargate = "FARGATE" 21995 21996 // CompatibilityExternal is a Compatibility enum value 21997 CompatibilityExternal = "EXTERNAL" 21998) 21999 22000// Compatibility_Values returns all elements of the Compatibility enum 22001func Compatibility_Values() []string { 22002 return []string{ 22003 CompatibilityEc2, 22004 CompatibilityFargate, 22005 CompatibilityExternal, 22006 } 22007} 22008 22009const ( 22010 // ConnectivityConnected is a Connectivity enum value 22011 ConnectivityConnected = "CONNECTED" 22012 22013 // ConnectivityDisconnected is a Connectivity enum value 22014 ConnectivityDisconnected = "DISCONNECTED" 22015) 22016 22017// Connectivity_Values returns all elements of the Connectivity enum 22018func Connectivity_Values() []string { 22019 return []string{ 22020 ConnectivityConnected, 22021 ConnectivityDisconnected, 22022 } 22023} 22024 22025const ( 22026 // ContainerConditionStart is a ContainerCondition enum value 22027 ContainerConditionStart = "START" 22028 22029 // ContainerConditionComplete is a ContainerCondition enum value 22030 ContainerConditionComplete = "COMPLETE" 22031 22032 // ContainerConditionSuccess is a ContainerCondition enum value 22033 ContainerConditionSuccess = "SUCCESS" 22034 22035 // ContainerConditionHealthy is a ContainerCondition enum value 22036 ContainerConditionHealthy = "HEALTHY" 22037) 22038 22039// ContainerCondition_Values returns all elements of the ContainerCondition enum 22040func ContainerCondition_Values() []string { 22041 return []string{ 22042 ContainerConditionStart, 22043 ContainerConditionComplete, 22044 ContainerConditionSuccess, 22045 ContainerConditionHealthy, 22046 } 22047} 22048 22049const ( 22050 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 22051 ContainerInstanceFieldTags = "TAGS" 22052) 22053 22054// ContainerInstanceField_Values returns all elements of the ContainerInstanceField enum 22055func ContainerInstanceField_Values() []string { 22056 return []string{ 22057 ContainerInstanceFieldTags, 22058 } 22059} 22060 22061const ( 22062 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 22063 ContainerInstanceStatusActive = "ACTIVE" 22064 22065 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 22066 ContainerInstanceStatusDraining = "DRAINING" 22067 22068 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 22069 ContainerInstanceStatusRegistering = "REGISTERING" 22070 22071 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 22072 ContainerInstanceStatusDeregistering = "DEREGISTERING" 22073 22074 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 22075 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 22076) 22077 22078// ContainerInstanceStatus_Values returns all elements of the ContainerInstanceStatus enum 22079func ContainerInstanceStatus_Values() []string { 22080 return []string{ 22081 ContainerInstanceStatusActive, 22082 ContainerInstanceStatusDraining, 22083 ContainerInstanceStatusRegistering, 22084 ContainerInstanceStatusDeregistering, 22085 ContainerInstanceStatusRegistrationFailed, 22086 } 22087} 22088 22089const ( 22090 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 22091 DeploymentControllerTypeEcs = "ECS" 22092 22093 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 22094 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 22095 22096 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 22097 DeploymentControllerTypeExternal = "EXTERNAL" 22098) 22099 22100// DeploymentControllerType_Values returns all elements of the DeploymentControllerType enum 22101func DeploymentControllerType_Values() []string { 22102 return []string{ 22103 DeploymentControllerTypeEcs, 22104 DeploymentControllerTypeCodeDeploy, 22105 DeploymentControllerTypeExternal, 22106 } 22107} 22108 22109const ( 22110 // DeploymentRolloutStateCompleted is a DeploymentRolloutState enum value 22111 DeploymentRolloutStateCompleted = "COMPLETED" 22112 22113 // DeploymentRolloutStateFailed is a DeploymentRolloutState enum value 22114 DeploymentRolloutStateFailed = "FAILED" 22115 22116 // DeploymentRolloutStateInProgress is a DeploymentRolloutState enum value 22117 DeploymentRolloutStateInProgress = "IN_PROGRESS" 22118) 22119 22120// DeploymentRolloutState_Values returns all elements of the DeploymentRolloutState enum 22121func DeploymentRolloutState_Values() []string { 22122 return []string{ 22123 DeploymentRolloutStateCompleted, 22124 DeploymentRolloutStateFailed, 22125 DeploymentRolloutStateInProgress, 22126 } 22127} 22128 22129const ( 22130 // DesiredStatusRunning is a DesiredStatus enum value 22131 DesiredStatusRunning = "RUNNING" 22132 22133 // DesiredStatusPending is a DesiredStatus enum value 22134 DesiredStatusPending = "PENDING" 22135 22136 // DesiredStatusStopped is a DesiredStatus enum value 22137 DesiredStatusStopped = "STOPPED" 22138) 22139 22140// DesiredStatus_Values returns all elements of the DesiredStatus enum 22141func DesiredStatus_Values() []string { 22142 return []string{ 22143 DesiredStatusRunning, 22144 DesiredStatusPending, 22145 DesiredStatusStopped, 22146 } 22147} 22148 22149const ( 22150 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 22151 DeviceCgroupPermissionRead = "read" 22152 22153 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 22154 DeviceCgroupPermissionWrite = "write" 22155 22156 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 22157 DeviceCgroupPermissionMknod = "mknod" 22158) 22159 22160// DeviceCgroupPermission_Values returns all elements of the DeviceCgroupPermission enum 22161func DeviceCgroupPermission_Values() []string { 22162 return []string{ 22163 DeviceCgroupPermissionRead, 22164 DeviceCgroupPermissionWrite, 22165 DeviceCgroupPermissionMknod, 22166 } 22167} 22168 22169const ( 22170 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 22171 EFSAuthorizationConfigIAMEnabled = "ENABLED" 22172 22173 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 22174 EFSAuthorizationConfigIAMDisabled = "DISABLED" 22175) 22176 22177// EFSAuthorizationConfigIAM_Values returns all elements of the EFSAuthorizationConfigIAM enum 22178func EFSAuthorizationConfigIAM_Values() []string { 22179 return []string{ 22180 EFSAuthorizationConfigIAMEnabled, 22181 EFSAuthorizationConfigIAMDisabled, 22182 } 22183} 22184 22185const ( 22186 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 22187 EFSTransitEncryptionEnabled = "ENABLED" 22188 22189 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 22190 EFSTransitEncryptionDisabled = "DISABLED" 22191) 22192 22193// EFSTransitEncryption_Values returns all elements of the EFSTransitEncryption enum 22194func EFSTransitEncryption_Values() []string { 22195 return []string{ 22196 EFSTransitEncryptionEnabled, 22197 EFSTransitEncryptionDisabled, 22198 } 22199} 22200 22201const ( 22202 // EnvironmentFileTypeS3 is a EnvironmentFileType enum value 22203 EnvironmentFileTypeS3 = "s3" 22204) 22205 22206// EnvironmentFileType_Values returns all elements of the EnvironmentFileType enum 22207func EnvironmentFileType_Values() []string { 22208 return []string{ 22209 EnvironmentFileTypeS3, 22210 } 22211} 22212 22213const ( 22214 // ExecuteCommandLoggingNone is a ExecuteCommandLogging enum value 22215 ExecuteCommandLoggingNone = "NONE" 22216 22217 // ExecuteCommandLoggingDefault is a ExecuteCommandLogging enum value 22218 ExecuteCommandLoggingDefault = "DEFAULT" 22219 22220 // ExecuteCommandLoggingOverride is a ExecuteCommandLogging enum value 22221 ExecuteCommandLoggingOverride = "OVERRIDE" 22222) 22223 22224// ExecuteCommandLogging_Values returns all elements of the ExecuteCommandLogging enum 22225func ExecuteCommandLogging_Values() []string { 22226 return []string{ 22227 ExecuteCommandLoggingNone, 22228 ExecuteCommandLoggingDefault, 22229 ExecuteCommandLoggingOverride, 22230 } 22231} 22232 22233const ( 22234 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 22235 FirelensConfigurationTypeFluentd = "fluentd" 22236 22237 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 22238 FirelensConfigurationTypeFluentbit = "fluentbit" 22239) 22240 22241// FirelensConfigurationType_Values returns all elements of the FirelensConfigurationType enum 22242func FirelensConfigurationType_Values() []string { 22243 return []string{ 22244 FirelensConfigurationTypeFluentd, 22245 FirelensConfigurationTypeFluentbit, 22246 } 22247} 22248 22249const ( 22250 // HealthStatusHealthy is a HealthStatus enum value 22251 HealthStatusHealthy = "HEALTHY" 22252 22253 // HealthStatusUnhealthy is a HealthStatus enum value 22254 HealthStatusUnhealthy = "UNHEALTHY" 22255 22256 // HealthStatusUnknown is a HealthStatus enum value 22257 HealthStatusUnknown = "UNKNOWN" 22258) 22259 22260// HealthStatus_Values returns all elements of the HealthStatus enum 22261func HealthStatus_Values() []string { 22262 return []string{ 22263 HealthStatusHealthy, 22264 HealthStatusUnhealthy, 22265 HealthStatusUnknown, 22266 } 22267} 22268 22269const ( 22270 // IpcModeHost is a IpcMode enum value 22271 IpcModeHost = "host" 22272 22273 // IpcModeTask is a IpcMode enum value 22274 IpcModeTask = "task" 22275 22276 // IpcModeNone is a IpcMode enum value 22277 IpcModeNone = "none" 22278) 22279 22280// IpcMode_Values returns all elements of the IpcMode enum 22281func IpcMode_Values() []string { 22282 return []string{ 22283 IpcModeHost, 22284 IpcModeTask, 22285 IpcModeNone, 22286 } 22287} 22288 22289const ( 22290 // LaunchTypeEc2 is a LaunchType enum value 22291 LaunchTypeEc2 = "EC2" 22292 22293 // LaunchTypeFargate is a LaunchType enum value 22294 LaunchTypeFargate = "FARGATE" 22295 22296 // LaunchTypeExternal is a LaunchType enum value 22297 LaunchTypeExternal = "EXTERNAL" 22298) 22299 22300// LaunchType_Values returns all elements of the LaunchType enum 22301func LaunchType_Values() []string { 22302 return []string{ 22303 LaunchTypeEc2, 22304 LaunchTypeFargate, 22305 LaunchTypeExternal, 22306 } 22307} 22308 22309const ( 22310 // LogDriverJsonFile is a LogDriver enum value 22311 LogDriverJsonFile = "json-file" 22312 22313 // LogDriverSyslog is a LogDriver enum value 22314 LogDriverSyslog = "syslog" 22315 22316 // LogDriverJournald is a LogDriver enum value 22317 LogDriverJournald = "journald" 22318 22319 // LogDriverGelf is a LogDriver enum value 22320 LogDriverGelf = "gelf" 22321 22322 // LogDriverFluentd is a LogDriver enum value 22323 LogDriverFluentd = "fluentd" 22324 22325 // LogDriverAwslogs is a LogDriver enum value 22326 LogDriverAwslogs = "awslogs" 22327 22328 // LogDriverSplunk is a LogDriver enum value 22329 LogDriverSplunk = "splunk" 22330 22331 // LogDriverAwsfirelens is a LogDriver enum value 22332 LogDriverAwsfirelens = "awsfirelens" 22333) 22334 22335// LogDriver_Values returns all elements of the LogDriver enum 22336func LogDriver_Values() []string { 22337 return []string{ 22338 LogDriverJsonFile, 22339 LogDriverSyslog, 22340 LogDriverJournald, 22341 LogDriverGelf, 22342 LogDriverFluentd, 22343 LogDriverAwslogs, 22344 LogDriverSplunk, 22345 LogDriverAwsfirelens, 22346 } 22347} 22348 22349const ( 22350 // ManagedAgentNameExecuteCommandAgent is a ManagedAgentName enum value 22351 ManagedAgentNameExecuteCommandAgent = "ExecuteCommandAgent" 22352) 22353 22354// ManagedAgentName_Values returns all elements of the ManagedAgentName enum 22355func ManagedAgentName_Values() []string { 22356 return []string{ 22357 ManagedAgentNameExecuteCommandAgent, 22358 } 22359} 22360 22361const ( 22362 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 22363 ManagedScalingStatusEnabled = "ENABLED" 22364 22365 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 22366 ManagedScalingStatusDisabled = "DISABLED" 22367) 22368 22369// ManagedScalingStatus_Values returns all elements of the ManagedScalingStatus enum 22370func ManagedScalingStatus_Values() []string { 22371 return []string{ 22372 ManagedScalingStatusEnabled, 22373 ManagedScalingStatusDisabled, 22374 } 22375} 22376 22377const ( 22378 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 22379 ManagedTerminationProtectionEnabled = "ENABLED" 22380 22381 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 22382 ManagedTerminationProtectionDisabled = "DISABLED" 22383) 22384 22385// ManagedTerminationProtection_Values returns all elements of the ManagedTerminationProtection enum 22386func ManagedTerminationProtection_Values() []string { 22387 return []string{ 22388 ManagedTerminationProtectionEnabled, 22389 ManagedTerminationProtectionDisabled, 22390 } 22391} 22392 22393const ( 22394 // NetworkModeBridge is a NetworkMode enum value 22395 NetworkModeBridge = "bridge" 22396 22397 // NetworkModeHost is a NetworkMode enum value 22398 NetworkModeHost = "host" 22399 22400 // NetworkModeAwsvpc is a NetworkMode enum value 22401 NetworkModeAwsvpc = "awsvpc" 22402 22403 // NetworkModeNone is a NetworkMode enum value 22404 NetworkModeNone = "none" 22405) 22406 22407// NetworkMode_Values returns all elements of the NetworkMode enum 22408func NetworkMode_Values() []string { 22409 return []string{ 22410 NetworkModeBridge, 22411 NetworkModeHost, 22412 NetworkModeAwsvpc, 22413 NetworkModeNone, 22414 } 22415} 22416 22417const ( 22418 // PidModeHost is a PidMode enum value 22419 PidModeHost = "host" 22420 22421 // PidModeTask is a PidMode enum value 22422 PidModeTask = "task" 22423) 22424 22425// PidMode_Values returns all elements of the PidMode enum 22426func PidMode_Values() []string { 22427 return []string{ 22428 PidModeHost, 22429 PidModeTask, 22430 } 22431} 22432 22433const ( 22434 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 22435 PlacementConstraintTypeDistinctInstance = "distinctInstance" 22436 22437 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 22438 PlacementConstraintTypeMemberOf = "memberOf" 22439) 22440 22441// PlacementConstraintType_Values returns all elements of the PlacementConstraintType enum 22442func PlacementConstraintType_Values() []string { 22443 return []string{ 22444 PlacementConstraintTypeDistinctInstance, 22445 PlacementConstraintTypeMemberOf, 22446 } 22447} 22448 22449const ( 22450 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 22451 PlacementStrategyTypeRandom = "random" 22452 22453 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 22454 PlacementStrategyTypeSpread = "spread" 22455 22456 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 22457 PlacementStrategyTypeBinpack = "binpack" 22458) 22459 22460// PlacementStrategyType_Values returns all elements of the PlacementStrategyType enum 22461func PlacementStrategyType_Values() []string { 22462 return []string{ 22463 PlacementStrategyTypeRandom, 22464 PlacementStrategyTypeSpread, 22465 PlacementStrategyTypeBinpack, 22466 } 22467} 22468 22469const ( 22470 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 22471 PlatformDeviceTypeGpu = "GPU" 22472) 22473 22474// PlatformDeviceType_Values returns all elements of the PlatformDeviceType enum 22475func PlatformDeviceType_Values() []string { 22476 return []string{ 22477 PlatformDeviceTypeGpu, 22478 } 22479} 22480 22481const ( 22482 // PropagateTagsTaskDefinition is a PropagateTags enum value 22483 PropagateTagsTaskDefinition = "TASK_DEFINITION" 22484 22485 // PropagateTagsService is a PropagateTags enum value 22486 PropagateTagsService = "SERVICE" 22487) 22488 22489// PropagateTags_Values returns all elements of the PropagateTags enum 22490func PropagateTags_Values() []string { 22491 return []string{ 22492 PropagateTagsTaskDefinition, 22493 PropagateTagsService, 22494 } 22495} 22496 22497const ( 22498 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 22499 ProxyConfigurationTypeAppmesh = "APPMESH" 22500) 22501 22502// ProxyConfigurationType_Values returns all elements of the ProxyConfigurationType enum 22503func ProxyConfigurationType_Values() []string { 22504 return []string{ 22505 ProxyConfigurationTypeAppmesh, 22506 } 22507} 22508 22509const ( 22510 // ResourceTypeGpu is a ResourceType enum value 22511 ResourceTypeGpu = "GPU" 22512 22513 // ResourceTypeInferenceAccelerator is a ResourceType enum value 22514 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 22515) 22516 22517// ResourceType_Values returns all elements of the ResourceType enum 22518func ResourceType_Values() []string { 22519 return []string{ 22520 ResourceTypeGpu, 22521 ResourceTypeInferenceAccelerator, 22522 } 22523} 22524 22525const ( 22526 // ScaleUnitPercent is a ScaleUnit enum value 22527 ScaleUnitPercent = "PERCENT" 22528) 22529 22530// ScaleUnit_Values returns all elements of the ScaleUnit enum 22531func ScaleUnit_Values() []string { 22532 return []string{ 22533 ScaleUnitPercent, 22534 } 22535} 22536 22537const ( 22538 // SchedulingStrategyReplica is a SchedulingStrategy enum value 22539 SchedulingStrategyReplica = "REPLICA" 22540 22541 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 22542 SchedulingStrategyDaemon = "DAEMON" 22543) 22544 22545// SchedulingStrategy_Values returns all elements of the SchedulingStrategy enum 22546func SchedulingStrategy_Values() []string { 22547 return []string{ 22548 SchedulingStrategyReplica, 22549 SchedulingStrategyDaemon, 22550 } 22551} 22552 22553const ( 22554 // ScopeTask is a Scope enum value 22555 ScopeTask = "task" 22556 22557 // ScopeShared is a Scope enum value 22558 ScopeShared = "shared" 22559) 22560 22561// Scope_Values returns all elements of the Scope enum 22562func Scope_Values() []string { 22563 return []string{ 22564 ScopeTask, 22565 ScopeShared, 22566 } 22567} 22568 22569const ( 22570 // ServiceFieldTags is a ServiceField enum value 22571 ServiceFieldTags = "TAGS" 22572) 22573 22574// ServiceField_Values returns all elements of the ServiceField enum 22575func ServiceField_Values() []string { 22576 return []string{ 22577 ServiceFieldTags, 22578 } 22579} 22580 22581const ( 22582 // SettingNameServiceLongArnFormat is a SettingName enum value 22583 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 22584 22585 // SettingNameTaskLongArnFormat is a SettingName enum value 22586 SettingNameTaskLongArnFormat = "taskLongArnFormat" 22587 22588 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 22589 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 22590 22591 // SettingNameAwsvpcTrunking is a SettingName enum value 22592 SettingNameAwsvpcTrunking = "awsvpcTrunking" 22593 22594 // SettingNameContainerInsights is a SettingName enum value 22595 SettingNameContainerInsights = "containerInsights" 22596) 22597 22598// SettingName_Values returns all elements of the SettingName enum 22599func SettingName_Values() []string { 22600 return []string{ 22601 SettingNameServiceLongArnFormat, 22602 SettingNameTaskLongArnFormat, 22603 SettingNameContainerInstanceLongArnFormat, 22604 SettingNameAwsvpcTrunking, 22605 SettingNameContainerInsights, 22606 } 22607} 22608 22609const ( 22610 // SortOrderAsc is a SortOrder enum value 22611 SortOrderAsc = "ASC" 22612 22613 // SortOrderDesc is a SortOrder enum value 22614 SortOrderDesc = "DESC" 22615) 22616 22617// SortOrder_Values returns all elements of the SortOrder enum 22618func SortOrder_Values() []string { 22619 return []string{ 22620 SortOrderAsc, 22621 SortOrderDesc, 22622 } 22623} 22624 22625const ( 22626 // StabilityStatusSteadyState is a StabilityStatus enum value 22627 StabilityStatusSteadyState = "STEADY_STATE" 22628 22629 // StabilityStatusStabilizing is a StabilityStatus enum value 22630 StabilityStatusStabilizing = "STABILIZING" 22631) 22632 22633// StabilityStatus_Values returns all elements of the StabilityStatus enum 22634func StabilityStatus_Values() []string { 22635 return []string{ 22636 StabilityStatusSteadyState, 22637 StabilityStatusStabilizing, 22638 } 22639} 22640 22641const ( 22642 // TargetTypeContainerInstance is a TargetType enum value 22643 TargetTypeContainerInstance = "container-instance" 22644) 22645 22646// TargetType_Values returns all elements of the TargetType enum 22647func TargetType_Values() []string { 22648 return []string{ 22649 TargetTypeContainerInstance, 22650 } 22651} 22652 22653const ( 22654 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 22655 TaskDefinitionFamilyStatusActive = "ACTIVE" 22656 22657 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 22658 TaskDefinitionFamilyStatusInactive = "INACTIVE" 22659 22660 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 22661 TaskDefinitionFamilyStatusAll = "ALL" 22662) 22663 22664// TaskDefinitionFamilyStatus_Values returns all elements of the TaskDefinitionFamilyStatus enum 22665func TaskDefinitionFamilyStatus_Values() []string { 22666 return []string{ 22667 TaskDefinitionFamilyStatusActive, 22668 TaskDefinitionFamilyStatusInactive, 22669 TaskDefinitionFamilyStatusAll, 22670 } 22671} 22672 22673const ( 22674 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 22675 TaskDefinitionFieldTags = "TAGS" 22676) 22677 22678// TaskDefinitionField_Values returns all elements of the TaskDefinitionField enum 22679func TaskDefinitionField_Values() []string { 22680 return []string{ 22681 TaskDefinitionFieldTags, 22682 } 22683} 22684 22685const ( 22686 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 22687 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 22688) 22689 22690// TaskDefinitionPlacementConstraintType_Values returns all elements of the TaskDefinitionPlacementConstraintType enum 22691func TaskDefinitionPlacementConstraintType_Values() []string { 22692 return []string{ 22693 TaskDefinitionPlacementConstraintTypeMemberOf, 22694 } 22695} 22696 22697const ( 22698 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 22699 TaskDefinitionStatusActive = "ACTIVE" 22700 22701 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 22702 TaskDefinitionStatusInactive = "INACTIVE" 22703) 22704 22705// TaskDefinitionStatus_Values returns all elements of the TaskDefinitionStatus enum 22706func TaskDefinitionStatus_Values() []string { 22707 return []string{ 22708 TaskDefinitionStatusActive, 22709 TaskDefinitionStatusInactive, 22710 } 22711} 22712 22713const ( 22714 // TaskFieldTags is a TaskField enum value 22715 TaskFieldTags = "TAGS" 22716) 22717 22718// TaskField_Values returns all elements of the TaskField enum 22719func TaskField_Values() []string { 22720 return []string{ 22721 TaskFieldTags, 22722 } 22723} 22724 22725const ( 22726 // TaskSetFieldTags is a TaskSetField enum value 22727 TaskSetFieldTags = "TAGS" 22728) 22729 22730// TaskSetField_Values returns all elements of the TaskSetField enum 22731func TaskSetField_Values() []string { 22732 return []string{ 22733 TaskSetFieldTags, 22734 } 22735} 22736 22737const ( 22738 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 22739 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 22740 22741 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 22742 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 22743 22744 // TaskStopCodeUserInitiated is a TaskStopCode enum value 22745 TaskStopCodeUserInitiated = "UserInitiated" 22746) 22747 22748// TaskStopCode_Values returns all elements of the TaskStopCode enum 22749func TaskStopCode_Values() []string { 22750 return []string{ 22751 TaskStopCodeTaskFailedToStart, 22752 TaskStopCodeEssentialContainerExited, 22753 TaskStopCodeUserInitiated, 22754 } 22755} 22756 22757const ( 22758 // TransportProtocolTcp is a TransportProtocol enum value 22759 TransportProtocolTcp = "tcp" 22760 22761 // TransportProtocolUdp is a TransportProtocol enum value 22762 TransportProtocolUdp = "udp" 22763) 22764 22765// TransportProtocol_Values returns all elements of the TransportProtocol enum 22766func TransportProtocol_Values() []string { 22767 return []string{ 22768 TransportProtocolTcp, 22769 TransportProtocolUdp, 22770 } 22771} 22772 22773const ( 22774 // UlimitNameCore is a UlimitName enum value 22775 UlimitNameCore = "core" 22776 22777 // UlimitNameCpu is a UlimitName enum value 22778 UlimitNameCpu = "cpu" 22779 22780 // UlimitNameData is a UlimitName enum value 22781 UlimitNameData = "data" 22782 22783 // UlimitNameFsize is a UlimitName enum value 22784 UlimitNameFsize = "fsize" 22785 22786 // UlimitNameLocks is a UlimitName enum value 22787 UlimitNameLocks = "locks" 22788 22789 // UlimitNameMemlock is a UlimitName enum value 22790 UlimitNameMemlock = "memlock" 22791 22792 // UlimitNameMsgqueue is a UlimitName enum value 22793 UlimitNameMsgqueue = "msgqueue" 22794 22795 // UlimitNameNice is a UlimitName enum value 22796 UlimitNameNice = "nice" 22797 22798 // UlimitNameNofile is a UlimitName enum value 22799 UlimitNameNofile = "nofile" 22800 22801 // UlimitNameNproc is a UlimitName enum value 22802 UlimitNameNproc = "nproc" 22803 22804 // UlimitNameRss is a UlimitName enum value 22805 UlimitNameRss = "rss" 22806 22807 // UlimitNameRtprio is a UlimitName enum value 22808 UlimitNameRtprio = "rtprio" 22809 22810 // UlimitNameRttime is a UlimitName enum value 22811 UlimitNameRttime = "rttime" 22812 22813 // UlimitNameSigpending is a UlimitName enum value 22814 UlimitNameSigpending = "sigpending" 22815 22816 // UlimitNameStack is a UlimitName enum value 22817 UlimitNameStack = "stack" 22818) 22819 22820// UlimitName_Values returns all elements of the UlimitName enum 22821func UlimitName_Values() []string { 22822 return []string{ 22823 UlimitNameCore, 22824 UlimitNameCpu, 22825 UlimitNameData, 22826 UlimitNameFsize, 22827 UlimitNameLocks, 22828 UlimitNameMemlock, 22829 UlimitNameMsgqueue, 22830 UlimitNameNice, 22831 UlimitNameNofile, 22832 UlimitNameNproc, 22833 UlimitNameRss, 22834 UlimitNameRtprio, 22835 UlimitNameRttime, 22836 UlimitNameSigpending, 22837 UlimitNameStack, 22838 } 22839} 22840