1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package ecs 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opCreateCapacityProvider = "CreateCapacityProvider" 17 18// CreateCapacityProviderRequest generates a "aws/request.Request" representing the 19// client's request for the CreateCapacityProvider operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See CreateCapacityProvider for more information on using the CreateCapacityProvider 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the CreateCapacityProviderRequest method. 34// req, resp := client.CreateCapacityProviderRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider 42func (c *ECS) CreateCapacityProviderRequest(input *CreateCapacityProviderInput) (req *request.Request, output *CreateCapacityProviderOutput) { 43 op := &request.Operation{ 44 Name: opCreateCapacityProvider, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CreateCapacityProviderInput{} 51 } 52 53 output = &CreateCapacityProviderOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateCapacityProvider API operation for Amazon EC2 Container Service. 59// 60// Creates a new capacity provider. Capacity providers are associated with an 61// Amazon ECS cluster and are used in capacity provider strategies to facilitate 62// cluster auto scaling. 63// 64// Only capacity providers using an Auto Scaling group can be created. Amazon 65// ECS tasks on AWS Fargate use the FARGATE and FARGATE_SPOT capacity providers 66// which are already created and available to all accounts in Regions supported 67// by AWS Fargate. 68// 69// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 70// with awserr.Error's Code and Message methods to get detailed information about 71// the error. 72// 73// See the AWS API reference guide for Amazon EC2 Container Service's 74// API operation CreateCapacityProvider for usage and error information. 75// 76// Returned Error Types: 77// * ServerException 78// These errors are usually caused by a server issue. 79// 80// * ClientException 81// These errors are usually caused by a client action, such as using an action 82// or resource on behalf of a user that doesn't have permissions to use the 83// action or resource, or specifying an identifier that is not valid. 84// 85// * InvalidParameterException 86// The specified parameter is invalid. Review the available parameters for the 87// API request. 88// 89// * LimitExceededException 90// The limit for the resource has been exceeded. 91// 92// * 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 AWS services can be managed on your behalf. However, if the IAM 172// user that makes the call does not have permissions to create the service-linked 173// role, it is not created. For more information, see Using Service-Linked Roles 174// 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 Amazon Elastic Container Service container instances. Returns metadata 1595// about registered and remaining resources on each container 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 opListAccountSettings = "ListAccountSettings" 2118 2119// ListAccountSettingsRequest generates a "aws/request.Request" representing the 2120// client's request for the ListAccountSettings 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 ListAccountSettings for more information on using the ListAccountSettings 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 ListAccountSettingsRequest method. 2135// req, resp := client.ListAccountSettingsRequest(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/ListAccountSettings 2143func (c *ECS) ListAccountSettingsRequest(input *ListAccountSettingsInput) (req *request.Request, output *ListAccountSettingsOutput) { 2144 op := &request.Operation{ 2145 Name: opListAccountSettings, 2146 HTTPMethod: "POST", 2147 HTTPPath: "/", 2148 Paginator: &request.Paginator{ 2149 InputTokens: []string{"nextToken"}, 2150 OutputTokens: []string{"nextToken"}, 2151 LimitToken: "maxResults", 2152 TruncationToken: "", 2153 }, 2154 } 2155 2156 if input == nil { 2157 input = &ListAccountSettingsInput{} 2158 } 2159 2160 output = &ListAccountSettingsOutput{} 2161 req = c.newRequest(op, input, output) 2162 return 2163} 2164 2165// ListAccountSettings API operation for Amazon EC2 Container Service. 2166// 2167// Lists the account settings for a specified principal. 2168// 2169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2170// with awserr.Error's Code and Message methods to get detailed information about 2171// the error. 2172// 2173// See the AWS API reference guide for Amazon EC2 Container Service's 2174// API operation ListAccountSettings for usage and error information. 2175// 2176// Returned Error Types: 2177// * ServerException 2178// These errors are usually caused by a server issue. 2179// 2180// * ClientException 2181// These errors are usually caused by a client action, such as using an action 2182// or resource on behalf of a user that doesn't have permissions to use the 2183// action or resource, or specifying an identifier that is not valid. 2184// 2185// * InvalidParameterException 2186// The specified parameter is invalid. Review the available parameters for the 2187// API request. 2188// 2189// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings 2190func (c *ECS) ListAccountSettings(input *ListAccountSettingsInput) (*ListAccountSettingsOutput, error) { 2191 req, out := c.ListAccountSettingsRequest(input) 2192 return out, req.Send() 2193} 2194 2195// ListAccountSettingsWithContext is the same as ListAccountSettings with the addition of 2196// the ability to pass a context and additional request options. 2197// 2198// See ListAccountSettings for details on how to use this API operation. 2199// 2200// The context must be non-nil and will be used for request cancellation. If 2201// the context is nil a panic will occur. In the future the SDK may create 2202// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2203// for more information on using Contexts. 2204func (c *ECS) ListAccountSettingsWithContext(ctx aws.Context, input *ListAccountSettingsInput, opts ...request.Option) (*ListAccountSettingsOutput, error) { 2205 req, out := c.ListAccountSettingsRequest(input) 2206 req.SetContext(ctx) 2207 req.ApplyOptions(opts...) 2208 return out, req.Send() 2209} 2210 2211// ListAccountSettingsPages iterates over the pages of a ListAccountSettings operation, 2212// calling the "fn" function with the response data for each page. To stop 2213// iterating, return false from the fn function. 2214// 2215// See ListAccountSettings method for more information on how to use this operation. 2216// 2217// Note: This operation can generate multiple requests to a service. 2218// 2219// // Example iterating over at most 3 pages of a ListAccountSettings operation. 2220// pageNum := 0 2221// err := client.ListAccountSettingsPages(params, 2222// func(page *ecs.ListAccountSettingsOutput, lastPage bool) bool { 2223// pageNum++ 2224// fmt.Println(page) 2225// return pageNum <= 3 2226// }) 2227// 2228func (c *ECS) ListAccountSettingsPages(input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool) error { 2229 return c.ListAccountSettingsPagesWithContext(aws.BackgroundContext(), input, fn) 2230} 2231 2232// ListAccountSettingsPagesWithContext same as ListAccountSettingsPages except 2233// it takes a Context and allows setting request options on the pages. 2234// 2235// The context must be non-nil and will be used for request cancellation. If 2236// the context is nil a panic will occur. In the future the SDK may create 2237// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2238// for more information on using Contexts. 2239func (c *ECS) ListAccountSettingsPagesWithContext(ctx aws.Context, input *ListAccountSettingsInput, fn func(*ListAccountSettingsOutput, bool) bool, opts ...request.Option) error { 2240 p := request.Pagination{ 2241 NewRequest: func() (*request.Request, error) { 2242 var inCpy *ListAccountSettingsInput 2243 if input != nil { 2244 tmp := *input 2245 inCpy = &tmp 2246 } 2247 req, _ := c.ListAccountSettingsRequest(inCpy) 2248 req.SetContext(ctx) 2249 req.ApplyOptions(opts...) 2250 return req, nil 2251 }, 2252 } 2253 2254 for p.Next() { 2255 if !fn(p.Page().(*ListAccountSettingsOutput), !p.HasNextPage()) { 2256 break 2257 } 2258 } 2259 2260 return p.Err() 2261} 2262 2263const opListAttributes = "ListAttributes" 2264 2265// ListAttributesRequest generates a "aws/request.Request" representing the 2266// client's request for the ListAttributes operation. The "output" return 2267// value will be populated with the request's response once the request completes 2268// successfully. 2269// 2270// Use "Send" method on the returned Request to send the API call to the service. 2271// the "output" return value is not valid until after Send returns without error. 2272// 2273// See ListAttributes for more information on using the ListAttributes 2274// API call, and error handling. 2275// 2276// This method is useful when you want to inject custom logic or configuration 2277// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2278// 2279// 2280// // Example sending a request using the ListAttributesRequest method. 2281// req, resp := client.ListAttributesRequest(params) 2282// 2283// err := req.Send() 2284// if err == nil { // resp is now filled 2285// fmt.Println(resp) 2286// } 2287// 2288// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2289func (c *ECS) ListAttributesRequest(input *ListAttributesInput) (req *request.Request, output *ListAttributesOutput) { 2290 op := &request.Operation{ 2291 Name: opListAttributes, 2292 HTTPMethod: "POST", 2293 HTTPPath: "/", 2294 Paginator: &request.Paginator{ 2295 InputTokens: []string{"nextToken"}, 2296 OutputTokens: []string{"nextToken"}, 2297 LimitToken: "maxResults", 2298 TruncationToken: "", 2299 }, 2300 } 2301 2302 if input == nil { 2303 input = &ListAttributesInput{} 2304 } 2305 2306 output = &ListAttributesOutput{} 2307 req = c.newRequest(op, input, output) 2308 return 2309} 2310 2311// ListAttributes API operation for Amazon EC2 Container Service. 2312// 2313// Lists the attributes for Amazon ECS resources within a specified target type 2314// and cluster. When you specify a target type and cluster, ListAttributes returns 2315// a list of attribute objects, one for each attribute on each resource. You 2316// can filter the list of results to a single attribute name to only return 2317// results that have that name. You can also filter the results by attribute 2318// name and value, for example, to see which container instances in a cluster 2319// are running a Linux AMI (ecs.os-type=linux). 2320// 2321// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2322// with awserr.Error's Code and Message methods to get detailed information about 2323// the error. 2324// 2325// See the AWS API reference guide for Amazon EC2 Container Service's 2326// API operation ListAttributes for usage and error information. 2327// 2328// Returned Error Types: 2329// * ClusterNotFoundException 2330// The specified cluster could not be found. You can view your available clusters 2331// with ListClusters. Amazon ECS clusters are Region-specific. 2332// 2333// * InvalidParameterException 2334// The specified parameter is invalid. Review the available parameters for the 2335// API request. 2336// 2337// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAttributes 2338func (c *ECS) ListAttributes(input *ListAttributesInput) (*ListAttributesOutput, error) { 2339 req, out := c.ListAttributesRequest(input) 2340 return out, req.Send() 2341} 2342 2343// ListAttributesWithContext is the same as ListAttributes with the addition of 2344// the ability to pass a context and additional request options. 2345// 2346// See ListAttributes for details on how to use this API operation. 2347// 2348// The context must be non-nil and will be used for request cancellation. If 2349// the context is nil a panic will occur. In the future the SDK may create 2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2351// for more information on using Contexts. 2352func (c *ECS) ListAttributesWithContext(ctx aws.Context, input *ListAttributesInput, opts ...request.Option) (*ListAttributesOutput, error) { 2353 req, out := c.ListAttributesRequest(input) 2354 req.SetContext(ctx) 2355 req.ApplyOptions(opts...) 2356 return out, req.Send() 2357} 2358 2359// ListAttributesPages iterates over the pages of a ListAttributes operation, 2360// calling the "fn" function with the response data for each page. To stop 2361// iterating, return false from the fn function. 2362// 2363// See ListAttributes method for more information on how to use this operation. 2364// 2365// Note: This operation can generate multiple requests to a service. 2366// 2367// // Example iterating over at most 3 pages of a ListAttributes operation. 2368// pageNum := 0 2369// err := client.ListAttributesPages(params, 2370// func(page *ecs.ListAttributesOutput, lastPage bool) bool { 2371// pageNum++ 2372// fmt.Println(page) 2373// return pageNum <= 3 2374// }) 2375// 2376func (c *ECS) ListAttributesPages(input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool) error { 2377 return c.ListAttributesPagesWithContext(aws.BackgroundContext(), input, fn) 2378} 2379 2380// ListAttributesPagesWithContext same as ListAttributesPages except 2381// it takes a Context and allows setting request options on the pages. 2382// 2383// The context must be non-nil and will be used for request cancellation. If 2384// the context is nil a panic will occur. In the future the SDK may create 2385// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2386// for more information on using Contexts. 2387func (c *ECS) ListAttributesPagesWithContext(ctx aws.Context, input *ListAttributesInput, fn func(*ListAttributesOutput, bool) bool, opts ...request.Option) error { 2388 p := request.Pagination{ 2389 NewRequest: func() (*request.Request, error) { 2390 var inCpy *ListAttributesInput 2391 if input != nil { 2392 tmp := *input 2393 inCpy = &tmp 2394 } 2395 req, _ := c.ListAttributesRequest(inCpy) 2396 req.SetContext(ctx) 2397 req.ApplyOptions(opts...) 2398 return req, nil 2399 }, 2400 } 2401 2402 for p.Next() { 2403 if !fn(p.Page().(*ListAttributesOutput), !p.HasNextPage()) { 2404 break 2405 } 2406 } 2407 2408 return p.Err() 2409} 2410 2411const opListClusters = "ListClusters" 2412 2413// ListClustersRequest generates a "aws/request.Request" representing the 2414// client's request for the ListClusters operation. The "output" return 2415// value will be populated with the request's response once the request completes 2416// successfully. 2417// 2418// Use "Send" method on the returned Request to send the API call to the service. 2419// the "output" return value is not valid until after Send returns without error. 2420// 2421// See ListClusters for more information on using the ListClusters 2422// API call, and error handling. 2423// 2424// This method is useful when you want to inject custom logic or configuration 2425// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2426// 2427// 2428// // Example sending a request using the ListClustersRequest method. 2429// req, resp := client.ListClustersRequest(params) 2430// 2431// err := req.Send() 2432// if err == nil { // resp is now filled 2433// fmt.Println(resp) 2434// } 2435// 2436// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2437func (c *ECS) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 2438 op := &request.Operation{ 2439 Name: opListClusters, 2440 HTTPMethod: "POST", 2441 HTTPPath: "/", 2442 Paginator: &request.Paginator{ 2443 InputTokens: []string{"nextToken"}, 2444 OutputTokens: []string{"nextToken"}, 2445 LimitToken: "maxResults", 2446 TruncationToken: "", 2447 }, 2448 } 2449 2450 if input == nil { 2451 input = &ListClustersInput{} 2452 } 2453 2454 output = &ListClustersOutput{} 2455 req = c.newRequest(op, input, output) 2456 return 2457} 2458 2459// ListClusters API operation for Amazon EC2 Container Service. 2460// 2461// Returns a list of existing clusters. 2462// 2463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2464// with awserr.Error's Code and Message methods to get detailed information about 2465// the error. 2466// 2467// See the AWS API reference guide for Amazon EC2 Container Service's 2468// API operation ListClusters for usage and error information. 2469// 2470// Returned Error Types: 2471// * ServerException 2472// These errors are usually caused by a server issue. 2473// 2474// * ClientException 2475// These errors are usually caused by a client action, such as using an action 2476// or resource on behalf of a user that doesn't have permissions to use the 2477// action or resource, or specifying an identifier that is not valid. 2478// 2479// * InvalidParameterException 2480// The specified parameter is invalid. Review the available parameters for the 2481// API request. 2482// 2483// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListClusters 2484func (c *ECS) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 2485 req, out := c.ListClustersRequest(input) 2486 return out, req.Send() 2487} 2488 2489// ListClustersWithContext is the same as ListClusters with the addition of 2490// the ability to pass a context and additional request options. 2491// 2492// See ListClusters for details on how to use this API operation. 2493// 2494// The context must be non-nil and will be used for request cancellation. If 2495// the context is nil a panic will occur. In the future the SDK may create 2496// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2497// for more information on using Contexts. 2498func (c *ECS) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 2499 req, out := c.ListClustersRequest(input) 2500 req.SetContext(ctx) 2501 req.ApplyOptions(opts...) 2502 return out, req.Send() 2503} 2504 2505// ListClustersPages iterates over the pages of a ListClusters operation, 2506// calling the "fn" function with the response data for each page. To stop 2507// iterating, return false from the fn function. 2508// 2509// See ListClusters method for more information on how to use this operation. 2510// 2511// Note: This operation can generate multiple requests to a service. 2512// 2513// // Example iterating over at most 3 pages of a ListClusters operation. 2514// pageNum := 0 2515// err := client.ListClustersPages(params, 2516// func(page *ecs.ListClustersOutput, lastPage bool) bool { 2517// pageNum++ 2518// fmt.Println(page) 2519// return pageNum <= 3 2520// }) 2521// 2522func (c *ECS) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 2523 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2524} 2525 2526// ListClustersPagesWithContext same as ListClustersPages except 2527// it takes a Context and allows setting request options on the pages. 2528// 2529// The context must be non-nil and will be used for request cancellation. If 2530// the context is nil a panic will occur. In the future the SDK may create 2531// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2532// for more information on using Contexts. 2533func (c *ECS) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 2534 p := request.Pagination{ 2535 NewRequest: func() (*request.Request, error) { 2536 var inCpy *ListClustersInput 2537 if input != nil { 2538 tmp := *input 2539 inCpy = &tmp 2540 } 2541 req, _ := c.ListClustersRequest(inCpy) 2542 req.SetContext(ctx) 2543 req.ApplyOptions(opts...) 2544 return req, nil 2545 }, 2546 } 2547 2548 for p.Next() { 2549 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2550 break 2551 } 2552 } 2553 2554 return p.Err() 2555} 2556 2557const opListContainerInstances = "ListContainerInstances" 2558 2559// ListContainerInstancesRequest generates a "aws/request.Request" representing the 2560// client's request for the ListContainerInstances operation. The "output" return 2561// value will be populated with the request's response once the request completes 2562// successfully. 2563// 2564// Use "Send" method on the returned Request to send the API call to the service. 2565// the "output" return value is not valid until after Send returns without error. 2566// 2567// See ListContainerInstances for more information on using the ListContainerInstances 2568// API call, and error handling. 2569// 2570// This method is useful when you want to inject custom logic or configuration 2571// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2572// 2573// 2574// // Example sending a request using the ListContainerInstancesRequest method. 2575// req, resp := client.ListContainerInstancesRequest(params) 2576// 2577// err := req.Send() 2578// if err == nil { // resp is now filled 2579// fmt.Println(resp) 2580// } 2581// 2582// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2583func (c *ECS) ListContainerInstancesRequest(input *ListContainerInstancesInput) (req *request.Request, output *ListContainerInstancesOutput) { 2584 op := &request.Operation{ 2585 Name: opListContainerInstances, 2586 HTTPMethod: "POST", 2587 HTTPPath: "/", 2588 Paginator: &request.Paginator{ 2589 InputTokens: []string{"nextToken"}, 2590 OutputTokens: []string{"nextToken"}, 2591 LimitToken: "maxResults", 2592 TruncationToken: "", 2593 }, 2594 } 2595 2596 if input == nil { 2597 input = &ListContainerInstancesInput{} 2598 } 2599 2600 output = &ListContainerInstancesOutput{} 2601 req = c.newRequest(op, input, output) 2602 return 2603} 2604 2605// ListContainerInstances API operation for Amazon EC2 Container Service. 2606// 2607// Returns a list of container instances in a specified cluster. You can filter 2608// the results of a ListContainerInstances operation with cluster query language 2609// statements inside the filter parameter. For more information, see Cluster 2610// Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 2611// in the Amazon Elastic Container Service Developer Guide. 2612// 2613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2614// with awserr.Error's Code and Message methods to get detailed information about 2615// the error. 2616// 2617// See the AWS API reference guide for Amazon EC2 Container Service's 2618// API operation ListContainerInstances for usage and error information. 2619// 2620// Returned Error Types: 2621// * ServerException 2622// These errors are usually caused by a server issue. 2623// 2624// * ClientException 2625// These errors are usually caused by a client action, such as using an action 2626// or resource on behalf of a user that doesn't have permissions to use the 2627// action or resource, or specifying an identifier that is not valid. 2628// 2629// * InvalidParameterException 2630// The specified parameter is invalid. Review the available parameters for the 2631// API request. 2632// 2633// * ClusterNotFoundException 2634// The specified cluster could not be found. You can view your available clusters 2635// with ListClusters. Amazon ECS clusters are Region-specific. 2636// 2637// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListContainerInstances 2638func (c *ECS) ListContainerInstances(input *ListContainerInstancesInput) (*ListContainerInstancesOutput, error) { 2639 req, out := c.ListContainerInstancesRequest(input) 2640 return out, req.Send() 2641} 2642 2643// ListContainerInstancesWithContext is the same as ListContainerInstances with the addition of 2644// the ability to pass a context and additional request options. 2645// 2646// See ListContainerInstances for details on how to use this API operation. 2647// 2648// The context must be non-nil and will be used for request cancellation. If 2649// the context is nil a panic will occur. In the future the SDK may create 2650// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2651// for more information on using Contexts. 2652func (c *ECS) ListContainerInstancesWithContext(ctx aws.Context, input *ListContainerInstancesInput, opts ...request.Option) (*ListContainerInstancesOutput, error) { 2653 req, out := c.ListContainerInstancesRequest(input) 2654 req.SetContext(ctx) 2655 req.ApplyOptions(opts...) 2656 return out, req.Send() 2657} 2658 2659// ListContainerInstancesPages iterates over the pages of a ListContainerInstances operation, 2660// calling the "fn" function with the response data for each page. To stop 2661// iterating, return false from the fn function. 2662// 2663// See ListContainerInstances method for more information on how to use this operation. 2664// 2665// Note: This operation can generate multiple requests to a service. 2666// 2667// // Example iterating over at most 3 pages of a ListContainerInstances operation. 2668// pageNum := 0 2669// err := client.ListContainerInstancesPages(params, 2670// func(page *ecs.ListContainerInstancesOutput, lastPage bool) bool { 2671// pageNum++ 2672// fmt.Println(page) 2673// return pageNum <= 3 2674// }) 2675// 2676func (c *ECS) ListContainerInstancesPages(input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool) error { 2677 return c.ListContainerInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2678} 2679 2680// ListContainerInstancesPagesWithContext same as ListContainerInstancesPages except 2681// it takes a Context and allows setting request options on the pages. 2682// 2683// The context must be non-nil and will be used for request cancellation. If 2684// the context is nil a panic will occur. In the future the SDK may create 2685// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2686// for more information on using Contexts. 2687func (c *ECS) ListContainerInstancesPagesWithContext(ctx aws.Context, input *ListContainerInstancesInput, fn func(*ListContainerInstancesOutput, bool) bool, opts ...request.Option) error { 2688 p := request.Pagination{ 2689 NewRequest: func() (*request.Request, error) { 2690 var inCpy *ListContainerInstancesInput 2691 if input != nil { 2692 tmp := *input 2693 inCpy = &tmp 2694 } 2695 req, _ := c.ListContainerInstancesRequest(inCpy) 2696 req.SetContext(ctx) 2697 req.ApplyOptions(opts...) 2698 return req, nil 2699 }, 2700 } 2701 2702 for p.Next() { 2703 if !fn(p.Page().(*ListContainerInstancesOutput), !p.HasNextPage()) { 2704 break 2705 } 2706 } 2707 2708 return p.Err() 2709} 2710 2711const opListServices = "ListServices" 2712 2713// ListServicesRequest generates a "aws/request.Request" representing the 2714// client's request for the ListServices operation. The "output" return 2715// value will be populated with the request's response once the request completes 2716// successfully. 2717// 2718// Use "Send" method on the returned Request to send the API call to the service. 2719// the "output" return value is not valid until after Send returns without error. 2720// 2721// See ListServices for more information on using the ListServices 2722// API call, and error handling. 2723// 2724// This method is useful when you want to inject custom logic or configuration 2725// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2726// 2727// 2728// // Example sending a request using the ListServicesRequest method. 2729// req, resp := client.ListServicesRequest(params) 2730// 2731// err := req.Send() 2732// if err == nil { // resp is now filled 2733// fmt.Println(resp) 2734// } 2735// 2736// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2737func (c *ECS) ListServicesRequest(input *ListServicesInput) (req *request.Request, output *ListServicesOutput) { 2738 op := &request.Operation{ 2739 Name: opListServices, 2740 HTTPMethod: "POST", 2741 HTTPPath: "/", 2742 Paginator: &request.Paginator{ 2743 InputTokens: []string{"nextToken"}, 2744 OutputTokens: []string{"nextToken"}, 2745 LimitToken: "maxResults", 2746 TruncationToken: "", 2747 }, 2748 } 2749 2750 if input == nil { 2751 input = &ListServicesInput{} 2752 } 2753 2754 output = &ListServicesOutput{} 2755 req = c.newRequest(op, input, output) 2756 return 2757} 2758 2759// ListServices API operation for Amazon EC2 Container Service. 2760// 2761// Lists the services that are running in a specified cluster. 2762// 2763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2764// with awserr.Error's Code and Message methods to get detailed information about 2765// the error. 2766// 2767// See the AWS API reference guide for Amazon EC2 Container Service's 2768// API operation ListServices for usage and error information. 2769// 2770// Returned Error Types: 2771// * ServerException 2772// These errors are usually caused by a server issue. 2773// 2774// * ClientException 2775// These errors are usually caused by a client action, such as using an action 2776// or resource on behalf of a user that doesn't have permissions to use the 2777// action or resource, or specifying an identifier that is not valid. 2778// 2779// * InvalidParameterException 2780// The specified parameter is invalid. Review the available parameters for the 2781// API request. 2782// 2783// * ClusterNotFoundException 2784// The specified cluster could not be found. You can view your available clusters 2785// with ListClusters. Amazon ECS clusters are Region-specific. 2786// 2787// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServices 2788func (c *ECS) ListServices(input *ListServicesInput) (*ListServicesOutput, error) { 2789 req, out := c.ListServicesRequest(input) 2790 return out, req.Send() 2791} 2792 2793// ListServicesWithContext is the same as ListServices with the addition of 2794// the ability to pass a context and additional request options. 2795// 2796// See ListServices for details on how to use this API operation. 2797// 2798// The context must be non-nil and will be used for request cancellation. If 2799// the context is nil a panic will occur. In the future the SDK may create 2800// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2801// for more information on using Contexts. 2802func (c *ECS) ListServicesWithContext(ctx aws.Context, input *ListServicesInput, opts ...request.Option) (*ListServicesOutput, error) { 2803 req, out := c.ListServicesRequest(input) 2804 req.SetContext(ctx) 2805 req.ApplyOptions(opts...) 2806 return out, req.Send() 2807} 2808 2809// ListServicesPages iterates over the pages of a ListServices operation, 2810// calling the "fn" function with the response data for each page. To stop 2811// iterating, return false from the fn function. 2812// 2813// See ListServices method for more information on how to use this operation. 2814// 2815// Note: This operation can generate multiple requests to a service. 2816// 2817// // Example iterating over at most 3 pages of a ListServices operation. 2818// pageNum := 0 2819// err := client.ListServicesPages(params, 2820// func(page *ecs.ListServicesOutput, lastPage bool) bool { 2821// pageNum++ 2822// fmt.Println(page) 2823// return pageNum <= 3 2824// }) 2825// 2826func (c *ECS) ListServicesPages(input *ListServicesInput, fn func(*ListServicesOutput, bool) bool) error { 2827 return c.ListServicesPagesWithContext(aws.BackgroundContext(), input, fn) 2828} 2829 2830// ListServicesPagesWithContext same as ListServicesPages except 2831// it takes a Context and allows setting request options on the pages. 2832// 2833// The context must be non-nil and will be used for request cancellation. If 2834// the context is nil a panic will occur. In the future the SDK may create 2835// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2836// for more information on using Contexts. 2837func (c *ECS) ListServicesPagesWithContext(ctx aws.Context, input *ListServicesInput, fn func(*ListServicesOutput, bool) bool, opts ...request.Option) error { 2838 p := request.Pagination{ 2839 NewRequest: func() (*request.Request, error) { 2840 var inCpy *ListServicesInput 2841 if input != nil { 2842 tmp := *input 2843 inCpy = &tmp 2844 } 2845 req, _ := c.ListServicesRequest(inCpy) 2846 req.SetContext(ctx) 2847 req.ApplyOptions(opts...) 2848 return req, nil 2849 }, 2850 } 2851 2852 for p.Next() { 2853 if !fn(p.Page().(*ListServicesOutput), !p.HasNextPage()) { 2854 break 2855 } 2856 } 2857 2858 return p.Err() 2859} 2860 2861const opListTagsForResource = "ListTagsForResource" 2862 2863// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2864// client's request for the ListTagsForResource operation. The "output" return 2865// value will be populated with the request's response once the request completes 2866// successfully. 2867// 2868// Use "Send" method on the returned Request to send the API call to the service. 2869// the "output" return value is not valid until after Send returns without error. 2870// 2871// See ListTagsForResource for more information on using the ListTagsForResource 2872// API call, and error handling. 2873// 2874// This method is useful when you want to inject custom logic or configuration 2875// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2876// 2877// 2878// // Example sending a request using the ListTagsForResourceRequest method. 2879// req, resp := client.ListTagsForResourceRequest(params) 2880// 2881// err := req.Send() 2882// if err == nil { // resp is now filled 2883// fmt.Println(resp) 2884// } 2885// 2886// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2887func (c *ECS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2888 op := &request.Operation{ 2889 Name: opListTagsForResource, 2890 HTTPMethod: "POST", 2891 HTTPPath: "/", 2892 } 2893 2894 if input == nil { 2895 input = &ListTagsForResourceInput{} 2896 } 2897 2898 output = &ListTagsForResourceOutput{} 2899 req = c.newRequest(op, input, output) 2900 return 2901} 2902 2903// ListTagsForResource API operation for Amazon EC2 Container Service. 2904// 2905// List the tags for an Amazon ECS resource. 2906// 2907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2908// with awserr.Error's Code and Message methods to get detailed information about 2909// the error. 2910// 2911// See the AWS API reference guide for Amazon EC2 Container Service's 2912// API operation ListTagsForResource for usage and error information. 2913// 2914// Returned Error Types: 2915// * ServerException 2916// These errors are usually caused by a server issue. 2917// 2918// * ClientException 2919// These errors are usually caused by a client action, such as using an action 2920// or resource on behalf of a user that doesn't have permissions to use the 2921// action or resource, or specifying an identifier that is not valid. 2922// 2923// * ClusterNotFoundException 2924// The specified cluster could not be found. You can view your available clusters 2925// with ListClusters. Amazon ECS clusters are Region-specific. 2926// 2927// * InvalidParameterException 2928// The specified parameter is invalid. Review the available parameters for the 2929// API request. 2930// 2931// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource 2932func (c *ECS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2933 req, out := c.ListTagsForResourceRequest(input) 2934 return out, req.Send() 2935} 2936 2937// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2938// the ability to pass a context and additional request options. 2939// 2940// See ListTagsForResource for details on how to use this API operation. 2941// 2942// The context must be non-nil and will be used for request cancellation. If 2943// the context is nil a panic will occur. In the future the SDK may create 2944// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2945// for more information on using Contexts. 2946func (c *ECS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2947 req, out := c.ListTagsForResourceRequest(input) 2948 req.SetContext(ctx) 2949 req.ApplyOptions(opts...) 2950 return out, req.Send() 2951} 2952 2953const opListTaskDefinitionFamilies = "ListTaskDefinitionFamilies" 2954 2955// ListTaskDefinitionFamiliesRequest generates a "aws/request.Request" representing the 2956// client's request for the ListTaskDefinitionFamilies operation. The "output" return 2957// value will be populated with the request's response once the request completes 2958// successfully. 2959// 2960// Use "Send" method on the returned Request to send the API call to the service. 2961// the "output" return value is not valid until after Send returns without error. 2962// 2963// See ListTaskDefinitionFamilies for more information on using the ListTaskDefinitionFamilies 2964// API call, and error handling. 2965// 2966// This method is useful when you want to inject custom logic or configuration 2967// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2968// 2969// 2970// // Example sending a request using the ListTaskDefinitionFamiliesRequest method. 2971// req, resp := client.ListTaskDefinitionFamiliesRequest(params) 2972// 2973// err := req.Send() 2974// if err == nil { // resp is now filled 2975// fmt.Println(resp) 2976// } 2977// 2978// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitionFamilies 2979func (c *ECS) ListTaskDefinitionFamiliesRequest(input *ListTaskDefinitionFamiliesInput) (req *request.Request, output *ListTaskDefinitionFamiliesOutput) { 2980 op := &request.Operation{ 2981 Name: opListTaskDefinitionFamilies, 2982 HTTPMethod: "POST", 2983 HTTPPath: "/", 2984 Paginator: &request.Paginator{ 2985 InputTokens: []string{"nextToken"}, 2986 OutputTokens: []string{"nextToken"}, 2987 LimitToken: "maxResults", 2988 TruncationToken: "", 2989 }, 2990 } 2991 2992 if input == nil { 2993 input = &ListTaskDefinitionFamiliesInput{} 2994 } 2995 2996 output = &ListTaskDefinitionFamiliesOutput{} 2997 req = c.newRequest(op, input, output) 2998 return 2999} 3000 3001// ListTaskDefinitionFamilies API operation for Amazon EC2 Container Service. 3002// 3003// Returns a list of task definition families that are registered to your account 3004// (which may include task definition families that no longer have any ACTIVE 3005// task definition revisions). 3006// 3007// You can filter out task definition families that do not contain any ACTIVE 3008// task definition revisions by setting the status parameter to ACTIVE. You 3009// can also filter the results with the familyPrefix parameter. 3010// 3011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3012// with awserr.Error's Code and Message methods to get detailed information about 3013// the error. 3014// 3015// See the AWS API reference guide for Amazon EC2 Container Service's 3016// API operation ListTaskDefinitionFamilies for usage and error information. 3017// 3018// Returned Error Types: 3019// * ServerException 3020// These errors are usually caused by a server issue. 3021// 3022// * ClientException 3023// These errors are usually caused by a client action, such as using an action 3024// or resource on behalf of a user that doesn't have permissions to use the 3025// action or resource, or specifying an identifier that is not valid. 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/ListTaskDefinitionFamilies 3032func (c *ECS) ListTaskDefinitionFamilies(input *ListTaskDefinitionFamiliesInput) (*ListTaskDefinitionFamiliesOutput, error) { 3033 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3034 return out, req.Send() 3035} 3036 3037// ListTaskDefinitionFamiliesWithContext is the same as ListTaskDefinitionFamilies with the addition of 3038// the ability to pass a context and additional request options. 3039// 3040// See ListTaskDefinitionFamilies 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) ListTaskDefinitionFamiliesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, opts ...request.Option) (*ListTaskDefinitionFamiliesOutput, error) { 3047 req, out := c.ListTaskDefinitionFamiliesRequest(input) 3048 req.SetContext(ctx) 3049 req.ApplyOptions(opts...) 3050 return out, req.Send() 3051} 3052 3053// ListTaskDefinitionFamiliesPages iterates over the pages of a ListTaskDefinitionFamilies operation, 3054// calling the "fn" function with the response data for each page. To stop 3055// iterating, return false from the fn function. 3056// 3057// See ListTaskDefinitionFamilies method for more information on how to use this operation. 3058// 3059// Note: This operation can generate multiple requests to a service. 3060// 3061// // Example iterating over at most 3 pages of a ListTaskDefinitionFamilies operation. 3062// pageNum := 0 3063// err := client.ListTaskDefinitionFamiliesPages(params, 3064// func(page *ecs.ListTaskDefinitionFamiliesOutput, lastPage bool) bool { 3065// pageNum++ 3066// fmt.Println(page) 3067// return pageNum <= 3 3068// }) 3069// 3070func (c *ECS) ListTaskDefinitionFamiliesPages(input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool) error { 3071 return c.ListTaskDefinitionFamiliesPagesWithContext(aws.BackgroundContext(), input, fn) 3072} 3073 3074// ListTaskDefinitionFamiliesPagesWithContext same as ListTaskDefinitionFamiliesPages except 3075// it takes a Context and allows setting request options on the pages. 3076// 3077// The context must be non-nil and will be used for request cancellation. If 3078// the context is nil a panic will occur. In the future the SDK may create 3079// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3080// for more information on using Contexts. 3081func (c *ECS) ListTaskDefinitionFamiliesPagesWithContext(ctx aws.Context, input *ListTaskDefinitionFamiliesInput, fn func(*ListTaskDefinitionFamiliesOutput, bool) bool, opts ...request.Option) error { 3082 p := request.Pagination{ 3083 NewRequest: func() (*request.Request, error) { 3084 var inCpy *ListTaskDefinitionFamiliesInput 3085 if input != nil { 3086 tmp := *input 3087 inCpy = &tmp 3088 } 3089 req, _ := c.ListTaskDefinitionFamiliesRequest(inCpy) 3090 req.SetContext(ctx) 3091 req.ApplyOptions(opts...) 3092 return req, nil 3093 }, 3094 } 3095 3096 for p.Next() { 3097 if !fn(p.Page().(*ListTaskDefinitionFamiliesOutput), !p.HasNextPage()) { 3098 break 3099 } 3100 } 3101 3102 return p.Err() 3103} 3104 3105const opListTaskDefinitions = "ListTaskDefinitions" 3106 3107// ListTaskDefinitionsRequest generates a "aws/request.Request" representing the 3108// client's request for the ListTaskDefinitions operation. The "output" return 3109// value will be populated with the request's response once the request completes 3110// successfully. 3111// 3112// Use "Send" method on the returned Request to send the API call to the service. 3113// the "output" return value is not valid until after Send returns without error. 3114// 3115// See ListTaskDefinitions for more information on using the ListTaskDefinitions 3116// API call, and error handling. 3117// 3118// This method is useful when you want to inject custom logic or configuration 3119// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3120// 3121// 3122// // Example sending a request using the ListTaskDefinitionsRequest method. 3123// req, resp := client.ListTaskDefinitionsRequest(params) 3124// 3125// err := req.Send() 3126// if err == nil { // resp is now filled 3127// fmt.Println(resp) 3128// } 3129// 3130// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3131func (c *ECS) ListTaskDefinitionsRequest(input *ListTaskDefinitionsInput) (req *request.Request, output *ListTaskDefinitionsOutput) { 3132 op := &request.Operation{ 3133 Name: opListTaskDefinitions, 3134 HTTPMethod: "POST", 3135 HTTPPath: "/", 3136 Paginator: &request.Paginator{ 3137 InputTokens: []string{"nextToken"}, 3138 OutputTokens: []string{"nextToken"}, 3139 LimitToken: "maxResults", 3140 TruncationToken: "", 3141 }, 3142 } 3143 3144 if input == nil { 3145 input = &ListTaskDefinitionsInput{} 3146 } 3147 3148 output = &ListTaskDefinitionsOutput{} 3149 req = c.newRequest(op, input, output) 3150 return 3151} 3152 3153// ListTaskDefinitions API operation for Amazon EC2 Container Service. 3154// 3155// Returns a list of task definitions that are registered to your account. You 3156// can filter the results by family name with the familyPrefix parameter or 3157// by status with the status parameter. 3158// 3159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3160// with awserr.Error's Code and Message methods to get detailed information about 3161// the error. 3162// 3163// See the AWS API reference guide for Amazon EC2 Container Service's 3164// API operation ListTaskDefinitions for usage and error information. 3165// 3166// Returned Error Types: 3167// * ServerException 3168// These errors are usually caused by a server issue. 3169// 3170// * ClientException 3171// These errors are usually caused by a client action, such as using an action 3172// or resource on behalf of a user that doesn't have permissions to use the 3173// action or resource, or specifying an identifier that is not valid. 3174// 3175// * InvalidParameterException 3176// The specified parameter is invalid. Review the available parameters for the 3177// API request. 3178// 3179// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTaskDefinitions 3180func (c *ECS) ListTaskDefinitions(input *ListTaskDefinitionsInput) (*ListTaskDefinitionsOutput, error) { 3181 req, out := c.ListTaskDefinitionsRequest(input) 3182 return out, req.Send() 3183} 3184 3185// ListTaskDefinitionsWithContext is the same as ListTaskDefinitions with the addition of 3186// the ability to pass a context and additional request options. 3187// 3188// See ListTaskDefinitions for details on how to use this API operation. 3189// 3190// The context must be non-nil and will be used for request cancellation. If 3191// the context is nil a panic will occur. In the future the SDK may create 3192// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3193// for more information on using Contexts. 3194func (c *ECS) ListTaskDefinitionsWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, opts ...request.Option) (*ListTaskDefinitionsOutput, error) { 3195 req, out := c.ListTaskDefinitionsRequest(input) 3196 req.SetContext(ctx) 3197 req.ApplyOptions(opts...) 3198 return out, req.Send() 3199} 3200 3201// ListTaskDefinitionsPages iterates over the pages of a ListTaskDefinitions operation, 3202// calling the "fn" function with the response data for each page. To stop 3203// iterating, return false from the fn function. 3204// 3205// See ListTaskDefinitions method for more information on how to use this operation. 3206// 3207// Note: This operation can generate multiple requests to a service. 3208// 3209// // Example iterating over at most 3 pages of a ListTaskDefinitions operation. 3210// pageNum := 0 3211// err := client.ListTaskDefinitionsPages(params, 3212// func(page *ecs.ListTaskDefinitionsOutput, lastPage bool) bool { 3213// pageNum++ 3214// fmt.Println(page) 3215// return pageNum <= 3 3216// }) 3217// 3218func (c *ECS) ListTaskDefinitionsPages(input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool) error { 3219 return c.ListTaskDefinitionsPagesWithContext(aws.BackgroundContext(), input, fn) 3220} 3221 3222// ListTaskDefinitionsPagesWithContext same as ListTaskDefinitionsPages except 3223// it takes a Context and allows setting request options on the pages. 3224// 3225// The context must be non-nil and will be used for request cancellation. If 3226// the context is nil a panic will occur. In the future the SDK may create 3227// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3228// for more information on using Contexts. 3229func (c *ECS) ListTaskDefinitionsPagesWithContext(ctx aws.Context, input *ListTaskDefinitionsInput, fn func(*ListTaskDefinitionsOutput, bool) bool, opts ...request.Option) error { 3230 p := request.Pagination{ 3231 NewRequest: func() (*request.Request, error) { 3232 var inCpy *ListTaskDefinitionsInput 3233 if input != nil { 3234 tmp := *input 3235 inCpy = &tmp 3236 } 3237 req, _ := c.ListTaskDefinitionsRequest(inCpy) 3238 req.SetContext(ctx) 3239 req.ApplyOptions(opts...) 3240 return req, nil 3241 }, 3242 } 3243 3244 for p.Next() { 3245 if !fn(p.Page().(*ListTaskDefinitionsOutput), !p.HasNextPage()) { 3246 break 3247 } 3248 } 3249 3250 return p.Err() 3251} 3252 3253const opListTasks = "ListTasks" 3254 3255// ListTasksRequest generates a "aws/request.Request" representing the 3256// client's request for the ListTasks operation. The "output" return 3257// value will be populated with the request's response once the request completes 3258// successfully. 3259// 3260// Use "Send" method on the returned Request to send the API call to the service. 3261// the "output" return value is not valid until after Send returns without error. 3262// 3263// See ListTasks for more information on using the ListTasks 3264// API call, and error handling. 3265// 3266// This method is useful when you want to inject custom logic or configuration 3267// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3268// 3269// 3270// // Example sending a request using the ListTasksRequest method. 3271// req, resp := client.ListTasksRequest(params) 3272// 3273// err := req.Send() 3274// if err == nil { // resp is now filled 3275// fmt.Println(resp) 3276// } 3277// 3278// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3279func (c *ECS) ListTasksRequest(input *ListTasksInput) (req *request.Request, output *ListTasksOutput) { 3280 op := &request.Operation{ 3281 Name: opListTasks, 3282 HTTPMethod: "POST", 3283 HTTPPath: "/", 3284 Paginator: &request.Paginator{ 3285 InputTokens: []string{"nextToken"}, 3286 OutputTokens: []string{"nextToken"}, 3287 LimitToken: "maxResults", 3288 TruncationToken: "", 3289 }, 3290 } 3291 3292 if input == nil { 3293 input = &ListTasksInput{} 3294 } 3295 3296 output = &ListTasksOutput{} 3297 req = c.newRequest(op, input, output) 3298 return 3299} 3300 3301// ListTasks API operation for Amazon EC2 Container Service. 3302// 3303// Returns a list of tasks for a specified cluster. You can filter the results 3304// by family name, by a particular container instance, or by the desired status 3305// of the task with the family, containerInstance, and desiredStatus parameters. 3306// 3307// Recently stopped tasks might appear in the returned results. Currently, stopped 3308// tasks appear in the returned results for at least one hour. 3309// 3310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3311// with awserr.Error's Code and Message methods to get detailed information about 3312// the error. 3313// 3314// See the AWS API reference guide for Amazon EC2 Container Service's 3315// API operation ListTasks for usage and error information. 3316// 3317// Returned Error Types: 3318// * ServerException 3319// These errors are usually caused by a server issue. 3320// 3321// * ClientException 3322// These errors are usually caused by a client action, such as using an action 3323// or resource on behalf of a user that doesn't have permissions to use the 3324// action or resource, or specifying an identifier that is not valid. 3325// 3326// * InvalidParameterException 3327// The specified parameter is invalid. Review the available parameters for the 3328// API request. 3329// 3330// * ClusterNotFoundException 3331// The specified cluster could not be found. You can view your available clusters 3332// with ListClusters. Amazon ECS clusters are Region-specific. 3333// 3334// * ServiceNotFoundException 3335// The specified service could not be found. You can view your available services 3336// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 3337// 3338// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasks 3339func (c *ECS) ListTasks(input *ListTasksInput) (*ListTasksOutput, error) { 3340 req, out := c.ListTasksRequest(input) 3341 return out, req.Send() 3342} 3343 3344// ListTasksWithContext is the same as ListTasks with the addition of 3345// the ability to pass a context and additional request options. 3346// 3347// See ListTasks for details on how to use this API operation. 3348// 3349// The context must be non-nil and will be used for request cancellation. If 3350// the context is nil a panic will occur. In the future the SDK may create 3351// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3352// for more information on using Contexts. 3353func (c *ECS) ListTasksWithContext(ctx aws.Context, input *ListTasksInput, opts ...request.Option) (*ListTasksOutput, error) { 3354 req, out := c.ListTasksRequest(input) 3355 req.SetContext(ctx) 3356 req.ApplyOptions(opts...) 3357 return out, req.Send() 3358} 3359 3360// ListTasksPages iterates over the pages of a ListTasks operation, 3361// calling the "fn" function with the response data for each page. To stop 3362// iterating, return false from the fn function. 3363// 3364// See ListTasks method for more information on how to use this operation. 3365// 3366// Note: This operation can generate multiple requests to a service. 3367// 3368// // Example iterating over at most 3 pages of a ListTasks operation. 3369// pageNum := 0 3370// err := client.ListTasksPages(params, 3371// func(page *ecs.ListTasksOutput, lastPage bool) bool { 3372// pageNum++ 3373// fmt.Println(page) 3374// return pageNum <= 3 3375// }) 3376// 3377func (c *ECS) ListTasksPages(input *ListTasksInput, fn func(*ListTasksOutput, bool) bool) error { 3378 return c.ListTasksPagesWithContext(aws.BackgroundContext(), input, fn) 3379} 3380 3381// ListTasksPagesWithContext same as ListTasksPages except 3382// it takes a Context and allows setting request options on the pages. 3383// 3384// The context must be non-nil and will be used for request cancellation. If 3385// the context is nil a panic will occur. In the future the SDK may create 3386// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3387// for more information on using Contexts. 3388func (c *ECS) ListTasksPagesWithContext(ctx aws.Context, input *ListTasksInput, fn func(*ListTasksOutput, bool) bool, opts ...request.Option) error { 3389 p := request.Pagination{ 3390 NewRequest: func() (*request.Request, error) { 3391 var inCpy *ListTasksInput 3392 if input != nil { 3393 tmp := *input 3394 inCpy = &tmp 3395 } 3396 req, _ := c.ListTasksRequest(inCpy) 3397 req.SetContext(ctx) 3398 req.ApplyOptions(opts...) 3399 return req, nil 3400 }, 3401 } 3402 3403 for p.Next() { 3404 if !fn(p.Page().(*ListTasksOutput), !p.HasNextPage()) { 3405 break 3406 } 3407 } 3408 3409 return p.Err() 3410} 3411 3412const opPutAccountSetting = "PutAccountSetting" 3413 3414// PutAccountSettingRequest generates a "aws/request.Request" representing the 3415// client's request for the PutAccountSetting operation. The "output" return 3416// value will be populated with the request's response once the request completes 3417// successfully. 3418// 3419// Use "Send" method on the returned Request to send the API call to the service. 3420// the "output" return value is not valid until after Send returns without error. 3421// 3422// See PutAccountSetting for more information on using the PutAccountSetting 3423// API call, and error handling. 3424// 3425// This method is useful when you want to inject custom logic or configuration 3426// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3427// 3428// 3429// // Example sending a request using the PutAccountSettingRequest method. 3430// req, resp := client.PutAccountSettingRequest(params) 3431// 3432// err := req.Send() 3433// if err == nil { // resp is now filled 3434// fmt.Println(resp) 3435// } 3436// 3437// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3438func (c *ECS) PutAccountSettingRequest(input *PutAccountSettingInput) (req *request.Request, output *PutAccountSettingOutput) { 3439 op := &request.Operation{ 3440 Name: opPutAccountSetting, 3441 HTTPMethod: "POST", 3442 HTTPPath: "/", 3443 } 3444 3445 if input == nil { 3446 input = &PutAccountSettingInput{} 3447 } 3448 3449 output = &PutAccountSettingOutput{} 3450 req = c.newRequest(op, input, output) 3451 return 3452} 3453 3454// PutAccountSetting API operation for Amazon EC2 Container Service. 3455// 3456// Modifies an account setting. Account settings are set on a per-Region basis. 3457// 3458// If you change the account setting for the root user, the default settings 3459// for all of the IAM users and roles for which no individual account setting 3460// has been specified are reset. For more information, see Account Settings 3461// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html) 3462// in the Amazon Elastic Container Service Developer Guide. 3463// 3464// When serviceLongArnFormat, taskLongArnFormat, or containerInstanceLongArnFormat 3465// are specified, the Amazon Resource Name (ARN) and resource ID format of the 3466// resource type for a specified IAM user, IAM role, or the root user for an 3467// account is affected. The opt-in and opt-out account setting must be set for 3468// each Amazon ECS resource separately. The ARN and resource ID format of a 3469// resource will be defined by the opt-in status of the IAM user or role that 3470// created the resource. You must enable this setting to use Amazon ECS features 3471// such as resource tagging. 3472// 3473// When awsvpcTrunking is specified, the elastic network interface (ENI) limit 3474// for any new container instances that support the feature is changed. If awsvpcTrunking 3475// is enabled, any new container instances that support the feature are launched 3476// have the increased ENI limits available to them. For more information, see 3477// Elastic Network Interface Trunking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html) 3478// in the Amazon Elastic Container Service Developer Guide. 3479// 3480// When containerInsights is specified, the default setting indicating whether 3481// CloudWatch Container Insights is enabled for your clusters is changed. If 3482// containerInsights is enabled, any new clusters that are created will have 3483// Container Insights enabled unless you disable it during cluster creation. 3484// For more information, see CloudWatch Container Insights (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html) 3485// in the Amazon Elastic Container Service Developer Guide. 3486// 3487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3488// with awserr.Error's Code and Message methods to get detailed information about 3489// the error. 3490// 3491// See the AWS API reference guide for Amazon EC2 Container Service's 3492// API operation PutAccountSetting for usage and error information. 3493// 3494// Returned Error Types: 3495// * ServerException 3496// These errors are usually caused by a server issue. 3497// 3498// * ClientException 3499// These errors are usually caused by a client action, such as using an action 3500// or resource on behalf of a user that doesn't have permissions to use the 3501// action or resource, or specifying an identifier that is not valid. 3502// 3503// * InvalidParameterException 3504// The specified parameter is invalid. Review the available parameters for the 3505// API request. 3506// 3507// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting 3508func (c *ECS) PutAccountSetting(input *PutAccountSettingInput) (*PutAccountSettingOutput, error) { 3509 req, out := c.PutAccountSettingRequest(input) 3510 return out, req.Send() 3511} 3512 3513// PutAccountSettingWithContext is the same as PutAccountSetting with the addition of 3514// the ability to pass a context and additional request options. 3515// 3516// See PutAccountSetting for details on how to use this API operation. 3517// 3518// The context must be non-nil and will be used for request cancellation. If 3519// the context is nil a panic will occur. In the future the SDK may create 3520// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3521// for more information on using Contexts. 3522func (c *ECS) PutAccountSettingWithContext(ctx aws.Context, input *PutAccountSettingInput, opts ...request.Option) (*PutAccountSettingOutput, error) { 3523 req, out := c.PutAccountSettingRequest(input) 3524 req.SetContext(ctx) 3525 req.ApplyOptions(opts...) 3526 return out, req.Send() 3527} 3528 3529const opPutAccountSettingDefault = "PutAccountSettingDefault" 3530 3531// PutAccountSettingDefaultRequest generates a "aws/request.Request" representing the 3532// client's request for the PutAccountSettingDefault operation. The "output" return 3533// value will be populated with the request's response once the request completes 3534// successfully. 3535// 3536// Use "Send" method on the returned Request to send the API call to the service. 3537// the "output" return value is not valid until after Send returns without error. 3538// 3539// See PutAccountSettingDefault for more information on using the PutAccountSettingDefault 3540// API call, and error handling. 3541// 3542// This method is useful when you want to inject custom logic or configuration 3543// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3544// 3545// 3546// // Example sending a request using the PutAccountSettingDefaultRequest method. 3547// req, resp := client.PutAccountSettingDefaultRequest(params) 3548// 3549// err := req.Send() 3550// if err == nil { // resp is now filled 3551// fmt.Println(resp) 3552// } 3553// 3554// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3555func (c *ECS) PutAccountSettingDefaultRequest(input *PutAccountSettingDefaultInput) (req *request.Request, output *PutAccountSettingDefaultOutput) { 3556 op := &request.Operation{ 3557 Name: opPutAccountSettingDefault, 3558 HTTPMethod: "POST", 3559 HTTPPath: "/", 3560 } 3561 3562 if input == nil { 3563 input = &PutAccountSettingDefaultInput{} 3564 } 3565 3566 output = &PutAccountSettingDefaultOutput{} 3567 req = c.newRequest(op, input, output) 3568 return 3569} 3570 3571// PutAccountSettingDefault API operation for Amazon EC2 Container Service. 3572// 3573// Modifies an account setting for all IAM users on an account for whom no individual 3574// account setting has been specified. Account settings are set on a per-Region 3575// basis. 3576// 3577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3578// with awserr.Error's Code and Message methods to get detailed information about 3579// the error. 3580// 3581// See the AWS API reference guide for Amazon EC2 Container Service's 3582// API operation PutAccountSettingDefault for usage and error information. 3583// 3584// Returned Error Types: 3585// * ServerException 3586// These errors are usually caused by a server issue. 3587// 3588// * ClientException 3589// These errors are usually caused by a client action, such as using an action 3590// or resource on behalf of a user that doesn't have permissions to use the 3591// action or resource, or specifying an identifier that is not valid. 3592// 3593// * InvalidParameterException 3594// The specified parameter is invalid. Review the available parameters for the 3595// API request. 3596// 3597// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingDefault 3598func (c *ECS) PutAccountSettingDefault(input *PutAccountSettingDefaultInput) (*PutAccountSettingDefaultOutput, error) { 3599 req, out := c.PutAccountSettingDefaultRequest(input) 3600 return out, req.Send() 3601} 3602 3603// PutAccountSettingDefaultWithContext is the same as PutAccountSettingDefault with the addition of 3604// the ability to pass a context and additional request options. 3605// 3606// See PutAccountSettingDefault for details on how to use this API operation. 3607// 3608// The context must be non-nil and will be used for request cancellation. If 3609// the context is nil a panic will occur. In the future the SDK may create 3610// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3611// for more information on using Contexts. 3612func (c *ECS) PutAccountSettingDefaultWithContext(ctx aws.Context, input *PutAccountSettingDefaultInput, opts ...request.Option) (*PutAccountSettingDefaultOutput, error) { 3613 req, out := c.PutAccountSettingDefaultRequest(input) 3614 req.SetContext(ctx) 3615 req.ApplyOptions(opts...) 3616 return out, req.Send() 3617} 3618 3619const opPutAttributes = "PutAttributes" 3620 3621// PutAttributesRequest generates a "aws/request.Request" representing the 3622// client's request for the PutAttributes operation. The "output" return 3623// value will be populated with the request's response once the request completes 3624// successfully. 3625// 3626// Use "Send" method on the returned Request to send the API call to the service. 3627// the "output" return value is not valid until after Send returns without error. 3628// 3629// See PutAttributes for more information on using the PutAttributes 3630// API call, and error handling. 3631// 3632// This method is useful when you want to inject custom logic or configuration 3633// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3634// 3635// 3636// // Example sending a request using the PutAttributesRequest method. 3637// req, resp := client.PutAttributesRequest(params) 3638// 3639// err := req.Send() 3640// if err == nil { // resp is now filled 3641// fmt.Println(resp) 3642// } 3643// 3644// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3645func (c *ECS) PutAttributesRequest(input *PutAttributesInput) (req *request.Request, output *PutAttributesOutput) { 3646 op := &request.Operation{ 3647 Name: opPutAttributes, 3648 HTTPMethod: "POST", 3649 HTTPPath: "/", 3650 } 3651 3652 if input == nil { 3653 input = &PutAttributesInput{} 3654 } 3655 3656 output = &PutAttributesOutput{} 3657 req = c.newRequest(op, input, output) 3658 return 3659} 3660 3661// PutAttributes API operation for Amazon EC2 Container Service. 3662// 3663// Create or update an attribute on an Amazon ECS resource. If the attribute 3664// does not exist, it is created. If the attribute exists, its value is replaced 3665// with the specified value. To delete an attribute, use DeleteAttributes. For 3666// more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 3667// in the Amazon Elastic Container Service Developer Guide. 3668// 3669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3670// with awserr.Error's Code and Message methods to get detailed information about 3671// the error. 3672// 3673// See the AWS API reference guide for Amazon EC2 Container Service's 3674// API operation PutAttributes for usage and error information. 3675// 3676// Returned Error Types: 3677// * ClusterNotFoundException 3678// The specified cluster could not be found. You can view your available clusters 3679// with ListClusters. Amazon ECS clusters are Region-specific. 3680// 3681// * TargetNotFoundException 3682// The specified target could not be found. You can view your available container 3683// instances with ListContainerInstances. Amazon ECS container instances are 3684// cluster-specific and Region-specific. 3685// 3686// * AttributeLimitExceededException 3687// You can apply up to 10 custom attributes per resource. You can view the attributes 3688// of a resource with ListAttributes. You can remove existing attributes on 3689// a resource with DeleteAttributes. 3690// 3691// * InvalidParameterException 3692// The specified parameter is invalid. Review the available parameters for the 3693// API request. 3694// 3695// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAttributes 3696func (c *ECS) PutAttributes(input *PutAttributesInput) (*PutAttributesOutput, error) { 3697 req, out := c.PutAttributesRequest(input) 3698 return out, req.Send() 3699} 3700 3701// PutAttributesWithContext is the same as PutAttributes with the addition of 3702// the ability to pass a context and additional request options. 3703// 3704// See PutAttributes for details on how to use this API operation. 3705// 3706// The context must be non-nil and will be used for request cancellation. If 3707// the context is nil a panic will occur. In the future the SDK may create 3708// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3709// for more information on using Contexts. 3710func (c *ECS) PutAttributesWithContext(ctx aws.Context, input *PutAttributesInput, opts ...request.Option) (*PutAttributesOutput, error) { 3711 req, out := c.PutAttributesRequest(input) 3712 req.SetContext(ctx) 3713 req.ApplyOptions(opts...) 3714 return out, req.Send() 3715} 3716 3717const opPutClusterCapacityProviders = "PutClusterCapacityProviders" 3718 3719// PutClusterCapacityProvidersRequest generates a "aws/request.Request" representing the 3720// client's request for the PutClusterCapacityProviders operation. The "output" return 3721// value will be populated with the request's response once the request completes 3722// successfully. 3723// 3724// Use "Send" method on the returned Request to send the API call to the service. 3725// the "output" return value is not valid until after Send returns without error. 3726// 3727// See PutClusterCapacityProviders for more information on using the PutClusterCapacityProviders 3728// API call, and error handling. 3729// 3730// This method is useful when you want to inject custom logic or configuration 3731// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3732// 3733// 3734// // Example sending a request using the PutClusterCapacityProvidersRequest method. 3735// req, resp := client.PutClusterCapacityProvidersRequest(params) 3736// 3737// err := req.Send() 3738// if err == nil { // resp is now filled 3739// fmt.Println(resp) 3740// } 3741// 3742// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3743func (c *ECS) PutClusterCapacityProvidersRequest(input *PutClusterCapacityProvidersInput) (req *request.Request, output *PutClusterCapacityProvidersOutput) { 3744 op := &request.Operation{ 3745 Name: opPutClusterCapacityProviders, 3746 HTTPMethod: "POST", 3747 HTTPPath: "/", 3748 } 3749 3750 if input == nil { 3751 input = &PutClusterCapacityProvidersInput{} 3752 } 3753 3754 output = &PutClusterCapacityProvidersOutput{} 3755 req = c.newRequest(op, input, output) 3756 return 3757} 3758 3759// PutClusterCapacityProviders API operation for Amazon EC2 Container Service. 3760// 3761// Modifies the available capacity providers and the default capacity provider 3762// strategy for a cluster. 3763// 3764// You must specify both the available capacity providers and a default capacity 3765// provider strategy for the cluster. If the specified cluster has existing 3766// capacity providers associated with it, you must specify all existing capacity 3767// providers in addition to any new ones you want to add. Any existing capacity 3768// providers associated with a cluster that are omitted from a PutClusterCapacityProviders 3769// API call will be disassociated with the cluster. You can only disassociate 3770// an existing capacity provider from a cluster if it's not being used by any 3771// existing tasks. 3772// 3773// When creating a service or running a task on a cluster, if no capacity provider 3774// or launch type is specified, then the cluster's default capacity provider 3775// strategy is used. It is recommended to define a default capacity provider 3776// strategy for your cluster, however you may specify an empty array ([]) to 3777// bypass defining a default strategy. 3778// 3779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3780// with awserr.Error's Code and Message methods to get detailed information about 3781// the error. 3782// 3783// See the AWS API reference guide for Amazon EC2 Container Service's 3784// API operation PutClusterCapacityProviders for usage and error information. 3785// 3786// Returned Error Types: 3787// * ServerException 3788// These errors are usually caused by a server issue. 3789// 3790// * ClientException 3791// These errors are usually caused by a client action, such as using an action 3792// or resource on behalf of a user that doesn't have permissions to use the 3793// action or resource, or specifying an identifier that is not valid. 3794// 3795// * InvalidParameterException 3796// The specified parameter is invalid. Review the available parameters for the 3797// API request. 3798// 3799// * ClusterNotFoundException 3800// The specified cluster could not be found. You can view your available clusters 3801// with ListClusters. Amazon ECS clusters are Region-specific. 3802// 3803// * ResourceInUseException 3804// The specified resource is in-use and cannot be removed. 3805// 3806// * UpdateInProgressException 3807// There is already a current Amazon ECS container agent update in progress 3808// on the specified container instance. If the container agent becomes disconnected 3809// while it is in a transitional stage, such as PENDING or STAGING, the update 3810// process can get stuck in that state. However, when the agent reconnects, 3811// it resumes where it stopped previously. 3812// 3813// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders 3814func (c *ECS) PutClusterCapacityProviders(input *PutClusterCapacityProvidersInput) (*PutClusterCapacityProvidersOutput, error) { 3815 req, out := c.PutClusterCapacityProvidersRequest(input) 3816 return out, req.Send() 3817} 3818 3819// PutClusterCapacityProvidersWithContext is the same as PutClusterCapacityProviders with the addition of 3820// the ability to pass a context and additional request options. 3821// 3822// See PutClusterCapacityProviders for details on how to use this API operation. 3823// 3824// The context must be non-nil and will be used for request cancellation. If 3825// the context is nil a panic will occur. In the future the SDK may create 3826// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3827// for more information on using Contexts. 3828func (c *ECS) PutClusterCapacityProvidersWithContext(ctx aws.Context, input *PutClusterCapacityProvidersInput, opts ...request.Option) (*PutClusterCapacityProvidersOutput, error) { 3829 req, out := c.PutClusterCapacityProvidersRequest(input) 3830 req.SetContext(ctx) 3831 req.ApplyOptions(opts...) 3832 return out, req.Send() 3833} 3834 3835const opRegisterContainerInstance = "RegisterContainerInstance" 3836 3837// RegisterContainerInstanceRequest generates a "aws/request.Request" representing the 3838// client's request for the RegisterContainerInstance operation. The "output" return 3839// value will be populated with the request's response once the request completes 3840// successfully. 3841// 3842// Use "Send" method on the returned Request to send the API call to the service. 3843// the "output" return value is not valid until after Send returns without error. 3844// 3845// See RegisterContainerInstance for more information on using the RegisterContainerInstance 3846// API call, and error handling. 3847// 3848// This method is useful when you want to inject custom logic or configuration 3849// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3850// 3851// 3852// // Example sending a request using the RegisterContainerInstanceRequest method. 3853// req, resp := client.RegisterContainerInstanceRequest(params) 3854// 3855// err := req.Send() 3856// if err == nil { // resp is now filled 3857// fmt.Println(resp) 3858// } 3859// 3860// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3861func (c *ECS) RegisterContainerInstanceRequest(input *RegisterContainerInstanceInput) (req *request.Request, output *RegisterContainerInstanceOutput) { 3862 op := &request.Operation{ 3863 Name: opRegisterContainerInstance, 3864 HTTPMethod: "POST", 3865 HTTPPath: "/", 3866 } 3867 3868 if input == nil { 3869 input = &RegisterContainerInstanceInput{} 3870 } 3871 3872 output = &RegisterContainerInstanceOutput{} 3873 req = c.newRequest(op, input, output) 3874 return 3875} 3876 3877// RegisterContainerInstance API operation for Amazon EC2 Container Service. 3878// 3879// 3880// This action is only used by the Amazon ECS agent, and it is not intended 3881// for use outside of the agent. 3882// 3883// Registers an EC2 instance into the specified cluster. This instance becomes 3884// available to place containers on. 3885// 3886// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3887// with awserr.Error's Code and Message methods to get detailed information about 3888// the error. 3889// 3890// See the AWS API reference guide for Amazon EC2 Container Service's 3891// API operation RegisterContainerInstance for usage and error information. 3892// 3893// Returned Error Types: 3894// * ServerException 3895// These errors are usually caused by a server issue. 3896// 3897// * ClientException 3898// These errors are usually caused by a client action, such as using an action 3899// or resource on behalf of a user that doesn't have permissions to use the 3900// action or resource, or specifying an identifier that is not valid. 3901// 3902// * InvalidParameterException 3903// The specified parameter is invalid. Review the available parameters for the 3904// API request. 3905// 3906// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance 3907func (c *ECS) RegisterContainerInstance(input *RegisterContainerInstanceInput) (*RegisterContainerInstanceOutput, error) { 3908 req, out := c.RegisterContainerInstanceRequest(input) 3909 return out, req.Send() 3910} 3911 3912// RegisterContainerInstanceWithContext is the same as RegisterContainerInstance with the addition of 3913// the ability to pass a context and additional request options. 3914// 3915// See RegisterContainerInstance for details on how to use this API operation. 3916// 3917// The context must be non-nil and will be used for request cancellation. If 3918// the context is nil a panic will occur. In the future the SDK may create 3919// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3920// for more information on using Contexts. 3921func (c *ECS) RegisterContainerInstanceWithContext(ctx aws.Context, input *RegisterContainerInstanceInput, opts ...request.Option) (*RegisterContainerInstanceOutput, error) { 3922 req, out := c.RegisterContainerInstanceRequest(input) 3923 req.SetContext(ctx) 3924 req.ApplyOptions(opts...) 3925 return out, req.Send() 3926} 3927 3928const opRegisterTaskDefinition = "RegisterTaskDefinition" 3929 3930// RegisterTaskDefinitionRequest generates a "aws/request.Request" representing the 3931// client's request for the RegisterTaskDefinition operation. The "output" return 3932// value will be populated with the request's response once the request completes 3933// successfully. 3934// 3935// Use "Send" method on the returned Request to send the API call to the service. 3936// the "output" return value is not valid until after Send returns without error. 3937// 3938// See RegisterTaskDefinition for more information on using the RegisterTaskDefinition 3939// API call, and error handling. 3940// 3941// This method is useful when you want to inject custom logic or configuration 3942// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3943// 3944// 3945// // Example sending a request using the RegisterTaskDefinitionRequest method. 3946// req, resp := client.RegisterTaskDefinitionRequest(params) 3947// 3948// err := req.Send() 3949// if err == nil { // resp is now filled 3950// fmt.Println(resp) 3951// } 3952// 3953// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 3954func (c *ECS) RegisterTaskDefinitionRequest(input *RegisterTaskDefinitionInput) (req *request.Request, output *RegisterTaskDefinitionOutput) { 3955 op := &request.Operation{ 3956 Name: opRegisterTaskDefinition, 3957 HTTPMethod: "POST", 3958 HTTPPath: "/", 3959 } 3960 3961 if input == nil { 3962 input = &RegisterTaskDefinitionInput{} 3963 } 3964 3965 output = &RegisterTaskDefinitionOutput{} 3966 req = c.newRequest(op, input, output) 3967 return 3968} 3969 3970// RegisterTaskDefinition API operation for Amazon EC2 Container Service. 3971// 3972// Registers a new task definition from the supplied family and containerDefinitions. 3973// Optionally, you can add data volumes to your containers with the volumes 3974// parameter. For more information about task definition parameters and defaults, 3975// see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 3976// in the Amazon Elastic Container Service Developer Guide. 3977// 3978// You can specify an IAM role for your task with the taskRoleArn parameter. 3979// When you specify an IAM role for a task, its containers can then use the 3980// latest versions of the AWS CLI or SDKs to make API requests to the AWS services 3981// that are specified in the IAM policy associated with the role. For more information, 3982// see IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 3983// in the Amazon Elastic Container Service Developer Guide. 3984// 3985// You can specify a Docker networking mode for the containers in your task 3986// definition with the networkMode parameter. The available network modes correspond 3987// to those described in Network settings (https://docs.docker.com/engine/reference/run/#/network-settings) 3988// in the Docker run reference. If you specify the awsvpc network mode, the 3989// task is allocated an elastic network interface, and you must specify a NetworkConfiguration 3990// when you create a service or run a task with the task definition. For more 3991// information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 3992// in the Amazon Elastic Container Service Developer Guide. 3993// 3994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3995// with awserr.Error's Code and Message methods to get detailed information about 3996// the error. 3997// 3998// See the AWS API reference guide for Amazon EC2 Container Service's 3999// API operation RegisterTaskDefinition for usage and error information. 4000// 4001// Returned Error Types: 4002// * ServerException 4003// These errors are usually caused by a server issue. 4004// 4005// * ClientException 4006// These errors are usually caused by a client action, such as using an action 4007// or resource on behalf of a user that doesn't have permissions to use the 4008// action or resource, or specifying an identifier that is not valid. 4009// 4010// * InvalidParameterException 4011// The specified parameter is invalid. Review the available parameters for the 4012// API request. 4013// 4014// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition 4015func (c *ECS) RegisterTaskDefinition(input *RegisterTaskDefinitionInput) (*RegisterTaskDefinitionOutput, error) { 4016 req, out := c.RegisterTaskDefinitionRequest(input) 4017 return out, req.Send() 4018} 4019 4020// RegisterTaskDefinitionWithContext is the same as RegisterTaskDefinition with the addition of 4021// the ability to pass a context and additional request options. 4022// 4023// See RegisterTaskDefinition for details on how to use this API operation. 4024// 4025// The context must be non-nil and will be used for request cancellation. If 4026// the context is nil a panic will occur. In the future the SDK may create 4027// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4028// for more information on using Contexts. 4029func (c *ECS) RegisterTaskDefinitionWithContext(ctx aws.Context, input *RegisterTaskDefinitionInput, opts ...request.Option) (*RegisterTaskDefinitionOutput, error) { 4030 req, out := c.RegisterTaskDefinitionRequest(input) 4031 req.SetContext(ctx) 4032 req.ApplyOptions(opts...) 4033 return out, req.Send() 4034} 4035 4036const opRunTask = "RunTask" 4037 4038// RunTaskRequest generates a "aws/request.Request" representing the 4039// client's request for the RunTask operation. The "output" return 4040// value will be populated with the request's response once the request completes 4041// successfully. 4042// 4043// Use "Send" method on the returned Request to send the API call to the service. 4044// the "output" return value is not valid until after Send returns without error. 4045// 4046// See RunTask for more information on using the RunTask 4047// API call, and error handling. 4048// 4049// This method is useful when you want to inject custom logic or configuration 4050// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4051// 4052// 4053// // Example sending a request using the RunTaskRequest method. 4054// req, resp := client.RunTaskRequest(params) 4055// 4056// err := req.Send() 4057// if err == nil { // resp is now filled 4058// fmt.Println(resp) 4059// } 4060// 4061// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4062func (c *ECS) RunTaskRequest(input *RunTaskInput) (req *request.Request, output *RunTaskOutput) { 4063 op := &request.Operation{ 4064 Name: opRunTask, 4065 HTTPMethod: "POST", 4066 HTTPPath: "/", 4067 } 4068 4069 if input == nil { 4070 input = &RunTaskInput{} 4071 } 4072 4073 output = &RunTaskOutput{} 4074 req = c.newRequest(op, input, output) 4075 return 4076} 4077 4078// RunTask API operation for Amazon EC2 Container Service. 4079// 4080// Starts a new task using the specified task definition. 4081// 4082// You can allow Amazon ECS to place tasks for you, or you can customize how 4083// Amazon ECS places tasks using placement constraints and placement strategies. 4084// For more information, see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4085// in the Amazon Elastic Container Service Developer Guide. 4086// 4087// Alternatively, you can use StartTask to use your own scheduler or place tasks 4088// manually on specific container instances. 4089// 4090// The Amazon ECS API follows an eventual consistency model, due to the distributed 4091// nature of the system supporting the API. This means that the result of an 4092// API command you run that affects your Amazon ECS resources might not be immediately 4093// visible to all subsequent commands you run. Keep this in mind when you carry 4094// out an API command that immediately follows a previous API command. 4095// 4096// To manage eventual consistency, you can do the following: 4097// 4098// * Confirm the state of the resource before you run a command to modify 4099// it. Run the DescribeTasks command using an exponential backoff algorithm 4100// to ensure that you allow enough time for the previous command to propagate 4101// through the system. To do this, run the DescribeTasks command repeatedly, 4102// starting with a couple of seconds of wait time and increasing gradually 4103// up to five minutes of wait time. 4104// 4105// * Add wait time between subsequent commands, even if the DescribeTasks 4106// command returns an accurate response. Apply an exponential backoff algorithm 4107// starting with a couple of seconds of wait time, and increase gradually 4108// up to about five minutes of wait time. 4109// 4110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4111// with awserr.Error's Code and Message methods to get detailed information about 4112// the error. 4113// 4114// See the AWS API reference guide for Amazon EC2 Container Service's 4115// API operation RunTask for usage and error information. 4116// 4117// Returned Error Types: 4118// * ServerException 4119// These errors are usually caused by a server issue. 4120// 4121// * ClientException 4122// These errors are usually caused by a client action, such as using an action 4123// or resource on behalf of a user that doesn't have permissions to use the 4124// action or resource, or specifying an identifier that is not valid. 4125// 4126// * InvalidParameterException 4127// The specified parameter is invalid. Review the available parameters for the 4128// API request. 4129// 4130// * ClusterNotFoundException 4131// The specified cluster could not be found. You can view your available clusters 4132// with ListClusters. Amazon ECS clusters are Region-specific. 4133// 4134// * UnsupportedFeatureException 4135// The specified task is not supported in this Region. 4136// 4137// * PlatformUnknownException 4138// The specified platform version does not exist. 4139// 4140// * PlatformTaskDefinitionIncompatibilityException 4141// The specified platform version does not satisfy the task definition's required 4142// capabilities. 4143// 4144// * AccessDeniedException 4145// You do not have authorization to perform the requested action. 4146// 4147// * BlockedException 4148// Your AWS account has been blocked. For more information, contact AWS Support 4149// (http://aws.amazon.com/contact-us/). 4150// 4151// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTask 4152func (c *ECS) RunTask(input *RunTaskInput) (*RunTaskOutput, error) { 4153 req, out := c.RunTaskRequest(input) 4154 return out, req.Send() 4155} 4156 4157// RunTaskWithContext is the same as RunTask with the addition of 4158// the ability to pass a context and additional request options. 4159// 4160// See RunTask for details on how to use this API operation. 4161// 4162// The context must be non-nil and will be used for request cancellation. If 4163// the context is nil a panic will occur. In the future the SDK may create 4164// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4165// for more information on using Contexts. 4166func (c *ECS) RunTaskWithContext(ctx aws.Context, input *RunTaskInput, opts ...request.Option) (*RunTaskOutput, error) { 4167 req, out := c.RunTaskRequest(input) 4168 req.SetContext(ctx) 4169 req.ApplyOptions(opts...) 4170 return out, req.Send() 4171} 4172 4173const opStartTask = "StartTask" 4174 4175// StartTaskRequest generates a "aws/request.Request" representing the 4176// client's request for the StartTask operation. The "output" return 4177// value will be populated with the request's response once the request completes 4178// successfully. 4179// 4180// Use "Send" method on the returned Request to send the API call to the service. 4181// the "output" return value is not valid until after Send returns without error. 4182// 4183// See StartTask for more information on using the StartTask 4184// API call, and error handling. 4185// 4186// This method is useful when you want to inject custom logic or configuration 4187// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4188// 4189// 4190// // Example sending a request using the StartTaskRequest method. 4191// req, resp := client.StartTaskRequest(params) 4192// 4193// err := req.Send() 4194// if err == nil { // resp is now filled 4195// fmt.Println(resp) 4196// } 4197// 4198// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4199func (c *ECS) StartTaskRequest(input *StartTaskInput) (req *request.Request, output *StartTaskOutput) { 4200 op := &request.Operation{ 4201 Name: opStartTask, 4202 HTTPMethod: "POST", 4203 HTTPPath: "/", 4204 } 4205 4206 if input == nil { 4207 input = &StartTaskInput{} 4208 } 4209 4210 output = &StartTaskOutput{} 4211 req = c.newRequest(op, input, output) 4212 return 4213} 4214 4215// StartTask API operation for Amazon EC2 Container Service. 4216// 4217// Starts a new task from the specified task definition on the specified container 4218// instance or instances. 4219// 4220// Alternatively, you can use RunTask to place tasks for you. For more information, 4221// see Scheduling Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html) 4222// in the Amazon Elastic Container Service Developer Guide. 4223// 4224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4225// with awserr.Error's Code and Message methods to get detailed information about 4226// the error. 4227// 4228// See the AWS API reference guide for Amazon EC2 Container Service's 4229// API operation StartTask for usage and error information. 4230// 4231// Returned Error Types: 4232// * ServerException 4233// These errors are usually caused by a server issue. 4234// 4235// * ClientException 4236// These errors are usually caused by a client action, such as using an action 4237// or resource on behalf of a user that doesn't have permissions to use the 4238// action or resource, or specifying an identifier that is not valid. 4239// 4240// * InvalidParameterException 4241// The specified parameter is invalid. Review the available parameters for the 4242// API request. 4243// 4244// * ClusterNotFoundException 4245// The specified cluster could not be found. You can view your available clusters 4246// with ListClusters. Amazon ECS clusters are Region-specific. 4247// 4248// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTask 4249func (c *ECS) StartTask(input *StartTaskInput) (*StartTaskOutput, error) { 4250 req, out := c.StartTaskRequest(input) 4251 return out, req.Send() 4252} 4253 4254// StartTaskWithContext is the same as StartTask with the addition of 4255// the ability to pass a context and additional request options. 4256// 4257// See StartTask for details on how to use this API operation. 4258// 4259// The context must be non-nil and will be used for request cancellation. If 4260// the context is nil a panic will occur. In the future the SDK may create 4261// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4262// for more information on using Contexts. 4263func (c *ECS) StartTaskWithContext(ctx aws.Context, input *StartTaskInput, opts ...request.Option) (*StartTaskOutput, error) { 4264 req, out := c.StartTaskRequest(input) 4265 req.SetContext(ctx) 4266 req.ApplyOptions(opts...) 4267 return out, req.Send() 4268} 4269 4270const opStopTask = "StopTask" 4271 4272// StopTaskRequest generates a "aws/request.Request" representing the 4273// client's request for the StopTask operation. The "output" return 4274// value will be populated with the request's response once the request completes 4275// successfully. 4276// 4277// Use "Send" method on the returned Request to send the API call to the service. 4278// the "output" return value is not valid until after Send returns without error. 4279// 4280// See StopTask for more information on using the StopTask 4281// API call, and error handling. 4282// 4283// This method is useful when you want to inject custom logic or configuration 4284// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4285// 4286// 4287// // Example sending a request using the StopTaskRequest method. 4288// req, resp := client.StopTaskRequest(params) 4289// 4290// err := req.Send() 4291// if err == nil { // resp is now filled 4292// fmt.Println(resp) 4293// } 4294// 4295// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4296func (c *ECS) StopTaskRequest(input *StopTaskInput) (req *request.Request, output *StopTaskOutput) { 4297 op := &request.Operation{ 4298 Name: opStopTask, 4299 HTTPMethod: "POST", 4300 HTTPPath: "/", 4301 } 4302 4303 if input == nil { 4304 input = &StopTaskInput{} 4305 } 4306 4307 output = &StopTaskOutput{} 4308 req = c.newRequest(op, input, output) 4309 return 4310} 4311 4312// StopTask API operation for Amazon EC2 Container Service. 4313// 4314// Stops a running task. Any tags associated with the task will be deleted. 4315// 4316// When StopTask is called on a task, the equivalent of docker stop is issued 4317// to the containers running in the task. This results in a SIGTERM value and 4318// a default 30-second timeout, after which the SIGKILL value is sent and the 4319// containers are forcibly stopped. If the container handles the SIGTERM value 4320// gracefully and exits within 30 seconds from receiving it, no SIGKILL value 4321// is sent. 4322// 4323// The default 30-second timeout can be configured on the Amazon ECS container 4324// agent with the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, 4325// see Amazon ECS Container Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 4326// in the Amazon Elastic Container Service Developer Guide. 4327// 4328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4329// with awserr.Error's Code and Message methods to get detailed information about 4330// the error. 4331// 4332// See the AWS API reference guide for Amazon EC2 Container Service's 4333// API operation StopTask for usage and error information. 4334// 4335// Returned Error Types: 4336// * ServerException 4337// These errors are usually caused by a server issue. 4338// 4339// * ClientException 4340// These errors are usually caused by a client action, such as using an action 4341// or resource on behalf of a user that doesn't have permissions to use the 4342// action or resource, or specifying an identifier that is not valid. 4343// 4344// * InvalidParameterException 4345// The specified parameter is invalid. Review the available parameters for the 4346// API request. 4347// 4348// * ClusterNotFoundException 4349// The specified cluster could not be found. You can view your available clusters 4350// with ListClusters. Amazon ECS clusters are Region-specific. 4351// 4352// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask 4353func (c *ECS) StopTask(input *StopTaskInput) (*StopTaskOutput, error) { 4354 req, out := c.StopTaskRequest(input) 4355 return out, req.Send() 4356} 4357 4358// StopTaskWithContext is the same as StopTask with the addition of 4359// the ability to pass a context and additional request options. 4360// 4361// See StopTask for details on how to use this API operation. 4362// 4363// The context must be non-nil and will be used for request cancellation. If 4364// the context is nil a panic will occur. In the future the SDK may create 4365// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4366// for more information on using Contexts. 4367func (c *ECS) StopTaskWithContext(ctx aws.Context, input *StopTaskInput, opts ...request.Option) (*StopTaskOutput, error) { 4368 req, out := c.StopTaskRequest(input) 4369 req.SetContext(ctx) 4370 req.ApplyOptions(opts...) 4371 return out, req.Send() 4372} 4373 4374const opSubmitAttachmentStateChanges = "SubmitAttachmentStateChanges" 4375 4376// SubmitAttachmentStateChangesRequest generates a "aws/request.Request" representing the 4377// client's request for the SubmitAttachmentStateChanges operation. The "output" return 4378// value will be populated with the request's response once the request completes 4379// successfully. 4380// 4381// Use "Send" method on the returned Request to send the API call to the service. 4382// the "output" return value is not valid until after Send returns without error. 4383// 4384// See SubmitAttachmentStateChanges for more information on using the SubmitAttachmentStateChanges 4385// API call, and error handling. 4386// 4387// This method is useful when you want to inject custom logic or configuration 4388// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4389// 4390// 4391// // Example sending a request using the SubmitAttachmentStateChangesRequest method. 4392// req, resp := client.SubmitAttachmentStateChangesRequest(params) 4393// 4394// err := req.Send() 4395// if err == nil { // resp is now filled 4396// fmt.Println(resp) 4397// } 4398// 4399// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4400func (c *ECS) SubmitAttachmentStateChangesRequest(input *SubmitAttachmentStateChangesInput) (req *request.Request, output *SubmitAttachmentStateChangesOutput) { 4401 op := &request.Operation{ 4402 Name: opSubmitAttachmentStateChanges, 4403 HTTPMethod: "POST", 4404 HTTPPath: "/", 4405 } 4406 4407 if input == nil { 4408 input = &SubmitAttachmentStateChangesInput{} 4409 } 4410 4411 output = &SubmitAttachmentStateChangesOutput{} 4412 req = c.newRequest(op, input, output) 4413 return 4414} 4415 4416// SubmitAttachmentStateChanges API operation for Amazon EC2 Container Service. 4417// 4418// 4419// This action is only used by the Amazon ECS agent, and it is not intended 4420// for use outside of the agent. 4421// 4422// Sent to acknowledge that an attachment changed states. 4423// 4424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4425// with awserr.Error's Code and Message methods to get detailed information about 4426// the error. 4427// 4428// See the AWS API reference guide for Amazon EC2 Container Service's 4429// API operation SubmitAttachmentStateChanges for usage and error information. 4430// 4431// Returned Error Types: 4432// * ServerException 4433// These errors are usually caused by a server issue. 4434// 4435// * ClientException 4436// These errors are usually caused by a client action, such as using an action 4437// or resource on behalf of a user that doesn't have permissions to use the 4438// action or resource, or specifying an identifier that is not valid. 4439// 4440// * AccessDeniedException 4441// You do not have authorization to perform the requested action. 4442// 4443// * InvalidParameterException 4444// The specified parameter is invalid. Review the available parameters for the 4445// API request. 4446// 4447// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitAttachmentStateChanges 4448func (c *ECS) SubmitAttachmentStateChanges(input *SubmitAttachmentStateChangesInput) (*SubmitAttachmentStateChangesOutput, error) { 4449 req, out := c.SubmitAttachmentStateChangesRequest(input) 4450 return out, req.Send() 4451} 4452 4453// SubmitAttachmentStateChangesWithContext is the same as SubmitAttachmentStateChanges with the addition of 4454// the ability to pass a context and additional request options. 4455// 4456// See SubmitAttachmentStateChanges for details on how to use this API operation. 4457// 4458// The context must be non-nil and will be used for request cancellation. If 4459// the context is nil a panic will occur. In the future the SDK may create 4460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4461// for more information on using Contexts. 4462func (c *ECS) SubmitAttachmentStateChangesWithContext(ctx aws.Context, input *SubmitAttachmentStateChangesInput, opts ...request.Option) (*SubmitAttachmentStateChangesOutput, error) { 4463 req, out := c.SubmitAttachmentStateChangesRequest(input) 4464 req.SetContext(ctx) 4465 req.ApplyOptions(opts...) 4466 return out, req.Send() 4467} 4468 4469const opSubmitContainerStateChange = "SubmitContainerStateChange" 4470 4471// SubmitContainerStateChangeRequest generates a "aws/request.Request" representing the 4472// client's request for the SubmitContainerStateChange operation. The "output" return 4473// value will be populated with the request's response once the request completes 4474// successfully. 4475// 4476// Use "Send" method on the returned Request to send the API call to the service. 4477// the "output" return value is not valid until after Send returns without error. 4478// 4479// See SubmitContainerStateChange for more information on using the SubmitContainerStateChange 4480// API call, and error handling. 4481// 4482// This method is useful when you want to inject custom logic or configuration 4483// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4484// 4485// 4486// // Example sending a request using the SubmitContainerStateChangeRequest method. 4487// req, resp := client.SubmitContainerStateChangeRequest(params) 4488// 4489// err := req.Send() 4490// if err == nil { // resp is now filled 4491// fmt.Println(resp) 4492// } 4493// 4494// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4495func (c *ECS) SubmitContainerStateChangeRequest(input *SubmitContainerStateChangeInput) (req *request.Request, output *SubmitContainerStateChangeOutput) { 4496 op := &request.Operation{ 4497 Name: opSubmitContainerStateChange, 4498 HTTPMethod: "POST", 4499 HTTPPath: "/", 4500 } 4501 4502 if input == nil { 4503 input = &SubmitContainerStateChangeInput{} 4504 } 4505 4506 output = &SubmitContainerStateChangeOutput{} 4507 req = c.newRequest(op, input, output) 4508 return 4509} 4510 4511// SubmitContainerStateChange API operation for Amazon EC2 Container Service. 4512// 4513// 4514// This action is only used by the Amazon ECS agent, and it is not intended 4515// for use outside of the agent. 4516// 4517// Sent to acknowledge that a container changed states. 4518// 4519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4520// with awserr.Error's Code and Message methods to get detailed information about 4521// the error. 4522// 4523// See the AWS API reference guide for Amazon EC2 Container Service's 4524// API operation SubmitContainerStateChange for usage and error information. 4525// 4526// Returned Error Types: 4527// * ServerException 4528// These errors are usually caused by a server issue. 4529// 4530// * ClientException 4531// These errors are usually caused by a client action, such as using an action 4532// or resource on behalf of a user that doesn't have permissions to use the 4533// action or resource, or specifying an identifier that is not valid. 4534// 4535// * AccessDeniedException 4536// You do not have authorization to perform the requested action. 4537// 4538// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitContainerStateChange 4539func (c *ECS) SubmitContainerStateChange(input *SubmitContainerStateChangeInput) (*SubmitContainerStateChangeOutput, error) { 4540 req, out := c.SubmitContainerStateChangeRequest(input) 4541 return out, req.Send() 4542} 4543 4544// SubmitContainerStateChangeWithContext is the same as SubmitContainerStateChange with the addition of 4545// the ability to pass a context and additional request options. 4546// 4547// See SubmitContainerStateChange for details on how to use this API operation. 4548// 4549// The context must be non-nil and will be used for request cancellation. If 4550// the context is nil a panic will occur. In the future the SDK may create 4551// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4552// for more information on using Contexts. 4553func (c *ECS) SubmitContainerStateChangeWithContext(ctx aws.Context, input *SubmitContainerStateChangeInput, opts ...request.Option) (*SubmitContainerStateChangeOutput, error) { 4554 req, out := c.SubmitContainerStateChangeRequest(input) 4555 req.SetContext(ctx) 4556 req.ApplyOptions(opts...) 4557 return out, req.Send() 4558} 4559 4560const opSubmitTaskStateChange = "SubmitTaskStateChange" 4561 4562// SubmitTaskStateChangeRequest generates a "aws/request.Request" representing the 4563// client's request for the SubmitTaskStateChange operation. The "output" return 4564// value will be populated with the request's response once the request completes 4565// successfully. 4566// 4567// Use "Send" method on the returned Request to send the API call to the service. 4568// the "output" return value is not valid until after Send returns without error. 4569// 4570// See SubmitTaskStateChange for more information on using the SubmitTaskStateChange 4571// API call, and error handling. 4572// 4573// This method is useful when you want to inject custom logic or configuration 4574// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4575// 4576// 4577// // Example sending a request using the SubmitTaskStateChangeRequest method. 4578// req, resp := client.SubmitTaskStateChangeRequest(params) 4579// 4580// err := req.Send() 4581// if err == nil { // resp is now filled 4582// fmt.Println(resp) 4583// } 4584// 4585// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4586func (c *ECS) SubmitTaskStateChangeRequest(input *SubmitTaskStateChangeInput) (req *request.Request, output *SubmitTaskStateChangeOutput) { 4587 op := &request.Operation{ 4588 Name: opSubmitTaskStateChange, 4589 HTTPMethod: "POST", 4590 HTTPPath: "/", 4591 } 4592 4593 if input == nil { 4594 input = &SubmitTaskStateChangeInput{} 4595 } 4596 4597 output = &SubmitTaskStateChangeOutput{} 4598 req = c.newRequest(op, input, output) 4599 return 4600} 4601 4602// SubmitTaskStateChange API operation for Amazon EC2 Container Service. 4603// 4604// 4605// This action is only used by the Amazon ECS agent, and it is not intended 4606// for use outside of the agent. 4607// 4608// Sent to acknowledge that a task changed states. 4609// 4610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4611// with awserr.Error's Code and Message methods to get detailed information about 4612// the error. 4613// 4614// See the AWS API reference guide for Amazon EC2 Container Service's 4615// API operation SubmitTaskStateChange for usage and error information. 4616// 4617// Returned Error Types: 4618// * ServerException 4619// These errors are usually caused by a server issue. 4620// 4621// * ClientException 4622// These errors are usually caused by a client action, such as using an action 4623// or resource on behalf of a user that doesn't have permissions to use the 4624// action or resource, or specifying an identifier that is not valid. 4625// 4626// * AccessDeniedException 4627// You do not have authorization to perform the requested action. 4628// 4629// * InvalidParameterException 4630// The specified parameter is invalid. Review the available parameters for the 4631// API request. 4632// 4633// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChange 4634func (c *ECS) SubmitTaskStateChange(input *SubmitTaskStateChangeInput) (*SubmitTaskStateChangeOutput, error) { 4635 req, out := c.SubmitTaskStateChangeRequest(input) 4636 return out, req.Send() 4637} 4638 4639// SubmitTaskStateChangeWithContext is the same as SubmitTaskStateChange with the addition of 4640// the ability to pass a context and additional request options. 4641// 4642// See SubmitTaskStateChange for details on how to use this API operation. 4643// 4644// The context must be non-nil and will be used for request cancellation. If 4645// the context is nil a panic will occur. In the future the SDK may create 4646// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4647// for more information on using Contexts. 4648func (c *ECS) SubmitTaskStateChangeWithContext(ctx aws.Context, input *SubmitTaskStateChangeInput, opts ...request.Option) (*SubmitTaskStateChangeOutput, error) { 4649 req, out := c.SubmitTaskStateChangeRequest(input) 4650 req.SetContext(ctx) 4651 req.ApplyOptions(opts...) 4652 return out, req.Send() 4653} 4654 4655const opTagResource = "TagResource" 4656 4657// TagResourceRequest generates a "aws/request.Request" representing the 4658// client's request for the TagResource operation. The "output" return 4659// value will be populated with the request's response once the request completes 4660// successfully. 4661// 4662// Use "Send" method on the returned Request to send the API call to the service. 4663// the "output" return value is not valid until after Send returns without error. 4664// 4665// See TagResource for more information on using the TagResource 4666// API call, and error handling. 4667// 4668// This method is useful when you want to inject custom logic or configuration 4669// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4670// 4671// 4672// // Example sending a request using the TagResourceRequest method. 4673// req, resp := client.TagResourceRequest(params) 4674// 4675// err := req.Send() 4676// if err == nil { // resp is now filled 4677// fmt.Println(resp) 4678// } 4679// 4680// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4681func (c *ECS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 4682 op := &request.Operation{ 4683 Name: opTagResource, 4684 HTTPMethod: "POST", 4685 HTTPPath: "/", 4686 } 4687 4688 if input == nil { 4689 input = &TagResourceInput{} 4690 } 4691 4692 output = &TagResourceOutput{} 4693 req = c.newRequest(op, input, output) 4694 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4695 return 4696} 4697 4698// TagResource API operation for Amazon EC2 Container Service. 4699// 4700// Associates the specified tags to a resource with the specified resourceArn. 4701// If existing tags on a resource are not specified in the request parameters, 4702// they are not changed. When a resource is deleted, the tags associated with 4703// that resource are deleted as well. 4704// 4705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4706// with awserr.Error's Code and Message methods to get detailed information about 4707// the error. 4708// 4709// See the AWS API reference guide for Amazon EC2 Container Service's 4710// API operation TagResource for usage and error information. 4711// 4712// Returned Error Types: 4713// * ServerException 4714// These errors are usually caused by a server issue. 4715// 4716// * ClientException 4717// These errors are usually caused by a client action, such as using an action 4718// or resource on behalf of a user that doesn't have permissions to use the 4719// action or resource, or specifying an identifier that is not valid. 4720// 4721// * ClusterNotFoundException 4722// The specified cluster could not be found. You can view your available clusters 4723// with ListClusters. Amazon ECS clusters are Region-specific. 4724// 4725// * ResourceNotFoundException 4726// The specified resource could not be found. 4727// 4728// * InvalidParameterException 4729// The specified parameter is invalid. Review the available parameters for the 4730// API request. 4731// 4732// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource 4733func (c *ECS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 4734 req, out := c.TagResourceRequest(input) 4735 return out, req.Send() 4736} 4737 4738// TagResourceWithContext is the same as TagResource with the addition of 4739// the ability to pass a context and additional request options. 4740// 4741// See TagResource for details on how to use this API operation. 4742// 4743// The context must be non-nil and will be used for request cancellation. If 4744// the context is nil a panic will occur. In the future the SDK may create 4745// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4746// for more information on using Contexts. 4747func (c *ECS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 4748 req, out := c.TagResourceRequest(input) 4749 req.SetContext(ctx) 4750 req.ApplyOptions(opts...) 4751 return out, req.Send() 4752} 4753 4754const opUntagResource = "UntagResource" 4755 4756// UntagResourceRequest generates a "aws/request.Request" representing the 4757// client's request for the UntagResource operation. The "output" return 4758// value will be populated with the request's response once the request completes 4759// successfully. 4760// 4761// Use "Send" method on the returned Request to send the API call to the service. 4762// the "output" return value is not valid until after Send returns without error. 4763// 4764// See UntagResource for more information on using the UntagResource 4765// API call, and error handling. 4766// 4767// This method is useful when you want to inject custom logic or configuration 4768// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4769// 4770// 4771// // Example sending a request using the UntagResourceRequest method. 4772// req, resp := client.UntagResourceRequest(params) 4773// 4774// err := req.Send() 4775// if err == nil { // resp is now filled 4776// fmt.Println(resp) 4777// } 4778// 4779// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4780func (c *ECS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 4781 op := &request.Operation{ 4782 Name: opUntagResource, 4783 HTTPMethod: "POST", 4784 HTTPPath: "/", 4785 } 4786 4787 if input == nil { 4788 input = &UntagResourceInput{} 4789 } 4790 4791 output = &UntagResourceOutput{} 4792 req = c.newRequest(op, input, output) 4793 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4794 return 4795} 4796 4797// UntagResource API operation for Amazon EC2 Container Service. 4798// 4799// Deletes specified tags from a resource. 4800// 4801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4802// with awserr.Error's Code and Message methods to get detailed information about 4803// the error. 4804// 4805// See the AWS API reference guide for Amazon EC2 Container Service's 4806// API operation UntagResource for usage and error information. 4807// 4808// Returned Error Types: 4809// * ServerException 4810// These errors are usually caused by a server issue. 4811// 4812// * ClientException 4813// These errors are usually caused by a client action, such as using an action 4814// or resource on behalf of a user that doesn't have permissions to use the 4815// action or resource, or specifying an identifier that is not valid. 4816// 4817// * ClusterNotFoundException 4818// The specified cluster could not be found. You can view your available clusters 4819// with ListClusters. Amazon ECS clusters are Region-specific. 4820// 4821// * ResourceNotFoundException 4822// The specified resource could not be found. 4823// 4824// * InvalidParameterException 4825// The specified parameter is invalid. Review the available parameters for the 4826// API request. 4827// 4828// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource 4829func (c *ECS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4830 req, out := c.UntagResourceRequest(input) 4831 return out, req.Send() 4832} 4833 4834// UntagResourceWithContext is the same as UntagResource with the addition of 4835// the ability to pass a context and additional request options. 4836// 4837// See UntagResource for details on how to use this API operation. 4838// 4839// The context must be non-nil and will be used for request cancellation. If 4840// the context is nil a panic will occur. In the future the SDK may create 4841// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4842// for more information on using Contexts. 4843func (c *ECS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4844 req, out := c.UntagResourceRequest(input) 4845 req.SetContext(ctx) 4846 req.ApplyOptions(opts...) 4847 return out, req.Send() 4848} 4849 4850const opUpdateClusterSettings = "UpdateClusterSettings" 4851 4852// UpdateClusterSettingsRequest generates a "aws/request.Request" representing the 4853// client's request for the UpdateClusterSettings operation. The "output" return 4854// value will be populated with the request's response once the request completes 4855// successfully. 4856// 4857// Use "Send" method on the returned Request to send the API call to the service. 4858// the "output" return value is not valid until after Send returns without error. 4859// 4860// See UpdateClusterSettings for more information on using the UpdateClusterSettings 4861// API call, and error handling. 4862// 4863// This method is useful when you want to inject custom logic or configuration 4864// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4865// 4866// 4867// // Example sending a request using the UpdateClusterSettingsRequest method. 4868// req, resp := client.UpdateClusterSettingsRequest(params) 4869// 4870// err := req.Send() 4871// if err == nil { // resp is now filled 4872// fmt.Println(resp) 4873// } 4874// 4875// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4876func (c *ECS) UpdateClusterSettingsRequest(input *UpdateClusterSettingsInput) (req *request.Request, output *UpdateClusterSettingsOutput) { 4877 op := &request.Operation{ 4878 Name: opUpdateClusterSettings, 4879 HTTPMethod: "POST", 4880 HTTPPath: "/", 4881 } 4882 4883 if input == nil { 4884 input = &UpdateClusterSettingsInput{} 4885 } 4886 4887 output = &UpdateClusterSettingsOutput{} 4888 req = c.newRequest(op, input, output) 4889 return 4890} 4891 4892// UpdateClusterSettings API operation for Amazon EC2 Container Service. 4893// 4894// Modifies the settings to use for a cluster. 4895// 4896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4897// with awserr.Error's Code and Message methods to get detailed information about 4898// the error. 4899// 4900// See the AWS API reference guide for Amazon EC2 Container Service's 4901// API operation UpdateClusterSettings for usage and error information. 4902// 4903// Returned Error Types: 4904// * ServerException 4905// These errors are usually caused by a server issue. 4906// 4907// * ClientException 4908// These errors are usually caused by a client action, such as using an action 4909// or resource on behalf of a user that doesn't have permissions to use the 4910// action or resource, or specifying an identifier that is not valid. 4911// 4912// * ClusterNotFoundException 4913// The specified cluster could not be found. You can view your available clusters 4914// with ListClusters. Amazon ECS clusters are Region-specific. 4915// 4916// * InvalidParameterException 4917// The specified parameter is invalid. Review the available parameters for the 4918// API request. 4919// 4920// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings 4921func (c *ECS) UpdateClusterSettings(input *UpdateClusterSettingsInput) (*UpdateClusterSettingsOutput, error) { 4922 req, out := c.UpdateClusterSettingsRequest(input) 4923 return out, req.Send() 4924} 4925 4926// UpdateClusterSettingsWithContext is the same as UpdateClusterSettings with the addition of 4927// the ability to pass a context and additional request options. 4928// 4929// See UpdateClusterSettings for details on how to use this API operation. 4930// 4931// The context must be non-nil and will be used for request cancellation. If 4932// the context is nil a panic will occur. In the future the SDK may create 4933// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4934// for more information on using Contexts. 4935func (c *ECS) UpdateClusterSettingsWithContext(ctx aws.Context, input *UpdateClusterSettingsInput, opts ...request.Option) (*UpdateClusterSettingsOutput, error) { 4936 req, out := c.UpdateClusterSettingsRequest(input) 4937 req.SetContext(ctx) 4938 req.ApplyOptions(opts...) 4939 return out, req.Send() 4940} 4941 4942const opUpdateContainerAgent = "UpdateContainerAgent" 4943 4944// UpdateContainerAgentRequest generates a "aws/request.Request" representing the 4945// client's request for the UpdateContainerAgent operation. The "output" return 4946// value will be populated with the request's response once the request completes 4947// successfully. 4948// 4949// Use "Send" method on the returned Request to send the API call to the service. 4950// the "output" return value is not valid until after Send returns without error. 4951// 4952// See UpdateContainerAgent for more information on using the UpdateContainerAgent 4953// API call, and error handling. 4954// 4955// This method is useful when you want to inject custom logic or configuration 4956// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4957// 4958// 4959// // Example sending a request using the UpdateContainerAgentRequest method. 4960// req, resp := client.UpdateContainerAgentRequest(params) 4961// 4962// err := req.Send() 4963// if err == nil { // resp is now filled 4964// fmt.Println(resp) 4965// } 4966// 4967// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 4968func (c *ECS) UpdateContainerAgentRequest(input *UpdateContainerAgentInput) (req *request.Request, output *UpdateContainerAgentOutput) { 4969 op := &request.Operation{ 4970 Name: opUpdateContainerAgent, 4971 HTTPMethod: "POST", 4972 HTTPPath: "/", 4973 } 4974 4975 if input == nil { 4976 input = &UpdateContainerAgentInput{} 4977 } 4978 4979 output = &UpdateContainerAgentOutput{} 4980 req = c.newRequest(op, input, output) 4981 return 4982} 4983 4984// UpdateContainerAgent API operation for Amazon EC2 Container Service. 4985// 4986// Updates the Amazon ECS container agent on a specified container instance. 4987// Updating the Amazon ECS container agent does not interrupt running tasks 4988// or services on the container instance. The process for updating the agent 4989// differs depending on whether your container instance was launched with the 4990// Amazon ECS-optimized AMI or another operating system. 4991// 4992// UpdateContainerAgent requires the Amazon ECS-optimized AMI or Amazon Linux 4993// with the ecs-init service installed and running. For help updating the Amazon 4994// ECS container agent on other operating systems, see Manually Updating the 4995// Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent) 4996// in the Amazon Elastic Container Service Developer Guide. 4997// 4998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4999// with awserr.Error's Code and Message methods to get detailed information about 5000// the error. 5001// 5002// See the AWS API reference guide for Amazon EC2 Container Service's 5003// API operation UpdateContainerAgent for usage and error information. 5004// 5005// Returned Error Types: 5006// * ServerException 5007// These errors are usually caused by a server issue. 5008// 5009// * ClientException 5010// These errors are usually caused by a client action, such as using an action 5011// or resource on behalf of a user that doesn't have permissions to use the 5012// action or resource, or specifying an identifier that is not valid. 5013// 5014// * InvalidParameterException 5015// The specified parameter is invalid. Review the available parameters for the 5016// API request. 5017// 5018// * ClusterNotFoundException 5019// The specified cluster could not be found. You can view your available clusters 5020// with ListClusters. Amazon ECS clusters are Region-specific. 5021// 5022// * UpdateInProgressException 5023// There is already a current Amazon ECS container agent update in progress 5024// on the specified container instance. If the container agent becomes disconnected 5025// while it is in a transitional stage, such as PENDING or STAGING, the update 5026// process can get stuck in that state. However, when the agent reconnects, 5027// it resumes where it stopped previously. 5028// 5029// * NoUpdateAvailableException 5030// There is no update available for this Amazon ECS container agent. This could 5031// be because the agent is already running the latest version, or it is so old 5032// that there is no update path to the current version. 5033// 5034// * MissingVersionException 5035// Amazon ECS is unable to determine the current version of the Amazon ECS container 5036// agent on the container instance and does not have enough information to proceed 5037// with an update. This could be because the agent running on the container 5038// instance is an older or custom version that does not use our version information. 5039// 5040// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent 5041func (c *ECS) UpdateContainerAgent(input *UpdateContainerAgentInput) (*UpdateContainerAgentOutput, error) { 5042 req, out := c.UpdateContainerAgentRequest(input) 5043 return out, req.Send() 5044} 5045 5046// UpdateContainerAgentWithContext is the same as UpdateContainerAgent with the addition of 5047// the ability to pass a context and additional request options. 5048// 5049// See UpdateContainerAgent for details on how to use this API operation. 5050// 5051// The context must be non-nil and will be used for request cancellation. If 5052// the context is nil a panic will occur. In the future the SDK may create 5053// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5054// for more information on using Contexts. 5055func (c *ECS) UpdateContainerAgentWithContext(ctx aws.Context, input *UpdateContainerAgentInput, opts ...request.Option) (*UpdateContainerAgentOutput, error) { 5056 req, out := c.UpdateContainerAgentRequest(input) 5057 req.SetContext(ctx) 5058 req.ApplyOptions(opts...) 5059 return out, req.Send() 5060} 5061 5062const opUpdateContainerInstancesState = "UpdateContainerInstancesState" 5063 5064// UpdateContainerInstancesStateRequest generates a "aws/request.Request" representing the 5065// client's request for the UpdateContainerInstancesState operation. The "output" return 5066// value will be populated with the request's response once the request completes 5067// successfully. 5068// 5069// Use "Send" method on the returned Request to send the API call to the service. 5070// the "output" return value is not valid until after Send returns without error. 5071// 5072// See UpdateContainerInstancesState for more information on using the UpdateContainerInstancesState 5073// API call, and error handling. 5074// 5075// This method is useful when you want to inject custom logic or configuration 5076// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5077// 5078// 5079// // Example sending a request using the UpdateContainerInstancesStateRequest method. 5080// req, resp := client.UpdateContainerInstancesStateRequest(params) 5081// 5082// err := req.Send() 5083// if err == nil { // resp is now filled 5084// fmt.Println(resp) 5085// } 5086// 5087// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5088func (c *ECS) UpdateContainerInstancesStateRequest(input *UpdateContainerInstancesStateInput) (req *request.Request, output *UpdateContainerInstancesStateOutput) { 5089 op := &request.Operation{ 5090 Name: opUpdateContainerInstancesState, 5091 HTTPMethod: "POST", 5092 HTTPPath: "/", 5093 } 5094 5095 if input == nil { 5096 input = &UpdateContainerInstancesStateInput{} 5097 } 5098 5099 output = &UpdateContainerInstancesStateOutput{} 5100 req = c.newRequest(op, input, output) 5101 return 5102} 5103 5104// UpdateContainerInstancesState API operation for Amazon EC2 Container Service. 5105// 5106// Modifies the status of an Amazon ECS container instance. 5107// 5108// Once a container instance has reached an ACTIVE state, you can change the 5109// status of a container instance to DRAINING to manually remove an instance 5110// from a cluster, for example to perform system updates, update the Docker 5111// daemon, or scale down the cluster size. 5112// 5113// A container instance cannot be changed to DRAINING until it has reached an 5114// ACTIVE status. If the instance is in any other status, an error will be received. 5115// 5116// When you set a container instance to DRAINING, Amazon ECS prevents new tasks 5117// from being scheduled for placement on the container instance and replacement 5118// service tasks are started on other container instances in the cluster if 5119// the resources are available. Service tasks on the container instance that 5120// are in the PENDING state are stopped immediately. 5121// 5122// Service tasks on the container instance that are in the RUNNING state are 5123// stopped and replaced according to the service's deployment configuration 5124// parameters, minimumHealthyPercent and maximumPercent. You can change the 5125// deployment configuration of your service using UpdateService. 5126// 5127// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5128// temporarily during task replacement. For example, desiredCount is four 5129// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5130// before starting two new tasks. If the minimum is 100%, the service scheduler 5131// can't remove existing tasks until the replacement tasks are considered 5132// healthy. Tasks for services that do not use a load balancer are considered 5133// healthy if they are in the RUNNING state. Tasks for services that use 5134// a load balancer are considered healthy if they are in the RUNNING state 5135// and the container instance they are hosted on is reported as healthy by 5136// the load balancer. 5137// 5138// * The maximumPercent parameter represents an upper limit on the number 5139// of running tasks during task replacement, which enables you to define 5140// the replacement batch size. For example, if desiredCount is four tasks, 5141// a maximum of 200% starts four new tasks before stopping the four tasks 5142// to be drained, provided that the cluster resources required to do this 5143// are available. If the maximum is 100%, then replacement tasks can't start 5144// until the draining tasks have stopped. 5145// 5146// Any PENDING or RUNNING tasks that do not belong to a service are not affected. 5147// You must wait for them to finish or stop them manually. 5148// 5149// A container instance has completed draining when it has no more RUNNING tasks. 5150// You can verify this using ListTasks. 5151// 5152// When a container instance has been drained, you can set a container instance 5153// to ACTIVE status and once it has reached that status the Amazon ECS scheduler 5154// can begin scheduling tasks on the instance again. 5155// 5156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5157// with awserr.Error's Code and Message methods to get detailed information about 5158// the error. 5159// 5160// See the AWS API reference guide for Amazon EC2 Container Service's 5161// API operation UpdateContainerInstancesState for usage and error information. 5162// 5163// Returned Error Types: 5164// * ServerException 5165// These errors are usually caused by a server issue. 5166// 5167// * ClientException 5168// These errors are usually caused by a client action, such as using an action 5169// or resource on behalf of a user that doesn't have permissions to use the 5170// action or resource, or specifying an identifier that is not valid. 5171// 5172// * InvalidParameterException 5173// The specified parameter is invalid. Review the available parameters for the 5174// API request. 5175// 5176// * ClusterNotFoundException 5177// The specified cluster could not be found. You can view your available clusters 5178// with ListClusters. Amazon ECS clusters are Region-specific. 5179// 5180// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerInstancesState 5181func (c *ECS) UpdateContainerInstancesState(input *UpdateContainerInstancesStateInput) (*UpdateContainerInstancesStateOutput, error) { 5182 req, out := c.UpdateContainerInstancesStateRequest(input) 5183 return out, req.Send() 5184} 5185 5186// UpdateContainerInstancesStateWithContext is the same as UpdateContainerInstancesState with the addition of 5187// the ability to pass a context and additional request options. 5188// 5189// See UpdateContainerInstancesState for details on how to use this API operation. 5190// 5191// The context must be non-nil and will be used for request cancellation. If 5192// the context is nil a panic will occur. In the future the SDK may create 5193// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5194// for more information on using Contexts. 5195func (c *ECS) UpdateContainerInstancesStateWithContext(ctx aws.Context, input *UpdateContainerInstancesStateInput, opts ...request.Option) (*UpdateContainerInstancesStateOutput, error) { 5196 req, out := c.UpdateContainerInstancesStateRequest(input) 5197 req.SetContext(ctx) 5198 req.ApplyOptions(opts...) 5199 return out, req.Send() 5200} 5201 5202const opUpdateService = "UpdateService" 5203 5204// UpdateServiceRequest generates a "aws/request.Request" representing the 5205// client's request for the UpdateService operation. The "output" return 5206// value will be populated with the request's response once the request completes 5207// successfully. 5208// 5209// Use "Send" method on the returned Request to send the API call to the service. 5210// the "output" return value is not valid until after Send returns without error. 5211// 5212// See UpdateService for more information on using the UpdateService 5213// API call, and error handling. 5214// 5215// This method is useful when you want to inject custom logic or configuration 5216// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5217// 5218// 5219// // Example sending a request using the UpdateServiceRequest method. 5220// req, resp := client.UpdateServiceRequest(params) 5221// 5222// err := req.Send() 5223// if err == nil { // resp is now filled 5224// fmt.Println(resp) 5225// } 5226// 5227// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5228func (c *ECS) UpdateServiceRequest(input *UpdateServiceInput) (req *request.Request, output *UpdateServiceOutput) { 5229 op := &request.Operation{ 5230 Name: opUpdateService, 5231 HTTPMethod: "POST", 5232 HTTPPath: "/", 5233 } 5234 5235 if input == nil { 5236 input = &UpdateServiceInput{} 5237 } 5238 5239 output = &UpdateServiceOutput{} 5240 req = c.newRequest(op, input, output) 5241 return 5242} 5243 5244// UpdateService API operation for Amazon EC2 Container Service. 5245// 5246// 5247// Updating the task placement strategies and constraints on an Amazon ECS service 5248// remains in preview and is a Beta Service as defined by and subject to the 5249// Beta Service Participation Service Terms located at https://aws.amazon.com/service-terms 5250// (https://aws.amazon.com/service-terms) ("Beta Terms"). These Beta Terms apply 5251// to your participation in this preview. 5252// 5253// Modifies the parameters of a service. 5254// 5255// For services using the rolling update (ECS) deployment controller, the desired 5256// count, deployment configuration, network configuration, task placement constraints 5257// and strategies, or task definition used can be updated. 5258// 5259// For services using the blue/green (CODE_DEPLOY) deployment controller, only 5260// the desired count, deployment configuration, task placement constraints and 5261// strategies, and health check grace period can be updated using this API. 5262// If the network configuration, platform version, or task definition need to 5263// be updated, a new AWS CodeDeploy deployment should be created. For more information, 5264// see CreateDeployment (https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html) 5265// in the AWS CodeDeploy API Reference. 5266// 5267// For services using an external deployment controller, you can update only 5268// the desired count, task placement constraints and strategies, and health 5269// check grace period using this API. If the launch type, load balancer, network 5270// configuration, platform version, or task definition need to be updated, you 5271// should create a new task set. For more information, see CreateTaskSet. 5272// 5273// You can add to or subtract from the number of instantiations of a task definition 5274// in a service by specifying the cluster that the service is running in and 5275// a new desiredCount parameter. 5276// 5277// If you have updated the Docker image of your application, you can create 5278// a new task definition with that image and deploy it to your service. The 5279// service scheduler uses the minimum healthy percent and maximum percent parameters 5280// (in the service's deployment configuration) to determine the deployment strategy. 5281// 5282// If your updated Docker image uses the same tag as what is in the existing 5283// task definition for your service (for example, my_image:latest), you do not 5284// need to create a new revision of your task definition. You can update the 5285// service using the forceNewDeployment option. The new tasks launched by the 5286// deployment pull the current image/tag combination from your repository when 5287// they start. 5288// 5289// You can also update the deployment configuration of a service. When a deployment 5290// is triggered by updating the task definition of a service, the service scheduler 5291// uses the deployment configuration parameters, minimumHealthyPercent and maximumPercent, 5292// to determine the deployment strategy. 5293// 5294// * If minimumHealthyPercent is below 100%, the scheduler can ignore desiredCount 5295// temporarily during a deployment. For example, if desiredCount is four 5296// tasks, a minimum of 50% allows the scheduler to stop two existing tasks 5297// before starting two new tasks. Tasks for services that do not use a load 5298// balancer are considered healthy if they are in the RUNNING state. Tasks 5299// for services that use a load balancer are considered healthy if they are 5300// in the RUNNING state and the container instance they are hosted on is 5301// reported as healthy by the load balancer. 5302// 5303// * The maximumPercent parameter represents an upper limit on the number 5304// of running tasks during a deployment, which enables you to define the 5305// deployment batch size. For example, if desiredCount is four tasks, a maximum 5306// of 200% starts four new tasks before stopping the four older tasks (provided 5307// that the cluster resources required to do this are available). 5308// 5309// When UpdateService stops a task during a deployment, the equivalent of docker 5310// stop is issued to the containers running in the task. This results in a SIGTERM 5311// and a 30-second timeout, after which SIGKILL is sent and the containers are 5312// forcibly stopped. If the container handles the SIGTERM gracefully and exits 5313// within 30 seconds from receiving it, no SIGKILL is sent. 5314// 5315// When the service scheduler launches new tasks, it determines task placement 5316// in your cluster with the following logic: 5317// 5318// * Determine which of the container instances in your cluster can support 5319// your service's task definition (for example, they have the required CPU, 5320// memory, ports, and container instance attributes). 5321// 5322// * By default, the service scheduler attempts to balance tasks across Availability 5323// Zones in this manner (although you can choose a different placement strategy): 5324// Sort the valid container instances by the fewest number of running tasks 5325// for this service in the same Availability Zone as the instance. For example, 5326// if zone A has one running service task and zones B and C each have zero, 5327// valid container instances in either zone B or C are considered optimal 5328// for placement. Place the new service task on a valid container instance 5329// in an optimal Availability Zone (based on the previous steps), favoring 5330// container instances with the fewest number of running tasks for this service. 5331// 5332// When the service scheduler stops running tasks, it attempts to maintain balance 5333// across the Availability Zones in your cluster using the following logic: 5334// 5335// * Sort the container instances by the largest number of running tasks 5336// for this service in the same Availability Zone as the instance. For example, 5337// if zone A has one running service task and zones B and C each have two, 5338// container instances in either zone B or C are considered optimal for termination. 5339// 5340// * Stop the task on a container instance in an optimal Availability Zone 5341// (based on the previous steps), favoring container instances with the largest 5342// number of running tasks for this service. 5343// 5344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5345// with awserr.Error's Code and Message methods to get detailed information about 5346// the error. 5347// 5348// See the AWS API reference guide for Amazon EC2 Container Service's 5349// API operation UpdateService for usage and error information. 5350// 5351// Returned Error Types: 5352// * ServerException 5353// These errors are usually caused by a server issue. 5354// 5355// * ClientException 5356// These errors are usually caused by a client action, such as using an action 5357// or resource on behalf of a user that doesn't have permissions to use the 5358// action or resource, or specifying an identifier that is not valid. 5359// 5360// * InvalidParameterException 5361// The specified parameter is invalid. Review the available parameters for the 5362// API request. 5363// 5364// * ClusterNotFoundException 5365// The specified cluster could not be found. You can view your available clusters 5366// with ListClusters. Amazon ECS clusters are Region-specific. 5367// 5368// * ServiceNotFoundException 5369// The specified service could not be found. You can view your available services 5370// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5371// 5372// * ServiceNotActiveException 5373// The specified service is not active. You can't update a service that is inactive. 5374// If you have previously deleted a service, you can re-create it with CreateService. 5375// 5376// * PlatformUnknownException 5377// The specified platform version does not exist. 5378// 5379// * PlatformTaskDefinitionIncompatibilityException 5380// The specified platform version does not satisfy the task definition's required 5381// capabilities. 5382// 5383// * AccessDeniedException 5384// You do not have authorization to perform the requested action. 5385// 5386// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService 5387func (c *ECS) UpdateService(input *UpdateServiceInput) (*UpdateServiceOutput, error) { 5388 req, out := c.UpdateServiceRequest(input) 5389 return out, req.Send() 5390} 5391 5392// UpdateServiceWithContext is the same as UpdateService with the addition of 5393// the ability to pass a context and additional request options. 5394// 5395// See UpdateService for details on how to use this API operation. 5396// 5397// The context must be non-nil and will be used for request cancellation. If 5398// the context is nil a panic will occur. In the future the SDK may create 5399// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5400// for more information on using Contexts. 5401func (c *ECS) UpdateServiceWithContext(ctx aws.Context, input *UpdateServiceInput, opts ...request.Option) (*UpdateServiceOutput, error) { 5402 req, out := c.UpdateServiceRequest(input) 5403 req.SetContext(ctx) 5404 req.ApplyOptions(opts...) 5405 return out, req.Send() 5406} 5407 5408const opUpdateServicePrimaryTaskSet = "UpdateServicePrimaryTaskSet" 5409 5410// UpdateServicePrimaryTaskSetRequest generates a "aws/request.Request" representing the 5411// client's request for the UpdateServicePrimaryTaskSet operation. The "output" return 5412// value will be populated with the request's response once the request completes 5413// successfully. 5414// 5415// Use "Send" method on the returned Request to send the API call to the service. 5416// the "output" return value is not valid until after Send returns without error. 5417// 5418// See UpdateServicePrimaryTaskSet for more information on using the UpdateServicePrimaryTaskSet 5419// API call, and error handling. 5420// 5421// This method is useful when you want to inject custom logic or configuration 5422// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5423// 5424// 5425// // Example sending a request using the UpdateServicePrimaryTaskSetRequest method. 5426// req, resp := client.UpdateServicePrimaryTaskSetRequest(params) 5427// 5428// err := req.Send() 5429// if err == nil { // resp is now filled 5430// fmt.Println(resp) 5431// } 5432// 5433// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5434func (c *ECS) UpdateServicePrimaryTaskSetRequest(input *UpdateServicePrimaryTaskSetInput) (req *request.Request, output *UpdateServicePrimaryTaskSetOutput) { 5435 op := &request.Operation{ 5436 Name: opUpdateServicePrimaryTaskSet, 5437 HTTPMethod: "POST", 5438 HTTPPath: "/", 5439 } 5440 5441 if input == nil { 5442 input = &UpdateServicePrimaryTaskSetInput{} 5443 } 5444 5445 output = &UpdateServicePrimaryTaskSetOutput{} 5446 req = c.newRequest(op, input, output) 5447 return 5448} 5449 5450// UpdateServicePrimaryTaskSet API operation for Amazon EC2 Container Service. 5451// 5452// Modifies which task set in a service is the primary task set. Any parameters 5453// that are updated on the primary task set in a service will transition to 5454// the service. This is used when a service uses the EXTERNAL deployment controller 5455// type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5456// in the Amazon Elastic Container Service Developer Guide. 5457// 5458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5459// with awserr.Error's Code and Message methods to get detailed information about 5460// the error. 5461// 5462// See the AWS API reference guide for Amazon EC2 Container Service's 5463// API operation UpdateServicePrimaryTaskSet for usage and error information. 5464// 5465// Returned Error Types: 5466// * ServerException 5467// These errors are usually caused by a server issue. 5468// 5469// * ClientException 5470// These errors are usually caused by a client action, such as using an action 5471// or resource on behalf of a user that doesn't have permissions to use the 5472// action or resource, or specifying an identifier that is not valid. 5473// 5474// * InvalidParameterException 5475// The specified parameter is invalid. Review the available parameters for the 5476// API request. 5477// 5478// * ClusterNotFoundException 5479// The specified cluster could not be found. You can view your available clusters 5480// with ListClusters. Amazon ECS clusters are Region-specific. 5481// 5482// * UnsupportedFeatureException 5483// The specified task is not supported in this Region. 5484// 5485// * ServiceNotFoundException 5486// The specified service could not be found. You can view your available services 5487// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5488// 5489// * ServiceNotActiveException 5490// The specified service is not active. You can't update a service that is inactive. 5491// If you have previously deleted a service, you can re-create it with CreateService. 5492// 5493// * TaskSetNotFoundException 5494// The specified task set could not be found. You can view your available task 5495// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5496// and Region. 5497// 5498// * AccessDeniedException 5499// You do not have authorization to perform the requested action. 5500// 5501// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSet 5502func (c *ECS) UpdateServicePrimaryTaskSet(input *UpdateServicePrimaryTaskSetInput) (*UpdateServicePrimaryTaskSetOutput, error) { 5503 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5504 return out, req.Send() 5505} 5506 5507// UpdateServicePrimaryTaskSetWithContext is the same as UpdateServicePrimaryTaskSet with the addition of 5508// the ability to pass a context and additional request options. 5509// 5510// See UpdateServicePrimaryTaskSet for details on how to use this API operation. 5511// 5512// The context must be non-nil and will be used for request cancellation. If 5513// the context is nil a panic will occur. In the future the SDK may create 5514// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5515// for more information on using Contexts. 5516func (c *ECS) UpdateServicePrimaryTaskSetWithContext(ctx aws.Context, input *UpdateServicePrimaryTaskSetInput, opts ...request.Option) (*UpdateServicePrimaryTaskSetOutput, error) { 5517 req, out := c.UpdateServicePrimaryTaskSetRequest(input) 5518 req.SetContext(ctx) 5519 req.ApplyOptions(opts...) 5520 return out, req.Send() 5521} 5522 5523const opUpdateTaskSet = "UpdateTaskSet" 5524 5525// UpdateTaskSetRequest generates a "aws/request.Request" representing the 5526// client's request for the UpdateTaskSet operation. The "output" return 5527// value will be populated with the request's response once the request completes 5528// successfully. 5529// 5530// Use "Send" method on the returned Request to send the API call to the service. 5531// the "output" return value is not valid until after Send returns without error. 5532// 5533// See UpdateTaskSet for more information on using the UpdateTaskSet 5534// API call, and error handling. 5535// 5536// This method is useful when you want to inject custom logic or configuration 5537// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5538// 5539// 5540// // Example sending a request using the UpdateTaskSetRequest method. 5541// req, resp := client.UpdateTaskSetRequest(params) 5542// 5543// err := req.Send() 5544// if err == nil { // resp is now filled 5545// fmt.Println(resp) 5546// } 5547// 5548// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5549func (c *ECS) UpdateTaskSetRequest(input *UpdateTaskSetInput) (req *request.Request, output *UpdateTaskSetOutput) { 5550 op := &request.Operation{ 5551 Name: opUpdateTaskSet, 5552 HTTPMethod: "POST", 5553 HTTPPath: "/", 5554 } 5555 5556 if input == nil { 5557 input = &UpdateTaskSetInput{} 5558 } 5559 5560 output = &UpdateTaskSetOutput{} 5561 req = c.newRequest(op, input, output) 5562 return 5563} 5564 5565// UpdateTaskSet API operation for Amazon EC2 Container Service. 5566// 5567// Modifies a task set. This is used when a service uses the EXTERNAL deployment 5568// controller type. For more information, see Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 5569// in the Amazon Elastic Container Service Developer Guide. 5570// 5571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5572// with awserr.Error's Code and Message methods to get detailed information about 5573// the error. 5574// 5575// See the AWS API reference guide for Amazon EC2 Container Service's 5576// API operation UpdateTaskSet for usage and error information. 5577// 5578// Returned Error Types: 5579// * ServerException 5580// These errors are usually caused by a server issue. 5581// 5582// * ClientException 5583// These errors are usually caused by a client action, such as using an action 5584// or resource on behalf of a user that doesn't have permissions to use the 5585// action or resource, or specifying an identifier that is not valid. 5586// 5587// * InvalidParameterException 5588// The specified parameter is invalid. Review the available parameters for the 5589// API request. 5590// 5591// * ClusterNotFoundException 5592// The specified cluster could not be found. You can view your available clusters 5593// with ListClusters. Amazon ECS clusters are Region-specific. 5594// 5595// * UnsupportedFeatureException 5596// The specified task is not supported in this Region. 5597// 5598// * AccessDeniedException 5599// You do not have authorization to perform the requested action. 5600// 5601// * ServiceNotFoundException 5602// The specified service could not be found. You can view your available services 5603// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 5604// 5605// * ServiceNotActiveException 5606// The specified service is not active. You can't update a service that is inactive. 5607// If you have previously deleted a service, you can re-create it with CreateService. 5608// 5609// * TaskSetNotFoundException 5610// The specified task set could not be found. You can view your available task 5611// sets with DescribeTaskSets. Task sets are specific to each cluster, service 5612// and Region. 5613// 5614// See also, https://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSet 5615func (c *ECS) UpdateTaskSet(input *UpdateTaskSetInput) (*UpdateTaskSetOutput, error) { 5616 req, out := c.UpdateTaskSetRequest(input) 5617 return out, req.Send() 5618} 5619 5620// UpdateTaskSetWithContext is the same as UpdateTaskSet with the addition of 5621// the ability to pass a context and additional request options. 5622// 5623// See UpdateTaskSet for details on how to use this API operation. 5624// 5625// The context must be non-nil and will be used for request cancellation. If 5626// the context is nil a panic will occur. In the future the SDK may create 5627// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5628// for more information on using Contexts. 5629func (c *ECS) UpdateTaskSetWithContext(ctx aws.Context, input *UpdateTaskSetInput, opts ...request.Option) (*UpdateTaskSetOutput, error) { 5630 req, out := c.UpdateTaskSetRequest(input) 5631 req.SetContext(ctx) 5632 req.ApplyOptions(opts...) 5633 return out, req.Send() 5634} 5635 5636// You do not have authorization to perform the requested action. 5637type AccessDeniedException struct { 5638 _ struct{} `type:"structure"` 5639 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5640 5641 Message_ *string `locationName:"message" type:"string"` 5642} 5643 5644// String returns the string representation 5645func (s AccessDeniedException) String() string { 5646 return awsutil.Prettify(s) 5647} 5648 5649// GoString returns the string representation 5650func (s AccessDeniedException) GoString() string { 5651 return s.String() 5652} 5653 5654func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 5655 return &AccessDeniedException{ 5656 RespMetadata: v, 5657 } 5658} 5659 5660// Code returns the exception type name. 5661func (s *AccessDeniedException) Code() string { 5662 return "AccessDeniedException" 5663} 5664 5665// Message returns the exception's message. 5666func (s *AccessDeniedException) Message() string { 5667 if s.Message_ != nil { 5668 return *s.Message_ 5669 } 5670 return "" 5671} 5672 5673// OrigErr always returns nil, satisfies awserr.Error interface. 5674func (s *AccessDeniedException) OrigErr() error { 5675 return nil 5676} 5677 5678func (s *AccessDeniedException) Error() string { 5679 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5680} 5681 5682// Status code returns the HTTP status code for the request's response error. 5683func (s *AccessDeniedException) StatusCode() int { 5684 return s.RespMetadata.StatusCode 5685} 5686 5687// RequestID returns the service's response RequestID for request. 5688func (s *AccessDeniedException) RequestID() string { 5689 return s.RespMetadata.RequestID 5690} 5691 5692// An object representing a container instance or task attachment. 5693type Attachment struct { 5694 _ struct{} `type:"structure"` 5695 5696 // Details of the attachment. For elastic network interfaces, this includes 5697 // the network interface ID, the MAC address, the subnet ID, and the private 5698 // IPv4 address. 5699 Details []*KeyValuePair `locationName:"details" type:"list"` 5700 5701 // The unique identifier for the attachment. 5702 Id *string `locationName:"id" type:"string"` 5703 5704 // The status of the attachment. Valid values are PRECREATED, CREATED, ATTACHING, 5705 // ATTACHED, DETACHING, DETACHED, and DELETED. 5706 Status *string `locationName:"status" type:"string"` 5707 5708 // The type of the attachment, such as ElasticNetworkInterface. 5709 Type *string `locationName:"type" type:"string"` 5710} 5711 5712// String returns the string representation 5713func (s Attachment) String() string { 5714 return awsutil.Prettify(s) 5715} 5716 5717// GoString returns the string representation 5718func (s Attachment) GoString() string { 5719 return s.String() 5720} 5721 5722// SetDetails sets the Details field's value. 5723func (s *Attachment) SetDetails(v []*KeyValuePair) *Attachment { 5724 s.Details = v 5725 return s 5726} 5727 5728// SetId sets the Id field's value. 5729func (s *Attachment) SetId(v string) *Attachment { 5730 s.Id = &v 5731 return s 5732} 5733 5734// SetStatus sets the Status field's value. 5735func (s *Attachment) SetStatus(v string) *Attachment { 5736 s.Status = &v 5737 return s 5738} 5739 5740// SetType sets the Type field's value. 5741func (s *Attachment) SetType(v string) *Attachment { 5742 s.Type = &v 5743 return s 5744} 5745 5746// An object representing a change in state for a task attachment. 5747type AttachmentStateChange struct { 5748 _ struct{} `type:"structure"` 5749 5750 // The Amazon Resource Name (ARN) of the attachment. 5751 // 5752 // AttachmentArn is a required field 5753 AttachmentArn *string `locationName:"attachmentArn" type:"string" required:"true"` 5754 5755 // The status of the attachment. 5756 // 5757 // Status is a required field 5758 Status *string `locationName:"status" type:"string" required:"true"` 5759} 5760 5761// String returns the string representation 5762func (s AttachmentStateChange) String() string { 5763 return awsutil.Prettify(s) 5764} 5765 5766// GoString returns the string representation 5767func (s AttachmentStateChange) GoString() string { 5768 return s.String() 5769} 5770 5771// Validate inspects the fields of the type to determine if they are valid. 5772func (s *AttachmentStateChange) Validate() error { 5773 invalidParams := request.ErrInvalidParams{Context: "AttachmentStateChange"} 5774 if s.AttachmentArn == nil { 5775 invalidParams.Add(request.NewErrParamRequired("AttachmentArn")) 5776 } 5777 if s.Status == nil { 5778 invalidParams.Add(request.NewErrParamRequired("Status")) 5779 } 5780 5781 if invalidParams.Len() > 0 { 5782 return invalidParams 5783 } 5784 return nil 5785} 5786 5787// SetAttachmentArn sets the AttachmentArn field's value. 5788func (s *AttachmentStateChange) SetAttachmentArn(v string) *AttachmentStateChange { 5789 s.AttachmentArn = &v 5790 return s 5791} 5792 5793// SetStatus sets the Status field's value. 5794func (s *AttachmentStateChange) SetStatus(v string) *AttachmentStateChange { 5795 s.Status = &v 5796 return s 5797} 5798 5799// An attribute is a name-value pair associated with an Amazon ECS object. Attributes 5800// enable you to extend the Amazon ECS data model by adding custom metadata 5801// to your resources. For more information, see Attributes (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) 5802// in the Amazon Elastic Container Service Developer Guide. 5803type Attribute struct { 5804 _ struct{} `type:"structure"` 5805 5806 // The name of the attribute. Up to 128 letters (uppercase and lowercase), numbers, 5807 // hyphens, underscores, and periods are allowed. 5808 // 5809 // Name is a required field 5810 Name *string `locationName:"name" type:"string" required:"true"` 5811 5812 // The ID of the target. You can specify the short form ID for a resource or 5813 // the full Amazon Resource Name (ARN). 5814 TargetId *string `locationName:"targetId" type:"string"` 5815 5816 // The type of the target with which to attach the attribute. This parameter 5817 // is required if you use the short form ID for a resource instead of the full 5818 // ARN. 5819 TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` 5820 5821 // The value of the attribute. Up to 128 letters (uppercase and lowercase), 5822 // numbers, hyphens, underscores, periods, at signs (@), forward slashes, colons, 5823 // and spaces are allowed. 5824 Value *string `locationName:"value" type:"string"` 5825} 5826 5827// String returns the string representation 5828func (s Attribute) String() string { 5829 return awsutil.Prettify(s) 5830} 5831 5832// GoString returns the string representation 5833func (s Attribute) GoString() string { 5834 return s.String() 5835} 5836 5837// Validate inspects the fields of the type to determine if they are valid. 5838func (s *Attribute) Validate() error { 5839 invalidParams := request.ErrInvalidParams{Context: "Attribute"} 5840 if s.Name == nil { 5841 invalidParams.Add(request.NewErrParamRequired("Name")) 5842 } 5843 5844 if invalidParams.Len() > 0 { 5845 return invalidParams 5846 } 5847 return nil 5848} 5849 5850// SetName sets the Name field's value. 5851func (s *Attribute) SetName(v string) *Attribute { 5852 s.Name = &v 5853 return s 5854} 5855 5856// SetTargetId sets the TargetId field's value. 5857func (s *Attribute) SetTargetId(v string) *Attribute { 5858 s.TargetId = &v 5859 return s 5860} 5861 5862// SetTargetType sets the TargetType field's value. 5863func (s *Attribute) SetTargetType(v string) *Attribute { 5864 s.TargetType = &v 5865 return s 5866} 5867 5868// SetValue sets the Value field's value. 5869func (s *Attribute) SetValue(v string) *Attribute { 5870 s.Value = &v 5871 return s 5872} 5873 5874// You can apply up to 10 custom attributes per resource. You can view the attributes 5875// of a resource with ListAttributes. You can remove existing attributes on 5876// a resource with DeleteAttributes. 5877type AttributeLimitExceededException struct { 5878 _ struct{} `type:"structure"` 5879 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5880 5881 Message_ *string `locationName:"message" type:"string"` 5882} 5883 5884// String returns the string representation 5885func (s AttributeLimitExceededException) String() string { 5886 return awsutil.Prettify(s) 5887} 5888 5889// GoString returns the string representation 5890func (s AttributeLimitExceededException) GoString() string { 5891 return s.String() 5892} 5893 5894func newErrorAttributeLimitExceededException(v protocol.ResponseMetadata) error { 5895 return &AttributeLimitExceededException{ 5896 RespMetadata: v, 5897 } 5898} 5899 5900// Code returns the exception type name. 5901func (s *AttributeLimitExceededException) Code() string { 5902 return "AttributeLimitExceededException" 5903} 5904 5905// Message returns the exception's message. 5906func (s *AttributeLimitExceededException) Message() string { 5907 if s.Message_ != nil { 5908 return *s.Message_ 5909 } 5910 return "" 5911} 5912 5913// OrigErr always returns nil, satisfies awserr.Error interface. 5914func (s *AttributeLimitExceededException) OrigErr() error { 5915 return nil 5916} 5917 5918func (s *AttributeLimitExceededException) Error() string { 5919 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5920} 5921 5922// Status code returns the HTTP status code for the request's response error. 5923func (s *AttributeLimitExceededException) StatusCode() int { 5924 return s.RespMetadata.StatusCode 5925} 5926 5927// RequestID returns the service's response RequestID for request. 5928func (s *AttributeLimitExceededException) RequestID() string { 5929 return s.RespMetadata.RequestID 5930} 5931 5932// The details of the Auto Scaling group for the capacity provider. 5933type AutoScalingGroupProvider struct { 5934 _ struct{} `type:"structure"` 5935 5936 // The Amazon Resource Name (ARN) that identifies the Auto Scaling group. 5937 // 5938 // AutoScalingGroupArn is a required field 5939 AutoScalingGroupArn *string `locationName:"autoScalingGroupArn" type:"string" required:"true"` 5940 5941 // The managed scaling settings for the Auto Scaling group capacity provider. 5942 ManagedScaling *ManagedScaling `locationName:"managedScaling" type:"structure"` 5943 5944 // The managed termination protection setting to use for the Auto Scaling group 5945 // capacity provider. This determines whether the Auto Scaling group has managed 5946 // termination protection. 5947 // 5948 // When using managed termination protection, managed scaling must also be used 5949 // otherwise managed termination protection will not work. 5950 // 5951 // When managed termination protection is enabled, Amazon ECS prevents the Amazon 5952 // EC2 instances in an Auto Scaling group that contain tasks from being terminated 5953 // during a scale-in action. The Auto Scaling group and each instance in the 5954 // Auto Scaling group must have instance protection from scale-in actions enabled 5955 // as well. For more information, see Instance Protection (https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection) 5956 // in the AWS Auto Scaling User Guide. 5957 // 5958 // When managed termination protection is disabled, your Amazon EC2 instances 5959 // are not protected from termination when the Auto Scaling group scales in. 5960 ManagedTerminationProtection *string `locationName:"managedTerminationProtection" type:"string" enum:"ManagedTerminationProtection"` 5961} 5962 5963// String returns the string representation 5964func (s AutoScalingGroupProvider) String() string { 5965 return awsutil.Prettify(s) 5966} 5967 5968// GoString returns the string representation 5969func (s AutoScalingGroupProvider) GoString() string { 5970 return s.String() 5971} 5972 5973// Validate inspects the fields of the type to determine if they are valid. 5974func (s *AutoScalingGroupProvider) Validate() error { 5975 invalidParams := request.ErrInvalidParams{Context: "AutoScalingGroupProvider"} 5976 if s.AutoScalingGroupArn == nil { 5977 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupArn")) 5978 } 5979 if s.ManagedScaling != nil { 5980 if err := s.ManagedScaling.Validate(); err != nil { 5981 invalidParams.AddNested("ManagedScaling", err.(request.ErrInvalidParams)) 5982 } 5983 } 5984 5985 if invalidParams.Len() > 0 { 5986 return invalidParams 5987 } 5988 return nil 5989} 5990 5991// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value. 5992func (s *AutoScalingGroupProvider) SetAutoScalingGroupArn(v string) *AutoScalingGroupProvider { 5993 s.AutoScalingGroupArn = &v 5994 return s 5995} 5996 5997// SetManagedScaling sets the ManagedScaling field's value. 5998func (s *AutoScalingGroupProvider) SetManagedScaling(v *ManagedScaling) *AutoScalingGroupProvider { 5999 s.ManagedScaling = v 6000 return s 6001} 6002 6003// SetManagedTerminationProtection sets the ManagedTerminationProtection field's value. 6004func (s *AutoScalingGroupProvider) SetManagedTerminationProtection(v string) *AutoScalingGroupProvider { 6005 s.ManagedTerminationProtection = &v 6006 return s 6007} 6008 6009// An object representing the networking details for a task or service. 6010type AwsVpcConfiguration struct { 6011 _ struct{} `type:"structure"` 6012 6013 // Whether the task's elastic network interface receives a public IP address. 6014 // The default value is DISABLED. 6015 AssignPublicIp *string `locationName:"assignPublicIp" type:"string" enum:"AssignPublicIp"` 6016 6017 // The security groups associated with the task or service. If you do not specify 6018 // a security group, the default security group for the VPC is used. There is 6019 // a limit of 5 security groups that can be specified per AwsVpcConfiguration. 6020 // 6021 // All specified security groups must be from the same VPC. 6022 SecurityGroups []*string `locationName:"securityGroups" type:"list"` 6023 6024 // The subnets associated with the task or service. There is a limit of 16 subnets 6025 // that can be specified per AwsVpcConfiguration. 6026 // 6027 // All specified subnets must be from the same VPC. 6028 // 6029 // Subnets is a required field 6030 Subnets []*string `locationName:"subnets" type:"list" required:"true"` 6031} 6032 6033// String returns the string representation 6034func (s AwsVpcConfiguration) String() string { 6035 return awsutil.Prettify(s) 6036} 6037 6038// GoString returns the string representation 6039func (s AwsVpcConfiguration) GoString() string { 6040 return s.String() 6041} 6042 6043// Validate inspects the fields of the type to determine if they are valid. 6044func (s *AwsVpcConfiguration) Validate() error { 6045 invalidParams := request.ErrInvalidParams{Context: "AwsVpcConfiguration"} 6046 if s.Subnets == nil { 6047 invalidParams.Add(request.NewErrParamRequired("Subnets")) 6048 } 6049 6050 if invalidParams.Len() > 0 { 6051 return invalidParams 6052 } 6053 return nil 6054} 6055 6056// SetAssignPublicIp sets the AssignPublicIp field's value. 6057func (s *AwsVpcConfiguration) SetAssignPublicIp(v string) *AwsVpcConfiguration { 6058 s.AssignPublicIp = &v 6059 return s 6060} 6061 6062// SetSecurityGroups sets the SecurityGroups field's value. 6063func (s *AwsVpcConfiguration) SetSecurityGroups(v []*string) *AwsVpcConfiguration { 6064 s.SecurityGroups = v 6065 return s 6066} 6067 6068// SetSubnets sets the Subnets field's value. 6069func (s *AwsVpcConfiguration) SetSubnets(v []*string) *AwsVpcConfiguration { 6070 s.Subnets = v 6071 return s 6072} 6073 6074// Your AWS account has been blocked. For more information, contact AWS Support 6075// (http://aws.amazon.com/contact-us/). 6076type BlockedException struct { 6077 _ struct{} `type:"structure"` 6078 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6079 6080 Message_ *string `locationName:"message" type:"string"` 6081} 6082 6083// String returns the string representation 6084func (s BlockedException) String() string { 6085 return awsutil.Prettify(s) 6086} 6087 6088// GoString returns the string representation 6089func (s BlockedException) GoString() string { 6090 return s.String() 6091} 6092 6093func newErrorBlockedException(v protocol.ResponseMetadata) error { 6094 return &BlockedException{ 6095 RespMetadata: v, 6096 } 6097} 6098 6099// Code returns the exception type name. 6100func (s *BlockedException) Code() string { 6101 return "BlockedException" 6102} 6103 6104// Message returns the exception's message. 6105func (s *BlockedException) Message() string { 6106 if s.Message_ != nil { 6107 return *s.Message_ 6108 } 6109 return "" 6110} 6111 6112// OrigErr always returns nil, satisfies awserr.Error interface. 6113func (s *BlockedException) OrigErr() error { 6114 return nil 6115} 6116 6117func (s *BlockedException) Error() string { 6118 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6119} 6120 6121// Status code returns the HTTP status code for the request's response error. 6122func (s *BlockedException) StatusCode() int { 6123 return s.RespMetadata.StatusCode 6124} 6125 6126// RequestID returns the service's response RequestID for request. 6127func (s *BlockedException) RequestID() string { 6128 return s.RespMetadata.RequestID 6129} 6130 6131// The details of a capacity provider. 6132type CapacityProvider struct { 6133 _ struct{} `type:"structure"` 6134 6135 // The Auto Scaling group settings for the capacity provider. 6136 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure"` 6137 6138 // The Amazon Resource Name (ARN) that identifies the capacity provider. 6139 CapacityProviderArn *string `locationName:"capacityProviderArn" type:"string"` 6140 6141 // The name of the capacity provider. 6142 Name *string `locationName:"name" type:"string"` 6143 6144 // The current status of the capacity provider. Only capacity providers in an 6145 // ACTIVE state can be used in a cluster. When a capacity provider is successfully 6146 // deleted, it will have an INACTIVE status. 6147 Status *string `locationName:"status" type:"string" enum:"CapacityProviderStatus"` 6148 6149 // The metadata that you apply to the capacity provider to help you categorize 6150 // and organize it. Each tag consists of a key and an optional value, both of 6151 // which you define. 6152 // 6153 // The following basic restrictions apply to tags: 6154 // 6155 // * Maximum number of tags per resource - 50 6156 // 6157 // * For each resource, each tag key must be unique, and each tag key can 6158 // have only one value. 6159 // 6160 // * Maximum key length - 128 Unicode characters in UTF-8 6161 // 6162 // * Maximum value length - 256 Unicode characters in UTF-8 6163 // 6164 // * If your tagging schema is used across multiple services and resources, 6165 // remember that other services may have restrictions on allowed characters. 6166 // Generally allowed characters are: letters, numbers, and spaces representable 6167 // in UTF-8, and the following characters: + - = . _ : / @. 6168 // 6169 // * Tag keys and values are case-sensitive. 6170 // 6171 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6172 // as a prefix for either keys or values as it is reserved for AWS use. You 6173 // cannot edit or delete tag keys or values with this prefix. Tags with this 6174 // prefix do not count against your tags per resource limit. 6175 Tags []*Tag `locationName:"tags" type:"list"` 6176 6177 // The update status of the capacity provider. The following are the possible 6178 // states that will be returned. 6179 // 6180 // DELETE_IN_PROGRESS 6181 // 6182 // The capacity provider is in the process of being deleted. 6183 // 6184 // DELETE_COMPLETE 6185 // 6186 // The capacity provider has been successfully deleted and will have an INACTIVE 6187 // status. 6188 // 6189 // DELETE_FAILED 6190 // 6191 // The capacity provider was unable to be deleted. The update status reason 6192 // will provide further details about why the delete failed. 6193 UpdateStatus *string `locationName:"updateStatus" type:"string" enum:"CapacityProviderUpdateStatus"` 6194 6195 // The update status reason. This provides further details about the update 6196 // status for the capacity provider. 6197 UpdateStatusReason *string `locationName:"updateStatusReason" type:"string"` 6198} 6199 6200// String returns the string representation 6201func (s CapacityProvider) String() string { 6202 return awsutil.Prettify(s) 6203} 6204 6205// GoString returns the string representation 6206func (s CapacityProvider) GoString() string { 6207 return s.String() 6208} 6209 6210// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 6211func (s *CapacityProvider) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CapacityProvider { 6212 s.AutoScalingGroupProvider = v 6213 return s 6214} 6215 6216// SetCapacityProviderArn sets the CapacityProviderArn field's value. 6217func (s *CapacityProvider) SetCapacityProviderArn(v string) *CapacityProvider { 6218 s.CapacityProviderArn = &v 6219 return s 6220} 6221 6222// SetName sets the Name field's value. 6223func (s *CapacityProvider) SetName(v string) *CapacityProvider { 6224 s.Name = &v 6225 return s 6226} 6227 6228// SetStatus sets the Status field's value. 6229func (s *CapacityProvider) SetStatus(v string) *CapacityProvider { 6230 s.Status = &v 6231 return s 6232} 6233 6234// SetTags sets the Tags field's value. 6235func (s *CapacityProvider) SetTags(v []*Tag) *CapacityProvider { 6236 s.Tags = v 6237 return s 6238} 6239 6240// SetUpdateStatus sets the UpdateStatus field's value. 6241func (s *CapacityProvider) SetUpdateStatus(v string) *CapacityProvider { 6242 s.UpdateStatus = &v 6243 return s 6244} 6245 6246// SetUpdateStatusReason sets the UpdateStatusReason field's value. 6247func (s *CapacityProvider) SetUpdateStatusReason(v string) *CapacityProvider { 6248 s.UpdateStatusReason = &v 6249 return s 6250} 6251 6252// The details of a capacity provider strategy. 6253type CapacityProviderStrategyItem struct { 6254 _ struct{} `type:"structure"` 6255 6256 // The base value designates how many tasks, at a minimum, to run on the specified 6257 // capacity provider. Only one capacity provider in a capacity provider strategy 6258 // can have a base defined. 6259 Base *int64 `locationName:"base" type:"integer"` 6260 6261 // The short name of the capacity provider. 6262 // 6263 // CapacityProvider is a required field 6264 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 6265 6266 // The weight value designates the relative percentage of the total number of 6267 // tasks launched that should use the specified capacity provider. 6268 // 6269 // For example, if you have a strategy that contains two capacity providers 6270 // and both have a weight of 1, then when the base is satisfied, the tasks will 6271 // be split evenly across the two capacity providers. Using that same logic, 6272 // if you specify a weight of 1 for capacityProviderA and a weight of 4 for 6273 // capacityProviderB, then for every one task that is run using capacityProviderA, 6274 // four tasks would use capacityProviderB. 6275 Weight *int64 `locationName:"weight" type:"integer"` 6276} 6277 6278// String returns the string representation 6279func (s CapacityProviderStrategyItem) String() string { 6280 return awsutil.Prettify(s) 6281} 6282 6283// GoString returns the string representation 6284func (s CapacityProviderStrategyItem) GoString() string { 6285 return s.String() 6286} 6287 6288// Validate inspects the fields of the type to determine if they are valid. 6289func (s *CapacityProviderStrategyItem) Validate() error { 6290 invalidParams := request.ErrInvalidParams{Context: "CapacityProviderStrategyItem"} 6291 if s.CapacityProvider == nil { 6292 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 6293 } 6294 6295 if invalidParams.Len() > 0 { 6296 return invalidParams 6297 } 6298 return nil 6299} 6300 6301// SetBase sets the Base field's value. 6302func (s *CapacityProviderStrategyItem) SetBase(v int64) *CapacityProviderStrategyItem { 6303 s.Base = &v 6304 return s 6305} 6306 6307// SetCapacityProvider sets the CapacityProvider field's value. 6308func (s *CapacityProviderStrategyItem) SetCapacityProvider(v string) *CapacityProviderStrategyItem { 6309 s.CapacityProvider = &v 6310 return s 6311} 6312 6313// SetWeight sets the Weight field's value. 6314func (s *CapacityProviderStrategyItem) SetWeight(v int64) *CapacityProviderStrategyItem { 6315 s.Weight = &v 6316 return s 6317} 6318 6319// These errors are usually caused by a client action, such as using an action 6320// or resource on behalf of a user that doesn't have permissions to use the 6321// action or resource, or specifying an identifier that is not valid. 6322type ClientException struct { 6323 _ struct{} `type:"structure"` 6324 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6325 6326 Message_ *string `locationName:"message" type:"string"` 6327} 6328 6329// String returns the string representation 6330func (s ClientException) String() string { 6331 return awsutil.Prettify(s) 6332} 6333 6334// GoString returns the string representation 6335func (s ClientException) GoString() string { 6336 return s.String() 6337} 6338 6339func newErrorClientException(v protocol.ResponseMetadata) error { 6340 return &ClientException{ 6341 RespMetadata: v, 6342 } 6343} 6344 6345// Code returns the exception type name. 6346func (s *ClientException) Code() string { 6347 return "ClientException" 6348} 6349 6350// Message returns the exception's message. 6351func (s *ClientException) Message() string { 6352 if s.Message_ != nil { 6353 return *s.Message_ 6354 } 6355 return "" 6356} 6357 6358// OrigErr always returns nil, satisfies awserr.Error interface. 6359func (s *ClientException) OrigErr() error { 6360 return nil 6361} 6362 6363func (s *ClientException) Error() string { 6364 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6365} 6366 6367// Status code returns the HTTP status code for the request's response error. 6368func (s *ClientException) StatusCode() int { 6369 return s.RespMetadata.StatusCode 6370} 6371 6372// RequestID returns the service's response RequestID for request. 6373func (s *ClientException) RequestID() string { 6374 return s.RespMetadata.RequestID 6375} 6376 6377// A regional grouping of one or more container instances on which you can run 6378// task requests. Each account receives a default cluster the first time you 6379// use the Amazon ECS service, but you may also create other clusters. Clusters 6380// may contain more than one instance type simultaneously. 6381type Cluster struct { 6382 _ struct{} `type:"structure"` 6383 6384 // The number of services that are running on the cluster in an ACTIVE state. 6385 // You can view these services with ListServices. 6386 ActiveServicesCount *int64 `locationName:"activeServicesCount" type:"integer"` 6387 6388 // The resources attached to a cluster. When using a capacity provider with 6389 // a cluster, the Auto Scaling plan that is created will be returned as a cluster 6390 // attachment. 6391 Attachments []*Attachment `locationName:"attachments" type:"list"` 6392 6393 // The status of the capacity providers associated with the cluster. The following 6394 // are the states that will be returned: 6395 // 6396 // UPDATE_IN_PROGRESS 6397 // 6398 // The available capacity providers for the cluster are updating. This occurs 6399 // when the Auto Scaling plan is provisioning or deprovisioning. 6400 // 6401 // UPDATE_COMPLETE 6402 // 6403 // The capacity providers have successfully updated. 6404 // 6405 // UPDATE_FAILED 6406 // 6407 // The capacity provider updates failed. 6408 AttachmentsStatus *string `locationName:"attachmentsStatus" type:"string"` 6409 6410 // The capacity providers associated with the cluster. 6411 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 6412 6413 // The Amazon Resource Name (ARN) that identifies the cluster. The ARN contains 6414 // the arn:aws:ecs namespace, followed by the Region of the cluster, the AWS 6415 // account ID of the cluster owner, the cluster namespace, and then the cluster 6416 // name. For example, arn:aws:ecs:region:012345678910:cluster/test. 6417 ClusterArn *string `locationName:"clusterArn" type:"string"` 6418 6419 // A user-generated string that you use to identify your cluster. 6420 ClusterName *string `locationName:"clusterName" type:"string"` 6421 6422 // The default capacity provider strategy for the cluster. When services or 6423 // tasks are run in the cluster with no launch type or capacity provider strategy 6424 // specified, the default capacity provider strategy is used. 6425 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 6426 6427 // The number of tasks in the cluster that are in the PENDING state. 6428 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 6429 6430 // The number of container instances registered into the cluster. This includes 6431 // container instances in both ACTIVE and DRAINING status. 6432 RegisteredContainerInstancesCount *int64 `locationName:"registeredContainerInstancesCount" type:"integer"` 6433 6434 // The number of tasks in the cluster that are in the RUNNING state. 6435 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 6436 6437 // The settings for the cluster. This parameter indicates whether CloudWatch 6438 // Container Insights is enabled or disabled for a cluster. 6439 Settings []*ClusterSetting `locationName:"settings" type:"list"` 6440 6441 // Additional information about your clusters that are separated by launch type, 6442 // including: 6443 // 6444 // * runningEC2TasksCount 6445 // 6446 // * RunningFargateTasksCount 6447 // 6448 // * pendingEC2TasksCount 6449 // 6450 // * pendingFargateTasksCount 6451 // 6452 // * activeEC2ServiceCount 6453 // 6454 // * activeFargateServiceCount 6455 // 6456 // * drainingEC2ServiceCount 6457 // 6458 // * drainingFargateServiceCount 6459 Statistics []*KeyValuePair `locationName:"statistics" type:"list"` 6460 6461 // The status of the cluster. The following are the possible states that will 6462 // be returned. 6463 // 6464 // ACTIVE 6465 // 6466 // The cluster is ready to accept tasks and if applicable you can register container 6467 // instances with the cluster. 6468 // 6469 // PROVISIONING 6470 // 6471 // The cluster has capacity providers associated with it and the resources needed 6472 // for the capacity provider are being created. 6473 // 6474 // DEPROVISIONING 6475 // 6476 // The cluster has capacity providers associated with it and the resources needed 6477 // for the capacity provider are being deleted. 6478 // 6479 // FAILED 6480 // 6481 // The cluster has capacity providers associated with it and the resources needed 6482 // for the capacity provider have failed to create. 6483 // 6484 // INACTIVE 6485 // 6486 // The cluster has been deleted. Clusters with an INACTIVE status may remain 6487 // discoverable in your account for a period of time. However, this behavior 6488 // is subject to change in the future, so you should not rely on INACTIVE clusters 6489 // persisting. 6490 Status *string `locationName:"status" type:"string"` 6491 6492 // The metadata that you apply to the cluster to help you categorize and organize 6493 // them. Each tag consists of a key and an optional value, both of which you 6494 // define. 6495 // 6496 // The following basic restrictions apply to tags: 6497 // 6498 // * Maximum number of tags per resource - 50 6499 // 6500 // * For each resource, each tag key must be unique, and each tag key can 6501 // have only one value. 6502 // 6503 // * Maximum key length - 128 Unicode characters in UTF-8 6504 // 6505 // * Maximum value length - 256 Unicode characters in UTF-8 6506 // 6507 // * If your tagging schema is used across multiple services and resources, 6508 // remember that other services may have restrictions on allowed characters. 6509 // Generally allowed characters are: letters, numbers, and spaces representable 6510 // in UTF-8, and the following characters: + - = . _ : / @. 6511 // 6512 // * Tag keys and values are case-sensitive. 6513 // 6514 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 6515 // as a prefix for either keys or values as it is reserved for AWS use. You 6516 // cannot edit or delete tag keys or values with this prefix. Tags with this 6517 // prefix do not count against your tags per resource limit. 6518 Tags []*Tag `locationName:"tags" type:"list"` 6519} 6520 6521// String returns the string representation 6522func (s Cluster) String() string { 6523 return awsutil.Prettify(s) 6524} 6525 6526// GoString returns the string representation 6527func (s Cluster) GoString() string { 6528 return s.String() 6529} 6530 6531// SetActiveServicesCount sets the ActiveServicesCount field's value. 6532func (s *Cluster) SetActiveServicesCount(v int64) *Cluster { 6533 s.ActiveServicesCount = &v 6534 return s 6535} 6536 6537// SetAttachments sets the Attachments field's value. 6538func (s *Cluster) SetAttachments(v []*Attachment) *Cluster { 6539 s.Attachments = v 6540 return s 6541} 6542 6543// SetAttachmentsStatus sets the AttachmentsStatus field's value. 6544func (s *Cluster) SetAttachmentsStatus(v string) *Cluster { 6545 s.AttachmentsStatus = &v 6546 return s 6547} 6548 6549// SetCapacityProviders sets the CapacityProviders field's value. 6550func (s *Cluster) SetCapacityProviders(v []*string) *Cluster { 6551 s.CapacityProviders = v 6552 return s 6553} 6554 6555// SetClusterArn sets the ClusterArn field's value. 6556func (s *Cluster) SetClusterArn(v string) *Cluster { 6557 s.ClusterArn = &v 6558 return s 6559} 6560 6561// SetClusterName sets the ClusterName field's value. 6562func (s *Cluster) SetClusterName(v string) *Cluster { 6563 s.ClusterName = &v 6564 return s 6565} 6566 6567// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 6568func (s *Cluster) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Cluster { 6569 s.DefaultCapacityProviderStrategy = v 6570 return s 6571} 6572 6573// SetPendingTasksCount sets the PendingTasksCount field's value. 6574func (s *Cluster) SetPendingTasksCount(v int64) *Cluster { 6575 s.PendingTasksCount = &v 6576 return s 6577} 6578 6579// SetRegisteredContainerInstancesCount sets the RegisteredContainerInstancesCount field's value. 6580func (s *Cluster) SetRegisteredContainerInstancesCount(v int64) *Cluster { 6581 s.RegisteredContainerInstancesCount = &v 6582 return s 6583} 6584 6585// SetRunningTasksCount sets the RunningTasksCount field's value. 6586func (s *Cluster) SetRunningTasksCount(v int64) *Cluster { 6587 s.RunningTasksCount = &v 6588 return s 6589} 6590 6591// SetSettings sets the Settings field's value. 6592func (s *Cluster) SetSettings(v []*ClusterSetting) *Cluster { 6593 s.Settings = v 6594 return s 6595} 6596 6597// SetStatistics sets the Statistics field's value. 6598func (s *Cluster) SetStatistics(v []*KeyValuePair) *Cluster { 6599 s.Statistics = v 6600 return s 6601} 6602 6603// SetStatus sets the Status field's value. 6604func (s *Cluster) SetStatus(v string) *Cluster { 6605 s.Status = &v 6606 return s 6607} 6608 6609// SetTags sets the Tags field's value. 6610func (s *Cluster) SetTags(v []*Tag) *Cluster { 6611 s.Tags = v 6612 return s 6613} 6614 6615// You cannot delete a cluster that has registered container instances. First, 6616// deregister the container instances before you can delete the cluster. For 6617// more information, see DeregisterContainerInstance. 6618type ClusterContainsContainerInstancesException struct { 6619 _ struct{} `type:"structure"` 6620 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6621 6622 Message_ *string `locationName:"message" type:"string"` 6623} 6624 6625// String returns the string representation 6626func (s ClusterContainsContainerInstancesException) String() string { 6627 return awsutil.Prettify(s) 6628} 6629 6630// GoString returns the string representation 6631func (s ClusterContainsContainerInstancesException) GoString() string { 6632 return s.String() 6633} 6634 6635func newErrorClusterContainsContainerInstancesException(v protocol.ResponseMetadata) error { 6636 return &ClusterContainsContainerInstancesException{ 6637 RespMetadata: v, 6638 } 6639} 6640 6641// Code returns the exception type name. 6642func (s *ClusterContainsContainerInstancesException) Code() string { 6643 return "ClusterContainsContainerInstancesException" 6644} 6645 6646// Message returns the exception's message. 6647func (s *ClusterContainsContainerInstancesException) Message() string { 6648 if s.Message_ != nil { 6649 return *s.Message_ 6650 } 6651 return "" 6652} 6653 6654// OrigErr always returns nil, satisfies awserr.Error interface. 6655func (s *ClusterContainsContainerInstancesException) OrigErr() error { 6656 return nil 6657} 6658 6659func (s *ClusterContainsContainerInstancesException) Error() string { 6660 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6661} 6662 6663// Status code returns the HTTP status code for the request's response error. 6664func (s *ClusterContainsContainerInstancesException) StatusCode() int { 6665 return s.RespMetadata.StatusCode 6666} 6667 6668// RequestID returns the service's response RequestID for request. 6669func (s *ClusterContainsContainerInstancesException) RequestID() string { 6670 return s.RespMetadata.RequestID 6671} 6672 6673// You cannot delete a cluster that contains services. First, update the service 6674// to reduce its desired task count to 0 and then delete the service. For more 6675// information, see UpdateService and DeleteService. 6676type ClusterContainsServicesException struct { 6677 _ struct{} `type:"structure"` 6678 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6679 6680 Message_ *string `locationName:"message" type:"string"` 6681} 6682 6683// String returns the string representation 6684func (s ClusterContainsServicesException) String() string { 6685 return awsutil.Prettify(s) 6686} 6687 6688// GoString returns the string representation 6689func (s ClusterContainsServicesException) GoString() string { 6690 return s.String() 6691} 6692 6693func newErrorClusterContainsServicesException(v protocol.ResponseMetadata) error { 6694 return &ClusterContainsServicesException{ 6695 RespMetadata: v, 6696 } 6697} 6698 6699// Code returns the exception type name. 6700func (s *ClusterContainsServicesException) Code() string { 6701 return "ClusterContainsServicesException" 6702} 6703 6704// Message returns the exception's message. 6705func (s *ClusterContainsServicesException) Message() string { 6706 if s.Message_ != nil { 6707 return *s.Message_ 6708 } 6709 return "" 6710} 6711 6712// OrigErr always returns nil, satisfies awserr.Error interface. 6713func (s *ClusterContainsServicesException) OrigErr() error { 6714 return nil 6715} 6716 6717func (s *ClusterContainsServicesException) Error() string { 6718 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6719} 6720 6721// Status code returns the HTTP status code for the request's response error. 6722func (s *ClusterContainsServicesException) StatusCode() int { 6723 return s.RespMetadata.StatusCode 6724} 6725 6726// RequestID returns the service's response RequestID for request. 6727func (s *ClusterContainsServicesException) RequestID() string { 6728 return s.RespMetadata.RequestID 6729} 6730 6731// You cannot delete a cluster that has active tasks. 6732type ClusterContainsTasksException struct { 6733 _ struct{} `type:"structure"` 6734 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6735 6736 Message_ *string `locationName:"message" type:"string"` 6737} 6738 6739// String returns the string representation 6740func (s ClusterContainsTasksException) String() string { 6741 return awsutil.Prettify(s) 6742} 6743 6744// GoString returns the string representation 6745func (s ClusterContainsTasksException) GoString() string { 6746 return s.String() 6747} 6748 6749func newErrorClusterContainsTasksException(v protocol.ResponseMetadata) error { 6750 return &ClusterContainsTasksException{ 6751 RespMetadata: v, 6752 } 6753} 6754 6755// Code returns the exception type name. 6756func (s *ClusterContainsTasksException) Code() string { 6757 return "ClusterContainsTasksException" 6758} 6759 6760// Message returns the exception's message. 6761func (s *ClusterContainsTasksException) Message() string { 6762 if s.Message_ != nil { 6763 return *s.Message_ 6764 } 6765 return "" 6766} 6767 6768// OrigErr always returns nil, satisfies awserr.Error interface. 6769func (s *ClusterContainsTasksException) OrigErr() error { 6770 return nil 6771} 6772 6773func (s *ClusterContainsTasksException) Error() string { 6774 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6775} 6776 6777// Status code returns the HTTP status code for the request's response error. 6778func (s *ClusterContainsTasksException) StatusCode() int { 6779 return s.RespMetadata.StatusCode 6780} 6781 6782// RequestID returns the service's response RequestID for request. 6783func (s *ClusterContainsTasksException) RequestID() string { 6784 return s.RespMetadata.RequestID 6785} 6786 6787// The specified cluster could not be found. You can view your available clusters 6788// with ListClusters. Amazon ECS clusters are Region-specific. 6789type ClusterNotFoundException struct { 6790 _ struct{} `type:"structure"` 6791 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6792 6793 Message_ *string `locationName:"message" type:"string"` 6794} 6795 6796// String returns the string representation 6797func (s ClusterNotFoundException) String() string { 6798 return awsutil.Prettify(s) 6799} 6800 6801// GoString returns the string representation 6802func (s ClusterNotFoundException) GoString() string { 6803 return s.String() 6804} 6805 6806func newErrorClusterNotFoundException(v protocol.ResponseMetadata) error { 6807 return &ClusterNotFoundException{ 6808 RespMetadata: v, 6809 } 6810} 6811 6812// Code returns the exception type name. 6813func (s *ClusterNotFoundException) Code() string { 6814 return "ClusterNotFoundException" 6815} 6816 6817// Message returns the exception's message. 6818func (s *ClusterNotFoundException) Message() string { 6819 if s.Message_ != nil { 6820 return *s.Message_ 6821 } 6822 return "" 6823} 6824 6825// OrigErr always returns nil, satisfies awserr.Error interface. 6826func (s *ClusterNotFoundException) OrigErr() error { 6827 return nil 6828} 6829 6830func (s *ClusterNotFoundException) Error() string { 6831 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6832} 6833 6834// Status code returns the HTTP status code for the request's response error. 6835func (s *ClusterNotFoundException) StatusCode() int { 6836 return s.RespMetadata.StatusCode 6837} 6838 6839// RequestID returns the service's response RequestID for request. 6840func (s *ClusterNotFoundException) RequestID() string { 6841 return s.RespMetadata.RequestID 6842} 6843 6844// The settings to use when creating a cluster. This parameter is used to enable 6845// CloudWatch Container Insights for a cluster. 6846type ClusterSetting struct { 6847 _ struct{} `type:"structure"` 6848 6849 // The name of the cluster setting. The only supported value is containerInsights. 6850 Name *string `locationName:"name" type:"string" enum:"ClusterSettingName"` 6851 6852 // The value to set for the cluster setting. The supported values are enabled 6853 // and disabled. If enabled is specified, CloudWatch Container Insights will 6854 // be enabled for the cluster, otherwise it will be disabled unless the containerInsights 6855 // account setting is enabled. If a cluster value is specified, it will override 6856 // the containerInsights value set with PutAccountSetting or PutAccountSettingDefault. 6857 Value *string `locationName:"value" type:"string"` 6858} 6859 6860// String returns the string representation 6861func (s ClusterSetting) String() string { 6862 return awsutil.Prettify(s) 6863} 6864 6865// GoString returns the string representation 6866func (s ClusterSetting) GoString() string { 6867 return s.String() 6868} 6869 6870// SetName sets the Name field's value. 6871func (s *ClusterSetting) SetName(v string) *ClusterSetting { 6872 s.Name = &v 6873 return s 6874} 6875 6876// SetValue sets the Value field's value. 6877func (s *ClusterSetting) SetValue(v string) *ClusterSetting { 6878 s.Value = &v 6879 return s 6880} 6881 6882// A Docker container that is part of a task. 6883type Container struct { 6884 _ struct{} `type:"structure"` 6885 6886 // The Amazon Resource Name (ARN) of the container. 6887 ContainerArn *string `locationName:"containerArn" type:"string"` 6888 6889 // The number of CPU units set for the container. The value will be 0 if no 6890 // value was specified in the container definition when the task definition 6891 // was registered. 6892 Cpu *string `locationName:"cpu" type:"string"` 6893 6894 // The exit code returned from the container. 6895 ExitCode *int64 `locationName:"exitCode" type:"integer"` 6896 6897 // The IDs of each GPU assigned to the container. 6898 GpuIds []*string `locationName:"gpuIds" type:"list"` 6899 6900 // The health status of the container. If health checks are not configured for 6901 // this container in its task definition, then it reports the health status 6902 // as UNKNOWN. 6903 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 6904 6905 // The image used for the container. 6906 Image *string `locationName:"image" type:"string"` 6907 6908 // The container image manifest digest. 6909 // 6910 // The imageDigest is only returned if the container is using an image hosted 6911 // in Amazon ECR, otherwise it is omitted. 6912 ImageDigest *string `locationName:"imageDigest" type:"string"` 6913 6914 // The last known status of the container. 6915 LastStatus *string `locationName:"lastStatus" type:"string"` 6916 6917 // The hard limit (in MiB) of memory set for the container. 6918 Memory *string `locationName:"memory" type:"string"` 6919 6920 // The soft limit (in MiB) of memory set for the container. 6921 MemoryReservation *string `locationName:"memoryReservation" type:"string"` 6922 6923 // The name of the container. 6924 Name *string `locationName:"name" type:"string"` 6925 6926 // The network bindings associated with the container. 6927 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 6928 6929 // The network interfaces associated with the container. 6930 NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"` 6931 6932 // A short (255 max characters) human-readable string to provide additional 6933 // details about a running or stopped container. 6934 Reason *string `locationName:"reason" type:"string"` 6935 6936 // The ID of the Docker container. 6937 RuntimeId *string `locationName:"runtimeId" type:"string"` 6938 6939 // The ARN of the task. 6940 TaskArn *string `locationName:"taskArn" type:"string"` 6941} 6942 6943// String returns the string representation 6944func (s Container) String() string { 6945 return awsutil.Prettify(s) 6946} 6947 6948// GoString returns the string representation 6949func (s Container) GoString() string { 6950 return s.String() 6951} 6952 6953// SetContainerArn sets the ContainerArn field's value. 6954func (s *Container) SetContainerArn(v string) *Container { 6955 s.ContainerArn = &v 6956 return s 6957} 6958 6959// SetCpu sets the Cpu field's value. 6960func (s *Container) SetCpu(v string) *Container { 6961 s.Cpu = &v 6962 return s 6963} 6964 6965// SetExitCode sets the ExitCode field's value. 6966func (s *Container) SetExitCode(v int64) *Container { 6967 s.ExitCode = &v 6968 return s 6969} 6970 6971// SetGpuIds sets the GpuIds field's value. 6972func (s *Container) SetGpuIds(v []*string) *Container { 6973 s.GpuIds = v 6974 return s 6975} 6976 6977// SetHealthStatus sets the HealthStatus field's value. 6978func (s *Container) SetHealthStatus(v string) *Container { 6979 s.HealthStatus = &v 6980 return s 6981} 6982 6983// SetImage sets the Image field's value. 6984func (s *Container) SetImage(v string) *Container { 6985 s.Image = &v 6986 return s 6987} 6988 6989// SetImageDigest sets the ImageDigest field's value. 6990func (s *Container) SetImageDigest(v string) *Container { 6991 s.ImageDigest = &v 6992 return s 6993} 6994 6995// SetLastStatus sets the LastStatus field's value. 6996func (s *Container) SetLastStatus(v string) *Container { 6997 s.LastStatus = &v 6998 return s 6999} 7000 7001// SetMemory sets the Memory field's value. 7002func (s *Container) SetMemory(v string) *Container { 7003 s.Memory = &v 7004 return s 7005} 7006 7007// SetMemoryReservation sets the MemoryReservation field's value. 7008func (s *Container) SetMemoryReservation(v string) *Container { 7009 s.MemoryReservation = &v 7010 return s 7011} 7012 7013// SetName sets the Name field's value. 7014func (s *Container) SetName(v string) *Container { 7015 s.Name = &v 7016 return s 7017} 7018 7019// SetNetworkBindings sets the NetworkBindings field's value. 7020func (s *Container) SetNetworkBindings(v []*NetworkBinding) *Container { 7021 s.NetworkBindings = v 7022 return s 7023} 7024 7025// SetNetworkInterfaces sets the NetworkInterfaces field's value. 7026func (s *Container) SetNetworkInterfaces(v []*NetworkInterface) *Container { 7027 s.NetworkInterfaces = v 7028 return s 7029} 7030 7031// SetReason sets the Reason field's value. 7032func (s *Container) SetReason(v string) *Container { 7033 s.Reason = &v 7034 return s 7035} 7036 7037// SetRuntimeId sets the RuntimeId field's value. 7038func (s *Container) SetRuntimeId(v string) *Container { 7039 s.RuntimeId = &v 7040 return s 7041} 7042 7043// SetTaskArn sets the TaskArn field's value. 7044func (s *Container) SetTaskArn(v string) *Container { 7045 s.TaskArn = &v 7046 return s 7047} 7048 7049// Container definitions are used in task definitions to describe the different 7050// containers that are launched as part of a task. 7051type ContainerDefinition struct { 7052 _ struct{} `type:"structure"` 7053 7054 // The command that is passed to the container. This parameter maps to Cmd in 7055 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7056 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7057 // and the COMMAND parameter to docker run (https://docs.docker.com/engine/reference/run/). 7058 // For more information, see https://docs.docker.com/engine/reference/builder/#cmd 7059 // (https://docs.docker.com/engine/reference/builder/#cmd). If there are multiple 7060 // arguments, each argument should be a separated string in the array. 7061 Command []*string `locationName:"command" type:"list"` 7062 7063 // The number of cpu units reserved for the container. This parameter maps to 7064 // CpuShares in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7065 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7066 // and the --cpu-shares option to docker run (https://docs.docker.com/engine/reference/run/). 7067 // 7068 // This field is optional for tasks using the Fargate launch type, and the only 7069 // requirement is that the total amount of CPU reserved for all containers within 7070 // a task be lower than the task-level cpu value. 7071 // 7072 // You can determine the number of CPU units that are available per EC2 instance 7073 // type by multiplying the vCPUs listed for that instance type on the Amazon 7074 // EC2 Instances (http://aws.amazon.com/ec2/instance-types/) detail page by 7075 // 1,024. 7076 // 7077 // Linux containers share unallocated CPU units with other containers on the 7078 // container instance with the same ratio as their allocated amount. For example, 7079 // if you run a single-container task on a single-core instance type with 512 7080 // CPU units specified for that container, and that is the only task running 7081 // on the container instance, that container could use the full 1,024 CPU unit 7082 // share at any given time. However, if you launched another copy of the same 7083 // task on that container instance, each task would be guaranteed a minimum 7084 // of 512 CPU units when needed, and each container could float to higher CPU 7085 // usage if the other container was not using it, but if both tasks were 100% 7086 // active all of the time, they would be limited to 512 CPU units. 7087 // 7088 // On Linux container instances, the Docker daemon on the container instance 7089 // uses the CPU value to calculate the relative CPU share ratios for running 7090 // containers. For more information, see CPU share constraint (https://docs.docker.com/engine/reference/run/#cpu-share-constraint) 7091 // in the Docker documentation. The minimum valid CPU share value that the Linux 7092 // kernel allows is 2. However, the CPU parameter is not required, and you can 7093 // use CPU values below 2 in your container definitions. For CPU values below 7094 // 2 (including null), the behavior varies based on your Amazon ECS container 7095 // agent version: 7096 // 7097 // * Agent versions less than or equal to 1.1.0: Null and zero CPU values 7098 // are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. 7099 // CPU values of 1 are passed to Docker as 1, which the Linux kernel converts 7100 // to two CPU shares. 7101 // 7102 // * Agent versions greater than or equal to 1.2.0: Null, zero, and CPU values 7103 // of 1 are passed to Docker as 2. 7104 // 7105 // On Windows container instances, the CPU limit is enforced as an absolute 7106 // limit, or a quota. Windows containers only have access to the specified amount 7107 // of CPU that is described in the task definition. 7108 Cpu *int64 `locationName:"cpu" type:"integer"` 7109 7110 // The dependencies defined for container startup and shutdown. A container 7111 // can contain multiple dependencies. When a dependency is defined for container 7112 // startup, for container shutdown it is reversed. 7113 // 7114 // For tasks using the EC2 launch type, the container instances require at least 7115 // version 1.26.0 of the container agent to enable container dependencies. However, 7116 // we recommend using the latest container agent version. For information about 7117 // checking your agent version and updating to the latest version, see Updating 7118 // the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7119 // in the Amazon Elastic Container Service Developer Guide. If you are using 7120 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7121 // of the ecs-init package. If your container instances are launched from version 7122 // 20190301 or later, then they contain the required versions of the container 7123 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7124 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7125 // in the Amazon Elastic Container Service Developer Guide. 7126 // 7127 // For tasks using the Fargate launch type, the task or service requires platform 7128 // version 1.3.0 or later. 7129 DependsOn []*ContainerDependency `locationName:"dependsOn" type:"list"` 7130 7131 // When this parameter is true, networking is disabled within the container. 7132 // This parameter maps to NetworkDisabled in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7133 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 7134 // 7135 // This parameter is not supported for Windows containers. 7136 DisableNetworking *bool `locationName:"disableNetworking" type:"boolean"` 7137 7138 // A list of DNS search domains that are presented to the container. This parameter 7139 // maps to DnsSearch in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7140 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7141 // and the --dns-search option to docker run (https://docs.docker.com/engine/reference/run/). 7142 // 7143 // This parameter is not supported for Windows containers. 7144 DnsSearchDomains []*string `locationName:"dnsSearchDomains" type:"list"` 7145 7146 // A list of DNS servers that are presented to the container. This parameter 7147 // maps to Dns in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7148 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7149 // and the --dns option to docker run (https://docs.docker.com/engine/reference/run/). 7150 // 7151 // This parameter is not supported for Windows containers. 7152 DnsServers []*string `locationName:"dnsServers" type:"list"` 7153 7154 // A key/value map of labels to add to the container. This parameter maps to 7155 // Labels in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7156 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7157 // and the --label option to docker run (https://docs.docker.com/engine/reference/run/). 7158 // This parameter requires version 1.18 of the Docker Remote API or greater 7159 // on your container instance. To check the Docker Remote API version on your 7160 // container instance, log in to your container instance and run the following 7161 // command: sudo docker version --format '{{.Server.APIVersion}}' 7162 DockerLabels map[string]*string `locationName:"dockerLabels" type:"map"` 7163 7164 // A list of strings to provide custom labels for SELinux and AppArmor multi-level 7165 // security systems. This field is not valid for containers in tasks using the 7166 // Fargate launch type. 7167 // 7168 // With Windows containers, this parameter can be used to reference a credential 7169 // spec file when configuring a container for Active Directory authentication. 7170 // For more information, see Using gMSAs for Windows Containers (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) 7171 // in the Amazon Elastic Container Service Developer Guide. 7172 // 7173 // This parameter maps to SecurityOpt in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7174 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7175 // and the --security-opt option to docker run (https://docs.docker.com/engine/reference/run/). 7176 // 7177 // The Amazon ECS container agent running on a container instance must register 7178 // with the ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true environment 7179 // variables before containers placed on that instance can use these security 7180 // options. For more information, see Amazon ECS Container Agent Configuration 7181 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7182 // in the Amazon Elastic Container Service Developer Guide. 7183 DockerSecurityOptions []*string `locationName:"dockerSecurityOptions" type:"list"` 7184 7185 // 7186 // Early versions of the Amazon ECS container agent do not properly handle entryPoint 7187 // parameters. If you have problems using entryPoint, update your container 7188 // agent or enter your commands and arguments as command array items instead. 7189 // 7190 // The entry point that is passed to the container. This parameter maps to Entrypoint 7191 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7192 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7193 // and the --entrypoint option to docker run (https://docs.docker.com/engine/reference/run/). 7194 // For more information, see https://docs.docker.com/engine/reference/builder/#entrypoint 7195 // (https://docs.docker.com/engine/reference/builder/#entrypoint). 7196 EntryPoint []*string `locationName:"entryPoint" type:"list"` 7197 7198 // The environment variables to pass to a container. This parameter maps to 7199 // Env in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7200 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7201 // and the --env option to docker run (https://docs.docker.com/engine/reference/run/). 7202 // 7203 // We do not recommend using plaintext environment variables for sensitive information, 7204 // such as credential data. 7205 Environment []*KeyValuePair `locationName:"environment" type:"list"` 7206 7207 // A list of files containing the environment variables to pass to a container. 7208 // This parameter maps to the --env-file option to docker run (https://docs.docker.com/engine/reference/run/). 7209 // 7210 // You can specify up to ten environment files. The file must have a .env file 7211 // extension. Each line in an environment file should contain an environment 7212 // variable in VARIABLE=VALUE format. Lines beginning with # are treated as 7213 // comments and are ignored. For more information on the environment variable 7214 // file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 7215 // 7216 // If there are environment variables specified using the environment parameter 7217 // in a container definition, they take precedence over the variables contained 7218 // within an environment file. If multiple environment files are specified that 7219 // contain the same variable, they are processed from the top down. It is recommended 7220 // to use unique variable names. For more information, see Specifying Environment 7221 // Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 7222 // in the Amazon Elastic Container Service Developer Guide. 7223 // 7224 // This field is not valid for containers in tasks using the Fargate launch 7225 // type. 7226 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 7227 7228 // If the essential parameter of a container is marked as true, and that container 7229 // fails or stops for any reason, all other containers that are part of the 7230 // task are stopped. If the essential parameter of a container is marked as 7231 // false, then its failure does not affect the rest of the containers in a task. 7232 // If this parameter is omitted, a container is assumed to be essential. 7233 // 7234 // All tasks must have at least one essential container. If you have an application 7235 // that is composed of multiple containers, you should group containers that 7236 // are used for a common purpose into components, and separate the different 7237 // components into multiple task definitions. For more information, see Application 7238 // Architecture (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html) 7239 // in the Amazon Elastic Container Service Developer Guide. 7240 Essential *bool `locationName:"essential" type:"boolean"` 7241 7242 // A list of hostnames and IP address mappings to append to the /etc/hosts file 7243 // on the container. This parameter maps to ExtraHosts in the Create a container 7244 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7245 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7246 // the --add-host option to docker run (https://docs.docker.com/engine/reference/run/). 7247 // 7248 // This parameter is not supported for Windows containers or tasks that use 7249 // the awsvpc network mode. 7250 ExtraHosts []*HostEntry `locationName:"extraHosts" type:"list"` 7251 7252 // The FireLens configuration for the container. This is used to specify and 7253 // configure a log router for container logs. For more information, see Custom 7254 // Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 7255 // in the Amazon Elastic Container Service Developer Guide. 7256 FirelensConfiguration *FirelensConfiguration `locationName:"firelensConfiguration" type:"structure"` 7257 7258 // The container health check command and associated configuration parameters 7259 // for the container. This parameter maps to HealthCheck in the Create a container 7260 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7261 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7262 // the HEALTHCHECK parameter of docker run (https://docs.docker.com/engine/reference/run/). 7263 HealthCheck *HealthCheck `locationName:"healthCheck" type:"structure"` 7264 7265 // The hostname to use for your container. This parameter maps to Hostname in 7266 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7267 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7268 // and the --hostname option to docker run (https://docs.docker.com/engine/reference/run/). 7269 // 7270 // The hostname parameter is not supported if you are using the awsvpc network 7271 // mode. 7272 Hostname *string `locationName:"hostname" type:"string"` 7273 7274 // The image used to start a container. This string is passed directly to the 7275 // Docker daemon. Images in the Docker Hub registry are available by default. 7276 // Other repositories are specified with either repository-url/image:tag or 7277 // repository-url/image@digest . Up to 255 letters (uppercase and lowercase), 7278 // numbers, hyphens, underscores, colons, periods, forward slashes, and number 7279 // signs are allowed. This parameter maps to Image in the Create a container 7280 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7281 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7282 // the IMAGE parameter of docker run (https://docs.docker.com/engine/reference/run/). 7283 // 7284 // * When a new task starts, the Amazon ECS container agent pulls the latest 7285 // version of the specified image and tag for the container to use. However, 7286 // subsequent updates to a repository image are not propagated to already 7287 // running tasks. 7288 // 7289 // * Images in Amazon ECR repositories can be specified by either using the 7290 // full registry/repository:tag or registry/repository@digest. For example, 7291 // 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 7292 // or 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE. 7293 // 7294 // * Images in official repositories on Docker Hub use a single name (for 7295 // example, ubuntu or mongo). 7296 // 7297 // * Images in other repositories on Docker Hub are qualified with an organization 7298 // name (for example, amazon/amazon-ecs-agent). 7299 // 7300 // * Images in other online repositories are qualified further by a domain 7301 // name (for example, quay.io/assemblyline/ubuntu). 7302 Image *string `locationName:"image" type:"string"` 7303 7304 // When this parameter is true, this allows you to deploy containerized applications 7305 // that require stdin or a tty to be allocated. This parameter maps to OpenStdin 7306 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7307 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7308 // and the --interactive option to docker run (https://docs.docker.com/engine/reference/run/). 7309 Interactive *bool `locationName:"interactive" type:"boolean"` 7310 7311 // The links parameter allows containers to communicate with each other without 7312 // the need for port mappings. This parameter is only supported if the network 7313 // mode of a task definition is bridge. The name:internalName construct is analogous 7314 // to name:alias in Docker links. Up to 255 letters (uppercase and lowercase), 7315 // numbers, and hyphens are allowed. For more information about linking Docker 7316 // containers, go to Legacy container links (https://docs.docker.com/network/links/) 7317 // in the Docker documentation. This parameter maps to Links in the Create a 7318 // container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7319 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7320 // and the --link option to docker run (https://docs.docker.com/engine/reference/run/). 7321 // 7322 // This parameter is not supported for Windows containers. 7323 // 7324 // Containers that are collocated on a single container instance may be able 7325 // to communicate with each other without requiring links or host port mappings. 7326 // Network isolation is achieved on the container instance using security groups 7327 // and VPC settings. 7328 Links []*string `locationName:"links" type:"list"` 7329 7330 // Linux-specific modifications that are applied to the container, such as Linux 7331 // kernel capabilities. For more information see KernelCapabilities. 7332 // 7333 // This parameter is not supported for Windows containers. 7334 LinuxParameters *LinuxParameters `locationName:"linuxParameters" type:"structure"` 7335 7336 // The log configuration specification for the container. 7337 // 7338 // This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7339 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7340 // and the --log-driver option to docker run (https://docs.docker.com/engine/reference/run/). 7341 // By default, containers use the same logging driver that the Docker daemon 7342 // uses. However the container may use a different logging driver than the Docker 7343 // daemon by specifying a log driver with this parameter in the container definition. 7344 // To use a different logging driver for a container, the log system must be 7345 // configured properly on the container instance (or on a different log server 7346 // for remote logging options). For more information on the options for different 7347 // supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 7348 // in the Docker documentation. 7349 // 7350 // Amazon ECS currently supports a subset of the logging drivers available to 7351 // the Docker daemon (shown in the LogConfiguration data type). Additional log 7352 // drivers may be available in future releases of the Amazon ECS container agent. 7353 // 7354 // This parameter requires version 1.18 of the Docker Remote API or greater 7355 // on your container instance. To check the Docker Remote API version on your 7356 // container instance, log in to your container instance and run the following 7357 // command: sudo docker version --format '{{.Server.APIVersion}}' 7358 // 7359 // The Amazon ECS container agent running on a container instance must register 7360 // the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS 7361 // environment variable before containers placed on that instance can use these 7362 // log configuration options. For more information, see Amazon ECS Container 7363 // Agent Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 7364 // in the Amazon Elastic Container Service Developer Guide. 7365 LogConfiguration *LogConfiguration `locationName:"logConfiguration" type:"structure"` 7366 7367 // The amount (in MiB) of memory to present to the container. If your container 7368 // attempts to exceed the memory specified here, the container is killed. The 7369 // total amount of memory reserved for all containers within a task must be 7370 // lower than the task memory value, if one is specified. This parameter maps 7371 // to Memory in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7372 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7373 // and the --memory option to docker run (https://docs.docker.com/engine/reference/run/). 7374 // 7375 // If using the Fargate launch type, this parameter is optional. 7376 // 7377 // If using the EC2 launch type, you must specify either a task-level memory 7378 // value or a container-level memory value. If you specify both a container-level 7379 // memory and memoryReservation value, memory must be greater than memoryReservation. 7380 // If you specify memoryReservation, then that value is subtracted from the 7381 // available memory resources for the container instance on which the container 7382 // is placed. Otherwise, the value of memory is used. 7383 // 7384 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7385 // so you should not specify fewer than 4 MiB of memory for your containers. 7386 Memory *int64 `locationName:"memory" type:"integer"` 7387 7388 // The soft limit (in MiB) of memory to reserve for the container. When system 7389 // memory is under heavy contention, Docker attempts to keep the container memory 7390 // to this soft limit. However, your container can consume more memory when 7391 // it needs to, up to either the hard limit specified with the memory parameter 7392 // (if applicable), or all of the available memory on the container instance, 7393 // whichever comes first. This parameter maps to MemoryReservation in the Create 7394 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7395 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7396 // and the --memory-reservation option to docker run (https://docs.docker.com/engine/reference/run/). 7397 // 7398 // If a task-level memory value is not specified, you must specify a non-zero 7399 // integer for one or both of memory or memoryReservation in a container definition. 7400 // If you specify both, memory must be greater than memoryReservation. If you 7401 // specify memoryReservation, then that value is subtracted from the available 7402 // memory resources for the container instance on which the container is placed. 7403 // Otherwise, the value of memory is used. 7404 // 7405 // For example, if your container normally uses 128 MiB of memory, but occasionally 7406 // bursts to 256 MiB of memory for short periods of time, you can set a memoryReservation 7407 // of 128 MiB, and a memory hard limit of 300 MiB. This configuration would 7408 // allow the container to only reserve 128 MiB of memory from the remaining 7409 // resources on the container instance, but also allow the container to consume 7410 // more memory resources when needed. 7411 // 7412 // The Docker daemon reserves a minimum of 4 MiB of memory for a container, 7413 // so you should not specify fewer than 4 MiB of memory for your containers. 7414 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 7415 7416 // The mount points for data volumes in your container. 7417 // 7418 // This parameter maps to Volumes in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7419 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7420 // and the --volume option to docker run (https://docs.docker.com/engine/reference/run/). 7421 // 7422 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 7423 // Windows containers cannot mount directories on a different drive, and mount 7424 // point cannot be across drives. 7425 MountPoints []*MountPoint `locationName:"mountPoints" type:"list"` 7426 7427 // The name of a container. If you are linking multiple containers together 7428 // in a task definition, the name of one container can be entered in the links 7429 // of another container to connect the containers. Up to 255 letters (uppercase 7430 // and lowercase), numbers, and hyphens are allowed. This parameter maps to 7431 // name in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7432 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7433 // and the --name option to docker run (https://docs.docker.com/engine/reference/run/). 7434 Name *string `locationName:"name" type:"string"` 7435 7436 // The list of port mappings for the container. Port mappings allow containers 7437 // to access ports on the host container instance to send or receive traffic. 7438 // 7439 // For task definitions that use the awsvpc network mode, you should only specify 7440 // the containerPort. The hostPort can be left blank or it must be the same 7441 // value as the containerPort. 7442 // 7443 // Port mappings on Windows use the NetNAT gateway address rather than localhost. 7444 // There is no loopback for port mappings on Windows, so you cannot access a 7445 // container's mapped port from the host itself. 7446 // 7447 // This parameter maps to PortBindings in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7448 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7449 // and the --publish option to docker run (https://docs.docker.com/engine/reference/run/). 7450 // If the network mode of a task definition is set to none, then you can't specify 7451 // port mappings. If the network mode of a task definition is set to host, then 7452 // host ports must either be undefined or they must match the container port 7453 // in the port mapping. 7454 // 7455 // After a task reaches the RUNNING status, manual and automatic host and container 7456 // port assignments are visible in the Network Bindings section of a container 7457 // description for a selected task in the Amazon ECS console. The assignments 7458 // are also visible in the networkBindings section DescribeTasks responses. 7459 PortMappings []*PortMapping `locationName:"portMappings" type:"list"` 7460 7461 // When this parameter is true, the container is given elevated privileges on 7462 // the host container instance (similar to the root user). This parameter maps 7463 // to Privileged in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7464 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7465 // and the --privileged option to docker run (https://docs.docker.com/engine/reference/run/). 7466 // 7467 // This parameter is not supported for Windows containers or tasks using the 7468 // Fargate launch type. 7469 Privileged *bool `locationName:"privileged" type:"boolean"` 7470 7471 // When this parameter is true, a TTY is allocated. This parameter maps to Tty 7472 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7473 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7474 // and the --tty option to docker run (https://docs.docker.com/engine/reference/run/). 7475 PseudoTerminal *bool `locationName:"pseudoTerminal" type:"boolean"` 7476 7477 // When this parameter is true, the container is given read-only access to its 7478 // root file system. This parameter maps to ReadonlyRootfs in the Create a container 7479 // (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) section 7480 // of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) and 7481 // the --read-only option to docker run (https://docs.docker.com/engine/reference/run/). 7482 // 7483 // This parameter is not supported for Windows containers. 7484 ReadonlyRootFilesystem *bool `locationName:"readonlyRootFilesystem" type:"boolean"` 7485 7486 // The private repository authentication credentials to use. 7487 RepositoryCredentials *RepositoryCredentials `locationName:"repositoryCredentials" type:"structure"` 7488 7489 // The type and amount of a resource to assign to a container. The only supported 7490 // resource is a GPU. 7491 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 7492 7493 // The secrets to pass to the container. For more information, see Specifying 7494 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 7495 // in the Amazon Elastic Container Service Developer Guide. 7496 Secrets []*Secret `locationName:"secrets" type:"list"` 7497 7498 // Time duration (in seconds) to wait before giving up on resolving dependencies 7499 // for a container. For example, you specify two containers in a task definition 7500 // with containerA having a dependency on containerB reaching a COMPLETE, SUCCESS, 7501 // or HEALTHY status. If a startTimeout value is specified for containerB and 7502 // it does not reach the desired status within that time then containerA will 7503 // give up and not start. This results in the task transitioning to a STOPPED 7504 // state. 7505 // 7506 // For tasks using the Fargate launch type, this parameter requires that the 7507 // task or service uses platform version 1.3.0 or later. If this parameter is 7508 // not specified, the default value of 3 minutes is used. 7509 // 7510 // For tasks using the EC2 launch type, if the startTimeout parameter is not 7511 // specified, the value set for the Amazon ECS container agent configuration 7512 // variable ECS_CONTAINER_START_TIMEOUT is used by default. If neither the startTimeout 7513 // parameter or the ECS_CONTAINER_START_TIMEOUT agent configuration variable 7514 // are set, then the default values of 3 minutes for Linux containers and 8 7515 // minutes on Windows containers are used. Your container instances require 7516 // at least version 1.26.0 of the container agent to enable a container start 7517 // timeout value. However, we recommend using the latest container agent version. 7518 // For information about checking your agent version and updating to the latest 7519 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7520 // in the Amazon Elastic Container Service Developer Guide. If you are using 7521 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7522 // of the ecs-init package. If your container instances are launched from version 7523 // 20190301 or later, then they contain the required versions of the container 7524 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7525 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7526 // in the Amazon Elastic Container Service Developer Guide. 7527 StartTimeout *int64 `locationName:"startTimeout" type:"integer"` 7528 7529 // Time duration (in seconds) to wait before the container is forcefully killed 7530 // if it doesn't exit normally on its own. 7531 // 7532 // For tasks using the Fargate launch type, the task or service requires platform 7533 // version 1.3.0 or later. The max stop timeout value is 120 seconds and if 7534 // the parameter is not specified, the default value of 30 seconds is used. 7535 // 7536 // For tasks using the EC2 launch type, if the stopTimeout parameter is not 7537 // specified, the value set for the Amazon ECS container agent configuration 7538 // variable ECS_CONTAINER_STOP_TIMEOUT is used by default. If neither the stopTimeout 7539 // parameter or the ECS_CONTAINER_STOP_TIMEOUT agent configuration variable 7540 // are set, then the default values of 30 seconds for Linux containers and 30 7541 // seconds on Windows containers are used. Your container instances require 7542 // at least version 1.26.0 of the container agent to enable a container stop 7543 // timeout value. However, we recommend using the latest container agent version. 7544 // For information about checking your agent version and updating to the latest 7545 // version, see Updating the Amazon ECS Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7546 // in the Amazon Elastic Container Service Developer Guide. If you are using 7547 // an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7548 // of the ecs-init package. If your container instances are launched from version 7549 // 20190301 or later, then they contain the required versions of the container 7550 // agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7551 // AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7552 // in the Amazon Elastic Container Service Developer Guide. 7553 StopTimeout *int64 `locationName:"stopTimeout" type:"integer"` 7554 7555 // A list of namespaced kernel parameters to set in the container. This parameter 7556 // maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7557 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7558 // and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 7559 // 7560 // It is not recommended that you specify network-related systemControls parameters 7561 // for multiple containers in a single task that also uses either the awsvpc 7562 // or host network modes. For tasks that use the awsvpc network mode, the container 7563 // that is started last determines which systemControls parameters take effect. 7564 // For tasks that use the host network mode, it changes the container instance's 7565 // namespaced kernel parameters as well as the containers. 7566 SystemControls []*SystemControl `locationName:"systemControls" type:"list"` 7567 7568 // A list of ulimits to set in the container. If a ulimit value is specified 7569 // in a task definition, it will override the default values set by Docker. 7570 // This parameter maps to Ulimits in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7571 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7572 // and the --ulimit option to docker run (https://docs.docker.com/engine/reference/run/). 7573 // Valid naming values are displayed in the Ulimit data type. This parameter 7574 // requires version 1.18 of the Docker Remote API or greater on your container 7575 // instance. To check the Docker Remote API version on your container instance, 7576 // log in to your container instance and run the following command: sudo docker 7577 // version --format '{{.Server.APIVersion}}' 7578 // 7579 // This parameter is not supported for Windows containers. 7580 Ulimits []*Ulimit `locationName:"ulimits" type:"list"` 7581 7582 // The user name to use inside the container. This parameter maps to User in 7583 // the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7584 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7585 // and the --user option to docker run (https://docs.docker.com/engine/reference/run/). 7586 // 7587 // You can use the following formats. If specifying a UID or GID, you must specify 7588 // it as a positive integer. 7589 // 7590 // * user 7591 // 7592 // * user:group 7593 // 7594 // * uid 7595 // 7596 // * uid:gid 7597 // 7598 // * user:gid 7599 // 7600 // * uid:group 7601 // 7602 // This parameter is not supported for Windows containers. 7603 User *string `locationName:"user" type:"string"` 7604 7605 // Data volumes to mount from another container. This parameter maps to VolumesFrom 7606 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7607 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7608 // and the --volumes-from option to docker run (https://docs.docker.com/engine/reference/run/). 7609 VolumesFrom []*VolumeFrom `locationName:"volumesFrom" type:"list"` 7610 7611 // The working directory in which to run commands inside the container. This 7612 // parameter maps to WorkingDir in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 7613 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 7614 // and the --workdir option to docker run (https://docs.docker.com/engine/reference/run/). 7615 WorkingDirectory *string `locationName:"workingDirectory" type:"string"` 7616} 7617 7618// String returns the string representation 7619func (s ContainerDefinition) String() string { 7620 return awsutil.Prettify(s) 7621} 7622 7623// GoString returns the string representation 7624func (s ContainerDefinition) GoString() string { 7625 return s.String() 7626} 7627 7628// Validate inspects the fields of the type to determine if they are valid. 7629func (s *ContainerDefinition) Validate() error { 7630 invalidParams := request.ErrInvalidParams{Context: "ContainerDefinition"} 7631 if s.DependsOn != nil { 7632 for i, v := range s.DependsOn { 7633 if v == nil { 7634 continue 7635 } 7636 if err := v.Validate(); err != nil { 7637 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DependsOn", i), err.(request.ErrInvalidParams)) 7638 } 7639 } 7640 } 7641 if s.EnvironmentFiles != nil { 7642 for i, v := range s.EnvironmentFiles { 7643 if v == nil { 7644 continue 7645 } 7646 if err := v.Validate(); err != nil { 7647 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 7648 } 7649 } 7650 } 7651 if s.ExtraHosts != nil { 7652 for i, v := range s.ExtraHosts { 7653 if v == nil { 7654 continue 7655 } 7656 if err := v.Validate(); err != nil { 7657 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExtraHosts", i), err.(request.ErrInvalidParams)) 7658 } 7659 } 7660 } 7661 if s.FirelensConfiguration != nil { 7662 if err := s.FirelensConfiguration.Validate(); err != nil { 7663 invalidParams.AddNested("FirelensConfiguration", err.(request.ErrInvalidParams)) 7664 } 7665 } 7666 if s.HealthCheck != nil { 7667 if err := s.HealthCheck.Validate(); err != nil { 7668 invalidParams.AddNested("HealthCheck", err.(request.ErrInvalidParams)) 7669 } 7670 } 7671 if s.LinuxParameters != nil { 7672 if err := s.LinuxParameters.Validate(); err != nil { 7673 invalidParams.AddNested("LinuxParameters", err.(request.ErrInvalidParams)) 7674 } 7675 } 7676 if s.LogConfiguration != nil { 7677 if err := s.LogConfiguration.Validate(); err != nil { 7678 invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) 7679 } 7680 } 7681 if s.RepositoryCredentials != nil { 7682 if err := s.RepositoryCredentials.Validate(); err != nil { 7683 invalidParams.AddNested("RepositoryCredentials", err.(request.ErrInvalidParams)) 7684 } 7685 } 7686 if s.ResourceRequirements != nil { 7687 for i, v := range s.ResourceRequirements { 7688 if v == nil { 7689 continue 7690 } 7691 if err := v.Validate(); err != nil { 7692 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 7693 } 7694 } 7695 } 7696 if s.Secrets != nil { 7697 for i, v := range s.Secrets { 7698 if v == nil { 7699 continue 7700 } 7701 if err := v.Validate(); err != nil { 7702 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Secrets", i), err.(request.ErrInvalidParams)) 7703 } 7704 } 7705 } 7706 if s.Ulimits != nil { 7707 for i, v := range s.Ulimits { 7708 if v == nil { 7709 continue 7710 } 7711 if err := v.Validate(); err != nil { 7712 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ulimits", i), err.(request.ErrInvalidParams)) 7713 } 7714 } 7715 } 7716 7717 if invalidParams.Len() > 0 { 7718 return invalidParams 7719 } 7720 return nil 7721} 7722 7723// SetCommand sets the Command field's value. 7724func (s *ContainerDefinition) SetCommand(v []*string) *ContainerDefinition { 7725 s.Command = v 7726 return s 7727} 7728 7729// SetCpu sets the Cpu field's value. 7730func (s *ContainerDefinition) SetCpu(v int64) *ContainerDefinition { 7731 s.Cpu = &v 7732 return s 7733} 7734 7735// SetDependsOn sets the DependsOn field's value. 7736func (s *ContainerDefinition) SetDependsOn(v []*ContainerDependency) *ContainerDefinition { 7737 s.DependsOn = v 7738 return s 7739} 7740 7741// SetDisableNetworking sets the DisableNetworking field's value. 7742func (s *ContainerDefinition) SetDisableNetworking(v bool) *ContainerDefinition { 7743 s.DisableNetworking = &v 7744 return s 7745} 7746 7747// SetDnsSearchDomains sets the DnsSearchDomains field's value. 7748func (s *ContainerDefinition) SetDnsSearchDomains(v []*string) *ContainerDefinition { 7749 s.DnsSearchDomains = v 7750 return s 7751} 7752 7753// SetDnsServers sets the DnsServers field's value. 7754func (s *ContainerDefinition) SetDnsServers(v []*string) *ContainerDefinition { 7755 s.DnsServers = v 7756 return s 7757} 7758 7759// SetDockerLabels sets the DockerLabels field's value. 7760func (s *ContainerDefinition) SetDockerLabels(v map[string]*string) *ContainerDefinition { 7761 s.DockerLabels = v 7762 return s 7763} 7764 7765// SetDockerSecurityOptions sets the DockerSecurityOptions field's value. 7766func (s *ContainerDefinition) SetDockerSecurityOptions(v []*string) *ContainerDefinition { 7767 s.DockerSecurityOptions = v 7768 return s 7769} 7770 7771// SetEntryPoint sets the EntryPoint field's value. 7772func (s *ContainerDefinition) SetEntryPoint(v []*string) *ContainerDefinition { 7773 s.EntryPoint = v 7774 return s 7775} 7776 7777// SetEnvironment sets the Environment field's value. 7778func (s *ContainerDefinition) SetEnvironment(v []*KeyValuePair) *ContainerDefinition { 7779 s.Environment = v 7780 return s 7781} 7782 7783// SetEnvironmentFiles sets the EnvironmentFiles field's value. 7784func (s *ContainerDefinition) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerDefinition { 7785 s.EnvironmentFiles = v 7786 return s 7787} 7788 7789// SetEssential sets the Essential field's value. 7790func (s *ContainerDefinition) SetEssential(v bool) *ContainerDefinition { 7791 s.Essential = &v 7792 return s 7793} 7794 7795// SetExtraHosts sets the ExtraHosts field's value. 7796func (s *ContainerDefinition) SetExtraHosts(v []*HostEntry) *ContainerDefinition { 7797 s.ExtraHosts = v 7798 return s 7799} 7800 7801// SetFirelensConfiguration sets the FirelensConfiguration field's value. 7802func (s *ContainerDefinition) SetFirelensConfiguration(v *FirelensConfiguration) *ContainerDefinition { 7803 s.FirelensConfiguration = v 7804 return s 7805} 7806 7807// SetHealthCheck sets the HealthCheck field's value. 7808func (s *ContainerDefinition) SetHealthCheck(v *HealthCheck) *ContainerDefinition { 7809 s.HealthCheck = v 7810 return s 7811} 7812 7813// SetHostname sets the Hostname field's value. 7814func (s *ContainerDefinition) SetHostname(v string) *ContainerDefinition { 7815 s.Hostname = &v 7816 return s 7817} 7818 7819// SetImage sets the Image field's value. 7820func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { 7821 s.Image = &v 7822 return s 7823} 7824 7825// SetInteractive sets the Interactive field's value. 7826func (s *ContainerDefinition) SetInteractive(v bool) *ContainerDefinition { 7827 s.Interactive = &v 7828 return s 7829} 7830 7831// SetLinks sets the Links field's value. 7832func (s *ContainerDefinition) SetLinks(v []*string) *ContainerDefinition { 7833 s.Links = v 7834 return s 7835} 7836 7837// SetLinuxParameters sets the LinuxParameters field's value. 7838func (s *ContainerDefinition) SetLinuxParameters(v *LinuxParameters) *ContainerDefinition { 7839 s.LinuxParameters = v 7840 return s 7841} 7842 7843// SetLogConfiguration sets the LogConfiguration field's value. 7844func (s *ContainerDefinition) SetLogConfiguration(v *LogConfiguration) *ContainerDefinition { 7845 s.LogConfiguration = v 7846 return s 7847} 7848 7849// SetMemory sets the Memory field's value. 7850func (s *ContainerDefinition) SetMemory(v int64) *ContainerDefinition { 7851 s.Memory = &v 7852 return s 7853} 7854 7855// SetMemoryReservation sets the MemoryReservation field's value. 7856func (s *ContainerDefinition) SetMemoryReservation(v int64) *ContainerDefinition { 7857 s.MemoryReservation = &v 7858 return s 7859} 7860 7861// SetMountPoints sets the MountPoints field's value. 7862func (s *ContainerDefinition) SetMountPoints(v []*MountPoint) *ContainerDefinition { 7863 s.MountPoints = v 7864 return s 7865} 7866 7867// SetName sets the Name field's value. 7868func (s *ContainerDefinition) SetName(v string) *ContainerDefinition { 7869 s.Name = &v 7870 return s 7871} 7872 7873// SetPortMappings sets the PortMappings field's value. 7874func (s *ContainerDefinition) SetPortMappings(v []*PortMapping) *ContainerDefinition { 7875 s.PortMappings = v 7876 return s 7877} 7878 7879// SetPrivileged sets the Privileged field's value. 7880func (s *ContainerDefinition) SetPrivileged(v bool) *ContainerDefinition { 7881 s.Privileged = &v 7882 return s 7883} 7884 7885// SetPseudoTerminal sets the PseudoTerminal field's value. 7886func (s *ContainerDefinition) SetPseudoTerminal(v bool) *ContainerDefinition { 7887 s.PseudoTerminal = &v 7888 return s 7889} 7890 7891// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value. 7892func (s *ContainerDefinition) SetReadonlyRootFilesystem(v bool) *ContainerDefinition { 7893 s.ReadonlyRootFilesystem = &v 7894 return s 7895} 7896 7897// SetRepositoryCredentials sets the RepositoryCredentials field's value. 7898func (s *ContainerDefinition) SetRepositoryCredentials(v *RepositoryCredentials) *ContainerDefinition { 7899 s.RepositoryCredentials = v 7900 return s 7901} 7902 7903// SetResourceRequirements sets the ResourceRequirements field's value. 7904func (s *ContainerDefinition) SetResourceRequirements(v []*ResourceRequirement) *ContainerDefinition { 7905 s.ResourceRequirements = v 7906 return s 7907} 7908 7909// SetSecrets sets the Secrets field's value. 7910func (s *ContainerDefinition) SetSecrets(v []*Secret) *ContainerDefinition { 7911 s.Secrets = v 7912 return s 7913} 7914 7915// SetStartTimeout sets the StartTimeout field's value. 7916func (s *ContainerDefinition) SetStartTimeout(v int64) *ContainerDefinition { 7917 s.StartTimeout = &v 7918 return s 7919} 7920 7921// SetStopTimeout sets the StopTimeout field's value. 7922func (s *ContainerDefinition) SetStopTimeout(v int64) *ContainerDefinition { 7923 s.StopTimeout = &v 7924 return s 7925} 7926 7927// SetSystemControls sets the SystemControls field's value. 7928func (s *ContainerDefinition) SetSystemControls(v []*SystemControl) *ContainerDefinition { 7929 s.SystemControls = v 7930 return s 7931} 7932 7933// SetUlimits sets the Ulimits field's value. 7934func (s *ContainerDefinition) SetUlimits(v []*Ulimit) *ContainerDefinition { 7935 s.Ulimits = v 7936 return s 7937} 7938 7939// SetUser sets the User field's value. 7940func (s *ContainerDefinition) SetUser(v string) *ContainerDefinition { 7941 s.User = &v 7942 return s 7943} 7944 7945// SetVolumesFrom sets the VolumesFrom field's value. 7946func (s *ContainerDefinition) SetVolumesFrom(v []*VolumeFrom) *ContainerDefinition { 7947 s.VolumesFrom = v 7948 return s 7949} 7950 7951// SetWorkingDirectory sets the WorkingDirectory field's value. 7952func (s *ContainerDefinition) SetWorkingDirectory(v string) *ContainerDefinition { 7953 s.WorkingDirectory = &v 7954 return s 7955} 7956 7957// The dependencies defined for container startup and shutdown. A container 7958// can contain multiple dependencies. When a dependency is defined for container 7959// startup, for container shutdown it is reversed. 7960// 7961// Your Amazon ECS container instances require at least version 1.26.0 of the 7962// container agent to enable container dependencies. However, we recommend using 7963// the latest container agent version. For information about checking your agent 7964// version and updating to the latest version, see Updating the Amazon ECS Container 7965// Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) 7966// in the Amazon Elastic Container Service Developer Guide. If you are using 7967// an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 7968// of the ecs-init package. If your container instances are launched from version 7969// 20190301 or later, then they contain the required versions of the container 7970// agent and ecs-init. For more information, see Amazon ECS-optimized Linux 7971// AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 7972// in the Amazon Elastic Container Service Developer Guide. 7973// 7974// For tasks using the Fargate launch type, this parameter requires that the 7975// task or service uses platform version 1.3.0 or later. 7976type ContainerDependency struct { 7977 _ struct{} `type:"structure"` 7978 7979 // The dependency condition of the container. The following are the available 7980 // conditions and their behavior: 7981 // 7982 // * START - This condition emulates the behavior of links and volumes today. 7983 // It validates that a dependent container is started before permitting other 7984 // containers to start. 7985 // 7986 // * COMPLETE - This condition validates that a dependent container runs 7987 // to completion (exits) before permitting other containers to start. This 7988 // can be useful for nonessential containers that run a script and then exit. 7989 // 7990 // * SUCCESS - This condition is the same as COMPLETE, but it also requires 7991 // that the container exits with a zero status. 7992 // 7993 // * HEALTHY - This condition validates that the dependent container passes 7994 // its Docker health check before permitting other containers to start. This 7995 // requires that the dependent container has health checks configured. This 7996 // condition is confirmed only at task startup. 7997 // 7998 // Condition is a required field 7999 Condition *string `locationName:"condition" type:"string" required:"true" enum:"ContainerCondition"` 8000 8001 // The name of a container. 8002 // 8003 // ContainerName is a required field 8004 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 8005} 8006 8007// String returns the string representation 8008func (s ContainerDependency) String() string { 8009 return awsutil.Prettify(s) 8010} 8011 8012// GoString returns the string representation 8013func (s ContainerDependency) GoString() string { 8014 return s.String() 8015} 8016 8017// Validate inspects the fields of the type to determine if they are valid. 8018func (s *ContainerDependency) Validate() error { 8019 invalidParams := request.ErrInvalidParams{Context: "ContainerDependency"} 8020 if s.Condition == nil { 8021 invalidParams.Add(request.NewErrParamRequired("Condition")) 8022 } 8023 if s.ContainerName == nil { 8024 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 8025 } 8026 8027 if invalidParams.Len() > 0 { 8028 return invalidParams 8029 } 8030 return nil 8031} 8032 8033// SetCondition sets the Condition field's value. 8034func (s *ContainerDependency) SetCondition(v string) *ContainerDependency { 8035 s.Condition = &v 8036 return s 8037} 8038 8039// SetContainerName sets the ContainerName field's value. 8040func (s *ContainerDependency) SetContainerName(v string) *ContainerDependency { 8041 s.ContainerName = &v 8042 return s 8043} 8044 8045// An EC2 instance that is running the Amazon ECS agent and has been registered 8046// with a cluster. 8047type ContainerInstance struct { 8048 _ struct{} `type:"structure"` 8049 8050 // This parameter returns true if the agent is connected to Amazon ECS. Registered 8051 // instances with an agent that may be unhealthy or stopped return false. Only 8052 // instances connected to an agent can accept placement requests. 8053 AgentConnected *bool `locationName:"agentConnected" type:"boolean"` 8054 8055 // The status of the most recent agent update. If an update has never been requested, 8056 // this value is NULL. 8057 AgentUpdateStatus *string `locationName:"agentUpdateStatus" type:"string" enum:"AgentUpdateStatus"` 8058 8059 // The resources attached to a container instance, such as elastic network interfaces. 8060 Attachments []*Attachment `locationName:"attachments" type:"list"` 8061 8062 // The attributes set for the container instance, either by the Amazon ECS container 8063 // agent at instance registration or manually with the PutAttributes operation. 8064 Attributes []*Attribute `locationName:"attributes" type:"list"` 8065 8066 // The capacity provider associated with the container instance. 8067 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 8068 8069 // The Amazon Resource Name (ARN) of the container instance. The ARN contains 8070 // the arn:aws:ecs namespace, followed by the Region of the container instance, 8071 // the AWS account ID of the container instance owner, the container-instance 8072 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 8073 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 8074 8075 // The EC2 instance ID of the container instance. 8076 Ec2InstanceId *string `locationName:"ec2InstanceId" type:"string"` 8077 8078 // The number of tasks on the container instance that are in the PENDING status. 8079 PendingTasksCount *int64 `locationName:"pendingTasksCount" type:"integer"` 8080 8081 // The Unix timestamp for when the container instance was registered. 8082 RegisteredAt *time.Time `locationName:"registeredAt" type:"timestamp"` 8083 8084 // For CPU and memory resource types, this parameter describes the amount of 8085 // each resource that was available on the container instance when the container 8086 // agent registered it with Amazon ECS. This value represents the total amount 8087 // of CPU and memory that can be allocated on this container instance to tasks. 8088 // For port resource types, this parameter describes the ports that were reserved 8089 // by the Amazon ECS container agent when it registered the container instance 8090 // with Amazon ECS. 8091 RegisteredResources []*Resource `locationName:"registeredResources" type:"list"` 8092 8093 // For CPU and memory resource types, this parameter describes the remaining 8094 // CPU and memory that has not already been allocated to tasks and is therefore 8095 // available for new tasks. For port resource types, this parameter describes 8096 // the ports that were reserved by the Amazon ECS container agent (at instance 8097 // registration time) and any task containers that have reserved port mappings 8098 // on the host (with the host or bridge network mode). Any port that is not 8099 // specified here is available for new tasks. 8100 RemainingResources []*Resource `locationName:"remainingResources" type:"list"` 8101 8102 // The number of tasks on the container instance that are in the RUNNING status. 8103 RunningTasksCount *int64 `locationName:"runningTasksCount" type:"integer"` 8104 8105 // The status of the container instance. The valid values are REGISTERING, REGISTRATION_FAILED, 8106 // ACTIVE, INACTIVE, DEREGISTERING, or DRAINING. 8107 // 8108 // If your account has opted in to the awsvpcTrunking account setting, then 8109 // any newly registered container instance will transition to a REGISTERING 8110 // status while the trunk elastic network interface is provisioned for the instance. 8111 // If the registration fails, the instance will transition to a REGISTRATION_FAILED 8112 // status. You can describe the container instance and see the reason for failure 8113 // in the statusReason parameter. Once the container instance is terminated, 8114 // the instance transitions to a DEREGISTERING status while the trunk elastic 8115 // network interface is deprovisioned. The instance then transitions to an INACTIVE 8116 // status. 8117 // 8118 // The ACTIVE status indicates that the container instance can accept tasks. 8119 // The DRAINING indicates that new tasks are not placed on the container instance 8120 // and any service tasks running on the container instance are removed if possible. 8121 // For more information, see Container Instance Draining (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-draining.html) 8122 // in the Amazon Elastic Container Service Developer Guide. 8123 Status *string `locationName:"status" type:"string"` 8124 8125 // The reason that the container instance reached its current status. 8126 StatusReason *string `locationName:"statusReason" type:"string"` 8127 8128 // The metadata that you apply to the container instance to help you categorize 8129 // and organize them. Each tag consists of a key and an optional value, both 8130 // of which you define. 8131 // 8132 // The following basic restrictions apply to tags: 8133 // 8134 // * Maximum number of tags per resource - 50 8135 // 8136 // * For each resource, each tag key must be unique, and each tag key can 8137 // have only one value. 8138 // 8139 // * Maximum key length - 128 Unicode characters in UTF-8 8140 // 8141 // * Maximum value length - 256 Unicode characters in UTF-8 8142 // 8143 // * If your tagging schema is used across multiple services and resources, 8144 // remember that other services may have restrictions on allowed characters. 8145 // Generally allowed characters are: letters, numbers, and spaces representable 8146 // in UTF-8, and the following characters: + - = . _ : / @. 8147 // 8148 // * Tag keys and values are case-sensitive. 8149 // 8150 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8151 // as a prefix for either keys or values as it is reserved for AWS use. You 8152 // cannot edit or delete tag keys or values with this prefix. Tags with this 8153 // prefix do not count against your tags per resource limit. 8154 Tags []*Tag `locationName:"tags" type:"list"` 8155 8156 // The version counter for the container instance. Every time a container instance 8157 // experiences a change that triggers a CloudWatch event, the version counter 8158 // is incremented. If you are replicating your Amazon ECS container instance 8159 // state with CloudWatch Events, you can compare the version of a container 8160 // instance reported by the Amazon ECS APIs with the version reported in CloudWatch 8161 // Events for the container instance (inside the detail object) to verify that 8162 // the version in your event stream is current. 8163 Version *int64 `locationName:"version" type:"long"` 8164 8165 // The version information for the Amazon ECS container agent and Docker daemon 8166 // running on the container instance. 8167 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 8168} 8169 8170// String returns the string representation 8171func (s ContainerInstance) String() string { 8172 return awsutil.Prettify(s) 8173} 8174 8175// GoString returns the string representation 8176func (s ContainerInstance) GoString() string { 8177 return s.String() 8178} 8179 8180// SetAgentConnected sets the AgentConnected field's value. 8181func (s *ContainerInstance) SetAgentConnected(v bool) *ContainerInstance { 8182 s.AgentConnected = &v 8183 return s 8184} 8185 8186// SetAgentUpdateStatus sets the AgentUpdateStatus field's value. 8187func (s *ContainerInstance) SetAgentUpdateStatus(v string) *ContainerInstance { 8188 s.AgentUpdateStatus = &v 8189 return s 8190} 8191 8192// SetAttachments sets the Attachments field's value. 8193func (s *ContainerInstance) SetAttachments(v []*Attachment) *ContainerInstance { 8194 s.Attachments = v 8195 return s 8196} 8197 8198// SetAttributes sets the Attributes field's value. 8199func (s *ContainerInstance) SetAttributes(v []*Attribute) *ContainerInstance { 8200 s.Attributes = v 8201 return s 8202} 8203 8204// SetCapacityProviderName sets the CapacityProviderName field's value. 8205func (s *ContainerInstance) SetCapacityProviderName(v string) *ContainerInstance { 8206 s.CapacityProviderName = &v 8207 return s 8208} 8209 8210// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 8211func (s *ContainerInstance) SetContainerInstanceArn(v string) *ContainerInstance { 8212 s.ContainerInstanceArn = &v 8213 return s 8214} 8215 8216// SetEc2InstanceId sets the Ec2InstanceId field's value. 8217func (s *ContainerInstance) SetEc2InstanceId(v string) *ContainerInstance { 8218 s.Ec2InstanceId = &v 8219 return s 8220} 8221 8222// SetPendingTasksCount sets the PendingTasksCount field's value. 8223func (s *ContainerInstance) SetPendingTasksCount(v int64) *ContainerInstance { 8224 s.PendingTasksCount = &v 8225 return s 8226} 8227 8228// SetRegisteredAt sets the RegisteredAt field's value. 8229func (s *ContainerInstance) SetRegisteredAt(v time.Time) *ContainerInstance { 8230 s.RegisteredAt = &v 8231 return s 8232} 8233 8234// SetRegisteredResources sets the RegisteredResources field's value. 8235func (s *ContainerInstance) SetRegisteredResources(v []*Resource) *ContainerInstance { 8236 s.RegisteredResources = v 8237 return s 8238} 8239 8240// SetRemainingResources sets the RemainingResources field's value. 8241func (s *ContainerInstance) SetRemainingResources(v []*Resource) *ContainerInstance { 8242 s.RemainingResources = v 8243 return s 8244} 8245 8246// SetRunningTasksCount sets the RunningTasksCount field's value. 8247func (s *ContainerInstance) SetRunningTasksCount(v int64) *ContainerInstance { 8248 s.RunningTasksCount = &v 8249 return s 8250} 8251 8252// SetStatus sets the Status field's value. 8253func (s *ContainerInstance) SetStatus(v string) *ContainerInstance { 8254 s.Status = &v 8255 return s 8256} 8257 8258// SetStatusReason sets the StatusReason field's value. 8259func (s *ContainerInstance) SetStatusReason(v string) *ContainerInstance { 8260 s.StatusReason = &v 8261 return s 8262} 8263 8264// SetTags sets the Tags field's value. 8265func (s *ContainerInstance) SetTags(v []*Tag) *ContainerInstance { 8266 s.Tags = v 8267 return s 8268} 8269 8270// SetVersion sets the Version field's value. 8271func (s *ContainerInstance) SetVersion(v int64) *ContainerInstance { 8272 s.Version = &v 8273 return s 8274} 8275 8276// SetVersionInfo sets the VersionInfo field's value. 8277func (s *ContainerInstance) SetVersionInfo(v *VersionInfo) *ContainerInstance { 8278 s.VersionInfo = v 8279 return s 8280} 8281 8282// The overrides that should be sent to a container. An empty container override 8283// can be passed in. An example of an empty container override would be {"containerOverrides": 8284// [ ] }. If a non-empty container override is specified, the name parameter 8285// must be included. 8286type ContainerOverride struct { 8287 _ struct{} `type:"structure"` 8288 8289 // The command to send to the container that overrides the default command from 8290 // the Docker image or the task definition. You must also specify a container 8291 // name. 8292 Command []*string `locationName:"command" type:"list"` 8293 8294 // The number of cpu units reserved for the container, instead of the default 8295 // value from the task definition. You must also specify a container name. 8296 Cpu *int64 `locationName:"cpu" type:"integer"` 8297 8298 // The environment variables to send to the container. You can add new environment 8299 // variables, which are added to the container at launch, or you can override 8300 // the existing environment variables from the Docker image or the task definition. 8301 // You must also specify a container name. 8302 Environment []*KeyValuePair `locationName:"environment" type:"list"` 8303 8304 // A list of files containing the environment variables to pass to a container, 8305 // instead of the value from the container definition. 8306 EnvironmentFiles []*EnvironmentFile `locationName:"environmentFiles" type:"list"` 8307 8308 // The hard limit (in MiB) of memory to present to the container, instead of 8309 // the default value from the task definition. If your container attempts to 8310 // exceed the memory specified here, the container is killed. You must also 8311 // specify a container name. 8312 Memory *int64 `locationName:"memory" type:"integer"` 8313 8314 // The soft limit (in MiB) of memory to reserve for the container, instead of 8315 // the default value from the task definition. You must also specify a container 8316 // name. 8317 MemoryReservation *int64 `locationName:"memoryReservation" type:"integer"` 8318 8319 // The name of the container that receives the override. This parameter is required 8320 // if any override is specified. 8321 Name *string `locationName:"name" type:"string"` 8322 8323 // The type and amount of a resource to assign to a container, instead of the 8324 // default value from the task definition. The only supported resource is a 8325 // GPU. 8326 ResourceRequirements []*ResourceRequirement `locationName:"resourceRequirements" type:"list"` 8327} 8328 8329// String returns the string representation 8330func (s ContainerOverride) String() string { 8331 return awsutil.Prettify(s) 8332} 8333 8334// GoString returns the string representation 8335func (s ContainerOverride) GoString() string { 8336 return s.String() 8337} 8338 8339// Validate inspects the fields of the type to determine if they are valid. 8340func (s *ContainerOverride) Validate() error { 8341 invalidParams := request.ErrInvalidParams{Context: "ContainerOverride"} 8342 if s.EnvironmentFiles != nil { 8343 for i, v := range s.EnvironmentFiles { 8344 if v == nil { 8345 continue 8346 } 8347 if err := v.Validate(); err != nil { 8348 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentFiles", i), err.(request.ErrInvalidParams)) 8349 } 8350 } 8351 } 8352 if s.ResourceRequirements != nil { 8353 for i, v := range s.ResourceRequirements { 8354 if v == nil { 8355 continue 8356 } 8357 if err := v.Validate(); err != nil { 8358 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceRequirements", i), err.(request.ErrInvalidParams)) 8359 } 8360 } 8361 } 8362 8363 if invalidParams.Len() > 0 { 8364 return invalidParams 8365 } 8366 return nil 8367} 8368 8369// SetCommand sets the Command field's value. 8370func (s *ContainerOverride) SetCommand(v []*string) *ContainerOverride { 8371 s.Command = v 8372 return s 8373} 8374 8375// SetCpu sets the Cpu field's value. 8376func (s *ContainerOverride) SetCpu(v int64) *ContainerOverride { 8377 s.Cpu = &v 8378 return s 8379} 8380 8381// SetEnvironment sets the Environment field's value. 8382func (s *ContainerOverride) SetEnvironment(v []*KeyValuePair) *ContainerOverride { 8383 s.Environment = v 8384 return s 8385} 8386 8387// SetEnvironmentFiles sets the EnvironmentFiles field's value. 8388func (s *ContainerOverride) SetEnvironmentFiles(v []*EnvironmentFile) *ContainerOverride { 8389 s.EnvironmentFiles = v 8390 return s 8391} 8392 8393// SetMemory sets the Memory field's value. 8394func (s *ContainerOverride) SetMemory(v int64) *ContainerOverride { 8395 s.Memory = &v 8396 return s 8397} 8398 8399// SetMemoryReservation sets the MemoryReservation field's value. 8400func (s *ContainerOverride) SetMemoryReservation(v int64) *ContainerOverride { 8401 s.MemoryReservation = &v 8402 return s 8403} 8404 8405// SetName sets the Name field's value. 8406func (s *ContainerOverride) SetName(v string) *ContainerOverride { 8407 s.Name = &v 8408 return s 8409} 8410 8411// SetResourceRequirements sets the ResourceRequirements field's value. 8412func (s *ContainerOverride) SetResourceRequirements(v []*ResourceRequirement) *ContainerOverride { 8413 s.ResourceRequirements = v 8414 return s 8415} 8416 8417// An object representing a change in state for a container. 8418type ContainerStateChange struct { 8419 _ struct{} `type:"structure"` 8420 8421 // The name of the container. 8422 ContainerName *string `locationName:"containerName" type:"string"` 8423 8424 // The exit code for the container, if the state change is a result of the container 8425 // exiting. 8426 ExitCode *int64 `locationName:"exitCode" type:"integer"` 8427 8428 // The container image SHA 256 digest. 8429 ImageDigest *string `locationName:"imageDigest" type:"string"` 8430 8431 // Any network bindings associated with the container. 8432 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 8433 8434 // The reason for the state change. 8435 Reason *string `locationName:"reason" type:"string"` 8436 8437 // The ID of the Docker container. 8438 RuntimeId *string `locationName:"runtimeId" type:"string"` 8439 8440 // The status of the container. 8441 Status *string `locationName:"status" type:"string"` 8442} 8443 8444// String returns the string representation 8445func (s ContainerStateChange) String() string { 8446 return awsutil.Prettify(s) 8447} 8448 8449// GoString returns the string representation 8450func (s ContainerStateChange) GoString() string { 8451 return s.String() 8452} 8453 8454// SetContainerName sets the ContainerName field's value. 8455func (s *ContainerStateChange) SetContainerName(v string) *ContainerStateChange { 8456 s.ContainerName = &v 8457 return s 8458} 8459 8460// SetExitCode sets the ExitCode field's value. 8461func (s *ContainerStateChange) SetExitCode(v int64) *ContainerStateChange { 8462 s.ExitCode = &v 8463 return s 8464} 8465 8466// SetImageDigest sets the ImageDigest field's value. 8467func (s *ContainerStateChange) SetImageDigest(v string) *ContainerStateChange { 8468 s.ImageDigest = &v 8469 return s 8470} 8471 8472// SetNetworkBindings sets the NetworkBindings field's value. 8473func (s *ContainerStateChange) SetNetworkBindings(v []*NetworkBinding) *ContainerStateChange { 8474 s.NetworkBindings = v 8475 return s 8476} 8477 8478// SetReason sets the Reason field's value. 8479func (s *ContainerStateChange) SetReason(v string) *ContainerStateChange { 8480 s.Reason = &v 8481 return s 8482} 8483 8484// SetRuntimeId sets the RuntimeId field's value. 8485func (s *ContainerStateChange) SetRuntimeId(v string) *ContainerStateChange { 8486 s.RuntimeId = &v 8487 return s 8488} 8489 8490// SetStatus sets the Status field's value. 8491func (s *ContainerStateChange) SetStatus(v string) *ContainerStateChange { 8492 s.Status = &v 8493 return s 8494} 8495 8496type CreateCapacityProviderInput struct { 8497 _ struct{} `type:"structure"` 8498 8499 // The details of the Auto Scaling group for the capacity provider. 8500 // 8501 // AutoScalingGroupProvider is a required field 8502 AutoScalingGroupProvider *AutoScalingGroupProvider `locationName:"autoScalingGroupProvider" type:"structure" required:"true"` 8503 8504 // The name of the capacity provider. Up to 255 characters are allowed, including 8505 // letters (upper and lowercase), numbers, underscores, and hyphens. The name 8506 // cannot be prefixed with "aws", "ecs", or "fargate". 8507 // 8508 // Name is a required field 8509 Name *string `locationName:"name" type:"string" required:"true"` 8510 8511 // The metadata that you apply to the capacity provider to help you categorize 8512 // and organize them. Each tag consists of a key and an optional value, both 8513 // of which you define. 8514 // 8515 // The following basic restrictions apply to tags: 8516 // 8517 // * Maximum number of tags per resource - 50 8518 // 8519 // * For each resource, each tag key must be unique, and each tag key can 8520 // have only one value. 8521 // 8522 // * Maximum key length - 128 Unicode characters in UTF-8 8523 // 8524 // * Maximum value length - 256 Unicode characters in UTF-8 8525 // 8526 // * If your tagging schema is used across multiple services and resources, 8527 // remember that other services may have restrictions on allowed characters. 8528 // Generally allowed characters are: letters, numbers, and spaces representable 8529 // in UTF-8, and the following characters: + - = . _ : / @. 8530 // 8531 // * Tag keys and values are case-sensitive. 8532 // 8533 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8534 // as a prefix for either keys or values as it is reserved for AWS use. You 8535 // cannot edit or delete tag keys or values with this prefix. Tags with this 8536 // prefix do not count against your tags per resource limit. 8537 Tags []*Tag `locationName:"tags" type:"list"` 8538} 8539 8540// String returns the string representation 8541func (s CreateCapacityProviderInput) String() string { 8542 return awsutil.Prettify(s) 8543} 8544 8545// GoString returns the string representation 8546func (s CreateCapacityProviderInput) GoString() string { 8547 return s.String() 8548} 8549 8550// Validate inspects the fields of the type to determine if they are valid. 8551func (s *CreateCapacityProviderInput) Validate() error { 8552 invalidParams := request.ErrInvalidParams{Context: "CreateCapacityProviderInput"} 8553 if s.AutoScalingGroupProvider == nil { 8554 invalidParams.Add(request.NewErrParamRequired("AutoScalingGroupProvider")) 8555 } 8556 if s.Name == nil { 8557 invalidParams.Add(request.NewErrParamRequired("Name")) 8558 } 8559 if s.AutoScalingGroupProvider != nil { 8560 if err := s.AutoScalingGroupProvider.Validate(); err != nil { 8561 invalidParams.AddNested("AutoScalingGroupProvider", err.(request.ErrInvalidParams)) 8562 } 8563 } 8564 if s.Tags != nil { 8565 for i, v := range s.Tags { 8566 if v == nil { 8567 continue 8568 } 8569 if err := v.Validate(); err != nil { 8570 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8571 } 8572 } 8573 } 8574 8575 if invalidParams.Len() > 0 { 8576 return invalidParams 8577 } 8578 return nil 8579} 8580 8581// SetAutoScalingGroupProvider sets the AutoScalingGroupProvider field's value. 8582func (s *CreateCapacityProviderInput) SetAutoScalingGroupProvider(v *AutoScalingGroupProvider) *CreateCapacityProviderInput { 8583 s.AutoScalingGroupProvider = v 8584 return s 8585} 8586 8587// SetName sets the Name field's value. 8588func (s *CreateCapacityProviderInput) SetName(v string) *CreateCapacityProviderInput { 8589 s.Name = &v 8590 return s 8591} 8592 8593// SetTags sets the Tags field's value. 8594func (s *CreateCapacityProviderInput) SetTags(v []*Tag) *CreateCapacityProviderInput { 8595 s.Tags = v 8596 return s 8597} 8598 8599type CreateCapacityProviderOutput struct { 8600 _ struct{} `type:"structure"` 8601 8602 // The full description of the new capacity provider. 8603 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 8604} 8605 8606// String returns the string representation 8607func (s CreateCapacityProviderOutput) String() string { 8608 return awsutil.Prettify(s) 8609} 8610 8611// GoString returns the string representation 8612func (s CreateCapacityProviderOutput) GoString() string { 8613 return s.String() 8614} 8615 8616// SetCapacityProvider sets the CapacityProvider field's value. 8617func (s *CreateCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *CreateCapacityProviderOutput { 8618 s.CapacityProvider = v 8619 return s 8620} 8621 8622type CreateClusterInput struct { 8623 _ struct{} `type:"structure"` 8624 8625 // The short name of one or more capacity providers to associate with the cluster. 8626 // 8627 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8628 // provider must already be created and not already associated with another 8629 // cluster. New capacity providers can be created with the CreateCapacityProvider 8630 // API operation. 8631 // 8632 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8633 // capacity providers. The AWS Fargate capacity providers are available to all 8634 // accounts and only need to be associated with a cluster to be used. 8635 // 8636 // The PutClusterCapacityProviders API operation is used to update the list 8637 // of available capacity providers for a cluster after the cluster is created. 8638 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 8639 8640 // The name of your cluster. If you do not specify a name for your cluster, 8641 // you create a cluster named default. Up to 255 letters (uppercase and lowercase), 8642 // numbers, and hyphens are allowed. 8643 ClusterName *string `locationName:"clusterName" type:"string"` 8644 8645 // The capacity provider strategy to use by default for the cluster. 8646 // 8647 // When creating a service or running a task on a cluster, if no capacity provider 8648 // or launch type is specified then the default capacity provider strategy for 8649 // the cluster is used. 8650 // 8651 // A capacity provider strategy consists of one or more capacity providers along 8652 // with the base and weight to assign to them. A capacity provider must be associated 8653 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8654 // API is used to associate a capacity provider with a cluster. Only capacity 8655 // providers with an ACTIVE or UPDATING status can be used. 8656 // 8657 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8658 // provider must already be created. New capacity providers can be created with 8659 // the CreateCapacityProvider API operation. 8660 // 8661 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8662 // capacity providers. The AWS Fargate capacity providers are available to all 8663 // accounts and only need to be associated with a cluster to be used. 8664 // 8665 // If a default capacity provider strategy is not defined for a cluster during 8666 // creation, it can be defined later with the PutClusterCapacityProviders API 8667 // operation. 8668 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list"` 8669 8670 // The setting to use when creating a cluster. This parameter is used to enable 8671 // CloudWatch Container Insights for a cluster. If this value is specified, 8672 // it will override the containerInsights value set with PutAccountSetting or 8673 // PutAccountSettingDefault. 8674 Settings []*ClusterSetting `locationName:"settings" type:"list"` 8675 8676 // The metadata that you apply to the cluster to help you categorize and organize 8677 // them. Each tag consists of a key and an optional value, both of which you 8678 // define. 8679 // 8680 // The following basic restrictions apply to tags: 8681 // 8682 // * Maximum number of tags per resource - 50 8683 // 8684 // * For each resource, each tag key must be unique, and each tag key can 8685 // have only one value. 8686 // 8687 // * Maximum key length - 128 Unicode characters in UTF-8 8688 // 8689 // * Maximum value length - 256 Unicode characters in UTF-8 8690 // 8691 // * If your tagging schema is used across multiple services and resources, 8692 // remember that other services may have restrictions on allowed characters. 8693 // Generally allowed characters are: letters, numbers, and spaces representable 8694 // in UTF-8, and the following characters: + - = . _ : / @. 8695 // 8696 // * Tag keys and values are case-sensitive. 8697 // 8698 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 8699 // as a prefix for either keys or values as it is reserved for AWS use. You 8700 // cannot edit or delete tag keys or values with this prefix. Tags with this 8701 // prefix do not count against your tags per resource limit. 8702 Tags []*Tag `locationName:"tags" type:"list"` 8703} 8704 8705// String returns the string representation 8706func (s CreateClusterInput) String() string { 8707 return awsutil.Prettify(s) 8708} 8709 8710// GoString returns the string representation 8711func (s CreateClusterInput) GoString() string { 8712 return s.String() 8713} 8714 8715// Validate inspects the fields of the type to determine if they are valid. 8716func (s *CreateClusterInput) Validate() error { 8717 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 8718 if s.DefaultCapacityProviderStrategy != nil { 8719 for i, v := range s.DefaultCapacityProviderStrategy { 8720 if v == nil { 8721 continue 8722 } 8723 if err := v.Validate(); err != nil { 8724 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 8725 } 8726 } 8727 } 8728 if s.Tags != nil { 8729 for i, v := range s.Tags { 8730 if v == nil { 8731 continue 8732 } 8733 if err := v.Validate(); err != nil { 8734 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 8735 } 8736 } 8737 } 8738 8739 if invalidParams.Len() > 0 { 8740 return invalidParams 8741 } 8742 return nil 8743} 8744 8745// SetCapacityProviders sets the CapacityProviders field's value. 8746func (s *CreateClusterInput) SetCapacityProviders(v []*string) *CreateClusterInput { 8747 s.CapacityProviders = v 8748 return s 8749} 8750 8751// SetClusterName sets the ClusterName field's value. 8752func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { 8753 s.ClusterName = &v 8754 return s 8755} 8756 8757// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 8758func (s *CreateClusterInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateClusterInput { 8759 s.DefaultCapacityProviderStrategy = v 8760 return s 8761} 8762 8763// SetSettings sets the Settings field's value. 8764func (s *CreateClusterInput) SetSettings(v []*ClusterSetting) *CreateClusterInput { 8765 s.Settings = v 8766 return s 8767} 8768 8769// SetTags sets the Tags field's value. 8770func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 8771 s.Tags = v 8772 return s 8773} 8774 8775type CreateClusterOutput struct { 8776 _ struct{} `type:"structure"` 8777 8778 // The full description of your new cluster. 8779 Cluster *Cluster `locationName:"cluster" type:"structure"` 8780} 8781 8782// String returns the string representation 8783func (s CreateClusterOutput) String() string { 8784 return awsutil.Prettify(s) 8785} 8786 8787// GoString returns the string representation 8788func (s CreateClusterOutput) GoString() string { 8789 return s.String() 8790} 8791 8792// SetCluster sets the Cluster field's value. 8793func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 8794 s.Cluster = v 8795 return s 8796} 8797 8798type CreateServiceInput struct { 8799 _ struct{} `type:"structure"` 8800 8801 // The capacity provider strategy to use for the service. 8802 // 8803 // A capacity provider strategy consists of one or more capacity providers along 8804 // with the base and weight to assign to them. A capacity provider must be associated 8805 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 8806 // API is used to associate a capacity provider with a cluster. Only capacity 8807 // providers with an ACTIVE or UPDATING status can be used. 8808 // 8809 // If a capacityProviderStrategy is specified, the launchType parameter must 8810 // be omitted. If no capacityProviderStrategy or launchType is specified, the 8811 // defaultCapacityProviderStrategy for the cluster is used. 8812 // 8813 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 8814 // provider must already be created. New capacity providers can be created with 8815 // the CreateCapacityProvider API operation. 8816 // 8817 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 8818 // capacity providers. The AWS Fargate capacity providers are available to all 8819 // accounts and only need to be associated with a cluster to be used. 8820 // 8821 // The PutClusterCapacityProviders API operation is used to update the list 8822 // of available capacity providers for a cluster after the cluster is created. 8823 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 8824 8825 // Unique, case-sensitive identifier that you provide to ensure the idempotency 8826 // of the request. Up to 32 ASCII characters are allowed. 8827 ClientToken *string `locationName:"clientToken" type:"string"` 8828 8829 // The short name or full Amazon Resource Name (ARN) of the cluster on which 8830 // to run your service. If you do not specify a cluster, the default cluster 8831 // is assumed. 8832 Cluster *string `locationName:"cluster" type:"string"` 8833 8834 // Optional deployment parameters that control how many tasks run during the 8835 // deployment and the ordering of stopping and starting tasks. 8836 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 8837 8838 // The deployment controller to use for the service. 8839 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 8840 8841 // The number of instantiations of the specified task definition to place and 8842 // keep running on your cluster. 8843 // 8844 // This is required if schedulingStrategy is REPLICA or is not specified. If 8845 // schedulingStrategy is DAEMON then this is not required. 8846 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 8847 8848 // Specifies whether to enable Amazon ECS managed tags for the tasks within 8849 // the service. For more information, see Tagging Your Amazon ECS Resources 8850 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 8851 // in the Amazon Elastic Container Service Developer Guide. 8852 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 8853 8854 // The period of time, in seconds, that the Amazon ECS service scheduler should 8855 // ignore unhealthy Elastic Load Balancing target health checks after a task 8856 // has first started. This is only used when your service is configured to use 8857 // a load balancer. If your service has a load balancer defined and you don't 8858 // specify a health check grace period value, the default value of 0 is used. 8859 // 8860 // If your service's tasks take a while to start and respond to Elastic Load 8861 // Balancing health checks, you can specify a health check grace period of up 8862 // to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler 8863 // ignores health check status. This grace period can prevent the service scheduler 8864 // from marking tasks as unhealthy and stopping them before they have time to 8865 // come up. 8866 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 8867 8868 // The launch type on which to run your service. For more information, see Amazon 8869 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 8870 // in the Amazon Elastic Container Service Developer Guide. 8871 // 8872 // If a launchType is specified, the capacityProviderStrategy parameter must 8873 // be omitted. 8874 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 8875 8876 // A load balancer object representing the load balancers to use with your service. 8877 // For more information, see Service Load Balancing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) 8878 // in the Amazon Elastic Container Service Developer Guide. 8879 // 8880 // If the service is using the rolling update (ECS) deployment controller and 8881 // using either an Application Load Balancer or Network Load Balancer, you can 8882 // specify multiple target groups to attach to the service. The service-linked 8883 // role is required for services that make use of multiple target groups. For 8884 // more information, see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8885 // in the Amazon Elastic Container Service Developer Guide. 8886 // 8887 // If the service is using the CODE_DEPLOY deployment controller, the service 8888 // is required to use either an Application Load Balancer or Network Load Balancer. 8889 // When creating an AWS CodeDeploy deployment group, you specify two target 8890 // groups (referred to as a targetGroupPair). During a deployment, AWS CodeDeploy 8891 // determines which task set in your service has the status PRIMARY and associates 8892 // one target group with it, and then associates the other target group with 8893 // the replacement task set. The load balancer can also have up to two listeners: 8894 // a required listener for production traffic and an optional listener that 8895 // allows you perform validation tests with Lambda functions before routing 8896 // production traffic to it. 8897 // 8898 // After you create a service using the ECS deployment controller, the load 8899 // balancer name or target group ARN, container name, and container port specified 8900 // in the service definition are immutable. If you are using the CODE_DEPLOY 8901 // deployment controller, these values can be changed when updating the service. 8902 // 8903 // For Application Load Balancers and Network Load Balancers, this object must 8904 // contain the load balancer target group ARN, the container name (as it appears 8905 // in a container definition), and the container port to access from the load 8906 // balancer. When a task from this service is placed on a container instance, 8907 // the container instance and port combination is registered as a target in 8908 // the target group specified here. 8909 // 8910 // For Classic Load Balancers, this object must contain the load balancer name, 8911 // the container name (as it appears in a container definition), and the container 8912 // port to access from the load balancer. When a task from this service is placed 8913 // on a container instance, the container instance is registered with the load 8914 // balancer specified here. 8915 // 8916 // Services with tasks that use the awsvpc network mode (for example, those 8917 // with the Fargate launch type) only support Application Load Balancers and 8918 // Network Load Balancers. Classic Load Balancers are not supported. Also, when 8919 // you create any target groups for these services, you must choose ip as the 8920 // target type, not instance, because tasks that use the awsvpc network mode 8921 // are associated with an elastic network interface, not an Amazon EC2 instance. 8922 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 8923 8924 // The network configuration for the service. This parameter is required for 8925 // task definitions that use the awsvpc network mode to receive their own elastic 8926 // network interface, and it is not supported for other network modes. For more 8927 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 8928 // in the Amazon Elastic Container Service Developer Guide. 8929 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 8930 8931 // An array of placement constraint objects to use for tasks in your service. 8932 // You can specify a maximum of 10 constraints per task (this limit includes 8933 // constraints in the task definition and those specified at runtime). 8934 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 8935 8936 // The placement strategy objects to use for tasks in your service. You can 8937 // specify a maximum of five strategy rules per service. 8938 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 8939 8940 // The platform version that your tasks in the service are running on. A platform 8941 // version is specified only for tasks using the Fargate launch type. If one 8942 // isn't specified, the LATEST platform version is used by default. For more 8943 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 8944 // in the Amazon Elastic Container Service Developer Guide. 8945 PlatformVersion *string `locationName:"platformVersion" type:"string"` 8946 8947 // Specifies whether to propagate the tags from the task definition or the service 8948 // to the tasks in the service. If no value is specified, the tags are not propagated. 8949 // Tags can only be propagated to the tasks within the service during service 8950 // creation. To add tags to a task after service creation, use the TagResource 8951 // API action. 8952 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 8953 8954 // The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon 8955 // ECS to make calls to your load balancer on your behalf. This parameter is 8956 // only permitted if you are using a load balancer with your service and your 8957 // task definition does not use the awsvpc network mode. If you specify the 8958 // role parameter, you must also specify a load balancer object with the loadBalancers 8959 // parameter. 8960 // 8961 // If your account has already created the Amazon ECS service-linked role, that 8962 // role is used by default for your service unless you specify a role here. 8963 // The service-linked role is required if your task definition uses the awsvpc 8964 // network mode or if the service is configured to use service discovery, an 8965 // external deployment controller, multiple target groups, or Elastic Inference 8966 // accelerators in which case you should not specify a role here. For more information, 8967 // see Using Service-Linked Roles for Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) 8968 // in the Amazon Elastic Container Service Developer Guide. 8969 // 8970 // If your specified role has a path other than /, then you must either specify 8971 // the full role ARN (this is recommended) or prefix the role name with the 8972 // path. For example, if a role with the name bar has a path of /foo/ then you 8973 // would specify /foo/bar as the role name. For more information, see Friendly 8974 // Names and Paths (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names) 8975 // in the IAM User Guide. 8976 Role *string `locationName:"role" type:"string"` 8977 8978 // The scheduling strategy to use for the service. For more information, see 8979 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 8980 // 8981 // There are two service scheduler strategies available: 8982 // 8983 // * REPLICA-The replica scheduling strategy places and maintains the desired 8984 // number of tasks across your cluster. By default, the service scheduler 8985 // spreads tasks across Availability Zones. You can use task placement strategies 8986 // and constraints to customize task placement decisions. This scheduler 8987 // strategy is required if the service is using the CODE_DEPLOY or EXTERNAL 8988 // deployment controller types. 8989 // 8990 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 8991 // active container instance that meets all of the task placement constraints 8992 // that you specify in your cluster. The service scheduler also evaluates 8993 // the task placement constraints for running tasks and will stop tasks that 8994 // do not meet the placement constraints. When you're using this strategy, 8995 // you don't need to specify a desired number of tasks, a task placement 8996 // strategy, or use Service Auto Scaling policies. Tasks using the Fargate 8997 // launch type or the CODE_DEPLOY or EXTERNAL deployment controller types 8998 // don't support the DAEMON scheduling strategy. 8999 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 9000 9001 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 9002 // and hyphens are allowed. Service names must be unique within a cluster, but 9003 // you can have similarly named services in multiple clusters within a Region 9004 // or across multiple Regions. 9005 // 9006 // ServiceName is a required field 9007 ServiceName *string `locationName:"serviceName" type:"string" required:"true"` 9008 9009 // The details of the service discovery registries to assign to this service. 9010 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9011 // 9012 // Service discovery is supported for Fargate tasks if you are using platform 9013 // version v1.1.0 or later. For more information, see AWS Fargate Platform Versions 9014 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 9015 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9016 9017 // The metadata that you apply to the service to help you categorize and organize 9018 // them. Each tag consists of a key and an optional value, both of which you 9019 // define. When a service is deleted, the tags are deleted as well. 9020 // 9021 // The following basic restrictions apply to tags: 9022 // 9023 // * Maximum number of tags per resource - 50 9024 // 9025 // * For each resource, each tag key must be unique, and each tag key can 9026 // have only one value. 9027 // 9028 // * Maximum key length - 128 Unicode characters in UTF-8 9029 // 9030 // * Maximum value length - 256 Unicode characters in UTF-8 9031 // 9032 // * If your tagging schema is used across multiple services and resources, 9033 // remember that other services may have restrictions on allowed characters. 9034 // Generally allowed characters are: letters, numbers, and spaces representable 9035 // in UTF-8, and the following characters: + - = . _ : / @. 9036 // 9037 // * Tag keys and values are case-sensitive. 9038 // 9039 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9040 // as a prefix for either keys or values as it is reserved for AWS use. You 9041 // cannot edit or delete tag keys or values with this prefix. Tags with this 9042 // prefix do not count against your tags per resource limit. 9043 Tags []*Tag `locationName:"tags" type:"list"` 9044 9045 // The family and revision (family:revision) or full ARN of the task definition 9046 // to run in your service. If a revision is not specified, the latest ACTIVE 9047 // revision is used. 9048 // 9049 // A task definition must be specified if the service is using the ECS deployment 9050 // controller. 9051 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 9052} 9053 9054// String returns the string representation 9055func (s CreateServiceInput) String() string { 9056 return awsutil.Prettify(s) 9057} 9058 9059// GoString returns the string representation 9060func (s CreateServiceInput) GoString() string { 9061 return s.String() 9062} 9063 9064// Validate inspects the fields of the type to determine if they are valid. 9065func (s *CreateServiceInput) Validate() error { 9066 invalidParams := request.ErrInvalidParams{Context: "CreateServiceInput"} 9067 if s.ServiceName == nil { 9068 invalidParams.Add(request.NewErrParamRequired("ServiceName")) 9069 } 9070 if s.CapacityProviderStrategy != nil { 9071 for i, v := range s.CapacityProviderStrategy { 9072 if v == nil { 9073 continue 9074 } 9075 if err := v.Validate(); err != nil { 9076 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9077 } 9078 } 9079 } 9080 if s.DeploymentController != nil { 9081 if err := s.DeploymentController.Validate(); err != nil { 9082 invalidParams.AddNested("DeploymentController", err.(request.ErrInvalidParams)) 9083 } 9084 } 9085 if s.NetworkConfiguration != nil { 9086 if err := s.NetworkConfiguration.Validate(); err != nil { 9087 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9088 } 9089 } 9090 if s.Tags != nil { 9091 for i, v := range s.Tags { 9092 if v == nil { 9093 continue 9094 } 9095 if err := v.Validate(); err != nil { 9096 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9097 } 9098 } 9099 } 9100 9101 if invalidParams.Len() > 0 { 9102 return invalidParams 9103 } 9104 return nil 9105} 9106 9107// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9108func (s *CreateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateServiceInput { 9109 s.CapacityProviderStrategy = v 9110 return s 9111} 9112 9113// SetClientToken sets the ClientToken field's value. 9114func (s *CreateServiceInput) SetClientToken(v string) *CreateServiceInput { 9115 s.ClientToken = &v 9116 return s 9117} 9118 9119// SetCluster sets the Cluster field's value. 9120func (s *CreateServiceInput) SetCluster(v string) *CreateServiceInput { 9121 s.Cluster = &v 9122 return s 9123} 9124 9125// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 9126func (s *CreateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *CreateServiceInput { 9127 s.DeploymentConfiguration = v 9128 return s 9129} 9130 9131// SetDeploymentController sets the DeploymentController field's value. 9132func (s *CreateServiceInput) SetDeploymentController(v *DeploymentController) *CreateServiceInput { 9133 s.DeploymentController = v 9134 return s 9135} 9136 9137// SetDesiredCount sets the DesiredCount field's value. 9138func (s *CreateServiceInput) SetDesiredCount(v int64) *CreateServiceInput { 9139 s.DesiredCount = &v 9140 return s 9141} 9142 9143// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 9144func (s *CreateServiceInput) SetEnableECSManagedTags(v bool) *CreateServiceInput { 9145 s.EnableECSManagedTags = &v 9146 return s 9147} 9148 9149// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 9150func (s *CreateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *CreateServiceInput { 9151 s.HealthCheckGracePeriodSeconds = &v 9152 return s 9153} 9154 9155// SetLaunchType sets the LaunchType field's value. 9156func (s *CreateServiceInput) SetLaunchType(v string) *CreateServiceInput { 9157 s.LaunchType = &v 9158 return s 9159} 9160 9161// SetLoadBalancers sets the LoadBalancers field's value. 9162func (s *CreateServiceInput) SetLoadBalancers(v []*LoadBalancer) *CreateServiceInput { 9163 s.LoadBalancers = v 9164 return s 9165} 9166 9167// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9168func (s *CreateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateServiceInput { 9169 s.NetworkConfiguration = v 9170 return s 9171} 9172 9173// SetPlacementConstraints sets the PlacementConstraints field's value. 9174func (s *CreateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *CreateServiceInput { 9175 s.PlacementConstraints = v 9176 return s 9177} 9178 9179// SetPlacementStrategy sets the PlacementStrategy field's value. 9180func (s *CreateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *CreateServiceInput { 9181 s.PlacementStrategy = v 9182 return s 9183} 9184 9185// SetPlatformVersion sets the PlatformVersion field's value. 9186func (s *CreateServiceInput) SetPlatformVersion(v string) *CreateServiceInput { 9187 s.PlatformVersion = &v 9188 return s 9189} 9190 9191// SetPropagateTags sets the PropagateTags field's value. 9192func (s *CreateServiceInput) SetPropagateTags(v string) *CreateServiceInput { 9193 s.PropagateTags = &v 9194 return s 9195} 9196 9197// SetRole sets the Role field's value. 9198func (s *CreateServiceInput) SetRole(v string) *CreateServiceInput { 9199 s.Role = &v 9200 return s 9201} 9202 9203// SetSchedulingStrategy sets the SchedulingStrategy field's value. 9204func (s *CreateServiceInput) SetSchedulingStrategy(v string) *CreateServiceInput { 9205 s.SchedulingStrategy = &v 9206 return s 9207} 9208 9209// SetServiceName sets the ServiceName field's value. 9210func (s *CreateServiceInput) SetServiceName(v string) *CreateServiceInput { 9211 s.ServiceName = &v 9212 return s 9213} 9214 9215// SetServiceRegistries sets the ServiceRegistries field's value. 9216func (s *CreateServiceInput) SetServiceRegistries(v []*ServiceRegistry) *CreateServiceInput { 9217 s.ServiceRegistries = v 9218 return s 9219} 9220 9221// SetTags sets the Tags field's value. 9222func (s *CreateServiceInput) SetTags(v []*Tag) *CreateServiceInput { 9223 s.Tags = v 9224 return s 9225} 9226 9227// SetTaskDefinition sets the TaskDefinition field's value. 9228func (s *CreateServiceInput) SetTaskDefinition(v string) *CreateServiceInput { 9229 s.TaskDefinition = &v 9230 return s 9231} 9232 9233type CreateServiceOutput struct { 9234 _ struct{} `type:"structure"` 9235 9236 // The full description of your service following the create call. 9237 // 9238 // If a service is using the ECS deployment controller, the deploymentController 9239 // and taskSets parameters will not be returned. 9240 // 9241 // If the service is using the CODE_DEPLOY deployment controller, the deploymentController, 9242 // taskSets and deployments parameters will be returned, however the deployments 9243 // parameter will be an empty list. 9244 Service *Service `locationName:"service" type:"structure"` 9245} 9246 9247// String returns the string representation 9248func (s CreateServiceOutput) String() string { 9249 return awsutil.Prettify(s) 9250} 9251 9252// GoString returns the string representation 9253func (s CreateServiceOutput) GoString() string { 9254 return s.String() 9255} 9256 9257// SetService sets the Service field's value. 9258func (s *CreateServiceOutput) SetService(v *Service) *CreateServiceOutput { 9259 s.Service = v 9260 return s 9261} 9262 9263type CreateTaskSetInput struct { 9264 _ struct{} `type:"structure"` 9265 9266 // The capacity provider strategy to use for the task set. 9267 // 9268 // A capacity provider strategy consists of one or more capacity providers along 9269 // with the base and weight to assign to them. A capacity provider must be associated 9270 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 9271 // API is used to associate a capacity provider with a cluster. Only capacity 9272 // providers with an ACTIVE or UPDATING status can be used. 9273 // 9274 // If a capacityProviderStrategy is specified, the launchType parameter must 9275 // be omitted. If no capacityProviderStrategy or launchType is specified, the 9276 // defaultCapacityProviderStrategy for the cluster is used. 9277 // 9278 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 9279 // provider must already be created. New capacity providers can be created with 9280 // the CreateCapacityProvider API operation. 9281 // 9282 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 9283 // capacity providers. The AWS Fargate capacity providers are available to all 9284 // accounts and only need to be associated with a cluster to be used. 9285 // 9286 // The PutClusterCapacityProviders API operation is used to update the list 9287 // of available capacity providers for a cluster after the cluster is created. 9288 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 9289 9290 // Unique, case-sensitive identifier that you provide to ensure the idempotency 9291 // of the request. Up to 32 ASCII characters are allowed. 9292 ClientToken *string `locationName:"clientToken" type:"string"` 9293 9294 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9295 // the service to create the task set in. 9296 // 9297 // Cluster is a required field 9298 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9299 9300 // An optional non-unique tag that identifies this task set in external systems. 9301 // If the task set is associated with a service discovery registry, the tasks 9302 // in this task set will have the ECS_TASK_SET_EXTERNAL_ID AWS Cloud Map attribute 9303 // set to the provided value. 9304 ExternalId *string `locationName:"externalId" type:"string"` 9305 9306 // The launch type that new tasks in the task set will use. For more information, 9307 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 9308 // in the Amazon Elastic Container Service Developer Guide. 9309 // 9310 // If a launchType is specified, the capacityProviderStrategy parameter must 9311 // be omitted. 9312 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 9313 9314 // A load balancer object representing the load balancer to use with the task 9315 // set. The supported load balancer types are either an Application Load Balancer 9316 // or a Network Load Balancer. 9317 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 9318 9319 // An object representing the network configuration for a task or service. 9320 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 9321 9322 // The platform version that the tasks in the task set should use. A platform 9323 // version is specified only for tasks using the Fargate launch type. If one 9324 // isn't specified, the LATEST platform version is used by default. 9325 PlatformVersion *string `locationName:"platformVersion" type:"string"` 9326 9327 // A floating-point percentage of the desired number of tasks to place and keep 9328 // running in the task set. 9329 Scale *Scale `locationName:"scale" type:"structure"` 9330 9331 // The short name or full Amazon Resource Name (ARN) of the service to create 9332 // the task set in. 9333 // 9334 // Service is a required field 9335 Service *string `locationName:"service" type:"string" required:"true"` 9336 9337 // The details of the service discovery registries to assign to this task set. 9338 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 9339 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 9340 9341 // The metadata that you apply to the task set to help you categorize and organize 9342 // them. Each tag consists of a key and an optional value, both of which you 9343 // define. When a service is deleted, the tags are deleted as well. 9344 // 9345 // The following basic restrictions apply to tags: 9346 // 9347 // * Maximum number of tags per resource - 50 9348 // 9349 // * For each resource, each tag key must be unique, and each tag key can 9350 // have only one value. 9351 // 9352 // * Maximum key length - 128 Unicode characters in UTF-8 9353 // 9354 // * Maximum value length - 256 Unicode characters in UTF-8 9355 // 9356 // * If your tagging schema is used across multiple services and resources, 9357 // remember that other services may have restrictions on allowed characters. 9358 // Generally allowed characters are: letters, numbers, and spaces representable 9359 // in UTF-8, and the following characters: + - = . _ : / @. 9360 // 9361 // * Tag keys and values are case-sensitive. 9362 // 9363 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 9364 // as a prefix for either keys or values as it is reserved for AWS use. You 9365 // cannot edit or delete tag keys or values with this prefix. Tags with this 9366 // prefix do not count against your tags per resource limit. 9367 Tags []*Tag `locationName:"tags" type:"list"` 9368 9369 // The task definition for the tasks in the task set to use. 9370 // 9371 // TaskDefinition is a required field 9372 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 9373} 9374 9375// String returns the string representation 9376func (s CreateTaskSetInput) String() string { 9377 return awsutil.Prettify(s) 9378} 9379 9380// GoString returns the string representation 9381func (s CreateTaskSetInput) GoString() string { 9382 return s.String() 9383} 9384 9385// Validate inspects the fields of the type to determine if they are valid. 9386func (s *CreateTaskSetInput) Validate() error { 9387 invalidParams := request.ErrInvalidParams{Context: "CreateTaskSetInput"} 9388 if s.Cluster == nil { 9389 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9390 } 9391 if s.Service == nil { 9392 invalidParams.Add(request.NewErrParamRequired("Service")) 9393 } 9394 if s.TaskDefinition == nil { 9395 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 9396 } 9397 if s.CapacityProviderStrategy != nil { 9398 for i, v := range s.CapacityProviderStrategy { 9399 if v == nil { 9400 continue 9401 } 9402 if err := v.Validate(); err != nil { 9403 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 9404 } 9405 } 9406 } 9407 if s.NetworkConfiguration != nil { 9408 if err := s.NetworkConfiguration.Validate(); err != nil { 9409 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 9410 } 9411 } 9412 if s.Tags != nil { 9413 for i, v := range s.Tags { 9414 if v == nil { 9415 continue 9416 } 9417 if err := v.Validate(); err != nil { 9418 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 9419 } 9420 } 9421 } 9422 9423 if invalidParams.Len() > 0 { 9424 return invalidParams 9425 } 9426 return nil 9427} 9428 9429// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 9430func (s *CreateTaskSetInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *CreateTaskSetInput { 9431 s.CapacityProviderStrategy = v 9432 return s 9433} 9434 9435// SetClientToken sets the ClientToken field's value. 9436func (s *CreateTaskSetInput) SetClientToken(v string) *CreateTaskSetInput { 9437 s.ClientToken = &v 9438 return s 9439} 9440 9441// SetCluster sets the Cluster field's value. 9442func (s *CreateTaskSetInput) SetCluster(v string) *CreateTaskSetInput { 9443 s.Cluster = &v 9444 return s 9445} 9446 9447// SetExternalId sets the ExternalId field's value. 9448func (s *CreateTaskSetInput) SetExternalId(v string) *CreateTaskSetInput { 9449 s.ExternalId = &v 9450 return s 9451} 9452 9453// SetLaunchType sets the LaunchType field's value. 9454func (s *CreateTaskSetInput) SetLaunchType(v string) *CreateTaskSetInput { 9455 s.LaunchType = &v 9456 return s 9457} 9458 9459// SetLoadBalancers sets the LoadBalancers field's value. 9460func (s *CreateTaskSetInput) SetLoadBalancers(v []*LoadBalancer) *CreateTaskSetInput { 9461 s.LoadBalancers = v 9462 return s 9463} 9464 9465// SetNetworkConfiguration sets the NetworkConfiguration field's value. 9466func (s *CreateTaskSetInput) SetNetworkConfiguration(v *NetworkConfiguration) *CreateTaskSetInput { 9467 s.NetworkConfiguration = v 9468 return s 9469} 9470 9471// SetPlatformVersion sets the PlatformVersion field's value. 9472func (s *CreateTaskSetInput) SetPlatformVersion(v string) *CreateTaskSetInput { 9473 s.PlatformVersion = &v 9474 return s 9475} 9476 9477// SetScale sets the Scale field's value. 9478func (s *CreateTaskSetInput) SetScale(v *Scale) *CreateTaskSetInput { 9479 s.Scale = v 9480 return s 9481} 9482 9483// SetService sets the Service field's value. 9484func (s *CreateTaskSetInput) SetService(v string) *CreateTaskSetInput { 9485 s.Service = &v 9486 return s 9487} 9488 9489// SetServiceRegistries sets the ServiceRegistries field's value. 9490func (s *CreateTaskSetInput) SetServiceRegistries(v []*ServiceRegistry) *CreateTaskSetInput { 9491 s.ServiceRegistries = v 9492 return s 9493} 9494 9495// SetTags sets the Tags field's value. 9496func (s *CreateTaskSetInput) SetTags(v []*Tag) *CreateTaskSetInput { 9497 s.Tags = v 9498 return s 9499} 9500 9501// SetTaskDefinition sets the TaskDefinition field's value. 9502func (s *CreateTaskSetInput) SetTaskDefinition(v string) *CreateTaskSetInput { 9503 s.TaskDefinition = &v 9504 return s 9505} 9506 9507type CreateTaskSetOutput struct { 9508 _ struct{} `type:"structure"` 9509 9510 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9511 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9512 // desired number of tasks, how many tasks are running, and whether the task 9513 // set serves production traffic. 9514 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9515} 9516 9517// String returns the string representation 9518func (s CreateTaskSetOutput) String() string { 9519 return awsutil.Prettify(s) 9520} 9521 9522// GoString returns the string representation 9523func (s CreateTaskSetOutput) GoString() string { 9524 return s.String() 9525} 9526 9527// SetTaskSet sets the TaskSet field's value. 9528func (s *CreateTaskSetOutput) SetTaskSet(v *TaskSet) *CreateTaskSetOutput { 9529 s.TaskSet = v 9530 return s 9531} 9532 9533type DeleteAccountSettingInput struct { 9534 _ struct{} `type:"structure"` 9535 9536 // The resource name for which to disable the account setting. If serviceLongArnFormat 9537 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 9538 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 9539 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 9540 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 9541 // the ENI limit for your Amazon ECS container instances is affected. 9542 // 9543 // Name is a required field 9544 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 9545 9546 // The ARN of the principal, which can be an IAM user, IAM role, or the root 9547 // user. If you specify the root user, it disables the account setting for all 9548 // IAM users, IAM roles, and the root user of the account unless an IAM user 9549 // or role explicitly overrides these settings. If this field is omitted, the 9550 // setting is changed only for the authenticated user. 9551 PrincipalArn *string `locationName:"principalArn" type:"string"` 9552} 9553 9554// String returns the string representation 9555func (s DeleteAccountSettingInput) String() string { 9556 return awsutil.Prettify(s) 9557} 9558 9559// GoString returns the string representation 9560func (s DeleteAccountSettingInput) GoString() string { 9561 return s.String() 9562} 9563 9564// Validate inspects the fields of the type to determine if they are valid. 9565func (s *DeleteAccountSettingInput) Validate() error { 9566 invalidParams := request.ErrInvalidParams{Context: "DeleteAccountSettingInput"} 9567 if s.Name == nil { 9568 invalidParams.Add(request.NewErrParamRequired("Name")) 9569 } 9570 9571 if invalidParams.Len() > 0 { 9572 return invalidParams 9573 } 9574 return nil 9575} 9576 9577// SetName sets the Name field's value. 9578func (s *DeleteAccountSettingInput) SetName(v string) *DeleteAccountSettingInput { 9579 s.Name = &v 9580 return s 9581} 9582 9583// SetPrincipalArn sets the PrincipalArn field's value. 9584func (s *DeleteAccountSettingInput) SetPrincipalArn(v string) *DeleteAccountSettingInput { 9585 s.PrincipalArn = &v 9586 return s 9587} 9588 9589type DeleteAccountSettingOutput struct { 9590 _ struct{} `type:"structure"` 9591 9592 // The account setting for the specified principal ARN. 9593 Setting *Setting `locationName:"setting" type:"structure"` 9594} 9595 9596// String returns the string representation 9597func (s DeleteAccountSettingOutput) String() string { 9598 return awsutil.Prettify(s) 9599} 9600 9601// GoString returns the string representation 9602func (s DeleteAccountSettingOutput) GoString() string { 9603 return s.String() 9604} 9605 9606// SetSetting sets the Setting field's value. 9607func (s *DeleteAccountSettingOutput) SetSetting(v *Setting) *DeleteAccountSettingOutput { 9608 s.Setting = v 9609 return s 9610} 9611 9612type DeleteAttributesInput struct { 9613 _ struct{} `type:"structure"` 9614 9615 // The attributes to delete from your resource. You can specify up to 10 attributes 9616 // per request. For custom attributes, specify the attribute name and target 9617 // ID, but do not specify the value. If you specify the target ID using the 9618 // short form, you must also specify the target type. 9619 // 9620 // Attributes is a required field 9621 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 9622 9623 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 9624 // the resource to delete attributes. If you do not specify a cluster, the default 9625 // cluster is assumed. 9626 Cluster *string `locationName:"cluster" type:"string"` 9627} 9628 9629// String returns the string representation 9630func (s DeleteAttributesInput) String() string { 9631 return awsutil.Prettify(s) 9632} 9633 9634// GoString returns the string representation 9635func (s DeleteAttributesInput) GoString() string { 9636 return s.String() 9637} 9638 9639// Validate inspects the fields of the type to determine if they are valid. 9640func (s *DeleteAttributesInput) Validate() error { 9641 invalidParams := request.ErrInvalidParams{Context: "DeleteAttributesInput"} 9642 if s.Attributes == nil { 9643 invalidParams.Add(request.NewErrParamRequired("Attributes")) 9644 } 9645 if s.Attributes != nil { 9646 for i, v := range s.Attributes { 9647 if v == nil { 9648 continue 9649 } 9650 if err := v.Validate(); err != nil { 9651 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 9652 } 9653 } 9654 } 9655 9656 if invalidParams.Len() > 0 { 9657 return invalidParams 9658 } 9659 return nil 9660} 9661 9662// SetAttributes sets the Attributes field's value. 9663func (s *DeleteAttributesInput) SetAttributes(v []*Attribute) *DeleteAttributesInput { 9664 s.Attributes = v 9665 return s 9666} 9667 9668// SetCluster sets the Cluster field's value. 9669func (s *DeleteAttributesInput) SetCluster(v string) *DeleteAttributesInput { 9670 s.Cluster = &v 9671 return s 9672} 9673 9674type DeleteAttributesOutput struct { 9675 _ struct{} `type:"structure"` 9676 9677 // A list of attribute objects that were successfully deleted from your resource. 9678 Attributes []*Attribute `locationName:"attributes" type:"list"` 9679} 9680 9681// String returns the string representation 9682func (s DeleteAttributesOutput) String() string { 9683 return awsutil.Prettify(s) 9684} 9685 9686// GoString returns the string representation 9687func (s DeleteAttributesOutput) GoString() string { 9688 return s.String() 9689} 9690 9691// SetAttributes sets the Attributes field's value. 9692func (s *DeleteAttributesOutput) SetAttributes(v []*Attribute) *DeleteAttributesOutput { 9693 s.Attributes = v 9694 return s 9695} 9696 9697type DeleteCapacityProviderInput struct { 9698 _ struct{} `type:"structure"` 9699 9700 // The short name or full Amazon Resource Name (ARN) of the capacity provider 9701 // to delete. 9702 // 9703 // CapacityProvider is a required field 9704 CapacityProvider *string `locationName:"capacityProvider" type:"string" required:"true"` 9705} 9706 9707// String returns the string representation 9708func (s DeleteCapacityProviderInput) String() string { 9709 return awsutil.Prettify(s) 9710} 9711 9712// GoString returns the string representation 9713func (s DeleteCapacityProviderInput) GoString() string { 9714 return s.String() 9715} 9716 9717// Validate inspects the fields of the type to determine if they are valid. 9718func (s *DeleteCapacityProviderInput) Validate() error { 9719 invalidParams := request.ErrInvalidParams{Context: "DeleteCapacityProviderInput"} 9720 if s.CapacityProvider == nil { 9721 invalidParams.Add(request.NewErrParamRequired("CapacityProvider")) 9722 } 9723 9724 if invalidParams.Len() > 0 { 9725 return invalidParams 9726 } 9727 return nil 9728} 9729 9730// SetCapacityProvider sets the CapacityProvider field's value. 9731func (s *DeleteCapacityProviderInput) SetCapacityProvider(v string) *DeleteCapacityProviderInput { 9732 s.CapacityProvider = &v 9733 return s 9734} 9735 9736type DeleteCapacityProviderOutput struct { 9737 _ struct{} `type:"structure"` 9738 9739 // The details of a capacity provider. 9740 CapacityProvider *CapacityProvider `locationName:"capacityProvider" type:"structure"` 9741} 9742 9743// String returns the string representation 9744func (s DeleteCapacityProviderOutput) String() string { 9745 return awsutil.Prettify(s) 9746} 9747 9748// GoString returns the string representation 9749func (s DeleteCapacityProviderOutput) GoString() string { 9750 return s.String() 9751} 9752 9753// SetCapacityProvider sets the CapacityProvider field's value. 9754func (s *DeleteCapacityProviderOutput) SetCapacityProvider(v *CapacityProvider) *DeleteCapacityProviderOutput { 9755 s.CapacityProvider = v 9756 return s 9757} 9758 9759type DeleteClusterInput struct { 9760 _ struct{} `type:"structure"` 9761 9762 // The short name or full Amazon Resource Name (ARN) of the cluster to delete. 9763 // 9764 // Cluster is a required field 9765 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9766} 9767 9768// String returns the string representation 9769func (s DeleteClusterInput) String() string { 9770 return awsutil.Prettify(s) 9771} 9772 9773// GoString returns the string representation 9774func (s DeleteClusterInput) GoString() string { 9775 return s.String() 9776} 9777 9778// Validate inspects the fields of the type to determine if they are valid. 9779func (s *DeleteClusterInput) Validate() error { 9780 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 9781 if s.Cluster == nil { 9782 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9783 } 9784 9785 if invalidParams.Len() > 0 { 9786 return invalidParams 9787 } 9788 return nil 9789} 9790 9791// SetCluster sets the Cluster field's value. 9792func (s *DeleteClusterInput) SetCluster(v string) *DeleteClusterInput { 9793 s.Cluster = &v 9794 return s 9795} 9796 9797type DeleteClusterOutput struct { 9798 _ struct{} `type:"structure"` 9799 9800 // The full description of the deleted cluster. 9801 Cluster *Cluster `locationName:"cluster" type:"structure"` 9802} 9803 9804// String returns the string representation 9805func (s DeleteClusterOutput) String() string { 9806 return awsutil.Prettify(s) 9807} 9808 9809// GoString returns the string representation 9810func (s DeleteClusterOutput) GoString() string { 9811 return s.String() 9812} 9813 9814// SetCluster sets the Cluster field's value. 9815func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 9816 s.Cluster = v 9817 return s 9818} 9819 9820type DeleteServiceInput struct { 9821 _ struct{} `type:"structure"` 9822 9823 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9824 // the service to delete. If you do not specify a cluster, the default cluster 9825 // is assumed. 9826 Cluster *string `locationName:"cluster" type:"string"` 9827 9828 // If true, allows you to delete a service even if it has not been scaled down 9829 // to zero tasks. It is only necessary to use this if the service is using the 9830 // REPLICA scheduling strategy. 9831 Force *bool `locationName:"force" type:"boolean"` 9832 9833 // The name of the service to delete. 9834 // 9835 // Service is a required field 9836 Service *string `locationName:"service" type:"string" required:"true"` 9837} 9838 9839// String returns the string representation 9840func (s DeleteServiceInput) String() string { 9841 return awsutil.Prettify(s) 9842} 9843 9844// GoString returns the string representation 9845func (s DeleteServiceInput) GoString() string { 9846 return s.String() 9847} 9848 9849// Validate inspects the fields of the type to determine if they are valid. 9850func (s *DeleteServiceInput) Validate() error { 9851 invalidParams := request.ErrInvalidParams{Context: "DeleteServiceInput"} 9852 if s.Service == nil { 9853 invalidParams.Add(request.NewErrParamRequired("Service")) 9854 } 9855 9856 if invalidParams.Len() > 0 { 9857 return invalidParams 9858 } 9859 return nil 9860} 9861 9862// SetCluster sets the Cluster field's value. 9863func (s *DeleteServiceInput) SetCluster(v string) *DeleteServiceInput { 9864 s.Cluster = &v 9865 return s 9866} 9867 9868// SetForce sets the Force field's value. 9869func (s *DeleteServiceInput) SetForce(v bool) *DeleteServiceInput { 9870 s.Force = &v 9871 return s 9872} 9873 9874// SetService sets the Service field's value. 9875func (s *DeleteServiceInput) SetService(v string) *DeleteServiceInput { 9876 s.Service = &v 9877 return s 9878} 9879 9880type DeleteServiceOutput struct { 9881 _ struct{} `type:"structure"` 9882 9883 // The full description of the deleted service. 9884 Service *Service `locationName:"service" type:"structure"` 9885} 9886 9887// String returns the string representation 9888func (s DeleteServiceOutput) String() string { 9889 return awsutil.Prettify(s) 9890} 9891 9892// GoString returns the string representation 9893func (s DeleteServiceOutput) GoString() string { 9894 return s.String() 9895} 9896 9897// SetService sets the Service field's value. 9898func (s *DeleteServiceOutput) SetService(v *Service) *DeleteServiceOutput { 9899 s.Service = v 9900 return s 9901} 9902 9903type DeleteTaskSetInput struct { 9904 _ struct{} `type:"structure"` 9905 9906 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 9907 // the service that the task set exists in to delete. 9908 // 9909 // Cluster is a required field 9910 Cluster *string `locationName:"cluster" type:"string" required:"true"` 9911 9912 // If true, this allows you to delete a task set even if it hasn't been scaled 9913 // down to zero. 9914 Force *bool `locationName:"force" type:"boolean"` 9915 9916 // The short name or full Amazon Resource Name (ARN) of the service that hosts 9917 // the task set to delete. 9918 // 9919 // Service is a required field 9920 Service *string `locationName:"service" type:"string" required:"true"` 9921 9922 // The task set ID or full Amazon Resource Name (ARN) of the task set to delete. 9923 // 9924 // TaskSet is a required field 9925 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 9926} 9927 9928// String returns the string representation 9929func (s DeleteTaskSetInput) String() string { 9930 return awsutil.Prettify(s) 9931} 9932 9933// GoString returns the string representation 9934func (s DeleteTaskSetInput) GoString() string { 9935 return s.String() 9936} 9937 9938// Validate inspects the fields of the type to determine if they are valid. 9939func (s *DeleteTaskSetInput) Validate() error { 9940 invalidParams := request.ErrInvalidParams{Context: "DeleteTaskSetInput"} 9941 if s.Cluster == nil { 9942 invalidParams.Add(request.NewErrParamRequired("Cluster")) 9943 } 9944 if s.Service == nil { 9945 invalidParams.Add(request.NewErrParamRequired("Service")) 9946 } 9947 if s.TaskSet == nil { 9948 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 9949 } 9950 9951 if invalidParams.Len() > 0 { 9952 return invalidParams 9953 } 9954 return nil 9955} 9956 9957// SetCluster sets the Cluster field's value. 9958func (s *DeleteTaskSetInput) SetCluster(v string) *DeleteTaskSetInput { 9959 s.Cluster = &v 9960 return s 9961} 9962 9963// SetForce sets the Force field's value. 9964func (s *DeleteTaskSetInput) SetForce(v bool) *DeleteTaskSetInput { 9965 s.Force = &v 9966 return s 9967} 9968 9969// SetService sets the Service field's value. 9970func (s *DeleteTaskSetInput) SetService(v string) *DeleteTaskSetInput { 9971 s.Service = &v 9972 return s 9973} 9974 9975// SetTaskSet sets the TaskSet field's value. 9976func (s *DeleteTaskSetInput) SetTaskSet(v string) *DeleteTaskSetInput { 9977 s.TaskSet = &v 9978 return s 9979} 9980 9981type DeleteTaskSetOutput struct { 9982 _ struct{} `type:"structure"` 9983 9984 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 9985 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 9986 // desired number of tasks, how many tasks are running, and whether the task 9987 // set serves production traffic. 9988 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 9989} 9990 9991// String returns the string representation 9992func (s DeleteTaskSetOutput) String() string { 9993 return awsutil.Prettify(s) 9994} 9995 9996// GoString returns the string representation 9997func (s DeleteTaskSetOutput) GoString() string { 9998 return s.String() 9999} 10000 10001// SetTaskSet sets the TaskSet field's value. 10002func (s *DeleteTaskSetOutput) SetTaskSet(v *TaskSet) *DeleteTaskSetOutput { 10003 s.TaskSet = v 10004 return s 10005} 10006 10007// The details of an Amazon ECS service deployment. This is used only when a 10008// service uses the ECS deployment controller type. 10009type Deployment struct { 10010 _ struct{} `type:"structure"` 10011 10012 // The capacity provider strategy that the deployment is using. 10013 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 10014 10015 // The Unix timestamp for when the service deployment was created. 10016 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 10017 10018 // The most recent desired count of tasks that was specified for the service 10019 // to deploy or maintain. 10020 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 10021 10022 // The ID of the deployment. 10023 Id *string `locationName:"id" type:"string"` 10024 10025 // The launch type the tasks in the service are using. For more information, 10026 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 10027 // in the Amazon Elastic Container Service Developer Guide. 10028 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 10029 10030 // The VPC subnet and security group configuration for tasks that receive their 10031 // own elastic network interface by using the awsvpc networking mode. 10032 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 10033 10034 // The number of tasks in the deployment that are in the PENDING status. 10035 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 10036 10037 // The platform version on which your tasks in the service are running. A platform 10038 // version is only specified for tasks using the Fargate launch type. If one 10039 // is not specified, the LATEST platform version is used by default. For more 10040 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 10041 // in the Amazon Elastic Container Service Developer Guide. 10042 PlatformVersion *string `locationName:"platformVersion" type:"string"` 10043 10044 // The number of tasks in the deployment that are in the RUNNING status. 10045 RunningCount *int64 `locationName:"runningCount" type:"integer"` 10046 10047 // The status of the deployment. The following describes each state: 10048 // 10049 // PRIMARY 10050 // 10051 // The most recent deployment of a service. 10052 // 10053 // ACTIVE 10054 // 10055 // A service deployment that still has running tasks, but are in the process 10056 // of being replaced with a new PRIMARY deployment. 10057 // 10058 // INACTIVE 10059 // 10060 // A deployment that has been completely replaced. 10061 Status *string `locationName:"status" type:"string"` 10062 10063 // The most recent task definition that was specified for the tasks in the service 10064 // to use. 10065 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 10066 10067 // The Unix timestamp for when the service deployment was last updated. 10068 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 10069} 10070 10071// String returns the string representation 10072func (s Deployment) String() string { 10073 return awsutil.Prettify(s) 10074} 10075 10076// GoString returns the string representation 10077func (s Deployment) GoString() string { 10078 return s.String() 10079} 10080 10081// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 10082func (s *Deployment) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Deployment { 10083 s.CapacityProviderStrategy = v 10084 return s 10085} 10086 10087// SetCreatedAt sets the CreatedAt field's value. 10088func (s *Deployment) SetCreatedAt(v time.Time) *Deployment { 10089 s.CreatedAt = &v 10090 return s 10091} 10092 10093// SetDesiredCount sets the DesiredCount field's value. 10094func (s *Deployment) SetDesiredCount(v int64) *Deployment { 10095 s.DesiredCount = &v 10096 return s 10097} 10098 10099// SetId sets the Id field's value. 10100func (s *Deployment) SetId(v string) *Deployment { 10101 s.Id = &v 10102 return s 10103} 10104 10105// SetLaunchType sets the LaunchType field's value. 10106func (s *Deployment) SetLaunchType(v string) *Deployment { 10107 s.LaunchType = &v 10108 return s 10109} 10110 10111// SetNetworkConfiguration sets the NetworkConfiguration field's value. 10112func (s *Deployment) SetNetworkConfiguration(v *NetworkConfiguration) *Deployment { 10113 s.NetworkConfiguration = v 10114 return s 10115} 10116 10117// SetPendingCount sets the PendingCount field's value. 10118func (s *Deployment) SetPendingCount(v int64) *Deployment { 10119 s.PendingCount = &v 10120 return s 10121} 10122 10123// SetPlatformVersion sets the PlatformVersion field's value. 10124func (s *Deployment) SetPlatformVersion(v string) *Deployment { 10125 s.PlatformVersion = &v 10126 return s 10127} 10128 10129// SetRunningCount sets the RunningCount field's value. 10130func (s *Deployment) SetRunningCount(v int64) *Deployment { 10131 s.RunningCount = &v 10132 return s 10133} 10134 10135// SetStatus sets the Status field's value. 10136func (s *Deployment) SetStatus(v string) *Deployment { 10137 s.Status = &v 10138 return s 10139} 10140 10141// SetTaskDefinition sets the TaskDefinition field's value. 10142func (s *Deployment) SetTaskDefinition(v string) *Deployment { 10143 s.TaskDefinition = &v 10144 return s 10145} 10146 10147// SetUpdatedAt sets the UpdatedAt field's value. 10148func (s *Deployment) SetUpdatedAt(v time.Time) *Deployment { 10149 s.UpdatedAt = &v 10150 return s 10151} 10152 10153// Optional deployment parameters that control how many tasks run during a deployment 10154// and the ordering of stopping and starting tasks. 10155type DeploymentConfiguration struct { 10156 _ struct{} `type:"structure"` 10157 10158 // If a service is using the rolling update (ECS) deployment type, the maximum 10159 // percent parameter represents an upper limit on the number of tasks in a service 10160 // that are allowed in the RUNNING or PENDING state during a deployment, as 10161 // a percentage of the desired number of tasks (rounded down to the nearest 10162 // integer), and while any container instances are in the DRAINING state if 10163 // the service contains tasks using the EC2 launch type. This parameter enables 10164 // you to define the deployment batch size. For example, if your service has 10165 // a desired number of four tasks and a maximum percent value of 200%, the scheduler 10166 // may start four new tasks before stopping the four older tasks (provided that 10167 // the cluster resources required to do this are available). The default value 10168 // for maximum percent is 200%. 10169 // 10170 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10171 // types and tasks that use the EC2 launch type, the maximum percent value is 10172 // set to the default value and is used to define the upper limit on the number 10173 // of the tasks in the service that remain in the RUNNING state while the container 10174 // instances are in the DRAINING state. If the tasks in the service use the 10175 // Fargate launch type, the maximum percent value is not used, although it is 10176 // returned when describing your service. 10177 MaximumPercent *int64 `locationName:"maximumPercent" type:"integer"` 10178 10179 // If a service is using the rolling update (ECS) deployment type, the minimum 10180 // healthy percent represents a lower limit on the number of tasks in a service 10181 // that must remain in the RUNNING state during a deployment, as a percentage 10182 // of the desired number of tasks (rounded up to the nearest integer), and while 10183 // any container instances are in the DRAINING state if the service contains 10184 // tasks using the EC2 launch type. This parameter enables you to deploy without 10185 // using additional cluster capacity. For example, if your service has a desired 10186 // number of four tasks and a minimum healthy percent of 50%, the scheduler 10187 // may stop two existing tasks to free up cluster capacity before starting two 10188 // new tasks. Tasks for services that do not use a load balancer are considered 10189 // healthy if they are in the RUNNING state; tasks for services that do use 10190 // a load balancer are considered healthy if they are in the RUNNING state and 10191 // they are reported as healthy by the load balancer. The default value for 10192 // minimum healthy percent is 100%. 10193 // 10194 // If a service is using the blue/green (CODE_DEPLOY) or EXTERNAL deployment 10195 // types and tasks that use the EC2 launch type, the minimum healthy percent 10196 // value is set to the default value and is used to define the lower limit on 10197 // the number of the tasks in the service that remain in the RUNNING state while 10198 // the container instances are in the DRAINING state. If the tasks in the service 10199 // use the Fargate launch type, the minimum healthy percent value is not used, 10200 // although it is returned when describing your service. 10201 MinimumHealthyPercent *int64 `locationName:"minimumHealthyPercent" type:"integer"` 10202} 10203 10204// String returns the string representation 10205func (s DeploymentConfiguration) String() string { 10206 return awsutil.Prettify(s) 10207} 10208 10209// GoString returns the string representation 10210func (s DeploymentConfiguration) GoString() string { 10211 return s.String() 10212} 10213 10214// SetMaximumPercent sets the MaximumPercent field's value. 10215func (s *DeploymentConfiguration) SetMaximumPercent(v int64) *DeploymentConfiguration { 10216 s.MaximumPercent = &v 10217 return s 10218} 10219 10220// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value. 10221func (s *DeploymentConfiguration) SetMinimumHealthyPercent(v int64) *DeploymentConfiguration { 10222 s.MinimumHealthyPercent = &v 10223 return s 10224} 10225 10226// The deployment controller to use for the service. For more information, see 10227// Amazon ECS Deployment Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html) 10228// in the Amazon Elastic Container Service Developer Guide. 10229type DeploymentController struct { 10230 _ struct{} `type:"structure"` 10231 10232 // The deployment controller type to use. 10233 // 10234 // There are three deployment controller types available: 10235 // 10236 // ECS 10237 // 10238 // The rolling update (ECS) deployment type involves replacing the current running 10239 // version of the container with the latest version. The number of containers 10240 // Amazon ECS adds or removes from the service during a rolling update is controlled 10241 // by adjusting the minimum and maximum number of healthy tasks allowed during 10242 // a service deployment, as specified in the DeploymentConfiguration. 10243 // 10244 // CODE_DEPLOY 10245 // 10246 // The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment 10247 // model powered by AWS CodeDeploy, which allows you to verify a new deployment 10248 // of a service before sending production traffic to it. 10249 // 10250 // EXTERNAL 10251 // 10252 // The external (EXTERNAL) deployment type enables you to use any third-party 10253 // deployment controller for full control over the deployment process for an 10254 // Amazon ECS service. 10255 // 10256 // Type is a required field 10257 Type *string `locationName:"type" type:"string" required:"true" enum:"DeploymentControllerType"` 10258} 10259 10260// String returns the string representation 10261func (s DeploymentController) String() string { 10262 return awsutil.Prettify(s) 10263} 10264 10265// GoString returns the string representation 10266func (s DeploymentController) GoString() string { 10267 return s.String() 10268} 10269 10270// Validate inspects the fields of the type to determine if they are valid. 10271func (s *DeploymentController) Validate() error { 10272 invalidParams := request.ErrInvalidParams{Context: "DeploymentController"} 10273 if s.Type == nil { 10274 invalidParams.Add(request.NewErrParamRequired("Type")) 10275 } 10276 10277 if invalidParams.Len() > 0 { 10278 return invalidParams 10279 } 10280 return nil 10281} 10282 10283// SetType sets the Type field's value. 10284func (s *DeploymentController) SetType(v string) *DeploymentController { 10285 s.Type = &v 10286 return s 10287} 10288 10289type DeregisterContainerInstanceInput struct { 10290 _ struct{} `type:"structure"` 10291 10292 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10293 // the container instance to deregister. If you do not specify a cluster, the 10294 // default cluster is assumed. 10295 Cluster *string `locationName:"cluster" type:"string"` 10296 10297 // The container instance ID or full ARN of the container instance to deregister. 10298 // The ARN contains the arn:aws:ecs namespace, followed by the Region of the 10299 // container instance, the AWS account ID of the container instance owner, the 10300 // container-instance namespace, and then the container instance ID. For example, 10301 // arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 10302 // 10303 // ContainerInstance is a required field 10304 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 10305 10306 // Forces the deregistration of the container instance. If you have tasks running 10307 // on the container instance when you deregister it with the force option, these 10308 // tasks remain running until you terminate the instance or the tasks stop through 10309 // some other means, but they are orphaned (no longer monitored or accounted 10310 // for by Amazon ECS). If an orphaned task on your container instance is part 10311 // of an Amazon ECS service, then the service scheduler starts another copy 10312 // of that task, on a different container instance if possible. 10313 // 10314 // Any containers in orphaned service tasks that are registered with a Classic 10315 // Load Balancer or an Application Load Balancer target group are deregistered. 10316 // They begin connection draining according to the settings on the load balancer 10317 // or target group. 10318 Force *bool `locationName:"force" type:"boolean"` 10319} 10320 10321// String returns the string representation 10322func (s DeregisterContainerInstanceInput) String() string { 10323 return awsutil.Prettify(s) 10324} 10325 10326// GoString returns the string representation 10327func (s DeregisterContainerInstanceInput) GoString() string { 10328 return s.String() 10329} 10330 10331// Validate inspects the fields of the type to determine if they are valid. 10332func (s *DeregisterContainerInstanceInput) Validate() error { 10333 invalidParams := request.ErrInvalidParams{Context: "DeregisterContainerInstanceInput"} 10334 if s.ContainerInstance == nil { 10335 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 10336 } 10337 10338 if invalidParams.Len() > 0 { 10339 return invalidParams 10340 } 10341 return nil 10342} 10343 10344// SetCluster sets the Cluster field's value. 10345func (s *DeregisterContainerInstanceInput) SetCluster(v string) *DeregisterContainerInstanceInput { 10346 s.Cluster = &v 10347 return s 10348} 10349 10350// SetContainerInstance sets the ContainerInstance field's value. 10351func (s *DeregisterContainerInstanceInput) SetContainerInstance(v string) *DeregisterContainerInstanceInput { 10352 s.ContainerInstance = &v 10353 return s 10354} 10355 10356// SetForce sets the Force field's value. 10357func (s *DeregisterContainerInstanceInput) SetForce(v bool) *DeregisterContainerInstanceInput { 10358 s.Force = &v 10359 return s 10360} 10361 10362type DeregisterContainerInstanceOutput struct { 10363 _ struct{} `type:"structure"` 10364 10365 // The container instance that was deregistered. 10366 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 10367} 10368 10369// String returns the string representation 10370func (s DeregisterContainerInstanceOutput) String() string { 10371 return awsutil.Prettify(s) 10372} 10373 10374// GoString returns the string representation 10375func (s DeregisterContainerInstanceOutput) GoString() string { 10376 return s.String() 10377} 10378 10379// SetContainerInstance sets the ContainerInstance field's value. 10380func (s *DeregisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *DeregisterContainerInstanceOutput { 10381 s.ContainerInstance = v 10382 return s 10383} 10384 10385type DeregisterTaskDefinitionInput struct { 10386 _ struct{} `type:"structure"` 10387 10388 // The family and revision (family:revision) or full Amazon Resource Name (ARN) 10389 // of the task definition to deregister. You must specify a revision. 10390 // 10391 // TaskDefinition is a required field 10392 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10393} 10394 10395// String returns the string representation 10396func (s DeregisterTaskDefinitionInput) String() string { 10397 return awsutil.Prettify(s) 10398} 10399 10400// GoString returns the string representation 10401func (s DeregisterTaskDefinitionInput) GoString() string { 10402 return s.String() 10403} 10404 10405// Validate inspects the fields of the type to determine if they are valid. 10406func (s *DeregisterTaskDefinitionInput) Validate() error { 10407 invalidParams := request.ErrInvalidParams{Context: "DeregisterTaskDefinitionInput"} 10408 if s.TaskDefinition == nil { 10409 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10410 } 10411 10412 if invalidParams.Len() > 0 { 10413 return invalidParams 10414 } 10415 return nil 10416} 10417 10418// SetTaskDefinition sets the TaskDefinition field's value. 10419func (s *DeregisterTaskDefinitionInput) SetTaskDefinition(v string) *DeregisterTaskDefinitionInput { 10420 s.TaskDefinition = &v 10421 return s 10422} 10423 10424type DeregisterTaskDefinitionOutput struct { 10425 _ struct{} `type:"structure"` 10426 10427 // The full description of the deregistered task. 10428 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10429} 10430 10431// String returns the string representation 10432func (s DeregisterTaskDefinitionOutput) String() string { 10433 return awsutil.Prettify(s) 10434} 10435 10436// GoString returns the string representation 10437func (s DeregisterTaskDefinitionOutput) GoString() string { 10438 return s.String() 10439} 10440 10441// SetTaskDefinition sets the TaskDefinition field's value. 10442func (s *DeregisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DeregisterTaskDefinitionOutput { 10443 s.TaskDefinition = v 10444 return s 10445} 10446 10447type DescribeCapacityProvidersInput struct { 10448 _ struct{} `type:"structure"` 10449 10450 // The short name or full Amazon Resource Name (ARN) of one or more capacity 10451 // providers. Up to 100 capacity providers can be described in an action. 10452 CapacityProviders []*string `locationName:"capacityProviders" type:"list"` 10453 10454 // Specifies whether or not you want to see the resource tags for the capacity 10455 // provider. If TAGS is specified, the tags are included in the response. If 10456 // this field is omitted, tags are not included in the response. 10457 Include []*string `locationName:"include" type:"list"` 10458 10459 // The maximum number of account setting results returned by DescribeCapacityProviders 10460 // in paginated output. When this parameter is used, DescribeCapacityProviders 10461 // only returns maxResults results in a single page along with a nextToken response 10462 // element. The remaining results of the initial request can be seen by sending 10463 // another DescribeCapacityProviders request with the returned nextToken value. 10464 // This value can be between 1 and 10. If this parameter is not used, then DescribeCapacityProviders 10465 // returns up to 10 results and a nextToken value if applicable. 10466 MaxResults *int64 `locationName:"maxResults" type:"integer"` 10467 10468 // The nextToken value returned from a previous paginated DescribeCapacityProviders 10469 // request where maxResults was used and the results exceeded the value of that 10470 // parameter. Pagination continues from the end of the previous results that 10471 // returned the nextToken value. 10472 // 10473 // This token should be treated as an opaque identifier that is only used to 10474 // retrieve the next items in a list and not for other programmatic purposes. 10475 NextToken *string `locationName:"nextToken" type:"string"` 10476} 10477 10478// String returns the string representation 10479func (s DescribeCapacityProvidersInput) String() string { 10480 return awsutil.Prettify(s) 10481} 10482 10483// GoString returns the string representation 10484func (s DescribeCapacityProvidersInput) GoString() string { 10485 return s.String() 10486} 10487 10488// SetCapacityProviders sets the CapacityProviders field's value. 10489func (s *DescribeCapacityProvidersInput) SetCapacityProviders(v []*string) *DescribeCapacityProvidersInput { 10490 s.CapacityProviders = v 10491 return s 10492} 10493 10494// SetInclude sets the Include field's value. 10495func (s *DescribeCapacityProvidersInput) SetInclude(v []*string) *DescribeCapacityProvidersInput { 10496 s.Include = v 10497 return s 10498} 10499 10500// SetMaxResults sets the MaxResults field's value. 10501func (s *DescribeCapacityProvidersInput) SetMaxResults(v int64) *DescribeCapacityProvidersInput { 10502 s.MaxResults = &v 10503 return s 10504} 10505 10506// SetNextToken sets the NextToken field's value. 10507func (s *DescribeCapacityProvidersInput) SetNextToken(v string) *DescribeCapacityProvidersInput { 10508 s.NextToken = &v 10509 return s 10510} 10511 10512type DescribeCapacityProvidersOutput struct { 10513 _ struct{} `type:"structure"` 10514 10515 // The list of capacity providers. 10516 CapacityProviders []*CapacityProvider `locationName:"capacityProviders" type:"list"` 10517 10518 // Any failures associated with the call. 10519 Failures []*Failure `locationName:"failures" type:"list"` 10520 10521 // The nextToken value to include in a future DescribeCapacityProviders request. 10522 // When the results of a DescribeCapacityProviders request exceed maxResults, 10523 // this value can be used to retrieve the next page of results. This value is 10524 // null when there are no more results to return. 10525 NextToken *string `locationName:"nextToken" type:"string"` 10526} 10527 10528// String returns the string representation 10529func (s DescribeCapacityProvidersOutput) String() string { 10530 return awsutil.Prettify(s) 10531} 10532 10533// GoString returns the string representation 10534func (s DescribeCapacityProvidersOutput) GoString() string { 10535 return s.String() 10536} 10537 10538// SetCapacityProviders sets the CapacityProviders field's value. 10539func (s *DescribeCapacityProvidersOutput) SetCapacityProviders(v []*CapacityProvider) *DescribeCapacityProvidersOutput { 10540 s.CapacityProviders = v 10541 return s 10542} 10543 10544// SetFailures sets the Failures field's value. 10545func (s *DescribeCapacityProvidersOutput) SetFailures(v []*Failure) *DescribeCapacityProvidersOutput { 10546 s.Failures = v 10547 return s 10548} 10549 10550// SetNextToken sets the NextToken field's value. 10551func (s *DescribeCapacityProvidersOutput) SetNextToken(v string) *DescribeCapacityProvidersOutput { 10552 s.NextToken = &v 10553 return s 10554} 10555 10556type DescribeClustersInput struct { 10557 _ struct{} `type:"structure"` 10558 10559 // A list of up to 100 cluster names or full cluster Amazon Resource Name (ARN) 10560 // entries. If you do not specify a cluster, the default cluster is assumed. 10561 Clusters []*string `locationName:"clusters" type:"list"` 10562 10563 // Whether to include additional information about your clusters in the response. 10564 // If this field is omitted, the attachments, statistics, and tags are not included. 10565 // 10566 // If ATTACHMENTS is specified, the attachments for the container instances 10567 // or tasks within the cluster are included. 10568 // 10569 // If SETTINGS is specified, the settings for the cluster are included. 10570 // 10571 // If STATISTICS is specified, the following additional information, separated 10572 // by launch type, is included: 10573 // 10574 // * runningEC2TasksCount 10575 // 10576 // * runningFargateTasksCount 10577 // 10578 // * pendingEC2TasksCount 10579 // 10580 // * pendingFargateTasksCount 10581 // 10582 // * activeEC2ServiceCount 10583 // 10584 // * activeFargateServiceCount 10585 // 10586 // * drainingEC2ServiceCount 10587 // 10588 // * drainingFargateServiceCount 10589 // 10590 // If TAGS is specified, the metadata tags associated with the cluster are included. 10591 Include []*string `locationName:"include" type:"list"` 10592} 10593 10594// String returns the string representation 10595func (s DescribeClustersInput) String() string { 10596 return awsutil.Prettify(s) 10597} 10598 10599// GoString returns the string representation 10600func (s DescribeClustersInput) GoString() string { 10601 return s.String() 10602} 10603 10604// SetClusters sets the Clusters field's value. 10605func (s *DescribeClustersInput) SetClusters(v []*string) *DescribeClustersInput { 10606 s.Clusters = v 10607 return s 10608} 10609 10610// SetInclude sets the Include field's value. 10611func (s *DescribeClustersInput) SetInclude(v []*string) *DescribeClustersInput { 10612 s.Include = v 10613 return s 10614} 10615 10616type DescribeClustersOutput struct { 10617 _ struct{} `type:"structure"` 10618 10619 // The list of clusters. 10620 Clusters []*Cluster `locationName:"clusters" type:"list"` 10621 10622 // Any failures associated with the call. 10623 Failures []*Failure `locationName:"failures" type:"list"` 10624} 10625 10626// String returns the string representation 10627func (s DescribeClustersOutput) String() string { 10628 return awsutil.Prettify(s) 10629} 10630 10631// GoString returns the string representation 10632func (s DescribeClustersOutput) GoString() string { 10633 return s.String() 10634} 10635 10636// SetClusters sets the Clusters field's value. 10637func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 10638 s.Clusters = v 10639 return s 10640} 10641 10642// SetFailures sets the Failures field's value. 10643func (s *DescribeClustersOutput) SetFailures(v []*Failure) *DescribeClustersOutput { 10644 s.Failures = v 10645 return s 10646} 10647 10648type DescribeContainerInstancesInput struct { 10649 _ struct{} `type:"structure"` 10650 10651 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10652 // the container instances to describe. If you do not specify a cluster, the 10653 // default cluster is assumed. This parameter is required if the container instance 10654 // or container instances you are describing were launched in any cluster other 10655 // than the default cluster. 10656 Cluster *string `locationName:"cluster" type:"string"` 10657 10658 // A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) 10659 // entries. 10660 // 10661 // ContainerInstances is a required field 10662 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 10663 10664 // Specifies whether you want to see the resource tags for the container instance. 10665 // If TAGS is specified, the tags are included in the response. If this field 10666 // is omitted, tags are not included in the response. 10667 Include []*string `locationName:"include" type:"list"` 10668} 10669 10670// String returns the string representation 10671func (s DescribeContainerInstancesInput) String() string { 10672 return awsutil.Prettify(s) 10673} 10674 10675// GoString returns the string representation 10676func (s DescribeContainerInstancesInput) GoString() string { 10677 return s.String() 10678} 10679 10680// Validate inspects the fields of the type to determine if they are valid. 10681func (s *DescribeContainerInstancesInput) Validate() error { 10682 invalidParams := request.ErrInvalidParams{Context: "DescribeContainerInstancesInput"} 10683 if s.ContainerInstances == nil { 10684 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 10685 } 10686 10687 if invalidParams.Len() > 0 { 10688 return invalidParams 10689 } 10690 return nil 10691} 10692 10693// SetCluster sets the Cluster field's value. 10694func (s *DescribeContainerInstancesInput) SetCluster(v string) *DescribeContainerInstancesInput { 10695 s.Cluster = &v 10696 return s 10697} 10698 10699// SetContainerInstances sets the ContainerInstances field's value. 10700func (s *DescribeContainerInstancesInput) SetContainerInstances(v []*string) *DescribeContainerInstancesInput { 10701 s.ContainerInstances = v 10702 return s 10703} 10704 10705// SetInclude sets the Include field's value. 10706func (s *DescribeContainerInstancesInput) SetInclude(v []*string) *DescribeContainerInstancesInput { 10707 s.Include = v 10708 return s 10709} 10710 10711type DescribeContainerInstancesOutput struct { 10712 _ struct{} `type:"structure"` 10713 10714 // The list of container instances. 10715 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 10716 10717 // Any failures associated with the call. 10718 Failures []*Failure `locationName:"failures" type:"list"` 10719} 10720 10721// String returns the string representation 10722func (s DescribeContainerInstancesOutput) String() string { 10723 return awsutil.Prettify(s) 10724} 10725 10726// GoString returns the string representation 10727func (s DescribeContainerInstancesOutput) GoString() string { 10728 return s.String() 10729} 10730 10731// SetContainerInstances sets the ContainerInstances field's value. 10732func (s *DescribeContainerInstancesOutput) SetContainerInstances(v []*ContainerInstance) *DescribeContainerInstancesOutput { 10733 s.ContainerInstances = v 10734 return s 10735} 10736 10737// SetFailures sets the Failures field's value. 10738func (s *DescribeContainerInstancesOutput) SetFailures(v []*Failure) *DescribeContainerInstancesOutput { 10739 s.Failures = v 10740 return s 10741} 10742 10743type DescribeServicesInput struct { 10744 _ struct{} `type:"structure"` 10745 10746 // The short name or full Amazon Resource Name (ARN)the cluster that hosts the 10747 // service to describe. If you do not specify a cluster, the default cluster 10748 // is assumed. This parameter is required if the service or services you are 10749 // describing were launched in any cluster other than the default cluster. 10750 Cluster *string `locationName:"cluster" type:"string"` 10751 10752 // Specifies whether you want to see the resource tags for the service. If TAGS 10753 // is specified, the tags are included in the response. If this field is omitted, 10754 // tags are not included in the response. 10755 Include []*string `locationName:"include" type:"list"` 10756 10757 // A list of services to describe. You may specify up to 10 services to describe 10758 // in a single operation. 10759 // 10760 // Services is a required field 10761 Services []*string `locationName:"services" type:"list" required:"true"` 10762} 10763 10764// String returns the string representation 10765func (s DescribeServicesInput) String() string { 10766 return awsutil.Prettify(s) 10767} 10768 10769// GoString returns the string representation 10770func (s DescribeServicesInput) GoString() string { 10771 return s.String() 10772} 10773 10774// Validate inspects the fields of the type to determine if they are valid. 10775func (s *DescribeServicesInput) Validate() error { 10776 invalidParams := request.ErrInvalidParams{Context: "DescribeServicesInput"} 10777 if s.Services == nil { 10778 invalidParams.Add(request.NewErrParamRequired("Services")) 10779 } 10780 10781 if invalidParams.Len() > 0 { 10782 return invalidParams 10783 } 10784 return nil 10785} 10786 10787// SetCluster sets the Cluster field's value. 10788func (s *DescribeServicesInput) SetCluster(v string) *DescribeServicesInput { 10789 s.Cluster = &v 10790 return s 10791} 10792 10793// SetInclude sets the Include field's value. 10794func (s *DescribeServicesInput) SetInclude(v []*string) *DescribeServicesInput { 10795 s.Include = v 10796 return s 10797} 10798 10799// SetServices sets the Services field's value. 10800func (s *DescribeServicesInput) SetServices(v []*string) *DescribeServicesInput { 10801 s.Services = v 10802 return s 10803} 10804 10805type DescribeServicesOutput struct { 10806 _ struct{} `type:"structure"` 10807 10808 // Any failures associated with the call. 10809 Failures []*Failure `locationName:"failures" type:"list"` 10810 10811 // The list of services described. 10812 Services []*Service `locationName:"services" type:"list"` 10813} 10814 10815// String returns the string representation 10816func (s DescribeServicesOutput) String() string { 10817 return awsutil.Prettify(s) 10818} 10819 10820// GoString returns the string representation 10821func (s DescribeServicesOutput) GoString() string { 10822 return s.String() 10823} 10824 10825// SetFailures sets the Failures field's value. 10826func (s *DescribeServicesOutput) SetFailures(v []*Failure) *DescribeServicesOutput { 10827 s.Failures = v 10828 return s 10829} 10830 10831// SetServices sets the Services field's value. 10832func (s *DescribeServicesOutput) SetServices(v []*Service) *DescribeServicesOutput { 10833 s.Services = v 10834 return s 10835} 10836 10837type DescribeTaskDefinitionInput struct { 10838 _ struct{} `type:"structure"` 10839 10840 // Specifies whether to see the resource tags for the task definition. If TAGS 10841 // is specified, the tags are included in the response. If this field is omitted, 10842 // tags are not included in the response. 10843 Include []*string `locationName:"include" type:"list"` 10844 10845 // The family for the latest ACTIVE revision, family and revision (family:revision) 10846 // for a specific revision in the family, or full Amazon Resource Name (ARN) 10847 // of the task definition to describe. 10848 // 10849 // TaskDefinition is a required field 10850 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 10851} 10852 10853// String returns the string representation 10854func (s DescribeTaskDefinitionInput) String() string { 10855 return awsutil.Prettify(s) 10856} 10857 10858// GoString returns the string representation 10859func (s DescribeTaskDefinitionInput) GoString() string { 10860 return s.String() 10861} 10862 10863// Validate inspects the fields of the type to determine if they are valid. 10864func (s *DescribeTaskDefinitionInput) Validate() error { 10865 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskDefinitionInput"} 10866 if s.TaskDefinition == nil { 10867 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 10868 } 10869 10870 if invalidParams.Len() > 0 { 10871 return invalidParams 10872 } 10873 return nil 10874} 10875 10876// SetInclude sets the Include field's value. 10877func (s *DescribeTaskDefinitionInput) SetInclude(v []*string) *DescribeTaskDefinitionInput { 10878 s.Include = v 10879 return s 10880} 10881 10882// SetTaskDefinition sets the TaskDefinition field's value. 10883func (s *DescribeTaskDefinitionInput) SetTaskDefinition(v string) *DescribeTaskDefinitionInput { 10884 s.TaskDefinition = &v 10885 return s 10886} 10887 10888type DescribeTaskDefinitionOutput struct { 10889 _ struct{} `type:"structure"` 10890 10891 // The metadata that is applied to the task definition to help you categorize 10892 // and organize them. Each tag consists of a key and an optional value, both 10893 // of which you define. 10894 // 10895 // The following basic restrictions apply to tags: 10896 // 10897 // * Maximum number of tags per resource - 50 10898 // 10899 // * For each resource, each tag key must be unique, and each tag key can 10900 // have only one value. 10901 // 10902 // * Maximum key length - 128 Unicode characters in UTF-8 10903 // 10904 // * Maximum value length - 256 Unicode characters in UTF-8 10905 // 10906 // * If your tagging schema is used across multiple services and resources, 10907 // remember that other services may have restrictions on allowed characters. 10908 // Generally allowed characters are: letters, numbers, and spaces representable 10909 // in UTF-8, and the following characters: + - = . _ : / @. 10910 // 10911 // * Tag keys and values are case-sensitive. 10912 // 10913 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 10914 // as a prefix for either keys or values as it is reserved for AWS use. You 10915 // cannot edit or delete tag keys or values with this prefix. Tags with this 10916 // prefix do not count against your tags per resource limit. 10917 Tags []*Tag `locationName:"tags" type:"list"` 10918 10919 // The full task definition description. 10920 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 10921} 10922 10923// String returns the string representation 10924func (s DescribeTaskDefinitionOutput) String() string { 10925 return awsutil.Prettify(s) 10926} 10927 10928// GoString returns the string representation 10929func (s DescribeTaskDefinitionOutput) GoString() string { 10930 return s.String() 10931} 10932 10933// SetTags sets the Tags field's value. 10934func (s *DescribeTaskDefinitionOutput) SetTags(v []*Tag) *DescribeTaskDefinitionOutput { 10935 s.Tags = v 10936 return s 10937} 10938 10939// SetTaskDefinition sets the TaskDefinition field's value. 10940func (s *DescribeTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *DescribeTaskDefinitionOutput { 10941 s.TaskDefinition = v 10942 return s 10943} 10944 10945type DescribeTaskSetsInput struct { 10946 _ struct{} `type:"structure"` 10947 10948 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 10949 // the service that the task sets exist in. 10950 // 10951 // Cluster is a required field 10952 Cluster *string `locationName:"cluster" type:"string" required:"true"` 10953 10954 // Specifies whether to see the resource tags for the task set. If TAGS is specified, 10955 // the tags are included in the response. If this field is omitted, tags are 10956 // not included in the response. 10957 Include []*string `locationName:"include" type:"list"` 10958 10959 // The short name or full Amazon Resource Name (ARN) of the service that the 10960 // task sets exist in. 10961 // 10962 // Service is a required field 10963 Service *string `locationName:"service" type:"string" required:"true"` 10964 10965 // The ID or full Amazon Resource Name (ARN) of task sets to describe. 10966 TaskSets []*string `locationName:"taskSets" type:"list"` 10967} 10968 10969// String returns the string representation 10970func (s DescribeTaskSetsInput) String() string { 10971 return awsutil.Prettify(s) 10972} 10973 10974// GoString returns the string representation 10975func (s DescribeTaskSetsInput) GoString() string { 10976 return s.String() 10977} 10978 10979// Validate inspects the fields of the type to determine if they are valid. 10980func (s *DescribeTaskSetsInput) Validate() error { 10981 invalidParams := request.ErrInvalidParams{Context: "DescribeTaskSetsInput"} 10982 if s.Cluster == nil { 10983 invalidParams.Add(request.NewErrParamRequired("Cluster")) 10984 } 10985 if s.Service == nil { 10986 invalidParams.Add(request.NewErrParamRequired("Service")) 10987 } 10988 10989 if invalidParams.Len() > 0 { 10990 return invalidParams 10991 } 10992 return nil 10993} 10994 10995// SetCluster sets the Cluster field's value. 10996func (s *DescribeTaskSetsInput) SetCluster(v string) *DescribeTaskSetsInput { 10997 s.Cluster = &v 10998 return s 10999} 11000 11001// SetInclude sets the Include field's value. 11002func (s *DescribeTaskSetsInput) SetInclude(v []*string) *DescribeTaskSetsInput { 11003 s.Include = v 11004 return s 11005} 11006 11007// SetService sets the Service field's value. 11008func (s *DescribeTaskSetsInput) SetService(v string) *DescribeTaskSetsInput { 11009 s.Service = &v 11010 return s 11011} 11012 11013// SetTaskSets sets the TaskSets field's value. 11014func (s *DescribeTaskSetsInput) SetTaskSets(v []*string) *DescribeTaskSetsInput { 11015 s.TaskSets = v 11016 return s 11017} 11018 11019type DescribeTaskSetsOutput struct { 11020 _ struct{} `type:"structure"` 11021 11022 // Any failures associated with the call. 11023 Failures []*Failure `locationName:"failures" type:"list"` 11024 11025 // The list of task sets described. 11026 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 11027} 11028 11029// String returns the string representation 11030func (s DescribeTaskSetsOutput) String() string { 11031 return awsutil.Prettify(s) 11032} 11033 11034// GoString returns the string representation 11035func (s DescribeTaskSetsOutput) GoString() string { 11036 return s.String() 11037} 11038 11039// SetFailures sets the Failures field's value. 11040func (s *DescribeTaskSetsOutput) SetFailures(v []*Failure) *DescribeTaskSetsOutput { 11041 s.Failures = v 11042 return s 11043} 11044 11045// SetTaskSets sets the TaskSets field's value. 11046func (s *DescribeTaskSetsOutput) SetTaskSets(v []*TaskSet) *DescribeTaskSetsOutput { 11047 s.TaskSets = v 11048 return s 11049} 11050 11051type DescribeTasksInput struct { 11052 _ struct{} `type:"structure"` 11053 11054 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 11055 // the task or tasks to describe. If you do not specify a cluster, the default 11056 // cluster is assumed. This parameter is required if the task or tasks you are 11057 // describing were launched in any cluster other than the default cluster. 11058 Cluster *string `locationName:"cluster" type:"string"` 11059 11060 // Specifies whether you want to see the resource tags for the task. If TAGS 11061 // is specified, the tags are included in the response. If this field is omitted, 11062 // tags are not included in the response. 11063 Include []*string `locationName:"include" type:"list"` 11064 11065 // A list of up to 100 task IDs or full ARN entries. 11066 // 11067 // Tasks is a required field 11068 Tasks []*string `locationName:"tasks" type:"list" required:"true"` 11069} 11070 11071// String returns the string representation 11072func (s DescribeTasksInput) String() string { 11073 return awsutil.Prettify(s) 11074} 11075 11076// GoString returns the string representation 11077func (s DescribeTasksInput) GoString() string { 11078 return s.String() 11079} 11080 11081// Validate inspects the fields of the type to determine if they are valid. 11082func (s *DescribeTasksInput) Validate() error { 11083 invalidParams := request.ErrInvalidParams{Context: "DescribeTasksInput"} 11084 if s.Tasks == nil { 11085 invalidParams.Add(request.NewErrParamRequired("Tasks")) 11086 } 11087 11088 if invalidParams.Len() > 0 { 11089 return invalidParams 11090 } 11091 return nil 11092} 11093 11094// SetCluster sets the Cluster field's value. 11095func (s *DescribeTasksInput) SetCluster(v string) *DescribeTasksInput { 11096 s.Cluster = &v 11097 return s 11098} 11099 11100// SetInclude sets the Include field's value. 11101func (s *DescribeTasksInput) SetInclude(v []*string) *DescribeTasksInput { 11102 s.Include = v 11103 return s 11104} 11105 11106// SetTasks sets the Tasks field's value. 11107func (s *DescribeTasksInput) SetTasks(v []*string) *DescribeTasksInput { 11108 s.Tasks = v 11109 return s 11110} 11111 11112type DescribeTasksOutput struct { 11113 _ struct{} `type:"structure"` 11114 11115 // Any failures associated with the call. 11116 Failures []*Failure `locationName:"failures" type:"list"` 11117 11118 // The list of tasks. 11119 Tasks []*Task `locationName:"tasks" type:"list"` 11120} 11121 11122// String returns the string representation 11123func (s DescribeTasksOutput) String() string { 11124 return awsutil.Prettify(s) 11125} 11126 11127// GoString returns the string representation 11128func (s DescribeTasksOutput) GoString() string { 11129 return s.String() 11130} 11131 11132// SetFailures sets the Failures field's value. 11133func (s *DescribeTasksOutput) SetFailures(v []*Failure) *DescribeTasksOutput { 11134 s.Failures = v 11135 return s 11136} 11137 11138// SetTasks sets the Tasks field's value. 11139func (s *DescribeTasksOutput) SetTasks(v []*Task) *DescribeTasksOutput { 11140 s.Tasks = v 11141 return s 11142} 11143 11144// An object representing a container instance host device. 11145type Device struct { 11146 _ struct{} `type:"structure"` 11147 11148 // The path inside the container at which to expose the host device. 11149 ContainerPath *string `locationName:"containerPath" type:"string"` 11150 11151 // The path for the device on the host container instance. 11152 // 11153 // HostPath is a required field 11154 HostPath *string `locationName:"hostPath" type:"string" required:"true"` 11155 11156 // The explicit permissions to provide to the container for the device. By default, 11157 // the container has permissions for read, write, and mknod for the device. 11158 Permissions []*string `locationName:"permissions" type:"list"` 11159} 11160 11161// String returns the string representation 11162func (s Device) String() string { 11163 return awsutil.Prettify(s) 11164} 11165 11166// GoString returns the string representation 11167func (s Device) GoString() string { 11168 return s.String() 11169} 11170 11171// Validate inspects the fields of the type to determine if they are valid. 11172func (s *Device) Validate() error { 11173 invalidParams := request.ErrInvalidParams{Context: "Device"} 11174 if s.HostPath == nil { 11175 invalidParams.Add(request.NewErrParamRequired("HostPath")) 11176 } 11177 11178 if invalidParams.Len() > 0 { 11179 return invalidParams 11180 } 11181 return nil 11182} 11183 11184// SetContainerPath sets the ContainerPath field's value. 11185func (s *Device) SetContainerPath(v string) *Device { 11186 s.ContainerPath = &v 11187 return s 11188} 11189 11190// SetHostPath sets the HostPath field's value. 11191func (s *Device) SetHostPath(v string) *Device { 11192 s.HostPath = &v 11193 return s 11194} 11195 11196// SetPermissions sets the Permissions field's value. 11197func (s *Device) SetPermissions(v []*string) *Device { 11198 s.Permissions = v 11199 return s 11200} 11201 11202type DiscoverPollEndpointInput struct { 11203 _ struct{} `type:"structure"` 11204 11205 // The short name or full Amazon Resource Name (ARN) of the cluster to which 11206 // the container instance belongs. 11207 Cluster *string `locationName:"cluster" type:"string"` 11208 11209 // The container instance ID or full ARN of the container instance. The ARN 11210 // contains the arn:aws:ecs namespace, followed by the Region of the container 11211 // instance, the AWS account ID of the container instance owner, the container-instance 11212 // namespace, and then the container instance ID. For example, arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID. 11213 ContainerInstance *string `locationName:"containerInstance" type:"string"` 11214} 11215 11216// String returns the string representation 11217func (s DiscoverPollEndpointInput) String() string { 11218 return awsutil.Prettify(s) 11219} 11220 11221// GoString returns the string representation 11222func (s DiscoverPollEndpointInput) GoString() string { 11223 return s.String() 11224} 11225 11226// SetCluster sets the Cluster field's value. 11227func (s *DiscoverPollEndpointInput) SetCluster(v string) *DiscoverPollEndpointInput { 11228 s.Cluster = &v 11229 return s 11230} 11231 11232// SetContainerInstance sets the ContainerInstance field's value. 11233func (s *DiscoverPollEndpointInput) SetContainerInstance(v string) *DiscoverPollEndpointInput { 11234 s.ContainerInstance = &v 11235 return s 11236} 11237 11238type DiscoverPollEndpointOutput struct { 11239 _ struct{} `type:"structure"` 11240 11241 // The endpoint for the Amazon ECS agent to poll. 11242 Endpoint *string `locationName:"endpoint" type:"string"` 11243 11244 // The telemetry endpoint for the Amazon ECS agent. 11245 TelemetryEndpoint *string `locationName:"telemetryEndpoint" type:"string"` 11246} 11247 11248// String returns the string representation 11249func (s DiscoverPollEndpointOutput) String() string { 11250 return awsutil.Prettify(s) 11251} 11252 11253// GoString returns the string representation 11254func (s DiscoverPollEndpointOutput) GoString() string { 11255 return s.String() 11256} 11257 11258// SetEndpoint sets the Endpoint field's value. 11259func (s *DiscoverPollEndpointOutput) SetEndpoint(v string) *DiscoverPollEndpointOutput { 11260 s.Endpoint = &v 11261 return s 11262} 11263 11264// SetTelemetryEndpoint sets the TelemetryEndpoint field's value. 11265func (s *DiscoverPollEndpointOutput) SetTelemetryEndpoint(v string) *DiscoverPollEndpointOutput { 11266 s.TelemetryEndpoint = &v 11267 return s 11268} 11269 11270// This parameter is specified when you are using Docker volumes. Docker volumes 11271// are only supported when you are using the EC2 launch type. Windows containers 11272// only support the use of the local driver. To use bind mounts, specify a host 11273// instead. 11274type DockerVolumeConfiguration struct { 11275 _ struct{} `type:"structure"` 11276 11277 // If this value is true, the Docker volume is created if it does not already 11278 // exist. 11279 // 11280 // This field is only used if the scope is shared. 11281 Autoprovision *bool `locationName:"autoprovision" type:"boolean"` 11282 11283 // The Docker volume driver to use. The driver value must match the driver name 11284 // provided by Docker because it is used for task placement. If the driver was 11285 // installed using the Docker plugin CLI, use docker plugin ls to retrieve the 11286 // driver name from your container instance. If the driver was installed using 11287 // another method, use Docker plugin discovery to retrieve the driver name. 11288 // For more information, see Docker plugin discovery (https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery). 11289 // This parameter maps to Driver in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11290 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11291 // and the xxdriver option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11292 Driver *string `locationName:"driver" type:"string"` 11293 11294 // A map of Docker driver-specific options passed through. This parameter maps 11295 // to DriverOpts in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11296 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11297 // and the xxopt option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11298 DriverOpts map[string]*string `locationName:"driverOpts" type:"map"` 11299 11300 // Custom metadata to add to your Docker volume. This parameter maps to Labels 11301 // in the Create a volume (https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate) 11302 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 11303 // and the xxlabel option to docker volume create (https://docs.docker.com/engine/reference/commandline/volume_create/). 11304 Labels map[string]*string `locationName:"labels" type:"map"` 11305 11306 // The scope for the Docker volume that determines its lifecycle. Docker volumes 11307 // that are scoped to a task are automatically provisioned when the task starts 11308 // and destroyed when the task stops. Docker volumes that are scoped as shared 11309 // persist after the task stops. 11310 Scope *string `locationName:"scope" type:"string" enum:"Scope"` 11311} 11312 11313// String returns the string representation 11314func (s DockerVolumeConfiguration) String() string { 11315 return awsutil.Prettify(s) 11316} 11317 11318// GoString returns the string representation 11319func (s DockerVolumeConfiguration) GoString() string { 11320 return s.String() 11321} 11322 11323// SetAutoprovision sets the Autoprovision field's value. 11324func (s *DockerVolumeConfiguration) SetAutoprovision(v bool) *DockerVolumeConfiguration { 11325 s.Autoprovision = &v 11326 return s 11327} 11328 11329// SetDriver sets the Driver field's value. 11330func (s *DockerVolumeConfiguration) SetDriver(v string) *DockerVolumeConfiguration { 11331 s.Driver = &v 11332 return s 11333} 11334 11335// SetDriverOpts sets the DriverOpts field's value. 11336func (s *DockerVolumeConfiguration) SetDriverOpts(v map[string]*string) *DockerVolumeConfiguration { 11337 s.DriverOpts = v 11338 return s 11339} 11340 11341// SetLabels sets the Labels field's value. 11342func (s *DockerVolumeConfiguration) SetLabels(v map[string]*string) *DockerVolumeConfiguration { 11343 s.Labels = v 11344 return s 11345} 11346 11347// SetScope sets the Scope field's value. 11348func (s *DockerVolumeConfiguration) SetScope(v string) *DockerVolumeConfiguration { 11349 s.Scope = &v 11350 return s 11351} 11352 11353// The authorization configuration details for the Amazon EFS file system. 11354type EFSAuthorizationConfig struct { 11355 _ struct{} `type:"structure"` 11356 11357 // The Amazon EFS access point ID to use. If an access point is specified, the 11358 // root directory value specified in the EFSVolumeConfiguration will be relative 11359 // to the directory set for the access point. If an access point is used, transit 11360 // encryption must be enabled in the EFSVolumeConfiguration. For more information, 11361 // see Working with Amazon EFS Access Points (https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) 11362 // in the Amazon Elastic File System User Guide. 11363 AccessPointId *string `locationName:"accessPointId" type:"string"` 11364 11365 // Whether or not to use the Amazon ECS task IAM role defined in a task definition 11366 // when mounting the Amazon EFS file system. If enabled, transit encryption 11367 // must be enabled in the EFSVolumeConfiguration. If this parameter is omitted, 11368 // the default value of DISABLED is used. For more information, see Using Amazon 11369 // EFS Access Points (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints) 11370 // in the Amazon Elastic Container Service Developer Guide. 11371 Iam *string `locationName:"iam" type:"string" enum:"EFSAuthorizationConfigIAM"` 11372} 11373 11374// String returns the string representation 11375func (s EFSAuthorizationConfig) String() string { 11376 return awsutil.Prettify(s) 11377} 11378 11379// GoString returns the string representation 11380func (s EFSAuthorizationConfig) GoString() string { 11381 return s.String() 11382} 11383 11384// SetAccessPointId sets the AccessPointId field's value. 11385func (s *EFSAuthorizationConfig) SetAccessPointId(v string) *EFSAuthorizationConfig { 11386 s.AccessPointId = &v 11387 return s 11388} 11389 11390// SetIam sets the Iam field's value. 11391func (s *EFSAuthorizationConfig) SetIam(v string) *EFSAuthorizationConfig { 11392 s.Iam = &v 11393 return s 11394} 11395 11396// This parameter is specified when you are using an Amazon Elastic File System 11397// file system for task storage. For more information, see Amazon EFS Volumes 11398// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html) 11399// in the Amazon Elastic Container Service Developer Guide. 11400type EFSVolumeConfiguration struct { 11401 _ struct{} `type:"structure"` 11402 11403 // The authorization configuration details for the Amazon EFS file system. 11404 AuthorizationConfig *EFSAuthorizationConfig `locationName:"authorizationConfig" type:"structure"` 11405 11406 // The Amazon EFS file system ID to use. 11407 // 11408 // FileSystemId is a required field 11409 FileSystemId *string `locationName:"fileSystemId" type:"string" required:"true"` 11410 11411 // The directory within the Amazon EFS file system to mount as the root directory 11412 // inside the host. If this parameter is omitted, the root of the Amazon EFS 11413 // volume will be used. Specifying / will have the same effect as omitting this 11414 // parameter. 11415 RootDirectory *string `locationName:"rootDirectory" type:"string"` 11416 11417 // Whether or not to enable encryption for Amazon EFS data in transit between 11418 // the Amazon ECS host and the Amazon EFS server. Transit encryption must be 11419 // enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, 11420 // the default value of DISABLED is used. For more information, see Encrypting 11421 // Data in Transit (https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) 11422 // in the Amazon Elastic File System User Guide. 11423 TransitEncryption *string `locationName:"transitEncryption" type:"string" enum:"EFSTransitEncryption"` 11424 11425 // The port to use when sending encrypted data between the Amazon ECS host and 11426 // the Amazon EFS server. If you do not specify a transit encryption port, it 11427 // will use the port selection strategy that the Amazon EFS mount helper uses. 11428 // For more information, see EFS Mount Helper (https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) 11429 // in the Amazon Elastic File System User Guide. 11430 TransitEncryptionPort *int64 `locationName:"transitEncryptionPort" type:"integer"` 11431} 11432 11433// String returns the string representation 11434func (s EFSVolumeConfiguration) String() string { 11435 return awsutil.Prettify(s) 11436} 11437 11438// GoString returns the string representation 11439func (s EFSVolumeConfiguration) GoString() string { 11440 return s.String() 11441} 11442 11443// Validate inspects the fields of the type to determine if they are valid. 11444func (s *EFSVolumeConfiguration) Validate() error { 11445 invalidParams := request.ErrInvalidParams{Context: "EFSVolumeConfiguration"} 11446 if s.FileSystemId == nil { 11447 invalidParams.Add(request.NewErrParamRequired("FileSystemId")) 11448 } 11449 11450 if invalidParams.Len() > 0 { 11451 return invalidParams 11452 } 11453 return nil 11454} 11455 11456// SetAuthorizationConfig sets the AuthorizationConfig field's value. 11457func (s *EFSVolumeConfiguration) SetAuthorizationConfig(v *EFSAuthorizationConfig) *EFSVolumeConfiguration { 11458 s.AuthorizationConfig = v 11459 return s 11460} 11461 11462// SetFileSystemId sets the FileSystemId field's value. 11463func (s *EFSVolumeConfiguration) SetFileSystemId(v string) *EFSVolumeConfiguration { 11464 s.FileSystemId = &v 11465 return s 11466} 11467 11468// SetRootDirectory sets the RootDirectory field's value. 11469func (s *EFSVolumeConfiguration) SetRootDirectory(v string) *EFSVolumeConfiguration { 11470 s.RootDirectory = &v 11471 return s 11472} 11473 11474// SetTransitEncryption sets the TransitEncryption field's value. 11475func (s *EFSVolumeConfiguration) SetTransitEncryption(v string) *EFSVolumeConfiguration { 11476 s.TransitEncryption = &v 11477 return s 11478} 11479 11480// SetTransitEncryptionPort sets the TransitEncryptionPort field's value. 11481func (s *EFSVolumeConfiguration) SetTransitEncryptionPort(v int64) *EFSVolumeConfiguration { 11482 s.TransitEncryptionPort = &v 11483 return s 11484} 11485 11486// A list of files containing the environment variables to pass to a container. 11487// You can specify up to ten environment files. The file must have a .env file 11488// extension. Each line in an environment file should contain an environment 11489// variable in VARIABLE=VALUE format. Lines beginning with # are treated as 11490// comments and are ignored. For more information on the environment variable 11491// file syntax, see Declare default environment variables in file (https://docs.docker.com/compose/env-file/). 11492// 11493// If there are environment variables specified using the environment parameter 11494// in a container definition, they take precedence over the variables contained 11495// within an environment file. If multiple environment files are specified that 11496// contain the same variable, they are processed from the top down. It is recommended 11497// to use unique variable names. For more information, see Specifying Environment 11498// Variables (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html) 11499// in the Amazon Elastic Container Service Developer Guide. 11500// 11501// This field is not valid for containers in tasks using the Fargate launch 11502// type. 11503type EnvironmentFile struct { 11504 _ struct{} `type:"structure"` 11505 11506 // The file type to use. The only supported value is s3. 11507 // 11508 // Type is a required field 11509 Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentFileType"` 11510 11511 // The Amazon Resource Name (ARN) of the Amazon S3 object containing the environment 11512 // variable file. 11513 // 11514 // Value is a required field 11515 Value *string `locationName:"value" type:"string" required:"true"` 11516} 11517 11518// String returns the string representation 11519func (s EnvironmentFile) String() string { 11520 return awsutil.Prettify(s) 11521} 11522 11523// GoString returns the string representation 11524func (s EnvironmentFile) GoString() string { 11525 return s.String() 11526} 11527 11528// Validate inspects the fields of the type to determine if they are valid. 11529func (s *EnvironmentFile) Validate() error { 11530 invalidParams := request.ErrInvalidParams{Context: "EnvironmentFile"} 11531 if s.Type == nil { 11532 invalidParams.Add(request.NewErrParamRequired("Type")) 11533 } 11534 if s.Value == nil { 11535 invalidParams.Add(request.NewErrParamRequired("Value")) 11536 } 11537 11538 if invalidParams.Len() > 0 { 11539 return invalidParams 11540 } 11541 return nil 11542} 11543 11544// SetType sets the Type field's value. 11545func (s *EnvironmentFile) SetType(v string) *EnvironmentFile { 11546 s.Type = &v 11547 return s 11548} 11549 11550// SetValue sets the Value field's value. 11551func (s *EnvironmentFile) SetValue(v string) *EnvironmentFile { 11552 s.Value = &v 11553 return s 11554} 11555 11556// A failed resource. 11557type Failure struct { 11558 _ struct{} `type:"structure"` 11559 11560 // The Amazon Resource Name (ARN) of the failed resource. 11561 Arn *string `locationName:"arn" type:"string"` 11562 11563 // The details of the failure. 11564 Detail *string `locationName:"detail" type:"string"` 11565 11566 // The reason for the failure. 11567 Reason *string `locationName:"reason" type:"string"` 11568} 11569 11570// String returns the string representation 11571func (s Failure) String() string { 11572 return awsutil.Prettify(s) 11573} 11574 11575// GoString returns the string representation 11576func (s Failure) GoString() string { 11577 return s.String() 11578} 11579 11580// SetArn sets the Arn field's value. 11581func (s *Failure) SetArn(v string) *Failure { 11582 s.Arn = &v 11583 return s 11584} 11585 11586// SetDetail sets the Detail field's value. 11587func (s *Failure) SetDetail(v string) *Failure { 11588 s.Detail = &v 11589 return s 11590} 11591 11592// SetReason sets the Reason field's value. 11593func (s *Failure) SetReason(v string) *Failure { 11594 s.Reason = &v 11595 return s 11596} 11597 11598// The FireLens configuration for the container. This is used to specify and 11599// configure a log router for container logs. For more information, see Custom 11600// Log Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 11601// in the Amazon Elastic Container Service Developer Guide. 11602type FirelensConfiguration struct { 11603 _ struct{} `type:"structure"` 11604 11605 // The options to use when configuring the log router. This field is optional 11606 // and can be used to specify a custom configuration file or to add additional 11607 // metadata, such as the task, task definition, cluster, and container instance 11608 // 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"}. 11609 // For more information, see Creating a Task Definition that Uses a FireLens 11610 // Configuration (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef) 11611 // in the Amazon Elastic Container Service Developer Guide. 11612 Options map[string]*string `locationName:"options" type:"map"` 11613 11614 // The log router to use. The valid values are fluentd or fluentbit. 11615 // 11616 // Type is a required field 11617 Type *string `locationName:"type" type:"string" required:"true" enum:"FirelensConfigurationType"` 11618} 11619 11620// String returns the string representation 11621func (s FirelensConfiguration) String() string { 11622 return awsutil.Prettify(s) 11623} 11624 11625// GoString returns the string representation 11626func (s FirelensConfiguration) GoString() string { 11627 return s.String() 11628} 11629 11630// Validate inspects the fields of the type to determine if they are valid. 11631func (s *FirelensConfiguration) Validate() error { 11632 invalidParams := request.ErrInvalidParams{Context: "FirelensConfiguration"} 11633 if s.Type == nil { 11634 invalidParams.Add(request.NewErrParamRequired("Type")) 11635 } 11636 11637 if invalidParams.Len() > 0 { 11638 return invalidParams 11639 } 11640 return nil 11641} 11642 11643// SetOptions sets the Options field's value. 11644func (s *FirelensConfiguration) SetOptions(v map[string]*string) *FirelensConfiguration { 11645 s.Options = v 11646 return s 11647} 11648 11649// SetType sets the Type field's value. 11650func (s *FirelensConfiguration) SetType(v string) *FirelensConfiguration { 11651 s.Type = &v 11652 return s 11653} 11654 11655// An object representing a container health check. Health check parameters 11656// that are specified in a container definition override any Docker health checks 11657// that exist in the container image (such as those specified in a parent image 11658// or from the image's Dockerfile). 11659// 11660// You can view the health status of both individual containers and a task with 11661// the DescribeTasks API operation or when viewing the task details in the console. 11662// 11663// The following describes the possible healthStatus values for a container: 11664// 11665// * HEALTHY-The container health check has passed successfully. 11666// 11667// * UNHEALTHY-The container health check has failed. 11668// 11669// * UNKNOWN-The container health check is being evaluated or there is no 11670// container health check defined. 11671// 11672// The following describes the possible healthStatus values for a task. The 11673// container health check status of nonessential containers do not have an effect 11674// on the health status of a task. 11675// 11676// * HEALTHY-All essential containers within the task have passed their health 11677// checks. 11678// 11679// * UNHEALTHY-One or more essential containers have failed their health 11680// check. 11681// 11682// * UNKNOWN-The essential containers within the task are still having their 11683// health checks evaluated or there are no container health checks defined. 11684// 11685// If a task is run manually, and not as part of a service, the task will continue 11686// its lifecycle regardless of its health status. For tasks that are part of 11687// a service, if the task reports as unhealthy then the task will be stopped 11688// and the service scheduler will replace it. 11689// 11690// The following are notes about container health check support: 11691// 11692// * Container health checks require version 1.17.0 or greater of the Amazon 11693// ECS container agent. For more information, see Updating the Amazon ECS 11694// Container Agent (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html). 11695// 11696// * Container health checks are supported for Fargate tasks if you are using 11697// platform version 1.1.0 or greater. For more information, see AWS Fargate 11698// Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). 11699// 11700// * Container health checks are not supported for tasks that are part of 11701// a service that is configured to use a Classic Load Balancer. 11702type HealthCheck struct { 11703 _ struct{} `type:"structure"` 11704 11705 // A string array representing the command that the container runs to determine 11706 // if it is healthy. The string array must start with CMD to execute the command 11707 // arguments directly, or CMD-SHELL to run the command with the container's 11708 // default shell. For example: 11709 // 11710 // [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ] 11711 // 11712 // An exit code of 0 indicates success, and non-zero exit code indicates failure. 11713 // For more information, see HealthCheck in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 11714 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/). 11715 // 11716 // Command is a required field 11717 Command []*string `locationName:"command" type:"list" required:"true"` 11718 11719 // The time period in seconds between each health check execution. You may specify 11720 // between 5 and 300 seconds. The default value is 30 seconds. 11721 Interval *int64 `locationName:"interval" type:"integer"` 11722 11723 // The number of times to retry a failed health check before the container is 11724 // considered unhealthy. You may specify between 1 and 10 retries. The default 11725 // value is 3. 11726 Retries *int64 `locationName:"retries" type:"integer"` 11727 11728 // The optional grace period within which to provide containers time to bootstrap 11729 // before failed health checks count towards the maximum number of retries. 11730 // You may specify between 0 and 300 seconds. The startPeriod is disabled by 11731 // default. 11732 // 11733 // If a health check succeeds within the startPeriod, then the container is 11734 // considered healthy and any subsequent failures count toward the maximum number 11735 // of retries. 11736 StartPeriod *int64 `locationName:"startPeriod" type:"integer"` 11737 11738 // The time period in seconds to wait for a health check to succeed before it 11739 // is considered a failure. You may specify between 2 and 60 seconds. The default 11740 // value is 5. 11741 Timeout *int64 `locationName:"timeout" type:"integer"` 11742} 11743 11744// String returns the string representation 11745func (s HealthCheck) String() string { 11746 return awsutil.Prettify(s) 11747} 11748 11749// GoString returns the string representation 11750func (s HealthCheck) GoString() string { 11751 return s.String() 11752} 11753 11754// Validate inspects the fields of the type to determine if they are valid. 11755func (s *HealthCheck) Validate() error { 11756 invalidParams := request.ErrInvalidParams{Context: "HealthCheck"} 11757 if s.Command == nil { 11758 invalidParams.Add(request.NewErrParamRequired("Command")) 11759 } 11760 11761 if invalidParams.Len() > 0 { 11762 return invalidParams 11763 } 11764 return nil 11765} 11766 11767// SetCommand sets the Command field's value. 11768func (s *HealthCheck) SetCommand(v []*string) *HealthCheck { 11769 s.Command = v 11770 return s 11771} 11772 11773// SetInterval sets the Interval field's value. 11774func (s *HealthCheck) SetInterval(v int64) *HealthCheck { 11775 s.Interval = &v 11776 return s 11777} 11778 11779// SetRetries sets the Retries field's value. 11780func (s *HealthCheck) SetRetries(v int64) *HealthCheck { 11781 s.Retries = &v 11782 return s 11783} 11784 11785// SetStartPeriod sets the StartPeriod field's value. 11786func (s *HealthCheck) SetStartPeriod(v int64) *HealthCheck { 11787 s.StartPeriod = &v 11788 return s 11789} 11790 11791// SetTimeout sets the Timeout field's value. 11792func (s *HealthCheck) SetTimeout(v int64) *HealthCheck { 11793 s.Timeout = &v 11794 return s 11795} 11796 11797// Hostnames and IP address entries that are added to the /etc/hosts file of 11798// a container via the extraHosts parameter of its ContainerDefinition. 11799type HostEntry struct { 11800 _ struct{} `type:"structure"` 11801 11802 // The hostname to use in the /etc/hosts entry. 11803 // 11804 // Hostname is a required field 11805 Hostname *string `locationName:"hostname" type:"string" required:"true"` 11806 11807 // The IP address to use in the /etc/hosts entry. 11808 // 11809 // IpAddress is a required field 11810 IpAddress *string `locationName:"ipAddress" type:"string" required:"true"` 11811} 11812 11813// String returns the string representation 11814func (s HostEntry) String() string { 11815 return awsutil.Prettify(s) 11816} 11817 11818// GoString returns the string representation 11819func (s HostEntry) GoString() string { 11820 return s.String() 11821} 11822 11823// Validate inspects the fields of the type to determine if they are valid. 11824func (s *HostEntry) Validate() error { 11825 invalidParams := request.ErrInvalidParams{Context: "HostEntry"} 11826 if s.Hostname == nil { 11827 invalidParams.Add(request.NewErrParamRequired("Hostname")) 11828 } 11829 if s.IpAddress == nil { 11830 invalidParams.Add(request.NewErrParamRequired("IpAddress")) 11831 } 11832 11833 if invalidParams.Len() > 0 { 11834 return invalidParams 11835 } 11836 return nil 11837} 11838 11839// SetHostname sets the Hostname field's value. 11840func (s *HostEntry) SetHostname(v string) *HostEntry { 11841 s.Hostname = &v 11842 return s 11843} 11844 11845// SetIpAddress sets the IpAddress field's value. 11846func (s *HostEntry) SetIpAddress(v string) *HostEntry { 11847 s.IpAddress = &v 11848 return s 11849} 11850 11851// Details on a container instance bind mount host volume. 11852type HostVolumeProperties struct { 11853 _ struct{} `type:"structure"` 11854 11855 // When the host parameter is used, specify a sourcePath to declare the path 11856 // on the host container instance that is presented to the container. If this 11857 // parameter is empty, then the Docker daemon has assigned a host path for you. 11858 // If the host parameter contains a sourcePath file location, then the data 11859 // volume persists at the specified location on the host container instance 11860 // until you delete it manually. If the sourcePath value does not exist on the 11861 // host container instance, the Docker daemon creates it. If the location does 11862 // exist, the contents of the source path folder are exported. 11863 // 11864 // If you are using the Fargate launch type, the sourcePath parameter is not 11865 // supported. 11866 SourcePath *string `locationName:"sourcePath" type:"string"` 11867} 11868 11869// String returns the string representation 11870func (s HostVolumeProperties) String() string { 11871 return awsutil.Prettify(s) 11872} 11873 11874// GoString returns the string representation 11875func (s HostVolumeProperties) GoString() string { 11876 return s.String() 11877} 11878 11879// SetSourcePath sets the SourcePath field's value. 11880func (s *HostVolumeProperties) SetSourcePath(v string) *HostVolumeProperties { 11881 s.SourcePath = &v 11882 return s 11883} 11884 11885// Details on a Elastic Inference accelerator. For more information, see Working 11886// with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11887// in the Amazon Elastic Container Service Developer Guide. 11888type InferenceAccelerator struct { 11889 _ struct{} `type:"structure"` 11890 11891 // The Elastic Inference accelerator device name. The deviceName must also be 11892 // referenced in a container definition as a ResourceRequirement. 11893 // 11894 // DeviceName is a required field 11895 DeviceName *string `locationName:"deviceName" type:"string" required:"true"` 11896 11897 // The Elastic Inference accelerator type to use. 11898 // 11899 // DeviceType is a required field 11900 DeviceType *string `locationName:"deviceType" type:"string" required:"true"` 11901} 11902 11903// String returns the string representation 11904func (s InferenceAccelerator) String() string { 11905 return awsutil.Prettify(s) 11906} 11907 11908// GoString returns the string representation 11909func (s InferenceAccelerator) GoString() string { 11910 return s.String() 11911} 11912 11913// Validate inspects the fields of the type to determine if they are valid. 11914func (s *InferenceAccelerator) Validate() error { 11915 invalidParams := request.ErrInvalidParams{Context: "InferenceAccelerator"} 11916 if s.DeviceName == nil { 11917 invalidParams.Add(request.NewErrParamRequired("DeviceName")) 11918 } 11919 if s.DeviceType == nil { 11920 invalidParams.Add(request.NewErrParamRequired("DeviceType")) 11921 } 11922 11923 if invalidParams.Len() > 0 { 11924 return invalidParams 11925 } 11926 return nil 11927} 11928 11929// SetDeviceName sets the DeviceName field's value. 11930func (s *InferenceAccelerator) SetDeviceName(v string) *InferenceAccelerator { 11931 s.DeviceName = &v 11932 return s 11933} 11934 11935// SetDeviceType sets the DeviceType field's value. 11936func (s *InferenceAccelerator) SetDeviceType(v string) *InferenceAccelerator { 11937 s.DeviceType = &v 11938 return s 11939} 11940 11941// Details on an Elastic Inference accelerator task override. This parameter 11942// is used to override the Elastic Inference accelerator specified in the task 11943// definition. For more information, see Working with Amazon Elastic Inference 11944// on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 11945// in the Amazon Elastic Container Service Developer Guide. 11946type InferenceAcceleratorOverride struct { 11947 _ struct{} `type:"structure"` 11948 11949 // The Elastic Inference accelerator device name to override for the task. This 11950 // parameter must match a deviceName specified in the task definition. 11951 DeviceName *string `locationName:"deviceName" type:"string"` 11952 11953 // The Elastic Inference accelerator type to use. 11954 DeviceType *string `locationName:"deviceType" type:"string"` 11955} 11956 11957// String returns the string representation 11958func (s InferenceAcceleratorOverride) String() string { 11959 return awsutil.Prettify(s) 11960} 11961 11962// GoString returns the string representation 11963func (s InferenceAcceleratorOverride) GoString() string { 11964 return s.String() 11965} 11966 11967// SetDeviceName sets the DeviceName field's value. 11968func (s *InferenceAcceleratorOverride) SetDeviceName(v string) *InferenceAcceleratorOverride { 11969 s.DeviceName = &v 11970 return s 11971} 11972 11973// SetDeviceType sets the DeviceType field's value. 11974func (s *InferenceAcceleratorOverride) SetDeviceType(v string) *InferenceAcceleratorOverride { 11975 s.DeviceType = &v 11976 return s 11977} 11978 11979// The specified parameter is invalid. Review the available parameters for the 11980// API request. 11981type InvalidParameterException struct { 11982 _ struct{} `type:"structure"` 11983 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 11984 11985 Message_ *string `locationName:"message" type:"string"` 11986} 11987 11988// String returns the string representation 11989func (s InvalidParameterException) String() string { 11990 return awsutil.Prettify(s) 11991} 11992 11993// GoString returns the string representation 11994func (s InvalidParameterException) GoString() string { 11995 return s.String() 11996} 11997 11998func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 11999 return &InvalidParameterException{ 12000 RespMetadata: v, 12001 } 12002} 12003 12004// Code returns the exception type name. 12005func (s *InvalidParameterException) Code() string { 12006 return "InvalidParameterException" 12007} 12008 12009// Message returns the exception's message. 12010func (s *InvalidParameterException) Message() string { 12011 if s.Message_ != nil { 12012 return *s.Message_ 12013 } 12014 return "" 12015} 12016 12017// OrigErr always returns nil, satisfies awserr.Error interface. 12018func (s *InvalidParameterException) OrigErr() error { 12019 return nil 12020} 12021 12022func (s *InvalidParameterException) Error() string { 12023 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12024} 12025 12026// Status code returns the HTTP status code for the request's response error. 12027func (s *InvalidParameterException) StatusCode() int { 12028 return s.RespMetadata.StatusCode 12029} 12030 12031// RequestID returns the service's response RequestID for request. 12032func (s *InvalidParameterException) RequestID() string { 12033 return s.RespMetadata.RequestID 12034} 12035 12036// The Linux capabilities for the container that are added to or dropped from 12037// the default configuration provided by Docker. For more information on the 12038// default capabilities and the non-default available capabilities, see Runtime 12039// privilege and Linux capabilities (https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) 12040// in the Docker run reference. For more detailed information on these Linux 12041// capabilities, see the capabilities(7) (http://man7.org/linux/man-pages/man7/capabilities.7.html) 12042// Linux manual page. 12043type KernelCapabilities struct { 12044 _ struct{} `type:"structure"` 12045 12046 // The Linux capabilities for the container that have been added to the default 12047 // configuration provided by Docker. This parameter maps to CapAdd in the Create 12048 // a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12049 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12050 // and the --cap-add option to docker run (https://docs.docker.com/engine/reference/run/). 12051 // 12052 // The SYS_PTRACE capability is supported for tasks that use the Fargate launch 12053 // type if they are also using platform version 1.4.0. The other capabilities 12054 // are not supported for any platform versions. 12055 // 12056 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 12057 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 12058 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 12059 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 12060 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 12061 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 12062 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 12063 // "WAKE_ALARM" 12064 Add []*string `locationName:"add" type:"list"` 12065 12066 // The Linux capabilities for the container that have been removed from the 12067 // default configuration provided by Docker. This parameter maps to CapDrop 12068 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12069 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12070 // and the --cap-drop option to docker run (https://docs.docker.com/engine/reference/run/). 12071 // 12072 // Valid values: "ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | 12073 // "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" 12074 // | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" 12075 // | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" 12076 // | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" 12077 // | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | 12078 // "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | 12079 // "WAKE_ALARM" 12080 Drop []*string `locationName:"drop" type:"list"` 12081} 12082 12083// String returns the string representation 12084func (s KernelCapabilities) String() string { 12085 return awsutil.Prettify(s) 12086} 12087 12088// GoString returns the string representation 12089func (s KernelCapabilities) GoString() string { 12090 return s.String() 12091} 12092 12093// SetAdd sets the Add field's value. 12094func (s *KernelCapabilities) SetAdd(v []*string) *KernelCapabilities { 12095 s.Add = v 12096 return s 12097} 12098 12099// SetDrop sets the Drop field's value. 12100func (s *KernelCapabilities) SetDrop(v []*string) *KernelCapabilities { 12101 s.Drop = v 12102 return s 12103} 12104 12105// A key-value pair object. 12106type KeyValuePair struct { 12107 _ struct{} `type:"structure"` 12108 12109 // The name of the key-value pair. For environment variables, this is the name 12110 // of the environment variable. 12111 Name *string `locationName:"name" type:"string"` 12112 12113 // The value of the key-value pair. For environment variables, this is the value 12114 // of the environment variable. 12115 Value *string `locationName:"value" type:"string"` 12116} 12117 12118// String returns the string representation 12119func (s KeyValuePair) String() string { 12120 return awsutil.Prettify(s) 12121} 12122 12123// GoString returns the string representation 12124func (s KeyValuePair) GoString() string { 12125 return s.String() 12126} 12127 12128// SetName sets the Name field's value. 12129func (s *KeyValuePair) SetName(v string) *KeyValuePair { 12130 s.Name = &v 12131 return s 12132} 12133 12134// SetValue sets the Value field's value. 12135func (s *KeyValuePair) SetValue(v string) *KeyValuePair { 12136 s.Value = &v 12137 return s 12138} 12139 12140// The limit for the resource has been exceeded. 12141type LimitExceededException struct { 12142 _ struct{} `type:"structure"` 12143 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 12144 12145 Message_ *string `locationName:"message" type:"string"` 12146} 12147 12148// String returns the string representation 12149func (s LimitExceededException) String() string { 12150 return awsutil.Prettify(s) 12151} 12152 12153// GoString returns the string representation 12154func (s LimitExceededException) GoString() string { 12155 return s.String() 12156} 12157 12158func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 12159 return &LimitExceededException{ 12160 RespMetadata: v, 12161 } 12162} 12163 12164// Code returns the exception type name. 12165func (s *LimitExceededException) Code() string { 12166 return "LimitExceededException" 12167} 12168 12169// Message returns the exception's message. 12170func (s *LimitExceededException) Message() string { 12171 if s.Message_ != nil { 12172 return *s.Message_ 12173 } 12174 return "" 12175} 12176 12177// OrigErr always returns nil, satisfies awserr.Error interface. 12178func (s *LimitExceededException) OrigErr() error { 12179 return nil 12180} 12181 12182func (s *LimitExceededException) Error() string { 12183 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 12184} 12185 12186// Status code returns the HTTP status code for the request's response error. 12187func (s *LimitExceededException) StatusCode() int { 12188 return s.RespMetadata.StatusCode 12189} 12190 12191// RequestID returns the service's response RequestID for request. 12192func (s *LimitExceededException) RequestID() string { 12193 return s.RespMetadata.RequestID 12194} 12195 12196// Linux-specific options that are applied to the container, such as Linux KernelCapabilities. 12197type LinuxParameters struct { 12198 _ struct{} `type:"structure"` 12199 12200 // The Linux capabilities for the container that are added to or dropped from 12201 // the default configuration provided by Docker. 12202 // 12203 // For tasks that use the Fargate launch type, capabilities is supported for 12204 // all platform versions but the add parameter is only supported if using platform 12205 // version 1.4.0 or later. 12206 Capabilities *KernelCapabilities `locationName:"capabilities" type:"structure"` 12207 12208 // Any host devices to expose to the container. This parameter maps to Devices 12209 // in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 12210 // section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 12211 // and the --device option to docker run (https://docs.docker.com/engine/reference/run/). 12212 // 12213 // If you are using tasks that use the Fargate launch type, the devices parameter 12214 // is not supported. 12215 Devices []*Device `locationName:"devices" type:"list"` 12216 12217 // Run an init process inside the container that forwards signals and reaps 12218 // processes. This parameter maps to the --init option to docker run (https://docs.docker.com/engine/reference/run/). 12219 // This parameter requires version 1.25 of the Docker Remote API or greater 12220 // on your container instance. To check the Docker Remote API version on your 12221 // container instance, log in to your container instance and run the following 12222 // command: sudo docker version --format '{{.Server.APIVersion}}' 12223 InitProcessEnabled *bool `locationName:"initProcessEnabled" type:"boolean"` 12224 12225 // The total amount of swap memory (in MiB) a container can use. This parameter 12226 // will be translated to the --memory-swap option to docker run (https://docs.docker.com/engine/reference/run/) 12227 // where the value would be the sum of the container memory plus the maxSwap 12228 // value. 12229 // 12230 // If a maxSwap value of 0 is specified, the container will not use swap. Accepted 12231 // values are 0 or any positive integer. If the maxSwap parameter is omitted, 12232 // the container will use the swap configuration for the container instance 12233 // it is running on. A maxSwap value must be set for the swappiness parameter 12234 // to be used. 12235 // 12236 // If you are using tasks that use the Fargate launch type, the maxSwap parameter 12237 // is not supported. 12238 MaxSwap *int64 `locationName:"maxSwap" type:"integer"` 12239 12240 // The value for the size (in MiB) of the /dev/shm volume. This parameter maps 12241 // to the --shm-size option to docker run (https://docs.docker.com/engine/reference/run/). 12242 // 12243 // If you are using tasks that use the Fargate launch type, the sharedMemorySize 12244 // parameter is not supported. 12245 SharedMemorySize *int64 `locationName:"sharedMemorySize" type:"integer"` 12246 12247 // This allows you to tune a container's memory swappiness behavior. A swappiness 12248 // value of 0 will cause swapping to not happen unless absolutely necessary. 12249 // A swappiness value of 100 will cause pages to be swapped very aggressively. 12250 // Accepted values are whole numbers between 0 and 100. If the swappiness parameter 12251 // is not specified, a default value of 60 is used. If a value is not specified 12252 // for maxSwap then this parameter is ignored. This parameter maps to the --memory-swappiness 12253 // option to docker run (https://docs.docker.com/engine/reference/run/). 12254 // 12255 // If you are using tasks that use the Fargate launch type, the swappiness parameter 12256 // is not supported. 12257 Swappiness *int64 `locationName:"swappiness" type:"integer"` 12258 12259 // The container path, mount options, and size (in MiB) of the tmpfs mount. 12260 // This parameter maps to the --tmpfs option to docker run (https://docs.docker.com/engine/reference/run/). 12261 // 12262 // If you are using tasks that use the Fargate launch type, the tmpfs parameter 12263 // is not supported. 12264 Tmpfs []*Tmpfs `locationName:"tmpfs" type:"list"` 12265} 12266 12267// String returns the string representation 12268func (s LinuxParameters) String() string { 12269 return awsutil.Prettify(s) 12270} 12271 12272// GoString returns the string representation 12273func (s LinuxParameters) GoString() string { 12274 return s.String() 12275} 12276 12277// Validate inspects the fields of the type to determine if they are valid. 12278func (s *LinuxParameters) Validate() error { 12279 invalidParams := request.ErrInvalidParams{Context: "LinuxParameters"} 12280 if s.Devices != nil { 12281 for i, v := range s.Devices { 12282 if v == nil { 12283 continue 12284 } 12285 if err := v.Validate(); err != nil { 12286 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Devices", i), err.(request.ErrInvalidParams)) 12287 } 12288 } 12289 } 12290 if s.Tmpfs != nil { 12291 for i, v := range s.Tmpfs { 12292 if v == nil { 12293 continue 12294 } 12295 if err := v.Validate(); err != nil { 12296 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tmpfs", i), err.(request.ErrInvalidParams)) 12297 } 12298 } 12299 } 12300 12301 if invalidParams.Len() > 0 { 12302 return invalidParams 12303 } 12304 return nil 12305} 12306 12307// SetCapabilities sets the Capabilities field's value. 12308func (s *LinuxParameters) SetCapabilities(v *KernelCapabilities) *LinuxParameters { 12309 s.Capabilities = v 12310 return s 12311} 12312 12313// SetDevices sets the Devices field's value. 12314func (s *LinuxParameters) SetDevices(v []*Device) *LinuxParameters { 12315 s.Devices = v 12316 return s 12317} 12318 12319// SetInitProcessEnabled sets the InitProcessEnabled field's value. 12320func (s *LinuxParameters) SetInitProcessEnabled(v bool) *LinuxParameters { 12321 s.InitProcessEnabled = &v 12322 return s 12323} 12324 12325// SetMaxSwap sets the MaxSwap field's value. 12326func (s *LinuxParameters) SetMaxSwap(v int64) *LinuxParameters { 12327 s.MaxSwap = &v 12328 return s 12329} 12330 12331// SetSharedMemorySize sets the SharedMemorySize field's value. 12332func (s *LinuxParameters) SetSharedMemorySize(v int64) *LinuxParameters { 12333 s.SharedMemorySize = &v 12334 return s 12335} 12336 12337// SetSwappiness sets the Swappiness field's value. 12338func (s *LinuxParameters) SetSwappiness(v int64) *LinuxParameters { 12339 s.Swappiness = &v 12340 return s 12341} 12342 12343// SetTmpfs sets the Tmpfs field's value. 12344func (s *LinuxParameters) SetTmpfs(v []*Tmpfs) *LinuxParameters { 12345 s.Tmpfs = v 12346 return s 12347} 12348 12349type ListAccountSettingsInput struct { 12350 _ struct{} `type:"structure"` 12351 12352 // Specifies whether to return the effective settings. If true, the account 12353 // settings for the root user or the default setting for the principalArn are 12354 // returned. If false, the account settings for the principalArn are returned 12355 // if they are set. Otherwise, no account settings are returned. 12356 EffectiveSettings *bool `locationName:"effectiveSettings" type:"boolean"` 12357 12358 // The maximum number of account setting results returned by ListAccountSettings 12359 // in paginated output. When this parameter is used, ListAccountSettings only 12360 // returns maxResults results in a single page along with a nextToken response 12361 // element. The remaining results of the initial request can be seen by sending 12362 // another ListAccountSettings request with the returned nextToken value. This 12363 // value can be between 1 and 10. If this parameter is not used, then ListAccountSettings 12364 // returns up to 10 results and a nextToken value if applicable. 12365 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12366 12367 // The name of the account setting you want to list the settings for. 12368 Name *string `locationName:"name" type:"string" enum:"SettingName"` 12369 12370 // The nextToken value returned from a ListAccountSettings request indicating 12371 // that more results are available to fulfill the request and further calls 12372 // will be needed. If maxResults was provided, it is possible the number of 12373 // results to be fewer than maxResults. 12374 // 12375 // This token should be treated as an opaque identifier that is only used to 12376 // retrieve the next items in a list and not for other programmatic purposes. 12377 NextToken *string `locationName:"nextToken" type:"string"` 12378 12379 // The ARN of the principal, which can be an IAM user, IAM role, or the root 12380 // user. If this field is omitted, the account settings are listed only for 12381 // the authenticated user. 12382 PrincipalArn *string `locationName:"principalArn" type:"string"` 12383 12384 // The value of the account settings with which to filter results. You must 12385 // also specify an account setting name to use this parameter. 12386 Value *string `locationName:"value" type:"string"` 12387} 12388 12389// String returns the string representation 12390func (s ListAccountSettingsInput) String() string { 12391 return awsutil.Prettify(s) 12392} 12393 12394// GoString returns the string representation 12395func (s ListAccountSettingsInput) GoString() string { 12396 return s.String() 12397} 12398 12399// SetEffectiveSettings sets the EffectiveSettings field's value. 12400func (s *ListAccountSettingsInput) SetEffectiveSettings(v bool) *ListAccountSettingsInput { 12401 s.EffectiveSettings = &v 12402 return s 12403} 12404 12405// SetMaxResults sets the MaxResults field's value. 12406func (s *ListAccountSettingsInput) SetMaxResults(v int64) *ListAccountSettingsInput { 12407 s.MaxResults = &v 12408 return s 12409} 12410 12411// SetName sets the Name field's value. 12412func (s *ListAccountSettingsInput) SetName(v string) *ListAccountSettingsInput { 12413 s.Name = &v 12414 return s 12415} 12416 12417// SetNextToken sets the NextToken field's value. 12418func (s *ListAccountSettingsInput) SetNextToken(v string) *ListAccountSettingsInput { 12419 s.NextToken = &v 12420 return s 12421} 12422 12423// SetPrincipalArn sets the PrincipalArn field's value. 12424func (s *ListAccountSettingsInput) SetPrincipalArn(v string) *ListAccountSettingsInput { 12425 s.PrincipalArn = &v 12426 return s 12427} 12428 12429// SetValue sets the Value field's value. 12430func (s *ListAccountSettingsInput) SetValue(v string) *ListAccountSettingsInput { 12431 s.Value = &v 12432 return s 12433} 12434 12435type ListAccountSettingsOutput struct { 12436 _ struct{} `type:"structure"` 12437 12438 // The nextToken value to include in a future ListAccountSettings request. When 12439 // the results of a ListAccountSettings request exceed maxResults, this value 12440 // can be used to retrieve the next page of results. This value is null when 12441 // there are no more results to return. 12442 NextToken *string `locationName:"nextToken" type:"string"` 12443 12444 // The account settings for the resource. 12445 Settings []*Setting `locationName:"settings" type:"list"` 12446} 12447 12448// String returns the string representation 12449func (s ListAccountSettingsOutput) String() string { 12450 return awsutil.Prettify(s) 12451} 12452 12453// GoString returns the string representation 12454func (s ListAccountSettingsOutput) GoString() string { 12455 return s.String() 12456} 12457 12458// SetNextToken sets the NextToken field's value. 12459func (s *ListAccountSettingsOutput) SetNextToken(v string) *ListAccountSettingsOutput { 12460 s.NextToken = &v 12461 return s 12462} 12463 12464// SetSettings sets the Settings field's value. 12465func (s *ListAccountSettingsOutput) SetSettings(v []*Setting) *ListAccountSettingsOutput { 12466 s.Settings = v 12467 return s 12468} 12469 12470type ListAttributesInput struct { 12471 _ struct{} `type:"structure"` 12472 12473 // The name of the attribute with which to filter the results. 12474 AttributeName *string `locationName:"attributeName" type:"string"` 12475 12476 // The value of the attribute with which to filter results. You must also specify 12477 // an attribute name to use this parameter. 12478 AttributeValue *string `locationName:"attributeValue" type:"string"` 12479 12480 // The short name or full Amazon Resource Name (ARN) of the cluster to list 12481 // attributes. If you do not specify a cluster, the default cluster is assumed. 12482 Cluster *string `locationName:"cluster" type:"string"` 12483 12484 // The maximum number of cluster results returned by ListAttributes in paginated 12485 // output. When this parameter is used, ListAttributes only returns maxResults 12486 // results in a single page along with a nextToken response element. The remaining 12487 // results of the initial request can be seen by sending another ListAttributes 12488 // request with the returned nextToken value. This value can be between 1 and 12489 // 100. If this parameter is not used, then ListAttributes returns up to 100 12490 // results and a nextToken value if applicable. 12491 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12492 12493 // The nextToken value returned from a ListAttributes request indicating that 12494 // more results are available to fulfill the request and further calls will 12495 // be needed. If maxResults was provided, it is possible the number of results 12496 // to be fewer than maxResults. 12497 // 12498 // This token should be treated as an opaque identifier that is only used to 12499 // retrieve the next items in a list and not for other programmatic purposes. 12500 NextToken *string `locationName:"nextToken" type:"string"` 12501 12502 // The type of the target with which to list attributes. 12503 // 12504 // TargetType is a required field 12505 TargetType *string `locationName:"targetType" type:"string" required:"true" enum:"TargetType"` 12506} 12507 12508// String returns the string representation 12509func (s ListAttributesInput) String() string { 12510 return awsutil.Prettify(s) 12511} 12512 12513// GoString returns the string representation 12514func (s ListAttributesInput) GoString() string { 12515 return s.String() 12516} 12517 12518// Validate inspects the fields of the type to determine if they are valid. 12519func (s *ListAttributesInput) Validate() error { 12520 invalidParams := request.ErrInvalidParams{Context: "ListAttributesInput"} 12521 if s.TargetType == nil { 12522 invalidParams.Add(request.NewErrParamRequired("TargetType")) 12523 } 12524 12525 if invalidParams.Len() > 0 { 12526 return invalidParams 12527 } 12528 return nil 12529} 12530 12531// SetAttributeName sets the AttributeName field's value. 12532func (s *ListAttributesInput) SetAttributeName(v string) *ListAttributesInput { 12533 s.AttributeName = &v 12534 return s 12535} 12536 12537// SetAttributeValue sets the AttributeValue field's value. 12538func (s *ListAttributesInput) SetAttributeValue(v string) *ListAttributesInput { 12539 s.AttributeValue = &v 12540 return s 12541} 12542 12543// SetCluster sets the Cluster field's value. 12544func (s *ListAttributesInput) SetCluster(v string) *ListAttributesInput { 12545 s.Cluster = &v 12546 return s 12547} 12548 12549// SetMaxResults sets the MaxResults field's value. 12550func (s *ListAttributesInput) SetMaxResults(v int64) *ListAttributesInput { 12551 s.MaxResults = &v 12552 return s 12553} 12554 12555// SetNextToken sets the NextToken field's value. 12556func (s *ListAttributesInput) SetNextToken(v string) *ListAttributesInput { 12557 s.NextToken = &v 12558 return s 12559} 12560 12561// SetTargetType sets the TargetType field's value. 12562func (s *ListAttributesInput) SetTargetType(v string) *ListAttributesInput { 12563 s.TargetType = &v 12564 return s 12565} 12566 12567type ListAttributesOutput struct { 12568 _ struct{} `type:"structure"` 12569 12570 // A list of attribute objects that meet the criteria of the request. 12571 Attributes []*Attribute `locationName:"attributes" type:"list"` 12572 12573 // The nextToken value to include in a future ListAttributes request. When the 12574 // results of a ListAttributes request exceed maxResults, this value can be 12575 // used to retrieve the next page of results. This value is null when there 12576 // are no more results to return. 12577 NextToken *string `locationName:"nextToken" type:"string"` 12578} 12579 12580// String returns the string representation 12581func (s ListAttributesOutput) String() string { 12582 return awsutil.Prettify(s) 12583} 12584 12585// GoString returns the string representation 12586func (s ListAttributesOutput) GoString() string { 12587 return s.String() 12588} 12589 12590// SetAttributes sets the Attributes field's value. 12591func (s *ListAttributesOutput) SetAttributes(v []*Attribute) *ListAttributesOutput { 12592 s.Attributes = v 12593 return s 12594} 12595 12596// SetNextToken sets the NextToken field's value. 12597func (s *ListAttributesOutput) SetNextToken(v string) *ListAttributesOutput { 12598 s.NextToken = &v 12599 return s 12600} 12601 12602type ListClustersInput struct { 12603 _ struct{} `type:"structure"` 12604 12605 // The maximum number of cluster results returned by ListClusters in paginated 12606 // output. When this parameter is used, ListClusters only returns maxResults 12607 // results in a single page along with a nextToken response element. The remaining 12608 // results of the initial request can be seen by sending another ListClusters 12609 // request with the returned nextToken value. This value can be between 1 and 12610 // 100. If this parameter is not used, then ListClusters returns up to 100 results 12611 // and a nextToken value if applicable. 12612 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12613 12614 // The nextToken value returned from a ListClusters request indicating that 12615 // more results are available to fulfill the request and further calls will 12616 // be needed. If maxResults was provided, it is possible the number of results 12617 // to be fewer than maxResults. 12618 // 12619 // This token should be treated as an opaque identifier that is only used to 12620 // retrieve the next items in a list and not for other programmatic purposes. 12621 NextToken *string `locationName:"nextToken" type:"string"` 12622} 12623 12624// String returns the string representation 12625func (s ListClustersInput) String() string { 12626 return awsutil.Prettify(s) 12627} 12628 12629// GoString returns the string representation 12630func (s ListClustersInput) GoString() string { 12631 return s.String() 12632} 12633 12634// SetMaxResults sets the MaxResults field's value. 12635func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 12636 s.MaxResults = &v 12637 return s 12638} 12639 12640// SetNextToken sets the NextToken field's value. 12641func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 12642 s.NextToken = &v 12643 return s 12644} 12645 12646type ListClustersOutput struct { 12647 _ struct{} `type:"structure"` 12648 12649 // The list of full Amazon Resource Name (ARN) entries for each cluster associated 12650 // with your account. 12651 ClusterArns []*string `locationName:"clusterArns" type:"list"` 12652 12653 // The nextToken value to include in a future ListClusters request. When the 12654 // results of a ListClusters request exceed maxResults, this value can be used 12655 // to retrieve the next page of results. This value is null when there are no 12656 // more results to return. 12657 NextToken *string `locationName:"nextToken" type:"string"` 12658} 12659 12660// String returns the string representation 12661func (s ListClustersOutput) String() string { 12662 return awsutil.Prettify(s) 12663} 12664 12665// GoString returns the string representation 12666func (s ListClustersOutput) GoString() string { 12667 return s.String() 12668} 12669 12670// SetClusterArns sets the ClusterArns field's value. 12671func (s *ListClustersOutput) SetClusterArns(v []*string) *ListClustersOutput { 12672 s.ClusterArns = v 12673 return s 12674} 12675 12676// SetNextToken sets the NextToken field's value. 12677func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 12678 s.NextToken = &v 12679 return s 12680} 12681 12682type ListContainerInstancesInput struct { 12683 _ struct{} `type:"structure"` 12684 12685 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12686 // the container instances to list. If you do not specify a cluster, the default 12687 // cluster is assumed. 12688 Cluster *string `locationName:"cluster" type:"string"` 12689 12690 // You can filter the results of a ListContainerInstances operation with cluster 12691 // query language statements. For more information, see Cluster Query Language 12692 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 12693 // in the Amazon Elastic Container Service Developer Guide. 12694 Filter *string `locationName:"filter" type:"string"` 12695 12696 // The maximum number of container instance results returned by ListContainerInstances 12697 // in paginated output. When this parameter is used, ListContainerInstances 12698 // only returns maxResults results in a single page along with a nextToken response 12699 // element. The remaining results of the initial request can be seen by sending 12700 // another ListContainerInstances request with the returned nextToken value. 12701 // This value can be between 1 and 100. If this parameter is not used, then 12702 // ListContainerInstances returns up to 100 results and a nextToken value if 12703 // applicable. 12704 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12705 12706 // The nextToken value returned from a ListContainerInstances request indicating 12707 // that more results are available to fulfill the request and further calls 12708 // will be needed. If maxResults was provided, it is possible the number of 12709 // results to be fewer than maxResults. 12710 // 12711 // This token should be treated as an opaque identifier that is only used to 12712 // retrieve the next items in a list and not for other programmatic purposes. 12713 NextToken *string `locationName:"nextToken" type:"string"` 12714 12715 // Filters the container instances by status. For example, if you specify the 12716 // DRAINING status, the results include only container instances that have been 12717 // set to DRAINING using UpdateContainerInstancesState. If you do not specify 12718 // this parameter, the default is to include container instances set to all 12719 // states other than INACTIVE. 12720 Status *string `locationName:"status" type:"string" enum:"ContainerInstanceStatus"` 12721} 12722 12723// String returns the string representation 12724func (s ListContainerInstancesInput) String() string { 12725 return awsutil.Prettify(s) 12726} 12727 12728// GoString returns the string representation 12729func (s ListContainerInstancesInput) GoString() string { 12730 return s.String() 12731} 12732 12733// SetCluster sets the Cluster field's value. 12734func (s *ListContainerInstancesInput) SetCluster(v string) *ListContainerInstancesInput { 12735 s.Cluster = &v 12736 return s 12737} 12738 12739// SetFilter sets the Filter field's value. 12740func (s *ListContainerInstancesInput) SetFilter(v string) *ListContainerInstancesInput { 12741 s.Filter = &v 12742 return s 12743} 12744 12745// SetMaxResults sets the MaxResults field's value. 12746func (s *ListContainerInstancesInput) SetMaxResults(v int64) *ListContainerInstancesInput { 12747 s.MaxResults = &v 12748 return s 12749} 12750 12751// SetNextToken sets the NextToken field's value. 12752func (s *ListContainerInstancesInput) SetNextToken(v string) *ListContainerInstancesInput { 12753 s.NextToken = &v 12754 return s 12755} 12756 12757// SetStatus sets the Status field's value. 12758func (s *ListContainerInstancesInput) SetStatus(v string) *ListContainerInstancesInput { 12759 s.Status = &v 12760 return s 12761} 12762 12763type ListContainerInstancesOutput struct { 12764 _ struct{} `type:"structure"` 12765 12766 // The list of container instances with full ARN entries for each container 12767 // instance associated with the specified cluster. 12768 ContainerInstanceArns []*string `locationName:"containerInstanceArns" type:"list"` 12769 12770 // The nextToken value to include in a future ListContainerInstances request. 12771 // When the results of a ListContainerInstances request exceed maxResults, this 12772 // value can be used to retrieve the next page of results. This value is null 12773 // when there are no more results to return. 12774 NextToken *string `locationName:"nextToken" type:"string"` 12775} 12776 12777// String returns the string representation 12778func (s ListContainerInstancesOutput) String() string { 12779 return awsutil.Prettify(s) 12780} 12781 12782// GoString returns the string representation 12783func (s ListContainerInstancesOutput) GoString() string { 12784 return s.String() 12785} 12786 12787// SetContainerInstanceArns sets the ContainerInstanceArns field's value. 12788func (s *ListContainerInstancesOutput) SetContainerInstanceArns(v []*string) *ListContainerInstancesOutput { 12789 s.ContainerInstanceArns = v 12790 return s 12791} 12792 12793// SetNextToken sets the NextToken field's value. 12794func (s *ListContainerInstancesOutput) SetNextToken(v string) *ListContainerInstancesOutput { 12795 s.NextToken = &v 12796 return s 12797} 12798 12799type ListServicesInput struct { 12800 _ struct{} `type:"structure"` 12801 12802 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 12803 // the services to list. If you do not specify a cluster, the default cluster 12804 // is assumed. 12805 Cluster *string `locationName:"cluster" type:"string"` 12806 12807 // The launch type for the services to list. 12808 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 12809 12810 // The maximum number of service results returned by ListServices in paginated 12811 // output. When this parameter is used, ListServices only returns maxResults 12812 // results in a single page along with a nextToken response element. The remaining 12813 // results of the initial request can be seen by sending another ListServices 12814 // request with the returned nextToken value. This value can be between 1 and 12815 // 100. If this parameter is not used, then ListServices returns up to 10 results 12816 // and a nextToken value if applicable. 12817 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12818 12819 // The nextToken value returned from a ListServices request indicating that 12820 // more results are available to fulfill the request and further calls will 12821 // be needed. If maxResults was provided, it is possible the number of results 12822 // to be fewer than maxResults. 12823 // 12824 // This token should be treated as an opaque identifier that is only used to 12825 // retrieve the next items in a list and not for other programmatic purposes. 12826 NextToken *string `locationName:"nextToken" type:"string"` 12827 12828 // The scheduling strategy for services to list. 12829 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 12830} 12831 12832// String returns the string representation 12833func (s ListServicesInput) String() string { 12834 return awsutil.Prettify(s) 12835} 12836 12837// GoString returns the string representation 12838func (s ListServicesInput) GoString() string { 12839 return s.String() 12840} 12841 12842// SetCluster sets the Cluster field's value. 12843func (s *ListServicesInput) SetCluster(v string) *ListServicesInput { 12844 s.Cluster = &v 12845 return s 12846} 12847 12848// SetLaunchType sets the LaunchType field's value. 12849func (s *ListServicesInput) SetLaunchType(v string) *ListServicesInput { 12850 s.LaunchType = &v 12851 return s 12852} 12853 12854// SetMaxResults sets the MaxResults field's value. 12855func (s *ListServicesInput) SetMaxResults(v int64) *ListServicesInput { 12856 s.MaxResults = &v 12857 return s 12858} 12859 12860// SetNextToken sets the NextToken field's value. 12861func (s *ListServicesInput) SetNextToken(v string) *ListServicesInput { 12862 s.NextToken = &v 12863 return s 12864} 12865 12866// SetSchedulingStrategy sets the SchedulingStrategy field's value. 12867func (s *ListServicesInput) SetSchedulingStrategy(v string) *ListServicesInput { 12868 s.SchedulingStrategy = &v 12869 return s 12870} 12871 12872type ListServicesOutput struct { 12873 _ struct{} `type:"structure"` 12874 12875 // The nextToken value to include in a future ListServices request. When the 12876 // results of a ListServices request exceed maxResults, this value can be used 12877 // to retrieve the next page of results. This value is null when there are no 12878 // more results to return. 12879 NextToken *string `locationName:"nextToken" type:"string"` 12880 12881 // The list of full ARN entries for each service associated with the specified 12882 // cluster. 12883 ServiceArns []*string `locationName:"serviceArns" type:"list"` 12884} 12885 12886// String returns the string representation 12887func (s ListServicesOutput) String() string { 12888 return awsutil.Prettify(s) 12889} 12890 12891// GoString returns the string representation 12892func (s ListServicesOutput) GoString() string { 12893 return s.String() 12894} 12895 12896// SetNextToken sets the NextToken field's value. 12897func (s *ListServicesOutput) SetNextToken(v string) *ListServicesOutput { 12898 s.NextToken = &v 12899 return s 12900} 12901 12902// SetServiceArns sets the ServiceArns field's value. 12903func (s *ListServicesOutput) SetServiceArns(v []*string) *ListServicesOutput { 12904 s.ServiceArns = v 12905 return s 12906} 12907 12908type ListTagsForResourceInput struct { 12909 _ struct{} `type:"structure"` 12910 12911 // The Amazon Resource Name (ARN) that identifies the resource for which to 12912 // list the tags. Currently, the supported resources are Amazon ECS tasks, services, 12913 // task definitions, clusters, and container instances. 12914 // 12915 // ResourceArn is a required field 12916 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 12917} 12918 12919// String returns the string representation 12920func (s ListTagsForResourceInput) String() string { 12921 return awsutil.Prettify(s) 12922} 12923 12924// GoString returns the string representation 12925func (s ListTagsForResourceInput) GoString() string { 12926 return s.String() 12927} 12928 12929// Validate inspects the fields of the type to determine if they are valid. 12930func (s *ListTagsForResourceInput) Validate() error { 12931 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 12932 if s.ResourceArn == nil { 12933 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 12934 } 12935 12936 if invalidParams.Len() > 0 { 12937 return invalidParams 12938 } 12939 return nil 12940} 12941 12942// SetResourceArn sets the ResourceArn field's value. 12943func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 12944 s.ResourceArn = &v 12945 return s 12946} 12947 12948type ListTagsForResourceOutput struct { 12949 _ struct{} `type:"structure"` 12950 12951 // The tags for the resource. 12952 Tags []*Tag `locationName:"tags" type:"list"` 12953} 12954 12955// String returns the string representation 12956func (s ListTagsForResourceOutput) String() string { 12957 return awsutil.Prettify(s) 12958} 12959 12960// GoString returns the string representation 12961func (s ListTagsForResourceOutput) GoString() string { 12962 return s.String() 12963} 12964 12965// SetTags sets the Tags field's value. 12966func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 12967 s.Tags = v 12968 return s 12969} 12970 12971type ListTaskDefinitionFamiliesInput struct { 12972 _ struct{} `type:"structure"` 12973 12974 // The familyPrefix is a string that is used to filter the results of ListTaskDefinitionFamilies. 12975 // If you specify a familyPrefix, only task definition family names that begin 12976 // with the familyPrefix string are returned. 12977 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 12978 12979 // The maximum number of task definition family results returned by ListTaskDefinitionFamilies 12980 // in paginated output. When this parameter is used, ListTaskDefinitions only 12981 // returns maxResults results in a single page along with a nextToken response 12982 // element. The remaining results of the initial request can be seen by sending 12983 // another ListTaskDefinitionFamilies request with the returned nextToken value. 12984 // This value can be between 1 and 100. If this parameter is not used, then 12985 // ListTaskDefinitionFamilies returns up to 100 results and a nextToken value 12986 // if applicable. 12987 MaxResults *int64 `locationName:"maxResults" type:"integer"` 12988 12989 // The nextToken value returned from a ListTaskDefinitionFamilies request indicating 12990 // that more results are available to fulfill the request and further calls 12991 // will be needed. If maxResults was provided, it is possible the number of 12992 // results to be fewer than maxResults. 12993 // 12994 // This token should be treated as an opaque identifier that is only used to 12995 // retrieve the next items in a list and not for other programmatic purposes. 12996 NextToken *string `locationName:"nextToken" type:"string"` 12997 12998 // The task definition family status with which to filter the ListTaskDefinitionFamilies 12999 // results. By default, both ACTIVE and INACTIVE task definition families are 13000 // listed. If this parameter is set to ACTIVE, only task definition families 13001 // that have an ACTIVE task definition revision are returned. If this parameter 13002 // is set to INACTIVE, only task definition families that do not have any ACTIVE 13003 // task definition revisions are returned. If you paginate the resulting output, 13004 // be sure to keep the status value constant in each subsequent request. 13005 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionFamilyStatus"` 13006} 13007 13008// String returns the string representation 13009func (s ListTaskDefinitionFamiliesInput) String() string { 13010 return awsutil.Prettify(s) 13011} 13012 13013// GoString returns the string representation 13014func (s ListTaskDefinitionFamiliesInput) GoString() string { 13015 return s.String() 13016} 13017 13018// SetFamilyPrefix sets the FamilyPrefix field's value. 13019func (s *ListTaskDefinitionFamiliesInput) SetFamilyPrefix(v string) *ListTaskDefinitionFamiliesInput { 13020 s.FamilyPrefix = &v 13021 return s 13022} 13023 13024// SetMaxResults sets the MaxResults field's value. 13025func (s *ListTaskDefinitionFamiliesInput) SetMaxResults(v int64) *ListTaskDefinitionFamiliesInput { 13026 s.MaxResults = &v 13027 return s 13028} 13029 13030// SetNextToken sets the NextToken field's value. 13031func (s *ListTaskDefinitionFamiliesInput) SetNextToken(v string) *ListTaskDefinitionFamiliesInput { 13032 s.NextToken = &v 13033 return s 13034} 13035 13036// SetStatus sets the Status field's value. 13037func (s *ListTaskDefinitionFamiliesInput) SetStatus(v string) *ListTaskDefinitionFamiliesInput { 13038 s.Status = &v 13039 return s 13040} 13041 13042type ListTaskDefinitionFamiliesOutput struct { 13043 _ struct{} `type:"structure"` 13044 13045 // The list of task definition family names that match the ListTaskDefinitionFamilies 13046 // request. 13047 Families []*string `locationName:"families" type:"list"` 13048 13049 // The nextToken value to include in a future ListTaskDefinitionFamilies request. 13050 // When the results of a ListTaskDefinitionFamilies request exceed maxResults, 13051 // this value can be used to retrieve the next page of results. This value is 13052 // null when there are no more results to return. 13053 NextToken *string `locationName:"nextToken" type:"string"` 13054} 13055 13056// String returns the string representation 13057func (s ListTaskDefinitionFamiliesOutput) String() string { 13058 return awsutil.Prettify(s) 13059} 13060 13061// GoString returns the string representation 13062func (s ListTaskDefinitionFamiliesOutput) GoString() string { 13063 return s.String() 13064} 13065 13066// SetFamilies sets the Families field's value. 13067func (s *ListTaskDefinitionFamiliesOutput) SetFamilies(v []*string) *ListTaskDefinitionFamiliesOutput { 13068 s.Families = v 13069 return s 13070} 13071 13072// SetNextToken sets the NextToken field's value. 13073func (s *ListTaskDefinitionFamiliesOutput) SetNextToken(v string) *ListTaskDefinitionFamiliesOutput { 13074 s.NextToken = &v 13075 return s 13076} 13077 13078type ListTaskDefinitionsInput struct { 13079 _ struct{} `type:"structure"` 13080 13081 // The full family name with which to filter the ListTaskDefinitions results. 13082 // Specifying a familyPrefix limits the listed task definitions to task definition 13083 // revisions that belong to that family. 13084 FamilyPrefix *string `locationName:"familyPrefix" type:"string"` 13085 13086 // The maximum number of task definition results returned by ListTaskDefinitions 13087 // in paginated output. When this parameter is used, ListTaskDefinitions only 13088 // returns maxResults results in a single page along with a nextToken response 13089 // element. The remaining results of the initial request can be seen by sending 13090 // another ListTaskDefinitions request with the returned nextToken value. This 13091 // value can be between 1 and 100. If this parameter is not used, then ListTaskDefinitions 13092 // returns up to 100 results and a nextToken value if applicable. 13093 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13094 13095 // The nextToken value returned from a ListTaskDefinitions request indicating 13096 // that more results are available to fulfill the request and further calls 13097 // will be needed. If maxResults was provided, it is possible the number of 13098 // results to be fewer than maxResults. 13099 // 13100 // This token should be treated as an opaque identifier that is only used to 13101 // retrieve the next items in a list and not for other programmatic purposes. 13102 NextToken *string `locationName:"nextToken" type:"string"` 13103 13104 // The order in which to sort the results. Valid values are ASC and DESC. By 13105 // default (ASC), task definitions are listed lexicographically by family name 13106 // and in ascending numerical order by revision so that the newest task definitions 13107 // in a family are listed last. Setting this parameter to DESC reverses the 13108 // sort order on family name and revision so that the newest task definitions 13109 // in a family are listed first. 13110 Sort *string `locationName:"sort" type:"string" enum:"SortOrder"` 13111 13112 // The task definition status with which to filter the ListTaskDefinitions results. 13113 // By default, only ACTIVE task definitions are listed. By setting this parameter 13114 // to INACTIVE, you can view task definitions that are INACTIVE as long as an 13115 // active task or service still references them. If you paginate the resulting 13116 // output, be sure to keep the status value constant in each subsequent request. 13117 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 13118} 13119 13120// String returns the string representation 13121func (s ListTaskDefinitionsInput) String() string { 13122 return awsutil.Prettify(s) 13123} 13124 13125// GoString returns the string representation 13126func (s ListTaskDefinitionsInput) GoString() string { 13127 return s.String() 13128} 13129 13130// SetFamilyPrefix sets the FamilyPrefix field's value. 13131func (s *ListTaskDefinitionsInput) SetFamilyPrefix(v string) *ListTaskDefinitionsInput { 13132 s.FamilyPrefix = &v 13133 return s 13134} 13135 13136// SetMaxResults sets the MaxResults field's value. 13137func (s *ListTaskDefinitionsInput) SetMaxResults(v int64) *ListTaskDefinitionsInput { 13138 s.MaxResults = &v 13139 return s 13140} 13141 13142// SetNextToken sets the NextToken field's value. 13143func (s *ListTaskDefinitionsInput) SetNextToken(v string) *ListTaskDefinitionsInput { 13144 s.NextToken = &v 13145 return s 13146} 13147 13148// SetSort sets the Sort field's value. 13149func (s *ListTaskDefinitionsInput) SetSort(v string) *ListTaskDefinitionsInput { 13150 s.Sort = &v 13151 return s 13152} 13153 13154// SetStatus sets the Status field's value. 13155func (s *ListTaskDefinitionsInput) SetStatus(v string) *ListTaskDefinitionsInput { 13156 s.Status = &v 13157 return s 13158} 13159 13160type ListTaskDefinitionsOutput struct { 13161 _ struct{} `type:"structure"` 13162 13163 // The nextToken value to include in a future ListTaskDefinitions request. When 13164 // the results of a ListTaskDefinitions request exceed maxResults, this value 13165 // can be used to retrieve the next page of results. This value is null when 13166 // there are no more results to return. 13167 NextToken *string `locationName:"nextToken" type:"string"` 13168 13169 // The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions 13170 // request. 13171 TaskDefinitionArns []*string `locationName:"taskDefinitionArns" type:"list"` 13172} 13173 13174// String returns the string representation 13175func (s ListTaskDefinitionsOutput) String() string { 13176 return awsutil.Prettify(s) 13177} 13178 13179// GoString returns the string representation 13180func (s ListTaskDefinitionsOutput) GoString() string { 13181 return s.String() 13182} 13183 13184// SetNextToken sets the NextToken field's value. 13185func (s *ListTaskDefinitionsOutput) SetNextToken(v string) *ListTaskDefinitionsOutput { 13186 s.NextToken = &v 13187 return s 13188} 13189 13190// SetTaskDefinitionArns sets the TaskDefinitionArns field's value. 13191func (s *ListTaskDefinitionsOutput) SetTaskDefinitionArns(v []*string) *ListTaskDefinitionsOutput { 13192 s.TaskDefinitionArns = v 13193 return s 13194} 13195 13196type ListTasksInput struct { 13197 _ struct{} `type:"structure"` 13198 13199 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 13200 // the tasks to list. If you do not specify a cluster, the default cluster is 13201 // assumed. 13202 Cluster *string `locationName:"cluster" type:"string"` 13203 13204 // The container instance ID or full ARN of the container instance with which 13205 // to filter the ListTasks results. Specifying a containerInstance limits the 13206 // results to tasks that belong to that container instance. 13207 ContainerInstance *string `locationName:"containerInstance" type:"string"` 13208 13209 // The task desired status with which to filter the ListTasks results. Specifying 13210 // a desiredStatus of STOPPED limits the results to tasks that Amazon ECS has 13211 // set the desired status to STOPPED. This can be useful for debugging tasks 13212 // that are not starting properly or have died or finished. The default status 13213 // filter is RUNNING, which shows tasks that Amazon ECS has set the desired 13214 // status to RUNNING. 13215 // 13216 // Although you can filter results based on a desired status of PENDING, this 13217 // does not return any results. Amazon ECS never sets the desired status of 13218 // a task to that value (only a task's lastStatus may have a value of PENDING). 13219 DesiredStatus *string `locationName:"desiredStatus" type:"string" enum:"DesiredStatus"` 13220 13221 // The name of the family with which to filter the ListTasks results. Specifying 13222 // a family limits the results to tasks that belong to that family. 13223 Family *string `locationName:"family" type:"string"` 13224 13225 // The launch type for services to list. 13226 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 13227 13228 // The maximum number of task results returned by ListTasks in paginated output. 13229 // When this parameter is used, ListTasks only returns maxResults results in 13230 // a single page along with a nextToken response element. The remaining results 13231 // of the initial request can be seen by sending another ListTasks request with 13232 // the returned nextToken value. This value can be between 1 and 100. If this 13233 // parameter is not used, then ListTasks returns up to 100 results and a nextToken 13234 // value if applicable. 13235 MaxResults *int64 `locationName:"maxResults" type:"integer"` 13236 13237 // The nextToken value returned from a ListTasks request indicating that more 13238 // results are available to fulfill the request and further calls will be needed. 13239 // If maxResults was provided, it is possible the number of results to be fewer 13240 // than maxResults. 13241 // 13242 // This token should be treated as an opaque identifier that is only used to 13243 // retrieve the next items in a list and not for other programmatic purposes. 13244 NextToken *string `locationName:"nextToken" type:"string"` 13245 13246 // The name of the service with which to filter the ListTasks results. Specifying 13247 // a serviceName limits the results to tasks that belong to that service. 13248 ServiceName *string `locationName:"serviceName" type:"string"` 13249 13250 // The startedBy value with which to filter the task results. Specifying a startedBy 13251 // value limits the results to tasks that were started with that value. 13252 StartedBy *string `locationName:"startedBy" type:"string"` 13253} 13254 13255// String returns the string representation 13256func (s ListTasksInput) String() string { 13257 return awsutil.Prettify(s) 13258} 13259 13260// GoString returns the string representation 13261func (s ListTasksInput) GoString() string { 13262 return s.String() 13263} 13264 13265// SetCluster sets the Cluster field's value. 13266func (s *ListTasksInput) SetCluster(v string) *ListTasksInput { 13267 s.Cluster = &v 13268 return s 13269} 13270 13271// SetContainerInstance sets the ContainerInstance field's value. 13272func (s *ListTasksInput) SetContainerInstance(v string) *ListTasksInput { 13273 s.ContainerInstance = &v 13274 return s 13275} 13276 13277// SetDesiredStatus sets the DesiredStatus field's value. 13278func (s *ListTasksInput) SetDesiredStatus(v string) *ListTasksInput { 13279 s.DesiredStatus = &v 13280 return s 13281} 13282 13283// SetFamily sets the Family field's value. 13284func (s *ListTasksInput) SetFamily(v string) *ListTasksInput { 13285 s.Family = &v 13286 return s 13287} 13288 13289// SetLaunchType sets the LaunchType field's value. 13290func (s *ListTasksInput) SetLaunchType(v string) *ListTasksInput { 13291 s.LaunchType = &v 13292 return s 13293} 13294 13295// SetMaxResults sets the MaxResults field's value. 13296func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { 13297 s.MaxResults = &v 13298 return s 13299} 13300 13301// SetNextToken sets the NextToken field's value. 13302func (s *ListTasksInput) SetNextToken(v string) *ListTasksInput { 13303 s.NextToken = &v 13304 return s 13305} 13306 13307// SetServiceName sets the ServiceName field's value. 13308func (s *ListTasksInput) SetServiceName(v string) *ListTasksInput { 13309 s.ServiceName = &v 13310 return s 13311} 13312 13313// SetStartedBy sets the StartedBy field's value. 13314func (s *ListTasksInput) SetStartedBy(v string) *ListTasksInput { 13315 s.StartedBy = &v 13316 return s 13317} 13318 13319type ListTasksOutput struct { 13320 _ struct{} `type:"structure"` 13321 13322 // The nextToken value to include in a future ListTasks request. When the results 13323 // of a ListTasks request exceed maxResults, this value can be used to retrieve 13324 // the next page of results. This value is null when there are no more results 13325 // to return. 13326 NextToken *string `locationName:"nextToken" type:"string"` 13327 13328 // The list of task ARN entries for the ListTasks request. 13329 TaskArns []*string `locationName:"taskArns" type:"list"` 13330} 13331 13332// String returns the string representation 13333func (s ListTasksOutput) String() string { 13334 return awsutil.Prettify(s) 13335} 13336 13337// GoString returns the string representation 13338func (s ListTasksOutput) GoString() string { 13339 return s.String() 13340} 13341 13342// SetNextToken sets the NextToken field's value. 13343func (s *ListTasksOutput) SetNextToken(v string) *ListTasksOutput { 13344 s.NextToken = &v 13345 return s 13346} 13347 13348// SetTaskArns sets the TaskArns field's value. 13349func (s *ListTasksOutput) SetTaskArns(v []*string) *ListTasksOutput { 13350 s.TaskArns = v 13351 return s 13352} 13353 13354// The load balancer configuration to use with a service or task set. 13355// 13356// For specific notes and restrictions regarding the use of load balancers with 13357// services and task sets, see the CreateService and CreateTaskSet actions. 13358type LoadBalancer struct { 13359 _ struct{} `type:"structure"` 13360 13361 // The name of the container (as it appears in a container definition) to associate 13362 // with the load balancer. 13363 ContainerName *string `locationName:"containerName" type:"string"` 13364 13365 // The port on the container to associate with the load balancer. This port 13366 // must correspond to a containerPort in the task definition the tasks in the 13367 // service are using. For tasks that use the EC2 launch type, the container 13368 // instance they are launched on must allow ingress traffic on the hostPort 13369 // of the port mapping. 13370 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13371 13372 // The name of the load balancer to associate with the Amazon ECS service or 13373 // task set. 13374 // 13375 // A load balancer name is only specified when using a Classic Load Balancer. 13376 // If you are using an Application Load Balancer or a Network Load Balancer 13377 // the load balancer name parameter should be omitted. 13378 LoadBalancerName *string `locationName:"loadBalancerName" type:"string"` 13379 13380 // The full Amazon Resource Name (ARN) of the Elastic Load Balancing target 13381 // group or groups associated with a service or task set. 13382 // 13383 // A target group ARN is only specified when using an Application Load Balancer 13384 // or Network Load Balancer. If you are using a Classic Load Balancer the target 13385 // group ARN should be omitted. 13386 // 13387 // For services using the ECS deployment controller, you can specify one or 13388 // multiple target groups. For more information, see Registering Multiple Target 13389 // Groups with a Service (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) 13390 // in the Amazon Elastic Container Service Developer Guide. 13391 // 13392 // For services using the CODE_DEPLOY deployment controller, you are required 13393 // to define two target groups for the load balancer. For more information, 13394 // see Blue/Green Deployment with CodeDeploy (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html) 13395 // in the Amazon Elastic Container Service Developer Guide. 13396 // 13397 // If your service's task definition uses the awsvpc network mode (which is 13398 // required for the Fargate launch type), you must choose ip as the target type, 13399 // not instance, when creating your target groups because tasks that use the 13400 // awsvpc network mode are associated with an elastic network interface, not 13401 // an Amazon EC2 instance. 13402 TargetGroupArn *string `locationName:"targetGroupArn" type:"string"` 13403} 13404 13405// String returns the string representation 13406func (s LoadBalancer) String() string { 13407 return awsutil.Prettify(s) 13408} 13409 13410// GoString returns the string representation 13411func (s LoadBalancer) GoString() string { 13412 return s.String() 13413} 13414 13415// SetContainerName sets the ContainerName field's value. 13416func (s *LoadBalancer) SetContainerName(v string) *LoadBalancer { 13417 s.ContainerName = &v 13418 return s 13419} 13420 13421// SetContainerPort sets the ContainerPort field's value. 13422func (s *LoadBalancer) SetContainerPort(v int64) *LoadBalancer { 13423 s.ContainerPort = &v 13424 return s 13425} 13426 13427// SetLoadBalancerName sets the LoadBalancerName field's value. 13428func (s *LoadBalancer) SetLoadBalancerName(v string) *LoadBalancer { 13429 s.LoadBalancerName = &v 13430 return s 13431} 13432 13433// SetTargetGroupArn sets the TargetGroupArn field's value. 13434func (s *LoadBalancer) SetTargetGroupArn(v string) *LoadBalancer { 13435 s.TargetGroupArn = &v 13436 return s 13437} 13438 13439// The log configuration specification for the container. 13440// 13441// This parameter maps to LogConfig in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 13442// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 13443// and the --log-driver option to docker run (https://docs.docker.com/engine/reference/commandline/run/). 13444// By default, containers use the same logging driver that the Docker daemon 13445// uses; however the container may use a different logging driver than the Docker 13446// daemon by specifying a log driver with this parameter in the container definition. 13447// To use a different logging driver for a container, the log system must be 13448// configured properly on the container instance (or on a different log server 13449// for remote logging options). For more information on the options for different 13450// supported log drivers, see Configure logging drivers (https://docs.docker.com/engine/admin/logging/overview/) 13451// in the Docker documentation. 13452// 13453// The following should be noted when specifying a log configuration for your 13454// containers: 13455// 13456// * Amazon ECS currently supports a subset of the logging drivers available 13457// to the Docker daemon (shown in the valid values below). Additional log 13458// drivers may be available in future releases of the Amazon ECS container 13459// agent. 13460// 13461// * This parameter requires version 1.18 of the Docker Remote API or greater 13462// on your container instance. 13463// 13464// * For tasks using the EC2 launch type, the Amazon ECS container agent 13465// running on a container instance must register the logging drivers available 13466// on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable 13467// before containers placed on that instance can use these log configuration 13468// options. For more information, see Amazon ECS Container Agent Configuration 13469// (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) 13470// in the Amazon Elastic Container Service Developer Guide. 13471// 13472// * For tasks using the Fargate launch type, because you do not have access 13473// to the underlying infrastructure your tasks are hosted on, any additional 13474// software needed will have to be installed outside of the task. For example, 13475// the Fluentd output aggregators or a remote host running Logstash to send 13476// Gelf logs to. 13477type LogConfiguration struct { 13478 _ struct{} `type:"structure"` 13479 13480 // The log driver to use for the container. The valid values listed earlier 13481 // are log drivers that the Amazon ECS container agent can communicate with 13482 // by default. 13483 // 13484 // For tasks using the Fargate launch type, the supported log drivers are awslogs, 13485 // splunk, and awsfirelens. 13486 // 13487 // For tasks using the EC2 launch type, the supported log drivers are awslogs, 13488 // fluentd, gelf, json-file, journald, logentries,syslog, splunk, and awsfirelens. 13489 // 13490 // For more information about using the awslogs log driver, see Using the awslogs 13491 // Log Driver (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html) 13492 // in the Amazon Elastic Container Service Developer Guide. 13493 // 13494 // For more information about using the awsfirelens log driver, see Custom Log 13495 // Routing (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html) 13496 // in the Amazon Elastic Container Service Developer Guide. 13497 // 13498 // If you have a custom driver that is not listed, you can fork the Amazon ECS 13499 // container agent project that is available on GitHub (https://github.com/aws/amazon-ecs-agent) 13500 // and customize it to work with that driver. We encourage you to submit pull 13501 // requests for changes that you would like to have included. However, we do 13502 // not currently provide support for running modified copies of this software. 13503 // 13504 // LogDriver is a required field 13505 LogDriver *string `locationName:"logDriver" type:"string" required:"true" enum:"LogDriver"` 13506 13507 // The configuration options to send to the log driver. This parameter requires 13508 // version 1.19 of the Docker Remote API or greater on your container instance. 13509 // To check the Docker Remote API version on your container instance, log in 13510 // to your container instance and run the following command: sudo docker version 13511 // --format '{{.Server.APIVersion}}' 13512 Options map[string]*string `locationName:"options" type:"map"` 13513 13514 // The secrets to pass to the log configuration. For more information, see Specifying 13515 // Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 13516 // in the Amazon Elastic Container Service Developer Guide. 13517 SecretOptions []*Secret `locationName:"secretOptions" type:"list"` 13518} 13519 13520// String returns the string representation 13521func (s LogConfiguration) String() string { 13522 return awsutil.Prettify(s) 13523} 13524 13525// GoString returns the string representation 13526func (s LogConfiguration) GoString() string { 13527 return s.String() 13528} 13529 13530// Validate inspects the fields of the type to determine if they are valid. 13531func (s *LogConfiguration) Validate() error { 13532 invalidParams := request.ErrInvalidParams{Context: "LogConfiguration"} 13533 if s.LogDriver == nil { 13534 invalidParams.Add(request.NewErrParamRequired("LogDriver")) 13535 } 13536 if s.SecretOptions != nil { 13537 for i, v := range s.SecretOptions { 13538 if v == nil { 13539 continue 13540 } 13541 if err := v.Validate(); err != nil { 13542 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecretOptions", i), err.(request.ErrInvalidParams)) 13543 } 13544 } 13545 } 13546 13547 if invalidParams.Len() > 0 { 13548 return invalidParams 13549 } 13550 return nil 13551} 13552 13553// SetLogDriver sets the LogDriver field's value. 13554func (s *LogConfiguration) SetLogDriver(v string) *LogConfiguration { 13555 s.LogDriver = &v 13556 return s 13557} 13558 13559// SetOptions sets the Options field's value. 13560func (s *LogConfiguration) SetOptions(v map[string]*string) *LogConfiguration { 13561 s.Options = v 13562 return s 13563} 13564 13565// SetSecretOptions sets the SecretOptions field's value. 13566func (s *LogConfiguration) SetSecretOptions(v []*Secret) *LogConfiguration { 13567 s.SecretOptions = v 13568 return s 13569} 13570 13571// The managed scaling settings for the Auto Scaling group capacity provider. 13572// 13573// When managed scaling is enabled, Amazon ECS manages the scale-in and scale-out 13574// actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling 13575// policy using an Amazon ECS-managed CloudWatch metric with the specified targetCapacity 13576// value as the target value for the metric. For more information, see Using 13577// Managed Scaling (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling) 13578// in the Amazon Elastic Container Service Developer Guide. 13579// 13580// If managed scaling is disabled, the user must manage the scaling of the Auto 13581// Scaling group. 13582type ManagedScaling struct { 13583 _ struct{} `type:"structure"` 13584 13585 // The maximum number of container instances that Amazon ECS will scale in or 13586 // scale out at one time. If this parameter is omitted, the default value of 13587 // 10000 is used. 13588 MaximumScalingStepSize *int64 `locationName:"maximumScalingStepSize" min:"1" type:"integer"` 13589 13590 // The minimum number of container instances that Amazon ECS will scale in or 13591 // scale out at one time. If this parameter is omitted, the default value of 13592 // 1 is used. 13593 MinimumScalingStepSize *int64 `locationName:"minimumScalingStepSize" min:"1" type:"integer"` 13594 13595 // Whether or not to enable managed scaling for the capacity provider. 13596 Status *string `locationName:"status" type:"string" enum:"ManagedScalingStatus"` 13597 13598 // The target capacity value for the capacity provider. The specified value 13599 // must be greater than 0 and less than or equal to 100. A value of 100 will 13600 // result in the Amazon EC2 instances in your Auto Scaling group being completely 13601 // utilized. 13602 TargetCapacity *int64 `locationName:"targetCapacity" min:"1" type:"integer"` 13603} 13604 13605// String returns the string representation 13606func (s ManagedScaling) String() string { 13607 return awsutil.Prettify(s) 13608} 13609 13610// GoString returns the string representation 13611func (s ManagedScaling) GoString() string { 13612 return s.String() 13613} 13614 13615// Validate inspects the fields of the type to determine if they are valid. 13616func (s *ManagedScaling) Validate() error { 13617 invalidParams := request.ErrInvalidParams{Context: "ManagedScaling"} 13618 if s.MaximumScalingStepSize != nil && *s.MaximumScalingStepSize < 1 { 13619 invalidParams.Add(request.NewErrParamMinValue("MaximumScalingStepSize", 1)) 13620 } 13621 if s.MinimumScalingStepSize != nil && *s.MinimumScalingStepSize < 1 { 13622 invalidParams.Add(request.NewErrParamMinValue("MinimumScalingStepSize", 1)) 13623 } 13624 if s.TargetCapacity != nil && *s.TargetCapacity < 1 { 13625 invalidParams.Add(request.NewErrParamMinValue("TargetCapacity", 1)) 13626 } 13627 13628 if invalidParams.Len() > 0 { 13629 return invalidParams 13630 } 13631 return nil 13632} 13633 13634// SetMaximumScalingStepSize sets the MaximumScalingStepSize field's value. 13635func (s *ManagedScaling) SetMaximumScalingStepSize(v int64) *ManagedScaling { 13636 s.MaximumScalingStepSize = &v 13637 return s 13638} 13639 13640// SetMinimumScalingStepSize sets the MinimumScalingStepSize field's value. 13641func (s *ManagedScaling) SetMinimumScalingStepSize(v int64) *ManagedScaling { 13642 s.MinimumScalingStepSize = &v 13643 return s 13644} 13645 13646// SetStatus sets the Status field's value. 13647func (s *ManagedScaling) SetStatus(v string) *ManagedScaling { 13648 s.Status = &v 13649 return s 13650} 13651 13652// SetTargetCapacity sets the TargetCapacity field's value. 13653func (s *ManagedScaling) SetTargetCapacity(v int64) *ManagedScaling { 13654 s.TargetCapacity = &v 13655 return s 13656} 13657 13658// Amazon ECS is unable to determine the current version of the Amazon ECS container 13659// agent on the container instance and does not have enough information to proceed 13660// with an update. This could be because the agent running on the container 13661// instance is an older or custom version that does not use our version information. 13662type MissingVersionException struct { 13663 _ struct{} `type:"structure"` 13664 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13665 13666 Message_ *string `locationName:"message" type:"string"` 13667} 13668 13669// String returns the string representation 13670func (s MissingVersionException) String() string { 13671 return awsutil.Prettify(s) 13672} 13673 13674// GoString returns the string representation 13675func (s MissingVersionException) GoString() string { 13676 return s.String() 13677} 13678 13679func newErrorMissingVersionException(v protocol.ResponseMetadata) error { 13680 return &MissingVersionException{ 13681 RespMetadata: v, 13682 } 13683} 13684 13685// Code returns the exception type name. 13686func (s *MissingVersionException) Code() string { 13687 return "MissingVersionException" 13688} 13689 13690// Message returns the exception's message. 13691func (s *MissingVersionException) Message() string { 13692 if s.Message_ != nil { 13693 return *s.Message_ 13694 } 13695 return "" 13696} 13697 13698// OrigErr always returns nil, satisfies awserr.Error interface. 13699func (s *MissingVersionException) OrigErr() error { 13700 return nil 13701} 13702 13703func (s *MissingVersionException) Error() string { 13704 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13705} 13706 13707// Status code returns the HTTP status code for the request's response error. 13708func (s *MissingVersionException) StatusCode() int { 13709 return s.RespMetadata.StatusCode 13710} 13711 13712// RequestID returns the service's response RequestID for request. 13713func (s *MissingVersionException) RequestID() string { 13714 return s.RespMetadata.RequestID 13715} 13716 13717// Details on a volume mount point that is used in a container definition. 13718type MountPoint struct { 13719 _ struct{} `type:"structure"` 13720 13721 // The path on the container to mount the host volume at. 13722 ContainerPath *string `locationName:"containerPath" type:"string"` 13723 13724 // If this value is true, the container has read-only access to the volume. 13725 // If this value is false, then the container can write to the volume. The default 13726 // value is false. 13727 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 13728 13729 // The name of the volume to mount. Must be a volume name referenced in the 13730 // name parameter of task definition volume. 13731 SourceVolume *string `locationName:"sourceVolume" type:"string"` 13732} 13733 13734// String returns the string representation 13735func (s MountPoint) String() string { 13736 return awsutil.Prettify(s) 13737} 13738 13739// GoString returns the string representation 13740func (s MountPoint) GoString() string { 13741 return s.String() 13742} 13743 13744// SetContainerPath sets the ContainerPath field's value. 13745func (s *MountPoint) SetContainerPath(v string) *MountPoint { 13746 s.ContainerPath = &v 13747 return s 13748} 13749 13750// SetReadOnly sets the ReadOnly field's value. 13751func (s *MountPoint) SetReadOnly(v bool) *MountPoint { 13752 s.ReadOnly = &v 13753 return s 13754} 13755 13756// SetSourceVolume sets the SourceVolume field's value. 13757func (s *MountPoint) SetSourceVolume(v string) *MountPoint { 13758 s.SourceVolume = &v 13759 return s 13760} 13761 13762// Details on the network bindings between a container and its host container 13763// instance. After a task reaches the RUNNING status, manual and automatic host 13764// and container port assignments are visible in the networkBindings section 13765// of DescribeTasks API responses. 13766type NetworkBinding struct { 13767 _ struct{} `type:"structure"` 13768 13769 // The IP address that the container is bound to on the container instance. 13770 BindIP *string `locationName:"bindIP" type:"string"` 13771 13772 // The port number on the container that is used with the network binding. 13773 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 13774 13775 // The port number on the host that is used with the network binding. 13776 HostPort *int64 `locationName:"hostPort" type:"integer"` 13777 13778 // The protocol used for the network binding. 13779 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 13780} 13781 13782// String returns the string representation 13783func (s NetworkBinding) String() string { 13784 return awsutil.Prettify(s) 13785} 13786 13787// GoString returns the string representation 13788func (s NetworkBinding) GoString() string { 13789 return s.String() 13790} 13791 13792// SetBindIP sets the BindIP field's value. 13793func (s *NetworkBinding) SetBindIP(v string) *NetworkBinding { 13794 s.BindIP = &v 13795 return s 13796} 13797 13798// SetContainerPort sets the ContainerPort field's value. 13799func (s *NetworkBinding) SetContainerPort(v int64) *NetworkBinding { 13800 s.ContainerPort = &v 13801 return s 13802} 13803 13804// SetHostPort sets the HostPort field's value. 13805func (s *NetworkBinding) SetHostPort(v int64) *NetworkBinding { 13806 s.HostPort = &v 13807 return s 13808} 13809 13810// SetProtocol sets the Protocol field's value. 13811func (s *NetworkBinding) SetProtocol(v string) *NetworkBinding { 13812 s.Protocol = &v 13813 return s 13814} 13815 13816// An object representing the network configuration for a task or service. 13817type NetworkConfiguration struct { 13818 _ struct{} `type:"structure"` 13819 13820 // The VPC subnets and security groups associated with a task. 13821 // 13822 // All specified subnets and security groups must be from the same VPC. 13823 AwsvpcConfiguration *AwsVpcConfiguration `locationName:"awsvpcConfiguration" type:"structure"` 13824} 13825 13826// String returns the string representation 13827func (s NetworkConfiguration) String() string { 13828 return awsutil.Prettify(s) 13829} 13830 13831// GoString returns the string representation 13832func (s NetworkConfiguration) GoString() string { 13833 return s.String() 13834} 13835 13836// Validate inspects the fields of the type to determine if they are valid. 13837func (s *NetworkConfiguration) Validate() error { 13838 invalidParams := request.ErrInvalidParams{Context: "NetworkConfiguration"} 13839 if s.AwsvpcConfiguration != nil { 13840 if err := s.AwsvpcConfiguration.Validate(); err != nil { 13841 invalidParams.AddNested("AwsvpcConfiguration", err.(request.ErrInvalidParams)) 13842 } 13843 } 13844 13845 if invalidParams.Len() > 0 { 13846 return invalidParams 13847 } 13848 return nil 13849} 13850 13851// SetAwsvpcConfiguration sets the AwsvpcConfiguration field's value. 13852func (s *NetworkConfiguration) SetAwsvpcConfiguration(v *AwsVpcConfiguration) *NetworkConfiguration { 13853 s.AwsvpcConfiguration = v 13854 return s 13855} 13856 13857// An object representing the elastic network interface for tasks that use the 13858// awsvpc network mode. 13859type NetworkInterface struct { 13860 _ struct{} `type:"structure"` 13861 13862 // The attachment ID for the network interface. 13863 AttachmentId *string `locationName:"attachmentId" type:"string"` 13864 13865 // The private IPv6 address for the network interface. 13866 Ipv6Address *string `locationName:"ipv6Address" type:"string"` 13867 13868 // The private IPv4 address for the network interface. 13869 PrivateIpv4Address *string `locationName:"privateIpv4Address" type:"string"` 13870} 13871 13872// String returns the string representation 13873func (s NetworkInterface) String() string { 13874 return awsutil.Prettify(s) 13875} 13876 13877// GoString returns the string representation 13878func (s NetworkInterface) GoString() string { 13879 return s.String() 13880} 13881 13882// SetAttachmentId sets the AttachmentId field's value. 13883func (s *NetworkInterface) SetAttachmentId(v string) *NetworkInterface { 13884 s.AttachmentId = &v 13885 return s 13886} 13887 13888// SetIpv6Address sets the Ipv6Address field's value. 13889func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface { 13890 s.Ipv6Address = &v 13891 return s 13892} 13893 13894// SetPrivateIpv4Address sets the PrivateIpv4Address field's value. 13895func (s *NetworkInterface) SetPrivateIpv4Address(v string) *NetworkInterface { 13896 s.PrivateIpv4Address = &v 13897 return s 13898} 13899 13900// There is no update available for this Amazon ECS container agent. This could 13901// be because the agent is already running the latest version, or it is so old 13902// that there is no update path to the current version. 13903type NoUpdateAvailableException struct { 13904 _ struct{} `type:"structure"` 13905 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 13906 13907 Message_ *string `locationName:"message" type:"string"` 13908} 13909 13910// String returns the string representation 13911func (s NoUpdateAvailableException) String() string { 13912 return awsutil.Prettify(s) 13913} 13914 13915// GoString returns the string representation 13916func (s NoUpdateAvailableException) GoString() string { 13917 return s.String() 13918} 13919 13920func newErrorNoUpdateAvailableException(v protocol.ResponseMetadata) error { 13921 return &NoUpdateAvailableException{ 13922 RespMetadata: v, 13923 } 13924} 13925 13926// Code returns the exception type name. 13927func (s *NoUpdateAvailableException) Code() string { 13928 return "NoUpdateAvailableException" 13929} 13930 13931// Message returns the exception's message. 13932func (s *NoUpdateAvailableException) Message() string { 13933 if s.Message_ != nil { 13934 return *s.Message_ 13935 } 13936 return "" 13937} 13938 13939// OrigErr always returns nil, satisfies awserr.Error interface. 13940func (s *NoUpdateAvailableException) OrigErr() error { 13941 return nil 13942} 13943 13944func (s *NoUpdateAvailableException) Error() string { 13945 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 13946} 13947 13948// Status code returns the HTTP status code for the request's response error. 13949func (s *NoUpdateAvailableException) StatusCode() int { 13950 return s.RespMetadata.StatusCode 13951} 13952 13953// RequestID returns the service's response RequestID for request. 13954func (s *NoUpdateAvailableException) RequestID() string { 13955 return s.RespMetadata.RequestID 13956} 13957 13958// An object representing a constraint on task placement. For more information, 13959// see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 13960// in the Amazon Elastic Container Service Developer Guide. 13961// 13962// If you are using the Fargate launch type, task placement constraints are 13963// not supported. 13964type PlacementConstraint struct { 13965 _ struct{} `type:"structure"` 13966 13967 // A cluster query language expression to apply to the constraint. You cannot 13968 // specify an expression if the constraint type is distinctInstance. For more 13969 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 13970 // in the Amazon Elastic Container Service Developer Guide. 13971 Expression *string `locationName:"expression" type:"string"` 13972 13973 // The type of constraint. Use distinctInstance to ensure that each task in 13974 // a particular group is running on a different container instance. Use memberOf 13975 // to restrict the selection to a group of valid candidates. 13976 Type *string `locationName:"type" type:"string" enum:"PlacementConstraintType"` 13977} 13978 13979// String returns the string representation 13980func (s PlacementConstraint) String() string { 13981 return awsutil.Prettify(s) 13982} 13983 13984// GoString returns the string representation 13985func (s PlacementConstraint) GoString() string { 13986 return s.String() 13987} 13988 13989// SetExpression sets the Expression field's value. 13990func (s *PlacementConstraint) SetExpression(v string) *PlacementConstraint { 13991 s.Expression = &v 13992 return s 13993} 13994 13995// SetType sets the Type field's value. 13996func (s *PlacementConstraint) SetType(v string) *PlacementConstraint { 13997 s.Type = &v 13998 return s 13999} 14000 14001// The task placement strategy for a task or service. For more information, 14002// see Task Placement Strategies (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) 14003// in the Amazon Elastic Container Service Developer Guide. 14004type PlacementStrategy struct { 14005 _ struct{} `type:"structure"` 14006 14007 // The field to apply the placement strategy against. For the spread placement 14008 // strategy, valid values are instanceId (or host, which has the same effect), 14009 // or any platform or custom attribute that is applied to a container instance, 14010 // such as attribute:ecs.availability-zone. For the binpack placement strategy, 14011 // valid values are cpu and memory. For the random placement strategy, this 14012 // field is not used. 14013 Field *string `locationName:"field" type:"string"` 14014 14015 // The type of placement strategy. The random placement strategy randomly places 14016 // tasks on available candidates. The spread placement strategy spreads placement 14017 // across available candidates evenly based on the field parameter. The binpack 14018 // strategy places tasks on available candidates that have the least available 14019 // amount of the resource that is specified with the field parameter. For example, 14020 // if you binpack on memory, a task is placed on the instance with the least 14021 // amount of remaining memory (but still enough to run the task). 14022 Type *string `locationName:"type" type:"string" enum:"PlacementStrategyType"` 14023} 14024 14025// String returns the string representation 14026func (s PlacementStrategy) String() string { 14027 return awsutil.Prettify(s) 14028} 14029 14030// GoString returns the string representation 14031func (s PlacementStrategy) GoString() string { 14032 return s.String() 14033} 14034 14035// SetField sets the Field field's value. 14036func (s *PlacementStrategy) SetField(v string) *PlacementStrategy { 14037 s.Field = &v 14038 return s 14039} 14040 14041// SetType sets the Type field's value. 14042func (s *PlacementStrategy) SetType(v string) *PlacementStrategy { 14043 s.Type = &v 14044 return s 14045} 14046 14047// The devices that are available on the container instance. The only supported 14048// device type is a GPU. 14049type PlatformDevice struct { 14050 _ struct{} `type:"structure"` 14051 14052 // The ID for the GPU(s) on the container instance. The available GPU IDs can 14053 // also be obtained on the container instance in the /var/lib/ecs/gpu/nvidia_gpu_info.json 14054 // file. 14055 // 14056 // Id is a required field 14057 Id *string `locationName:"id" type:"string" required:"true"` 14058 14059 // The type of device that is available on the container instance. The only 14060 // supported value is GPU. 14061 // 14062 // Type is a required field 14063 Type *string `locationName:"type" type:"string" required:"true" enum:"PlatformDeviceType"` 14064} 14065 14066// String returns the string representation 14067func (s PlatformDevice) String() string { 14068 return awsutil.Prettify(s) 14069} 14070 14071// GoString returns the string representation 14072func (s PlatformDevice) GoString() string { 14073 return s.String() 14074} 14075 14076// Validate inspects the fields of the type to determine if they are valid. 14077func (s *PlatformDevice) Validate() error { 14078 invalidParams := request.ErrInvalidParams{Context: "PlatformDevice"} 14079 if s.Id == nil { 14080 invalidParams.Add(request.NewErrParamRequired("Id")) 14081 } 14082 if s.Type == nil { 14083 invalidParams.Add(request.NewErrParamRequired("Type")) 14084 } 14085 14086 if invalidParams.Len() > 0 { 14087 return invalidParams 14088 } 14089 return nil 14090} 14091 14092// SetId sets the Id field's value. 14093func (s *PlatformDevice) SetId(v string) *PlatformDevice { 14094 s.Id = &v 14095 return s 14096} 14097 14098// SetType sets the Type field's value. 14099func (s *PlatformDevice) SetType(v string) *PlatformDevice { 14100 s.Type = &v 14101 return s 14102} 14103 14104// The specified platform version does not satisfy the task definition's required 14105// capabilities. 14106type PlatformTaskDefinitionIncompatibilityException struct { 14107 _ struct{} `type:"structure"` 14108 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14109 14110 Message_ *string `locationName:"message" type:"string"` 14111} 14112 14113// String returns the string representation 14114func (s PlatformTaskDefinitionIncompatibilityException) String() string { 14115 return awsutil.Prettify(s) 14116} 14117 14118// GoString returns the string representation 14119func (s PlatformTaskDefinitionIncompatibilityException) GoString() string { 14120 return s.String() 14121} 14122 14123func newErrorPlatformTaskDefinitionIncompatibilityException(v protocol.ResponseMetadata) error { 14124 return &PlatformTaskDefinitionIncompatibilityException{ 14125 RespMetadata: v, 14126 } 14127} 14128 14129// Code returns the exception type name. 14130func (s *PlatformTaskDefinitionIncompatibilityException) Code() string { 14131 return "PlatformTaskDefinitionIncompatibilityException" 14132} 14133 14134// Message returns the exception's message. 14135func (s *PlatformTaskDefinitionIncompatibilityException) Message() string { 14136 if s.Message_ != nil { 14137 return *s.Message_ 14138 } 14139 return "" 14140} 14141 14142// OrigErr always returns nil, satisfies awserr.Error interface. 14143func (s *PlatformTaskDefinitionIncompatibilityException) OrigErr() error { 14144 return nil 14145} 14146 14147func (s *PlatformTaskDefinitionIncompatibilityException) Error() string { 14148 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14149} 14150 14151// Status code returns the HTTP status code for the request's response error. 14152func (s *PlatformTaskDefinitionIncompatibilityException) StatusCode() int { 14153 return s.RespMetadata.StatusCode 14154} 14155 14156// RequestID returns the service's response RequestID for request. 14157func (s *PlatformTaskDefinitionIncompatibilityException) RequestID() string { 14158 return s.RespMetadata.RequestID 14159} 14160 14161// The specified platform version does not exist. 14162type PlatformUnknownException struct { 14163 _ struct{} `type:"structure"` 14164 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 14165 14166 Message_ *string `locationName:"message" type:"string"` 14167} 14168 14169// String returns the string representation 14170func (s PlatformUnknownException) String() string { 14171 return awsutil.Prettify(s) 14172} 14173 14174// GoString returns the string representation 14175func (s PlatformUnknownException) GoString() string { 14176 return s.String() 14177} 14178 14179func newErrorPlatformUnknownException(v protocol.ResponseMetadata) error { 14180 return &PlatformUnknownException{ 14181 RespMetadata: v, 14182 } 14183} 14184 14185// Code returns the exception type name. 14186func (s *PlatformUnknownException) Code() string { 14187 return "PlatformUnknownException" 14188} 14189 14190// Message returns the exception's message. 14191func (s *PlatformUnknownException) Message() string { 14192 if s.Message_ != nil { 14193 return *s.Message_ 14194 } 14195 return "" 14196} 14197 14198// OrigErr always returns nil, satisfies awserr.Error interface. 14199func (s *PlatformUnknownException) OrigErr() error { 14200 return nil 14201} 14202 14203func (s *PlatformUnknownException) Error() string { 14204 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 14205} 14206 14207// Status code returns the HTTP status code for the request's response error. 14208func (s *PlatformUnknownException) StatusCode() int { 14209 return s.RespMetadata.StatusCode 14210} 14211 14212// RequestID returns the service's response RequestID for request. 14213func (s *PlatformUnknownException) RequestID() string { 14214 return s.RespMetadata.RequestID 14215} 14216 14217// Port mappings allow containers to access ports on the host container instance 14218// to send or receive traffic. Port mappings are specified as part of the container 14219// definition. 14220// 14221// If you are using containers in a task with the awsvpc or host network mode, 14222// exposed ports should be specified using containerPort. The hostPort can be 14223// left blank or it must be the same value as the containerPort. 14224// 14225// After a task reaches the RUNNING status, manual and automatic host and container 14226// port assignments are visible in the networkBindings section of DescribeTasks 14227// API responses. 14228type PortMapping struct { 14229 _ struct{} `type:"structure"` 14230 14231 // The port number on the container that is bound to the user-specified or automatically 14232 // assigned host port. 14233 // 14234 // If you are using containers in a task with the awsvpc or host network mode, 14235 // exposed ports should be specified using containerPort. 14236 // 14237 // If you are using containers in a task with the bridge network mode and you 14238 // specify a container port and not a host port, your container automatically 14239 // receives a host port in the ephemeral port range. For more information, see 14240 // hostPort. Port mappings that are automatically assigned in this way do not 14241 // count toward the 100 reserved ports limit of a container instance. 14242 // 14243 // You cannot expose the same container port for multiple protocols. An error 14244 // will be returned if this is attempted. 14245 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 14246 14247 // The port number on the container instance to reserve for your container. 14248 // 14249 // If you are using containers in a task with the awsvpc or host network mode, 14250 // the hostPort can either be left blank or set to the same value as the containerPort. 14251 // 14252 // If you are using containers in a task with the bridge network mode, you can 14253 // specify a non-reserved host port for your container port mapping, or you 14254 // can omit the hostPort (or set it to 0) while specifying a containerPort and 14255 // your container automatically receives a port in the ephemeral port range 14256 // for your container instance operating system and Docker version. 14257 // 14258 // The default ephemeral port range for Docker version 1.6.0 and later is listed 14259 // on the instance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel 14260 // parameter is unavailable, the default ephemeral port range from 49153 through 14261 // 65535 is used. Do not attempt to specify a host port in the ephemeral port 14262 // range as these are reserved for automatic assignment. In general, ports below 14263 // 32768 are outside of the ephemeral port range. 14264 // 14265 // The default ephemeral port range from 49153 through 65535 is always used 14266 // for Docker versions before 1.6.0. 14267 // 14268 // The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, 14269 // and the Amazon ECS container agent ports 51678-51680. Any host port that 14270 // was previously specified in a running task is also reserved while the task 14271 // is running (after a task stops, the host port is released). The current reserved 14272 // ports are displayed in the remainingResources of DescribeContainerInstances 14273 // output. A container instance can have up to 100 reserved ports at a time, 14274 // including the default reserved ports. Automatically assigned ports don't 14275 // count toward the 100 reserved ports limit. 14276 HostPort *int64 `locationName:"hostPort" type:"integer"` 14277 14278 // The protocol used for the port mapping. Valid values are tcp and udp. The 14279 // default is tcp. 14280 Protocol *string `locationName:"protocol" type:"string" enum:"TransportProtocol"` 14281} 14282 14283// String returns the string representation 14284func (s PortMapping) String() string { 14285 return awsutil.Prettify(s) 14286} 14287 14288// GoString returns the string representation 14289func (s PortMapping) GoString() string { 14290 return s.String() 14291} 14292 14293// SetContainerPort sets the ContainerPort field's value. 14294func (s *PortMapping) SetContainerPort(v int64) *PortMapping { 14295 s.ContainerPort = &v 14296 return s 14297} 14298 14299// SetHostPort sets the HostPort field's value. 14300func (s *PortMapping) SetHostPort(v int64) *PortMapping { 14301 s.HostPort = &v 14302 return s 14303} 14304 14305// SetProtocol sets the Protocol field's value. 14306func (s *PortMapping) SetProtocol(v string) *PortMapping { 14307 s.Protocol = &v 14308 return s 14309} 14310 14311// The configuration details for the App Mesh proxy. 14312// 14313// For tasks using the EC2 launch type, the container instances require at least 14314// version 1.26.0 of the container agent and at least version 1.26.0-1 of the 14315// ecs-init package to enable a proxy configuration. If your container instances 14316// are launched from the Amazon ECS-optimized AMI version 20190301 or later, 14317// then they contain the required versions of the container agent and ecs-init. 14318// For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 14319// in the Amazon Elastic Container Service Developer Guide. 14320// 14321// For tasks using the Fargate launch type, the task or service requires platform 14322// version 1.3.0 or later. 14323type ProxyConfiguration struct { 14324 _ struct{} `type:"structure"` 14325 14326 // The name of the container that will serve as the App Mesh proxy. 14327 // 14328 // ContainerName is a required field 14329 ContainerName *string `locationName:"containerName" type:"string" required:"true"` 14330 14331 // The set of network configuration parameters to provide the Container Network 14332 // Interface (CNI) plugin, specified as key-value pairs. 14333 // 14334 // * IgnoredUID - (Required) The user ID (UID) of the proxy container as 14335 // defined by the user parameter in a container definition. This is used 14336 // to ensure the proxy ignores its own traffic. If IgnoredGID is specified, 14337 // this field can be empty. 14338 // 14339 // * IgnoredGID - (Required) The group ID (GID) of the proxy container as 14340 // defined by the user parameter in a container definition. This is used 14341 // to ensure the proxy ignores its own traffic. If IgnoredUID is specified, 14342 // this field can be empty. 14343 // 14344 // * AppPorts - (Required) The list of ports that the application uses. Network 14345 // traffic to these ports is forwarded to the ProxyIngressPort and ProxyEgressPort. 14346 // 14347 // * ProxyIngressPort - (Required) Specifies the port that incoming traffic 14348 // to the AppPorts is directed to. 14349 // 14350 // * ProxyEgressPort - (Required) Specifies the port that outgoing traffic 14351 // from the AppPorts is directed to. 14352 // 14353 // * EgressIgnoredPorts - (Required) The egress traffic going to the specified 14354 // ports is ignored and not redirected to the ProxyEgressPort. It can be 14355 // an empty list. 14356 // 14357 // * EgressIgnoredIPs - (Required) The egress traffic going to the specified 14358 // IP addresses is ignored and not redirected to the ProxyEgressPort. It 14359 // can be an empty list. 14360 Properties []*KeyValuePair `locationName:"properties" type:"list"` 14361 14362 // The proxy type. The only supported value is APPMESH. 14363 Type *string `locationName:"type" type:"string" enum:"ProxyConfigurationType"` 14364} 14365 14366// String returns the string representation 14367func (s ProxyConfiguration) String() string { 14368 return awsutil.Prettify(s) 14369} 14370 14371// GoString returns the string representation 14372func (s ProxyConfiguration) GoString() string { 14373 return s.String() 14374} 14375 14376// Validate inspects the fields of the type to determine if they are valid. 14377func (s *ProxyConfiguration) Validate() error { 14378 invalidParams := request.ErrInvalidParams{Context: "ProxyConfiguration"} 14379 if s.ContainerName == nil { 14380 invalidParams.Add(request.NewErrParamRequired("ContainerName")) 14381 } 14382 14383 if invalidParams.Len() > 0 { 14384 return invalidParams 14385 } 14386 return nil 14387} 14388 14389// SetContainerName sets the ContainerName field's value. 14390func (s *ProxyConfiguration) SetContainerName(v string) *ProxyConfiguration { 14391 s.ContainerName = &v 14392 return s 14393} 14394 14395// SetProperties sets the Properties field's value. 14396func (s *ProxyConfiguration) SetProperties(v []*KeyValuePair) *ProxyConfiguration { 14397 s.Properties = v 14398 return s 14399} 14400 14401// SetType sets the Type field's value. 14402func (s *ProxyConfiguration) SetType(v string) *ProxyConfiguration { 14403 s.Type = &v 14404 return s 14405} 14406 14407type PutAccountSettingDefaultInput struct { 14408 _ struct{} `type:"structure"` 14409 14410 // The resource name for which to modify the account setting. If serviceLongArnFormat 14411 // is specified, the ARN for your Amazon ECS services is affected. If taskLongArnFormat 14412 // is specified, the ARN and resource ID for your Amazon ECS tasks is affected. 14413 // If containerInstanceLongArnFormat is specified, the ARN and resource ID for 14414 // your Amazon ECS container instances is affected. If awsvpcTrunking is specified, 14415 // the ENI limit for your Amazon ECS container instances is affected. If containerInsights 14416 // is specified, the default setting for CloudWatch Container Insights for your 14417 // clusters is affected. 14418 // 14419 // Name is a required field 14420 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14421 14422 // The account setting value for the specified principal ARN. Accepted values 14423 // are enabled and disabled. 14424 // 14425 // Value is a required field 14426 Value *string `locationName:"value" type:"string" required:"true"` 14427} 14428 14429// String returns the string representation 14430func (s PutAccountSettingDefaultInput) String() string { 14431 return awsutil.Prettify(s) 14432} 14433 14434// GoString returns the string representation 14435func (s PutAccountSettingDefaultInput) GoString() string { 14436 return s.String() 14437} 14438 14439// Validate inspects the fields of the type to determine if they are valid. 14440func (s *PutAccountSettingDefaultInput) Validate() error { 14441 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingDefaultInput"} 14442 if s.Name == nil { 14443 invalidParams.Add(request.NewErrParamRequired("Name")) 14444 } 14445 if s.Value == nil { 14446 invalidParams.Add(request.NewErrParamRequired("Value")) 14447 } 14448 14449 if invalidParams.Len() > 0 { 14450 return invalidParams 14451 } 14452 return nil 14453} 14454 14455// SetName sets the Name field's value. 14456func (s *PutAccountSettingDefaultInput) SetName(v string) *PutAccountSettingDefaultInput { 14457 s.Name = &v 14458 return s 14459} 14460 14461// SetValue sets the Value field's value. 14462func (s *PutAccountSettingDefaultInput) SetValue(v string) *PutAccountSettingDefaultInput { 14463 s.Value = &v 14464 return s 14465} 14466 14467type PutAccountSettingDefaultOutput struct { 14468 _ struct{} `type:"structure"` 14469 14470 // The current account setting for a resource. 14471 Setting *Setting `locationName:"setting" type:"structure"` 14472} 14473 14474// String returns the string representation 14475func (s PutAccountSettingDefaultOutput) String() string { 14476 return awsutil.Prettify(s) 14477} 14478 14479// GoString returns the string representation 14480func (s PutAccountSettingDefaultOutput) GoString() string { 14481 return s.String() 14482} 14483 14484// SetSetting sets the Setting field's value. 14485func (s *PutAccountSettingDefaultOutput) SetSetting(v *Setting) *PutAccountSettingDefaultOutput { 14486 s.Setting = v 14487 return s 14488} 14489 14490type PutAccountSettingInput struct { 14491 _ struct{} `type:"structure"` 14492 14493 // The Amazon ECS resource name for which to modify the account setting. If 14494 // serviceLongArnFormat is specified, the ARN for your Amazon ECS services is 14495 // affected. If taskLongArnFormat is specified, the ARN and resource ID for 14496 // your Amazon ECS tasks is affected. If containerInstanceLongArnFormat is specified, 14497 // the ARN and resource ID for your Amazon ECS container instances is affected. 14498 // If awsvpcTrunking is specified, the elastic network interface (ENI) limit 14499 // for your Amazon ECS container instances is affected. If containerInsights 14500 // is specified, the default setting for CloudWatch Container Insights for your 14501 // clusters is affected. 14502 // 14503 // Name is a required field 14504 Name *string `locationName:"name" type:"string" required:"true" enum:"SettingName"` 14505 14506 // The ARN of the principal, which can be an IAM user, IAM role, or the root 14507 // user. If you specify the root user, it modifies the account setting for all 14508 // IAM users, IAM roles, and the root user of the account unless an IAM user 14509 // or role explicitly overrides these settings. If this field is omitted, the 14510 // setting is changed only for the authenticated user. 14511 PrincipalArn *string `locationName:"principalArn" type:"string"` 14512 14513 // The account setting value for the specified principal ARN. Accepted values 14514 // are enabled and disabled. 14515 // 14516 // Value is a required field 14517 Value *string `locationName:"value" type:"string" required:"true"` 14518} 14519 14520// String returns the string representation 14521func (s PutAccountSettingInput) String() string { 14522 return awsutil.Prettify(s) 14523} 14524 14525// GoString returns the string representation 14526func (s PutAccountSettingInput) GoString() string { 14527 return s.String() 14528} 14529 14530// Validate inspects the fields of the type to determine if they are valid. 14531func (s *PutAccountSettingInput) Validate() error { 14532 invalidParams := request.ErrInvalidParams{Context: "PutAccountSettingInput"} 14533 if s.Name == nil { 14534 invalidParams.Add(request.NewErrParamRequired("Name")) 14535 } 14536 if s.Value == nil { 14537 invalidParams.Add(request.NewErrParamRequired("Value")) 14538 } 14539 14540 if invalidParams.Len() > 0 { 14541 return invalidParams 14542 } 14543 return nil 14544} 14545 14546// SetName sets the Name field's value. 14547func (s *PutAccountSettingInput) SetName(v string) *PutAccountSettingInput { 14548 s.Name = &v 14549 return s 14550} 14551 14552// SetPrincipalArn sets the PrincipalArn field's value. 14553func (s *PutAccountSettingInput) SetPrincipalArn(v string) *PutAccountSettingInput { 14554 s.PrincipalArn = &v 14555 return s 14556} 14557 14558// SetValue sets the Value field's value. 14559func (s *PutAccountSettingInput) SetValue(v string) *PutAccountSettingInput { 14560 s.Value = &v 14561 return s 14562} 14563 14564type PutAccountSettingOutput struct { 14565 _ struct{} `type:"structure"` 14566 14567 // The current account setting for a resource. 14568 Setting *Setting `locationName:"setting" type:"structure"` 14569} 14570 14571// String returns the string representation 14572func (s PutAccountSettingOutput) String() string { 14573 return awsutil.Prettify(s) 14574} 14575 14576// GoString returns the string representation 14577func (s PutAccountSettingOutput) GoString() string { 14578 return s.String() 14579} 14580 14581// SetSetting sets the Setting field's value. 14582func (s *PutAccountSettingOutput) SetSetting(v *Setting) *PutAccountSettingOutput { 14583 s.Setting = v 14584 return s 14585} 14586 14587type PutAttributesInput struct { 14588 _ struct{} `type:"structure"` 14589 14590 // The attributes to apply to your resource. You can specify up to 10 custom 14591 // attributes per resource. You can specify up to 10 attributes in a single 14592 // call. 14593 // 14594 // Attributes is a required field 14595 Attributes []*Attribute `locationName:"attributes" type:"list" required:"true"` 14596 14597 // The short name or full Amazon Resource Name (ARN) of the cluster that contains 14598 // the resource to apply attributes. If you do not specify a cluster, the default 14599 // cluster is assumed. 14600 Cluster *string `locationName:"cluster" type:"string"` 14601} 14602 14603// String returns the string representation 14604func (s PutAttributesInput) String() string { 14605 return awsutil.Prettify(s) 14606} 14607 14608// GoString returns the string representation 14609func (s PutAttributesInput) GoString() string { 14610 return s.String() 14611} 14612 14613// Validate inspects the fields of the type to determine if they are valid. 14614func (s *PutAttributesInput) Validate() error { 14615 invalidParams := request.ErrInvalidParams{Context: "PutAttributesInput"} 14616 if s.Attributes == nil { 14617 invalidParams.Add(request.NewErrParamRequired("Attributes")) 14618 } 14619 if s.Attributes != nil { 14620 for i, v := range s.Attributes { 14621 if v == nil { 14622 continue 14623 } 14624 if err := v.Validate(); err != nil { 14625 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14626 } 14627 } 14628 } 14629 14630 if invalidParams.Len() > 0 { 14631 return invalidParams 14632 } 14633 return nil 14634} 14635 14636// SetAttributes sets the Attributes field's value. 14637func (s *PutAttributesInput) SetAttributes(v []*Attribute) *PutAttributesInput { 14638 s.Attributes = v 14639 return s 14640} 14641 14642// SetCluster sets the Cluster field's value. 14643func (s *PutAttributesInput) SetCluster(v string) *PutAttributesInput { 14644 s.Cluster = &v 14645 return s 14646} 14647 14648type PutAttributesOutput struct { 14649 _ struct{} `type:"structure"` 14650 14651 // The attributes applied to your resource. 14652 Attributes []*Attribute `locationName:"attributes" type:"list"` 14653} 14654 14655// String returns the string representation 14656func (s PutAttributesOutput) String() string { 14657 return awsutil.Prettify(s) 14658} 14659 14660// GoString returns the string representation 14661func (s PutAttributesOutput) GoString() string { 14662 return s.String() 14663} 14664 14665// SetAttributes sets the Attributes field's value. 14666func (s *PutAttributesOutput) SetAttributes(v []*Attribute) *PutAttributesOutput { 14667 s.Attributes = v 14668 return s 14669} 14670 14671type PutClusterCapacityProvidersInput struct { 14672 _ struct{} `type:"structure"` 14673 14674 // The name of one or more capacity providers to associate with the cluster. 14675 // 14676 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14677 // provider must already be created. New capacity providers can be created with 14678 // the CreateCapacityProvider API operation. 14679 // 14680 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14681 // capacity providers. The AWS Fargate capacity providers are available to all 14682 // accounts and only need to be associated with a cluster to be used. 14683 // 14684 // CapacityProviders is a required field 14685 CapacityProviders []*string `locationName:"capacityProviders" type:"list" required:"true"` 14686 14687 // The short name or full Amazon Resource Name (ARN) of the cluster to modify 14688 // the capacity provider settings for. If you do not specify a cluster, the 14689 // default cluster is assumed. 14690 // 14691 // Cluster is a required field 14692 Cluster *string `locationName:"cluster" type:"string" required:"true"` 14693 14694 // The capacity provider strategy to use by default for the cluster. 14695 // 14696 // When creating a service or running a task on a cluster, if no capacity provider 14697 // or launch type is specified then the default capacity provider strategy for 14698 // the cluster is used. 14699 // 14700 // A capacity provider strategy consists of one or more capacity providers along 14701 // with the base and weight to assign to them. A capacity provider must be associated 14702 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 14703 // API is used to associate a capacity provider with a cluster. Only capacity 14704 // providers with an ACTIVE or UPDATING status can be used. 14705 // 14706 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 14707 // provider must already be created. New capacity providers can be created with 14708 // the CreateCapacityProvider API operation. 14709 // 14710 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 14711 // capacity providers. The AWS Fargate capacity providers are available to all 14712 // accounts and only need to be associated with a cluster to be used. 14713 // 14714 // DefaultCapacityProviderStrategy is a required field 14715 DefaultCapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"defaultCapacityProviderStrategy" type:"list" required:"true"` 14716} 14717 14718// String returns the string representation 14719func (s PutClusterCapacityProvidersInput) String() string { 14720 return awsutil.Prettify(s) 14721} 14722 14723// GoString returns the string representation 14724func (s PutClusterCapacityProvidersInput) GoString() string { 14725 return s.String() 14726} 14727 14728// Validate inspects the fields of the type to determine if they are valid. 14729func (s *PutClusterCapacityProvidersInput) Validate() error { 14730 invalidParams := request.ErrInvalidParams{Context: "PutClusterCapacityProvidersInput"} 14731 if s.CapacityProviders == nil { 14732 invalidParams.Add(request.NewErrParamRequired("CapacityProviders")) 14733 } 14734 if s.Cluster == nil { 14735 invalidParams.Add(request.NewErrParamRequired("Cluster")) 14736 } 14737 if s.DefaultCapacityProviderStrategy == nil { 14738 invalidParams.Add(request.NewErrParamRequired("DefaultCapacityProviderStrategy")) 14739 } 14740 if s.DefaultCapacityProviderStrategy != nil { 14741 for i, v := range s.DefaultCapacityProviderStrategy { 14742 if v == nil { 14743 continue 14744 } 14745 if err := v.Validate(); err != nil { 14746 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultCapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 14747 } 14748 } 14749 } 14750 14751 if invalidParams.Len() > 0 { 14752 return invalidParams 14753 } 14754 return nil 14755} 14756 14757// SetCapacityProviders sets the CapacityProviders field's value. 14758func (s *PutClusterCapacityProvidersInput) SetCapacityProviders(v []*string) *PutClusterCapacityProvidersInput { 14759 s.CapacityProviders = v 14760 return s 14761} 14762 14763// SetCluster sets the Cluster field's value. 14764func (s *PutClusterCapacityProvidersInput) SetCluster(v string) *PutClusterCapacityProvidersInput { 14765 s.Cluster = &v 14766 return s 14767} 14768 14769// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value. 14770func (s *PutClusterCapacityProvidersInput) SetDefaultCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *PutClusterCapacityProvidersInput { 14771 s.DefaultCapacityProviderStrategy = v 14772 return s 14773} 14774 14775type PutClusterCapacityProvidersOutput struct { 14776 _ struct{} `type:"structure"` 14777 14778 // A regional grouping of one or more container instances on which you can run 14779 // task requests. Each account receives a default cluster the first time you 14780 // use the Amazon ECS service, but you may also create other clusters. Clusters 14781 // may contain more than one instance type simultaneously. 14782 Cluster *Cluster `locationName:"cluster" type:"structure"` 14783} 14784 14785// String returns the string representation 14786func (s PutClusterCapacityProvidersOutput) String() string { 14787 return awsutil.Prettify(s) 14788} 14789 14790// GoString returns the string representation 14791func (s PutClusterCapacityProvidersOutput) GoString() string { 14792 return s.String() 14793} 14794 14795// SetCluster sets the Cluster field's value. 14796func (s *PutClusterCapacityProvidersOutput) SetCluster(v *Cluster) *PutClusterCapacityProvidersOutput { 14797 s.Cluster = v 14798 return s 14799} 14800 14801type RegisterContainerInstanceInput struct { 14802 _ struct{} `type:"structure"` 14803 14804 // The container instance attributes that this container instance supports. 14805 Attributes []*Attribute `locationName:"attributes" type:"list"` 14806 14807 // The short name or full Amazon Resource Name (ARN) of the cluster with which 14808 // to register your container instance. If you do not specify a cluster, the 14809 // default cluster is assumed. 14810 Cluster *string `locationName:"cluster" type:"string"` 14811 14812 // The ARN of the container instance (if it was previously registered). 14813 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 14814 14815 // The instance identity document for the EC2 instance to register. This document 14816 // can be found by running the following command from the instance: curl http://169.254.169.254/latest/dynamic/instance-identity/document/ 14817 InstanceIdentityDocument *string `locationName:"instanceIdentityDocument" type:"string"` 14818 14819 // The instance identity document signature for the EC2 instance to register. 14820 // This signature can be found by running the following command from the instance: 14821 // curl http://169.254.169.254/latest/dynamic/instance-identity/signature/ 14822 InstanceIdentityDocumentSignature *string `locationName:"instanceIdentityDocumentSignature" type:"string"` 14823 14824 // The devices that are available on the container instance. The only supported 14825 // device type is a GPU. 14826 PlatformDevices []*PlatformDevice `locationName:"platformDevices" type:"list"` 14827 14828 // The metadata that you apply to the container instance to help you categorize 14829 // and organize them. Each tag consists of a key and an optional value, both 14830 // of which you define. 14831 // 14832 // The following basic restrictions apply to tags: 14833 // 14834 // * Maximum number of tags per resource - 50 14835 // 14836 // * For each resource, each tag key must be unique, and each tag key can 14837 // have only one value. 14838 // 14839 // * Maximum key length - 128 Unicode characters in UTF-8 14840 // 14841 // * Maximum value length - 256 Unicode characters in UTF-8 14842 // 14843 // * If your tagging schema is used across multiple services and resources, 14844 // remember that other services may have restrictions on allowed characters. 14845 // Generally allowed characters are: letters, numbers, and spaces representable 14846 // in UTF-8, and the following characters: + - = . _ : / @. 14847 // 14848 // * Tag keys and values are case-sensitive. 14849 // 14850 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 14851 // as a prefix for either keys or values as it is reserved for AWS use. You 14852 // cannot edit or delete tag keys or values with this prefix. Tags with this 14853 // prefix do not count against your tags per resource limit. 14854 Tags []*Tag `locationName:"tags" type:"list"` 14855 14856 // The resources available on the instance. 14857 TotalResources []*Resource `locationName:"totalResources" type:"list"` 14858 14859 // The version information for the Amazon ECS container agent and Docker daemon 14860 // running on the container instance. 14861 VersionInfo *VersionInfo `locationName:"versionInfo" type:"structure"` 14862} 14863 14864// String returns the string representation 14865func (s RegisterContainerInstanceInput) String() string { 14866 return awsutil.Prettify(s) 14867} 14868 14869// GoString returns the string representation 14870func (s RegisterContainerInstanceInput) GoString() string { 14871 return s.String() 14872} 14873 14874// Validate inspects the fields of the type to determine if they are valid. 14875func (s *RegisterContainerInstanceInput) Validate() error { 14876 invalidParams := request.ErrInvalidParams{Context: "RegisterContainerInstanceInput"} 14877 if s.Attributes != nil { 14878 for i, v := range s.Attributes { 14879 if v == nil { 14880 continue 14881 } 14882 if err := v.Validate(); err != nil { 14883 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attributes", i), err.(request.ErrInvalidParams)) 14884 } 14885 } 14886 } 14887 if s.PlatformDevices != nil { 14888 for i, v := range s.PlatformDevices { 14889 if v == nil { 14890 continue 14891 } 14892 if err := v.Validate(); err != nil { 14893 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlatformDevices", i), err.(request.ErrInvalidParams)) 14894 } 14895 } 14896 } 14897 if s.Tags != nil { 14898 for i, v := range s.Tags { 14899 if v == nil { 14900 continue 14901 } 14902 if err := v.Validate(); err != nil { 14903 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 14904 } 14905 } 14906 } 14907 14908 if invalidParams.Len() > 0 { 14909 return invalidParams 14910 } 14911 return nil 14912} 14913 14914// SetAttributes sets the Attributes field's value. 14915func (s *RegisterContainerInstanceInput) SetAttributes(v []*Attribute) *RegisterContainerInstanceInput { 14916 s.Attributes = v 14917 return s 14918} 14919 14920// SetCluster sets the Cluster field's value. 14921func (s *RegisterContainerInstanceInput) SetCluster(v string) *RegisterContainerInstanceInput { 14922 s.Cluster = &v 14923 return s 14924} 14925 14926// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 14927func (s *RegisterContainerInstanceInput) SetContainerInstanceArn(v string) *RegisterContainerInstanceInput { 14928 s.ContainerInstanceArn = &v 14929 return s 14930} 14931 14932// SetInstanceIdentityDocument sets the InstanceIdentityDocument field's value. 14933func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocument(v string) *RegisterContainerInstanceInput { 14934 s.InstanceIdentityDocument = &v 14935 return s 14936} 14937 14938// SetInstanceIdentityDocumentSignature sets the InstanceIdentityDocumentSignature field's value. 14939func (s *RegisterContainerInstanceInput) SetInstanceIdentityDocumentSignature(v string) *RegisterContainerInstanceInput { 14940 s.InstanceIdentityDocumentSignature = &v 14941 return s 14942} 14943 14944// SetPlatformDevices sets the PlatformDevices field's value. 14945func (s *RegisterContainerInstanceInput) SetPlatformDevices(v []*PlatformDevice) *RegisterContainerInstanceInput { 14946 s.PlatformDevices = v 14947 return s 14948} 14949 14950// SetTags sets the Tags field's value. 14951func (s *RegisterContainerInstanceInput) SetTags(v []*Tag) *RegisterContainerInstanceInput { 14952 s.Tags = v 14953 return s 14954} 14955 14956// SetTotalResources sets the TotalResources field's value. 14957func (s *RegisterContainerInstanceInput) SetTotalResources(v []*Resource) *RegisterContainerInstanceInput { 14958 s.TotalResources = v 14959 return s 14960} 14961 14962// SetVersionInfo sets the VersionInfo field's value. 14963func (s *RegisterContainerInstanceInput) SetVersionInfo(v *VersionInfo) *RegisterContainerInstanceInput { 14964 s.VersionInfo = v 14965 return s 14966} 14967 14968type RegisterContainerInstanceOutput struct { 14969 _ struct{} `type:"structure"` 14970 14971 // The container instance that was registered. 14972 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 14973} 14974 14975// String returns the string representation 14976func (s RegisterContainerInstanceOutput) String() string { 14977 return awsutil.Prettify(s) 14978} 14979 14980// GoString returns the string representation 14981func (s RegisterContainerInstanceOutput) GoString() string { 14982 return s.String() 14983} 14984 14985// SetContainerInstance sets the ContainerInstance field's value. 14986func (s *RegisterContainerInstanceOutput) SetContainerInstance(v *ContainerInstance) *RegisterContainerInstanceOutput { 14987 s.ContainerInstance = v 14988 return s 14989} 14990 14991type RegisterTaskDefinitionInput struct { 14992 _ struct{} `type:"structure"` 14993 14994 // A list of container definitions in JSON format that describe the different 14995 // containers that make up your task. 14996 // 14997 // ContainerDefinitions is a required field 14998 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list" required:"true"` 14999 15000 // The number of CPU units used by the task. It can be expressed as an integer 15001 // using CPU units, for example 1024, or as a string using vCPUs, for example 15002 // 1 vCPU or 1 vcpu, in a task definition. String values are converted to an 15003 // integer indicating the CPU units when the task definition is registered. 15004 // 15005 // Task-level CPU and memory parameters are ignored for Windows containers. 15006 // We recommend specifying container-level resources for Windows containers. 15007 // 15008 // If you are using the EC2 launch type, this field is optional. Supported values 15009 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 15010 // 15011 // If you are using the Fargate launch type, this field is required and you 15012 // must use one of the following values, which determines your range of supported 15013 // values for the memory parameter: 15014 // 15015 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 15016 // 2048 (2 GB) 15017 // 15018 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 15019 // (3 GB), 4096 (4 GB) 15020 // 15021 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 15022 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 15023 // 15024 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 15025 // (16 GB) in increments of 1024 (1 GB) 15026 // 15027 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 15028 // (30 GB) in increments of 1024 (1 GB) 15029 Cpu *string `locationName:"cpu" type:"string"` 15030 15031 // The Amazon Resource Name (ARN) of the task execution role that grants the 15032 // Amazon ECS container agent permission to make AWS API calls on your behalf. 15033 // The task execution IAM role is required depending on the requirements of 15034 // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 15035 // in the Amazon Elastic Container Service Developer Guide. 15036 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 15037 15038 // You must specify a family for a task definition, which allows you to track 15039 // multiple versions of the same task definition. The family is used as a name 15040 // for your task definition. Up to 255 letters (uppercase and lowercase), numbers, 15041 // and hyphens are allowed. 15042 // 15043 // Family is a required field 15044 Family *string `locationName:"family" type:"string" required:"true"` 15045 15046 // The Elastic Inference accelerators to use for the containers in the task. 15047 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 15048 15049 // The IPC resource namespace to use for the containers in the task. The valid 15050 // values are host, task, or none. If host is specified, then all containers 15051 // within the tasks that specified the host IPC mode on the same container instance 15052 // share the same IPC resources with the host Amazon EC2 instance. If task is 15053 // specified, all containers within the specified task share the same IPC resources. 15054 // If none is specified, then IPC resources within the containers of a task 15055 // are private and not shared with other containers in a task or on the container 15056 // instance. If no value is specified, then the IPC resource namespace sharing 15057 // depends on the Docker daemon setting on the container instance. For more 15058 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 15059 // in the Docker run reference. 15060 // 15061 // If the host IPC mode is used, be aware that there is a heightened risk of 15062 // undesired IPC namespace expose. For more information, see Docker security 15063 // (https://docs.docker.com/engine/security/security/). 15064 // 15065 // If you are setting namespaced kernel parameters using systemControls for 15066 // the containers in the task, the following will apply to your IPC resource 15067 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 15068 // in the Amazon Elastic Container Service Developer Guide. 15069 // 15070 // * For tasks that use the host IPC mode, IPC namespace related systemControls 15071 // are not supported. 15072 // 15073 // * For tasks that use the task IPC mode, IPC namespace related systemControls 15074 // will apply to all containers within a task. 15075 // 15076 // This parameter is not supported for Windows containers or tasks using the 15077 // Fargate launch type. 15078 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 15079 15080 // The amount of memory (in MiB) used by the task. It can be expressed as an 15081 // integer using MiB, for example 1024, or as a string using GB, for example 15082 // 1GB or 1 GB, in a task definition. String values are converted to an integer 15083 // indicating the MiB when the task definition is registered. 15084 // 15085 // Task-level CPU and memory parameters are ignored for Windows containers. 15086 // We recommend specifying container-level resources for Windows containers. 15087 // 15088 // If using the EC2 launch type, this field is optional. 15089 // 15090 // If using the Fargate launch type, this field is required and you must use 15091 // one of the following values, which determines your range of supported values 15092 // for the cpu parameter: 15093 // 15094 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 15095 // vCPU) 15096 // 15097 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 15098 // 512 (.5 vCPU) 15099 // 15100 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 15101 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 15102 // 15103 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 15104 // Available cpu values: 2048 (2 vCPU) 15105 // 15106 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 15107 // Available cpu values: 4096 (4 vCPU) 15108 Memory *string `locationName:"memory" type:"string"` 15109 15110 // The Docker networking mode to use for the containers in the task. The valid 15111 // values are none, bridge, awsvpc, and host. The default Docker network mode 15112 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 15113 // is required. If you are using the EC2 launch type, any network mode can be 15114 // used. If the network mode is set to none, you cannot specify port mappings 15115 // in your container definitions, and the tasks containers do not have external 15116 // connectivity. The host and awsvpc network modes offer the highest networking 15117 // performance for containers because they use the EC2 network stack instead 15118 // of the virtualized network stack provided by the bridge mode. 15119 // 15120 // With the host and awsvpc network modes, exposed container ports are mapped 15121 // directly to the corresponding host port (for the host network mode) or the 15122 // attached elastic network interface port (for the awsvpc network mode), so 15123 // you cannot take advantage of dynamic host port mappings. 15124 // 15125 // If the network mode is awsvpc, the task is allocated an elastic network interface, 15126 // and you must specify a NetworkConfiguration value when you create a service 15127 // or run a task with the task definition. For more information, see Task Networking 15128 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15129 // in the Amazon Elastic Container Service Developer Guide. 15130 // 15131 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 15132 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 15133 // mode. 15134 // 15135 // If the network mode is host, you cannot run multiple instantiations of the 15136 // same task on a single container instance when port mappings are used. 15137 // 15138 // Docker for Windows uses different network modes than Docker for Linux. When 15139 // you register a task definition with Windows containers, you must not specify 15140 // a network mode. If you use the console to register a task definition with 15141 // Windows containers, you must choose the <default> network mode object. 15142 // 15143 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 15144 // in the Docker run reference. 15145 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 15146 15147 // The process namespace to use for the containers in the task. The valid values 15148 // are host or task. If host is specified, then all containers within the tasks 15149 // that specified the host PID mode on the same container instance share the 15150 // same process namespace with the host Amazon EC2 instance. If task is specified, 15151 // all containers within the specified task share the same process namespace. 15152 // If no value is specified, the default is a private namespace. For more information, 15153 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 15154 // in the Docker run reference. 15155 // 15156 // If the host PID mode is used, be aware that there is a heightened risk of 15157 // undesired process namespace expose. For more information, see Docker security 15158 // (https://docs.docker.com/engine/security/security/). 15159 // 15160 // This parameter is not supported for Windows containers or tasks using the 15161 // Fargate launch type. 15162 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 15163 15164 // An array of placement constraint objects to use for the task. You can specify 15165 // a maximum of 10 constraints per task (this limit includes constraints in 15166 // the task definition and those specified at runtime). 15167 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 15168 15169 // The configuration details for the App Mesh proxy. 15170 // 15171 // For tasks using the EC2 launch type, the container instances require at least 15172 // version 1.26.0 of the container agent and at least version 1.26.0-1 of the 15173 // ecs-init package to enable a proxy configuration. If your container instances 15174 // are launched from the Amazon ECS-optimized AMI version 20190301 or later, 15175 // then they contain the required versions of the container agent and ecs-init. 15176 // For more information, see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 15177 // in the Amazon Elastic Container Service Developer Guide. 15178 // 15179 // For tasks using the Fargate launch type, the task or service requires platform 15180 // version 1.3.0 or later. 15181 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 15182 15183 // The launch type required by the task. If no value is specified, it defaults 15184 // to EC2. 15185 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 15186 15187 // The metadata that you apply to the task definition to help you categorize 15188 // and organize them. Each tag consists of a key and an optional value, both 15189 // of which you define. 15190 // 15191 // The following basic restrictions apply to tags: 15192 // 15193 // * Maximum number of tags per resource - 50 15194 // 15195 // * For each resource, each tag key must be unique, and each tag key can 15196 // have only one value. 15197 // 15198 // * Maximum key length - 128 Unicode characters in UTF-8 15199 // 15200 // * Maximum value length - 256 Unicode characters in UTF-8 15201 // 15202 // * If your tagging schema is used across multiple services and resources, 15203 // remember that other services may have restrictions on allowed characters. 15204 // Generally allowed characters are: letters, numbers, and spaces representable 15205 // in UTF-8, and the following characters: + - = . _ : / @. 15206 // 15207 // * Tag keys and values are case-sensitive. 15208 // 15209 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15210 // as a prefix for either keys or values as it is reserved for AWS use. You 15211 // cannot edit or delete tag keys or values with this prefix. Tags with this 15212 // prefix do not count against your tags per resource limit. 15213 Tags []*Tag `locationName:"tags" type:"list"` 15214 15215 // The short name or full Amazon Resource Name (ARN) of the IAM role that containers 15216 // in this task can assume. All containers in this task are granted the permissions 15217 // that are specified in this role. For more information, see IAM Roles for 15218 // Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 15219 // in the Amazon Elastic Container Service Developer Guide. 15220 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 15221 15222 // A list of volume definitions in JSON format that containers in your task 15223 // may use. 15224 Volumes []*Volume `locationName:"volumes" type:"list"` 15225} 15226 15227// String returns the string representation 15228func (s RegisterTaskDefinitionInput) String() string { 15229 return awsutil.Prettify(s) 15230} 15231 15232// GoString returns the string representation 15233func (s RegisterTaskDefinitionInput) GoString() string { 15234 return s.String() 15235} 15236 15237// Validate inspects the fields of the type to determine if they are valid. 15238func (s *RegisterTaskDefinitionInput) Validate() error { 15239 invalidParams := request.ErrInvalidParams{Context: "RegisterTaskDefinitionInput"} 15240 if s.ContainerDefinitions == nil { 15241 invalidParams.Add(request.NewErrParamRequired("ContainerDefinitions")) 15242 } 15243 if s.Family == nil { 15244 invalidParams.Add(request.NewErrParamRequired("Family")) 15245 } 15246 if s.ContainerDefinitions != nil { 15247 for i, v := range s.ContainerDefinitions { 15248 if v == nil { 15249 continue 15250 } 15251 if err := v.Validate(); err != nil { 15252 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerDefinitions", i), err.(request.ErrInvalidParams)) 15253 } 15254 } 15255 } 15256 if s.InferenceAccelerators != nil { 15257 for i, v := range s.InferenceAccelerators { 15258 if v == nil { 15259 continue 15260 } 15261 if err := v.Validate(); err != nil { 15262 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InferenceAccelerators", i), err.(request.ErrInvalidParams)) 15263 } 15264 } 15265 } 15266 if s.ProxyConfiguration != nil { 15267 if err := s.ProxyConfiguration.Validate(); err != nil { 15268 invalidParams.AddNested("ProxyConfiguration", err.(request.ErrInvalidParams)) 15269 } 15270 } 15271 if s.Tags != nil { 15272 for i, v := range s.Tags { 15273 if v == nil { 15274 continue 15275 } 15276 if err := v.Validate(); err != nil { 15277 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15278 } 15279 } 15280 } 15281 if s.Volumes != nil { 15282 for i, v := range s.Volumes { 15283 if v == nil { 15284 continue 15285 } 15286 if err := v.Validate(); err != nil { 15287 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Volumes", i), err.(request.ErrInvalidParams)) 15288 } 15289 } 15290 } 15291 15292 if invalidParams.Len() > 0 { 15293 return invalidParams 15294 } 15295 return nil 15296} 15297 15298// SetContainerDefinitions sets the ContainerDefinitions field's value. 15299func (s *RegisterTaskDefinitionInput) SetContainerDefinitions(v []*ContainerDefinition) *RegisterTaskDefinitionInput { 15300 s.ContainerDefinitions = v 15301 return s 15302} 15303 15304// SetCpu sets the Cpu field's value. 15305func (s *RegisterTaskDefinitionInput) SetCpu(v string) *RegisterTaskDefinitionInput { 15306 s.Cpu = &v 15307 return s 15308} 15309 15310// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 15311func (s *RegisterTaskDefinitionInput) SetExecutionRoleArn(v string) *RegisterTaskDefinitionInput { 15312 s.ExecutionRoleArn = &v 15313 return s 15314} 15315 15316// SetFamily sets the Family field's value. 15317func (s *RegisterTaskDefinitionInput) SetFamily(v string) *RegisterTaskDefinitionInput { 15318 s.Family = &v 15319 return s 15320} 15321 15322// SetInferenceAccelerators sets the InferenceAccelerators field's value. 15323func (s *RegisterTaskDefinitionInput) SetInferenceAccelerators(v []*InferenceAccelerator) *RegisterTaskDefinitionInput { 15324 s.InferenceAccelerators = v 15325 return s 15326} 15327 15328// SetIpcMode sets the IpcMode field's value. 15329func (s *RegisterTaskDefinitionInput) SetIpcMode(v string) *RegisterTaskDefinitionInput { 15330 s.IpcMode = &v 15331 return s 15332} 15333 15334// SetMemory sets the Memory field's value. 15335func (s *RegisterTaskDefinitionInput) SetMemory(v string) *RegisterTaskDefinitionInput { 15336 s.Memory = &v 15337 return s 15338} 15339 15340// SetNetworkMode sets the NetworkMode field's value. 15341func (s *RegisterTaskDefinitionInput) SetNetworkMode(v string) *RegisterTaskDefinitionInput { 15342 s.NetworkMode = &v 15343 return s 15344} 15345 15346// SetPidMode sets the PidMode field's value. 15347func (s *RegisterTaskDefinitionInput) SetPidMode(v string) *RegisterTaskDefinitionInput { 15348 s.PidMode = &v 15349 return s 15350} 15351 15352// SetPlacementConstraints sets the PlacementConstraints field's value. 15353func (s *RegisterTaskDefinitionInput) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *RegisterTaskDefinitionInput { 15354 s.PlacementConstraints = v 15355 return s 15356} 15357 15358// SetProxyConfiguration sets the ProxyConfiguration field's value. 15359func (s *RegisterTaskDefinitionInput) SetProxyConfiguration(v *ProxyConfiguration) *RegisterTaskDefinitionInput { 15360 s.ProxyConfiguration = v 15361 return s 15362} 15363 15364// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 15365func (s *RegisterTaskDefinitionInput) SetRequiresCompatibilities(v []*string) *RegisterTaskDefinitionInput { 15366 s.RequiresCompatibilities = v 15367 return s 15368} 15369 15370// SetTags sets the Tags field's value. 15371func (s *RegisterTaskDefinitionInput) SetTags(v []*Tag) *RegisterTaskDefinitionInput { 15372 s.Tags = v 15373 return s 15374} 15375 15376// SetTaskRoleArn sets the TaskRoleArn field's value. 15377func (s *RegisterTaskDefinitionInput) SetTaskRoleArn(v string) *RegisterTaskDefinitionInput { 15378 s.TaskRoleArn = &v 15379 return s 15380} 15381 15382// SetVolumes sets the Volumes field's value. 15383func (s *RegisterTaskDefinitionInput) SetVolumes(v []*Volume) *RegisterTaskDefinitionInput { 15384 s.Volumes = v 15385 return s 15386} 15387 15388type RegisterTaskDefinitionOutput struct { 15389 _ struct{} `type:"structure"` 15390 15391 // The list of tags associated with the task definition. 15392 Tags []*Tag `locationName:"tags" type:"list"` 15393 15394 // The full description of the registered task definition. 15395 TaskDefinition *TaskDefinition `locationName:"taskDefinition" type:"structure"` 15396} 15397 15398// String returns the string representation 15399func (s RegisterTaskDefinitionOutput) String() string { 15400 return awsutil.Prettify(s) 15401} 15402 15403// GoString returns the string representation 15404func (s RegisterTaskDefinitionOutput) GoString() string { 15405 return s.String() 15406} 15407 15408// SetTags sets the Tags field's value. 15409func (s *RegisterTaskDefinitionOutput) SetTags(v []*Tag) *RegisterTaskDefinitionOutput { 15410 s.Tags = v 15411 return s 15412} 15413 15414// SetTaskDefinition sets the TaskDefinition field's value. 15415func (s *RegisterTaskDefinitionOutput) SetTaskDefinition(v *TaskDefinition) *RegisterTaskDefinitionOutput { 15416 s.TaskDefinition = v 15417 return s 15418} 15419 15420// The repository credentials for private registry authentication. 15421type RepositoryCredentials struct { 15422 _ struct{} `type:"structure"` 15423 15424 // The Amazon Resource Name (ARN) of the secret containing the private repository 15425 // credentials. 15426 // 15427 // When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the secret 15428 // exists in the same Region as the task that you are launching then you can 15429 // use either the full ARN or the name of the secret. When you are using the 15430 // AWS Management Console, you must specify the full ARN of the secret. 15431 // 15432 // CredentialsParameter is a required field 15433 CredentialsParameter *string `locationName:"credentialsParameter" type:"string" required:"true"` 15434} 15435 15436// String returns the string representation 15437func (s RepositoryCredentials) String() string { 15438 return awsutil.Prettify(s) 15439} 15440 15441// GoString returns the string representation 15442func (s RepositoryCredentials) GoString() string { 15443 return s.String() 15444} 15445 15446// Validate inspects the fields of the type to determine if they are valid. 15447func (s *RepositoryCredentials) Validate() error { 15448 invalidParams := request.ErrInvalidParams{Context: "RepositoryCredentials"} 15449 if s.CredentialsParameter == nil { 15450 invalidParams.Add(request.NewErrParamRequired("CredentialsParameter")) 15451 } 15452 15453 if invalidParams.Len() > 0 { 15454 return invalidParams 15455 } 15456 return nil 15457} 15458 15459// SetCredentialsParameter sets the CredentialsParameter field's value. 15460func (s *RepositoryCredentials) SetCredentialsParameter(v string) *RepositoryCredentials { 15461 s.CredentialsParameter = &v 15462 return s 15463} 15464 15465// Describes the resources available for a container instance. 15466type Resource struct { 15467 _ struct{} `type:"structure"` 15468 15469 // When the doubleValue type is set, the value of the resource must be a double 15470 // precision floating-point type. 15471 DoubleValue *float64 `locationName:"doubleValue" type:"double"` 15472 15473 // When the integerValue type is set, the value of the resource must be an integer. 15474 IntegerValue *int64 `locationName:"integerValue" type:"integer"` 15475 15476 // When the longValue type is set, the value of the resource must be an extended 15477 // precision floating-point type. 15478 LongValue *int64 `locationName:"longValue" type:"long"` 15479 15480 // The name of the resource, such as CPU, MEMORY, PORTS, PORTS_UDP, or a user-defined 15481 // resource. 15482 Name *string `locationName:"name" type:"string"` 15483 15484 // When the stringSetValue type is set, the value of the resource must be a 15485 // string type. 15486 StringSetValue []*string `locationName:"stringSetValue" type:"list"` 15487 15488 // The type of the resource, such as INTEGER, DOUBLE, LONG, or STRINGSET. 15489 Type *string `locationName:"type" type:"string"` 15490} 15491 15492// String returns the string representation 15493func (s Resource) String() string { 15494 return awsutil.Prettify(s) 15495} 15496 15497// GoString returns the string representation 15498func (s Resource) GoString() string { 15499 return s.String() 15500} 15501 15502// SetDoubleValue sets the DoubleValue field's value. 15503func (s *Resource) SetDoubleValue(v float64) *Resource { 15504 s.DoubleValue = &v 15505 return s 15506} 15507 15508// SetIntegerValue sets the IntegerValue field's value. 15509func (s *Resource) SetIntegerValue(v int64) *Resource { 15510 s.IntegerValue = &v 15511 return s 15512} 15513 15514// SetLongValue sets the LongValue field's value. 15515func (s *Resource) SetLongValue(v int64) *Resource { 15516 s.LongValue = &v 15517 return s 15518} 15519 15520// SetName sets the Name field's value. 15521func (s *Resource) SetName(v string) *Resource { 15522 s.Name = &v 15523 return s 15524} 15525 15526// SetStringSetValue sets the StringSetValue field's value. 15527func (s *Resource) SetStringSetValue(v []*string) *Resource { 15528 s.StringSetValue = v 15529 return s 15530} 15531 15532// SetType sets the Type field's value. 15533func (s *Resource) SetType(v string) *Resource { 15534 s.Type = &v 15535 return s 15536} 15537 15538// The specified resource is in-use and cannot be removed. 15539type ResourceInUseException struct { 15540 _ struct{} `type:"structure"` 15541 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15542 15543 Message_ *string `locationName:"message" type:"string"` 15544} 15545 15546// String returns the string representation 15547func (s ResourceInUseException) String() string { 15548 return awsutil.Prettify(s) 15549} 15550 15551// GoString returns the string representation 15552func (s ResourceInUseException) GoString() string { 15553 return s.String() 15554} 15555 15556func newErrorResourceInUseException(v protocol.ResponseMetadata) error { 15557 return &ResourceInUseException{ 15558 RespMetadata: v, 15559 } 15560} 15561 15562// Code returns the exception type name. 15563func (s *ResourceInUseException) Code() string { 15564 return "ResourceInUseException" 15565} 15566 15567// Message returns the exception's message. 15568func (s *ResourceInUseException) Message() string { 15569 if s.Message_ != nil { 15570 return *s.Message_ 15571 } 15572 return "" 15573} 15574 15575// OrigErr always returns nil, satisfies awserr.Error interface. 15576func (s *ResourceInUseException) OrigErr() error { 15577 return nil 15578} 15579 15580func (s *ResourceInUseException) Error() string { 15581 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15582} 15583 15584// Status code returns the HTTP status code for the request's response error. 15585func (s *ResourceInUseException) StatusCode() int { 15586 return s.RespMetadata.StatusCode 15587} 15588 15589// RequestID returns the service's response RequestID for request. 15590func (s *ResourceInUseException) RequestID() string { 15591 return s.RespMetadata.RequestID 15592} 15593 15594// The specified resource could not be found. 15595type ResourceNotFoundException struct { 15596 _ struct{} `type:"structure"` 15597 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 15598 15599 Message_ *string `locationName:"message" type:"string"` 15600} 15601 15602// String returns the string representation 15603func (s ResourceNotFoundException) String() string { 15604 return awsutil.Prettify(s) 15605} 15606 15607// GoString returns the string representation 15608func (s ResourceNotFoundException) GoString() string { 15609 return s.String() 15610} 15611 15612func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 15613 return &ResourceNotFoundException{ 15614 RespMetadata: v, 15615 } 15616} 15617 15618// Code returns the exception type name. 15619func (s *ResourceNotFoundException) Code() string { 15620 return "ResourceNotFoundException" 15621} 15622 15623// Message returns the exception's message. 15624func (s *ResourceNotFoundException) Message() string { 15625 if s.Message_ != nil { 15626 return *s.Message_ 15627 } 15628 return "" 15629} 15630 15631// OrigErr always returns nil, satisfies awserr.Error interface. 15632func (s *ResourceNotFoundException) OrigErr() error { 15633 return nil 15634} 15635 15636func (s *ResourceNotFoundException) Error() string { 15637 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 15638} 15639 15640// Status code returns the HTTP status code for the request's response error. 15641func (s *ResourceNotFoundException) StatusCode() int { 15642 return s.RespMetadata.StatusCode 15643} 15644 15645// RequestID returns the service's response RequestID for request. 15646func (s *ResourceNotFoundException) RequestID() string { 15647 return s.RespMetadata.RequestID 15648} 15649 15650// The type and amount of a resource to assign to a container. The supported 15651// resource types are GPUs and Elastic Inference accelerators. For more information, 15652// see Working with GPUs on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html) 15653// or Working with Amazon Elastic Inference on Amazon ECS (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-eia.html) 15654// in the Amazon Elastic Container Service Developer Guide 15655type ResourceRequirement struct { 15656 _ struct{} `type:"structure"` 15657 15658 // The type of resource to assign to a container. The supported values are GPU 15659 // or InferenceAccelerator. 15660 // 15661 // Type is a required field 15662 Type *string `locationName:"type" type:"string" required:"true" enum:"ResourceType"` 15663 15664 // The value for the specified resource type. 15665 // 15666 // If the GPU type is used, the value is the number of physical GPUs the Amazon 15667 // ECS container agent will reserve for the container. The number of GPUs reserved 15668 // for all containers in a task should not exceed the number of available GPUs 15669 // on the container instance the task is launched on. 15670 // 15671 // If the InferenceAccelerator type is used, the value should match the deviceName 15672 // for an InferenceAccelerator specified in a task definition. 15673 // 15674 // Value is a required field 15675 Value *string `locationName:"value" type:"string" required:"true"` 15676} 15677 15678// String returns the string representation 15679func (s ResourceRequirement) String() string { 15680 return awsutil.Prettify(s) 15681} 15682 15683// GoString returns the string representation 15684func (s ResourceRequirement) GoString() string { 15685 return s.String() 15686} 15687 15688// Validate inspects the fields of the type to determine if they are valid. 15689func (s *ResourceRequirement) Validate() error { 15690 invalidParams := request.ErrInvalidParams{Context: "ResourceRequirement"} 15691 if s.Type == nil { 15692 invalidParams.Add(request.NewErrParamRequired("Type")) 15693 } 15694 if s.Value == nil { 15695 invalidParams.Add(request.NewErrParamRequired("Value")) 15696 } 15697 15698 if invalidParams.Len() > 0 { 15699 return invalidParams 15700 } 15701 return nil 15702} 15703 15704// SetType sets the Type field's value. 15705func (s *ResourceRequirement) SetType(v string) *ResourceRequirement { 15706 s.Type = &v 15707 return s 15708} 15709 15710// SetValue sets the Value field's value. 15711func (s *ResourceRequirement) SetValue(v string) *ResourceRequirement { 15712 s.Value = &v 15713 return s 15714} 15715 15716type RunTaskInput struct { 15717 _ struct{} `type:"structure"` 15718 15719 // The capacity provider strategy to use for the task. 15720 // 15721 // A capacity provider strategy consists of one or more capacity providers along 15722 // with the base and weight to assign to them. A capacity provider must be associated 15723 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 15724 // API is used to associate a capacity provider with a cluster. Only capacity 15725 // providers with an ACTIVE or UPDATING status can be used. 15726 // 15727 // If a capacityProviderStrategy is specified, the launchType parameter must 15728 // be omitted. If no capacityProviderStrategy or launchType is specified, the 15729 // defaultCapacityProviderStrategy for the cluster is used. 15730 // 15731 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 15732 // provider must already be created. New capacity providers can be created with 15733 // the CreateCapacityProvider API operation. 15734 // 15735 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 15736 // capacity providers. The AWS Fargate capacity providers are available to all 15737 // accounts and only need to be associated with a cluster to be used. 15738 // 15739 // The PutClusterCapacityProviders API operation is used to update the list 15740 // of available capacity providers for a cluster after the cluster is created. 15741 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 15742 15743 // The short name or full Amazon Resource Name (ARN) of the cluster on which 15744 // to run your task. If you do not specify a cluster, the default cluster is 15745 // assumed. 15746 Cluster *string `locationName:"cluster" type:"string"` 15747 15748 // The number of instantiations of the specified task to place on your cluster. 15749 // You can specify up to 10 tasks per call. 15750 Count *int64 `locationName:"count" type:"integer"` 15751 15752 // Specifies whether to enable Amazon ECS managed tags for the task. For more 15753 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 15754 // in the Amazon Elastic Container Service Developer Guide. 15755 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 15756 15757 // The name of the task group to associate with the task. The default value 15758 // is the family name of the task definition (for example, family:my-family-name). 15759 Group *string `locationName:"group" type:"string"` 15760 15761 // The launch type on which to run your task. For more information, see Amazon 15762 // ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 15763 // in the Amazon Elastic Container Service Developer Guide. 15764 // 15765 // If a launchType is specified, the capacityProviderStrategy parameter must 15766 // be omitted. 15767 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 15768 15769 // The network configuration for the task. This parameter is required for task 15770 // definitions that use the awsvpc network mode to receive their own elastic 15771 // network interface, and it is not supported for other network modes. For more 15772 // information, see Task Networking (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 15773 // in the Amazon Elastic Container Service Developer Guide. 15774 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 15775 15776 // A list of container overrides in JSON format that specify the name of a container 15777 // in the specified task definition and the overrides it should receive. You 15778 // can override the default command for a container (that is specified in the 15779 // task definition or Docker image) with a command override. You can also override 15780 // existing environment variables (that are specified in the task definition 15781 // or Docker image) on a container or add new environment variables to it with 15782 // an environment override. 15783 // 15784 // A total of 8192 characters are allowed for overrides. This limit includes 15785 // the JSON formatting characters of the override structure. 15786 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 15787 15788 // An array of placement constraint objects to use for the task. You can specify 15789 // up to 10 constraints per task (including constraints in the task definition 15790 // and those specified at runtime). 15791 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 15792 15793 // The placement strategy objects to use for the task. You can specify a maximum 15794 // of five strategy rules per task. 15795 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 15796 15797 // The platform version the task should run. A platform version is only specified 15798 // for tasks using the Fargate launch type. If one is not specified, the LATEST 15799 // platform version is used by default. For more information, see AWS Fargate 15800 // Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 15801 // in the Amazon Elastic Container Service Developer Guide. 15802 PlatformVersion *string `locationName:"platformVersion" type:"string"` 15803 15804 // Specifies whether to propagate the tags from the task definition to the task. 15805 // If no value is specified, the tags are not propagated. Tags can only be propagated 15806 // to the task during task creation. To add tags to a task after task creation, 15807 // use the TagResource API action. 15808 // 15809 // An error will be received if you specify the SERVICE option when running 15810 // a task. 15811 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 15812 15813 // The reference ID to use for the task. 15814 ReferenceId *string `locationName:"referenceId" type:"string"` 15815 15816 // An optional tag specified when a task is started. For example, if you automatically 15817 // trigger a task to run a batch process job, you could apply a unique identifier 15818 // for that job to your task with the startedBy parameter. You can then identify 15819 // which tasks belong to that job by filtering the results of a ListTasks call 15820 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 15821 // hyphens, and underscores are allowed. 15822 // 15823 // If a task is started by an Amazon ECS service, then the startedBy parameter 15824 // contains the deployment ID of the service that starts it. 15825 StartedBy *string `locationName:"startedBy" type:"string"` 15826 15827 // The metadata that you apply to the task to help you categorize and organize 15828 // them. Each tag consists of a key and an optional value, both of which you 15829 // define. 15830 // 15831 // The following basic restrictions apply to tags: 15832 // 15833 // * Maximum number of tags per resource - 50 15834 // 15835 // * For each resource, each tag key must be unique, and each tag key can 15836 // have only one value. 15837 // 15838 // * Maximum key length - 128 Unicode characters in UTF-8 15839 // 15840 // * Maximum value length - 256 Unicode characters in UTF-8 15841 // 15842 // * If your tagging schema is used across multiple services and resources, 15843 // remember that other services may have restrictions on allowed characters. 15844 // Generally allowed characters are: letters, numbers, and spaces representable 15845 // in UTF-8, and the following characters: + - = . _ : / @. 15846 // 15847 // * Tag keys and values are case-sensitive. 15848 // 15849 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 15850 // as a prefix for either keys or values as it is reserved for AWS use. You 15851 // cannot edit or delete tag keys or values with this prefix. Tags with this 15852 // prefix do not count against your tags per resource limit. 15853 Tags []*Tag `locationName:"tags" type:"list"` 15854 15855 // The family and revision (family:revision) or full ARN of the task definition 15856 // to run. If a revision is not specified, the latest ACTIVE revision is used. 15857 // 15858 // TaskDefinition is a required field 15859 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 15860} 15861 15862// String returns the string representation 15863func (s RunTaskInput) String() string { 15864 return awsutil.Prettify(s) 15865} 15866 15867// GoString returns the string representation 15868func (s RunTaskInput) GoString() string { 15869 return s.String() 15870} 15871 15872// Validate inspects the fields of the type to determine if they are valid. 15873func (s *RunTaskInput) Validate() error { 15874 invalidParams := request.ErrInvalidParams{Context: "RunTaskInput"} 15875 if s.TaskDefinition == nil { 15876 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 15877 } 15878 if s.CapacityProviderStrategy != nil { 15879 for i, v := range s.CapacityProviderStrategy { 15880 if v == nil { 15881 continue 15882 } 15883 if err := v.Validate(); err != nil { 15884 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 15885 } 15886 } 15887 } 15888 if s.NetworkConfiguration != nil { 15889 if err := s.NetworkConfiguration.Validate(); err != nil { 15890 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 15891 } 15892 } 15893 if s.Overrides != nil { 15894 if err := s.Overrides.Validate(); err != nil { 15895 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 15896 } 15897 } 15898 if s.Tags != nil { 15899 for i, v := range s.Tags { 15900 if v == nil { 15901 continue 15902 } 15903 if err := v.Validate(); err != nil { 15904 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 15905 } 15906 } 15907 } 15908 15909 if invalidParams.Len() > 0 { 15910 return invalidParams 15911 } 15912 return nil 15913} 15914 15915// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 15916func (s *RunTaskInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *RunTaskInput { 15917 s.CapacityProviderStrategy = v 15918 return s 15919} 15920 15921// SetCluster sets the Cluster field's value. 15922func (s *RunTaskInput) SetCluster(v string) *RunTaskInput { 15923 s.Cluster = &v 15924 return s 15925} 15926 15927// SetCount sets the Count field's value. 15928func (s *RunTaskInput) SetCount(v int64) *RunTaskInput { 15929 s.Count = &v 15930 return s 15931} 15932 15933// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 15934func (s *RunTaskInput) SetEnableECSManagedTags(v bool) *RunTaskInput { 15935 s.EnableECSManagedTags = &v 15936 return s 15937} 15938 15939// SetGroup sets the Group field's value. 15940func (s *RunTaskInput) SetGroup(v string) *RunTaskInput { 15941 s.Group = &v 15942 return s 15943} 15944 15945// SetLaunchType sets the LaunchType field's value. 15946func (s *RunTaskInput) SetLaunchType(v string) *RunTaskInput { 15947 s.LaunchType = &v 15948 return s 15949} 15950 15951// SetNetworkConfiguration sets the NetworkConfiguration field's value. 15952func (s *RunTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *RunTaskInput { 15953 s.NetworkConfiguration = v 15954 return s 15955} 15956 15957// SetOverrides sets the Overrides field's value. 15958func (s *RunTaskInput) SetOverrides(v *TaskOverride) *RunTaskInput { 15959 s.Overrides = v 15960 return s 15961} 15962 15963// SetPlacementConstraints sets the PlacementConstraints field's value. 15964func (s *RunTaskInput) SetPlacementConstraints(v []*PlacementConstraint) *RunTaskInput { 15965 s.PlacementConstraints = v 15966 return s 15967} 15968 15969// SetPlacementStrategy sets the PlacementStrategy field's value. 15970func (s *RunTaskInput) SetPlacementStrategy(v []*PlacementStrategy) *RunTaskInput { 15971 s.PlacementStrategy = v 15972 return s 15973} 15974 15975// SetPlatformVersion sets the PlatformVersion field's value. 15976func (s *RunTaskInput) SetPlatformVersion(v string) *RunTaskInput { 15977 s.PlatformVersion = &v 15978 return s 15979} 15980 15981// SetPropagateTags sets the PropagateTags field's value. 15982func (s *RunTaskInput) SetPropagateTags(v string) *RunTaskInput { 15983 s.PropagateTags = &v 15984 return s 15985} 15986 15987// SetReferenceId sets the ReferenceId field's value. 15988func (s *RunTaskInput) SetReferenceId(v string) *RunTaskInput { 15989 s.ReferenceId = &v 15990 return s 15991} 15992 15993// SetStartedBy sets the StartedBy field's value. 15994func (s *RunTaskInput) SetStartedBy(v string) *RunTaskInput { 15995 s.StartedBy = &v 15996 return s 15997} 15998 15999// SetTags sets the Tags field's value. 16000func (s *RunTaskInput) SetTags(v []*Tag) *RunTaskInput { 16001 s.Tags = v 16002 return s 16003} 16004 16005// SetTaskDefinition sets the TaskDefinition field's value. 16006func (s *RunTaskInput) SetTaskDefinition(v string) *RunTaskInput { 16007 s.TaskDefinition = &v 16008 return s 16009} 16010 16011type RunTaskOutput struct { 16012 _ struct{} `type:"structure"` 16013 16014 // Any failures associated with the call. 16015 Failures []*Failure `locationName:"failures" type:"list"` 16016 16017 // A full description of the tasks that were run. The tasks that were successfully 16018 // placed on your cluster are described here. 16019 Tasks []*Task `locationName:"tasks" type:"list"` 16020} 16021 16022// String returns the string representation 16023func (s RunTaskOutput) String() string { 16024 return awsutil.Prettify(s) 16025} 16026 16027// GoString returns the string representation 16028func (s RunTaskOutput) GoString() string { 16029 return s.String() 16030} 16031 16032// SetFailures sets the Failures field's value. 16033func (s *RunTaskOutput) SetFailures(v []*Failure) *RunTaskOutput { 16034 s.Failures = v 16035 return s 16036} 16037 16038// SetTasks sets the Tasks field's value. 16039func (s *RunTaskOutput) SetTasks(v []*Task) *RunTaskOutput { 16040 s.Tasks = v 16041 return s 16042} 16043 16044// A floating-point percentage of the desired number of tasks to place and keep 16045// running in the task set. 16046type Scale struct { 16047 _ struct{} `type:"structure"` 16048 16049 // The unit of measure for the scale value. 16050 Unit *string `locationName:"unit" type:"string" enum:"ScaleUnit"` 16051 16052 // The value, specified as a percent total of a service's desiredCount, to scale 16053 // the task set. Accepted values are numbers between 0 and 100. 16054 Value *float64 `locationName:"value" type:"double"` 16055} 16056 16057// String returns the string representation 16058func (s Scale) String() string { 16059 return awsutil.Prettify(s) 16060} 16061 16062// GoString returns the string representation 16063func (s Scale) GoString() string { 16064 return s.String() 16065} 16066 16067// SetUnit sets the Unit field's value. 16068func (s *Scale) SetUnit(v string) *Scale { 16069 s.Unit = &v 16070 return s 16071} 16072 16073// SetValue sets the Value field's value. 16074func (s *Scale) SetValue(v float64) *Scale { 16075 s.Value = &v 16076 return s 16077} 16078 16079// An object representing the secret to expose to your container. Secrets can 16080// be exposed to a container in the following ways: 16081// 16082// * To inject sensitive data into your containers as environment variables, 16083// use the secrets container definition parameter. 16084// 16085// * To reference sensitive information in the log configuration of a container, 16086// use the secretOptions container definition parameter. 16087// 16088// For more information, see Specifying Sensitive Data (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html) 16089// in the Amazon Elastic Container Service Developer Guide. 16090type Secret struct { 16091 _ struct{} `type:"structure"` 16092 16093 // The name of the secret. 16094 // 16095 // Name is a required field 16096 Name *string `locationName:"name" type:"string" required:"true"` 16097 16098 // The secret to expose to the container. The supported values are either the 16099 // full ARN of the AWS Secrets Manager secret or the full ARN of the parameter 16100 // in the AWS Systems Manager Parameter Store. 16101 // 16102 // If the AWS Systems Manager Parameter Store parameter exists in the same Region 16103 // as the task you are launching, then you can use either the full ARN or name 16104 // of the parameter. If the parameter exists in a different Region, then the 16105 // full ARN must be specified. 16106 // 16107 // ValueFrom is a required field 16108 ValueFrom *string `locationName:"valueFrom" type:"string" required:"true"` 16109} 16110 16111// String returns the string representation 16112func (s Secret) String() string { 16113 return awsutil.Prettify(s) 16114} 16115 16116// GoString returns the string representation 16117func (s Secret) GoString() string { 16118 return s.String() 16119} 16120 16121// Validate inspects the fields of the type to determine if they are valid. 16122func (s *Secret) Validate() error { 16123 invalidParams := request.ErrInvalidParams{Context: "Secret"} 16124 if s.Name == nil { 16125 invalidParams.Add(request.NewErrParamRequired("Name")) 16126 } 16127 if s.ValueFrom == nil { 16128 invalidParams.Add(request.NewErrParamRequired("ValueFrom")) 16129 } 16130 16131 if invalidParams.Len() > 0 { 16132 return invalidParams 16133 } 16134 return nil 16135} 16136 16137// SetName sets the Name field's value. 16138func (s *Secret) SetName(v string) *Secret { 16139 s.Name = &v 16140 return s 16141} 16142 16143// SetValueFrom sets the ValueFrom field's value. 16144func (s *Secret) SetValueFrom(v string) *Secret { 16145 s.ValueFrom = &v 16146 return s 16147} 16148 16149// These errors are usually caused by a server issue. 16150type ServerException struct { 16151 _ struct{} `type:"structure"` 16152 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16153 16154 Message_ *string `locationName:"message" type:"string"` 16155} 16156 16157// String returns the string representation 16158func (s ServerException) String() string { 16159 return awsutil.Prettify(s) 16160} 16161 16162// GoString returns the string representation 16163func (s ServerException) GoString() string { 16164 return s.String() 16165} 16166 16167func newErrorServerException(v protocol.ResponseMetadata) error { 16168 return &ServerException{ 16169 RespMetadata: v, 16170 } 16171} 16172 16173// Code returns the exception type name. 16174func (s *ServerException) Code() string { 16175 return "ServerException" 16176} 16177 16178// Message returns the exception's message. 16179func (s *ServerException) Message() string { 16180 if s.Message_ != nil { 16181 return *s.Message_ 16182 } 16183 return "" 16184} 16185 16186// OrigErr always returns nil, satisfies awserr.Error interface. 16187func (s *ServerException) OrigErr() error { 16188 return nil 16189} 16190 16191func (s *ServerException) Error() string { 16192 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16193} 16194 16195// Status code returns the HTTP status code for the request's response error. 16196func (s *ServerException) StatusCode() int { 16197 return s.RespMetadata.StatusCode 16198} 16199 16200// RequestID returns the service's response RequestID for request. 16201func (s *ServerException) RequestID() string { 16202 return s.RespMetadata.RequestID 16203} 16204 16205// Details on a service within a cluster 16206type Service struct { 16207 _ struct{} `type:"structure"` 16208 16209 // The capacity provider strategy associated with the service. 16210 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 16211 16212 // The Amazon Resource Name (ARN) of the cluster that hosts the service. 16213 ClusterArn *string `locationName:"clusterArn" type:"string"` 16214 16215 // The Unix timestamp for when the service was created. 16216 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16217 16218 // The principal that created the service. 16219 CreatedBy *string `locationName:"createdBy" type:"string"` 16220 16221 // Optional deployment parameters that control how many tasks run during the 16222 // deployment and the ordering of stopping and starting tasks. 16223 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 16224 16225 // The deployment controller type the service is using. When using the DescribeServices 16226 // API, this field is omitted if the service is using the ECS deployment controller 16227 // type. 16228 DeploymentController *DeploymentController `locationName:"deploymentController" type:"structure"` 16229 16230 // The current state of deployments for the service. 16231 Deployments []*Deployment `locationName:"deployments" type:"list"` 16232 16233 // The desired number of instantiations of the task definition to keep running 16234 // on the service. This value is specified when the service is created with 16235 // CreateService, and it can be modified with UpdateService. 16236 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 16237 16238 // Specifies whether to enable Amazon ECS managed tags for the tasks in the 16239 // service. For more information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16240 // in the Amazon Elastic Container Service Developer Guide. 16241 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16242 16243 // The event stream for your service. A maximum of 100 of the latest events 16244 // are displayed. 16245 Events []*ServiceEvent `locationName:"events" type:"list"` 16246 16247 // The period of time, in seconds, that the Amazon ECS service scheduler ignores 16248 // unhealthy Elastic Load Balancing target health checks after a task has first 16249 // started. 16250 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 16251 16252 // The launch type on which your service is running. If no value is specified, 16253 // it will default to EC2. Valid values include EC2 and FARGATE. For more information, 16254 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 16255 // in the Amazon Elastic Container Service Developer Guide. 16256 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 16257 16258 // A list of Elastic Load Balancing load balancer objects, containing the load 16259 // balancer name, the container name (as it appears in a container definition), 16260 // and the container port to access from the load balancer. 16261 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 16262 16263 // The VPC subnet and security group configuration for tasks that receive their 16264 // own elastic network interface by using the awsvpc networking mode. 16265 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16266 16267 // The number of tasks in the cluster that are in the PENDING state. 16268 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 16269 16270 // The placement constraints for the tasks in the service. 16271 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 16272 16273 // The placement strategy that determines how tasks for the service are placed. 16274 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 16275 16276 // The platform version on which to run your service. A platform version is 16277 // only specified for tasks using the Fargate launch type. If one is not specified, 16278 // the LATEST platform version is used by default. For more information, see 16279 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 16280 // in the Amazon Elastic Container Service Developer Guide. 16281 PlatformVersion *string `locationName:"platformVersion" type:"string"` 16282 16283 // Specifies whether to propagate the tags from the task definition or the service 16284 // to the task. If no value is specified, the tags are not propagated. 16285 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16286 16287 // The ARN of the IAM role associated with the service that allows the Amazon 16288 // ECS container agent to register container instances with an Elastic Load 16289 // Balancing load balancer. 16290 RoleArn *string `locationName:"roleArn" type:"string"` 16291 16292 // The number of tasks in the cluster that are in the RUNNING state. 16293 RunningCount *int64 `locationName:"runningCount" type:"integer"` 16294 16295 // The scheduling strategy to use for the service. For more information, see 16296 // Services (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). 16297 // 16298 // There are two service scheduler strategies available: 16299 // 16300 // * REPLICA-The replica scheduling strategy places and maintains the desired 16301 // number of tasks across your cluster. By default, the service scheduler 16302 // spreads tasks across Availability Zones. You can use task placement strategies 16303 // and constraints to customize task placement decisions. 16304 // 16305 // * DAEMON-The daemon scheduling strategy deploys exactly one task on each 16306 // active container instance that meets all of the task placement constraints 16307 // that you specify in your cluster. The service scheduler also evaluates 16308 // the task placement constraints for running tasks and will stop tasks that 16309 // do not meet the placement constraints. Fargate tasks do not support the 16310 // DAEMON scheduling strategy. 16311 SchedulingStrategy *string `locationName:"schedulingStrategy" type:"string" enum:"SchedulingStrategy"` 16312 16313 // The ARN that identifies the service. The ARN contains the arn:aws:ecs namespace, 16314 // followed by the Region of the service, the AWS account ID of the service 16315 // owner, the service namespace, and then the service name. For example, arn:aws:ecs:region:012345678910:service/my-service. 16316 ServiceArn *string `locationName:"serviceArn" type:"string"` 16317 16318 // The name of your service. Up to 255 letters (uppercase and lowercase), numbers, 16319 // and hyphens are allowed. Service names must be unique within a cluster, but 16320 // you can have similarly named services in multiple clusters within a Region 16321 // or across multiple Regions. 16322 ServiceName *string `locationName:"serviceName" type:"string"` 16323 16324 // The details of the service discovery registries to assign to this service. 16325 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 16326 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 16327 16328 // The status of the service. The valid values are ACTIVE, DRAINING, or INACTIVE. 16329 Status *string `locationName:"status" type:"string"` 16330 16331 // The metadata that you apply to the service to help you categorize and organize 16332 // them. Each tag consists of a key and an optional value, both of which you 16333 // define. 16334 // 16335 // The following basic restrictions apply to tags: 16336 // 16337 // * Maximum number of tags per resource - 50 16338 // 16339 // * For each resource, each tag key must be unique, and each tag key can 16340 // have only one value. 16341 // 16342 // * Maximum key length - 128 Unicode characters in UTF-8 16343 // 16344 // * Maximum value length - 256 Unicode characters in UTF-8 16345 // 16346 // * If your tagging schema is used across multiple services and resources, 16347 // remember that other services may have restrictions on allowed characters. 16348 // Generally allowed characters are: letters, numbers, and spaces representable 16349 // in UTF-8, and the following characters: + - = . _ : / @. 16350 // 16351 // * Tag keys and values are case-sensitive. 16352 // 16353 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16354 // as a prefix for either keys or values as it is reserved for AWS use. You 16355 // cannot edit or delete tag keys or values with this prefix. Tags with this 16356 // prefix do not count against your tags per resource limit. 16357 Tags []*Tag `locationName:"tags" type:"list"` 16358 16359 // The task definition to use for tasks in the service. This value is specified 16360 // when the service is created with CreateService, and it can be modified with 16361 // UpdateService. 16362 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 16363 16364 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 16365 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 16366 // desired number of tasks, how many tasks are running, and whether the task 16367 // set serves production traffic. 16368 TaskSets []*TaskSet `locationName:"taskSets" type:"list"` 16369} 16370 16371// String returns the string representation 16372func (s Service) String() string { 16373 return awsutil.Prettify(s) 16374} 16375 16376// GoString returns the string representation 16377func (s Service) GoString() string { 16378 return s.String() 16379} 16380 16381// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 16382func (s *Service) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *Service { 16383 s.CapacityProviderStrategy = v 16384 return s 16385} 16386 16387// SetClusterArn sets the ClusterArn field's value. 16388func (s *Service) SetClusterArn(v string) *Service { 16389 s.ClusterArn = &v 16390 return s 16391} 16392 16393// SetCreatedAt sets the CreatedAt field's value. 16394func (s *Service) SetCreatedAt(v time.Time) *Service { 16395 s.CreatedAt = &v 16396 return s 16397} 16398 16399// SetCreatedBy sets the CreatedBy field's value. 16400func (s *Service) SetCreatedBy(v string) *Service { 16401 s.CreatedBy = &v 16402 return s 16403} 16404 16405// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 16406func (s *Service) SetDeploymentConfiguration(v *DeploymentConfiguration) *Service { 16407 s.DeploymentConfiguration = v 16408 return s 16409} 16410 16411// SetDeploymentController sets the DeploymentController field's value. 16412func (s *Service) SetDeploymentController(v *DeploymentController) *Service { 16413 s.DeploymentController = v 16414 return s 16415} 16416 16417// SetDeployments sets the Deployments field's value. 16418func (s *Service) SetDeployments(v []*Deployment) *Service { 16419 s.Deployments = v 16420 return s 16421} 16422 16423// SetDesiredCount sets the DesiredCount field's value. 16424func (s *Service) SetDesiredCount(v int64) *Service { 16425 s.DesiredCount = &v 16426 return s 16427} 16428 16429// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16430func (s *Service) SetEnableECSManagedTags(v bool) *Service { 16431 s.EnableECSManagedTags = &v 16432 return s 16433} 16434 16435// SetEvents sets the Events field's value. 16436func (s *Service) SetEvents(v []*ServiceEvent) *Service { 16437 s.Events = v 16438 return s 16439} 16440 16441// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 16442func (s *Service) SetHealthCheckGracePeriodSeconds(v int64) *Service { 16443 s.HealthCheckGracePeriodSeconds = &v 16444 return s 16445} 16446 16447// SetLaunchType sets the LaunchType field's value. 16448func (s *Service) SetLaunchType(v string) *Service { 16449 s.LaunchType = &v 16450 return s 16451} 16452 16453// SetLoadBalancers sets the LoadBalancers field's value. 16454func (s *Service) SetLoadBalancers(v []*LoadBalancer) *Service { 16455 s.LoadBalancers = v 16456 return s 16457} 16458 16459// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16460func (s *Service) SetNetworkConfiguration(v *NetworkConfiguration) *Service { 16461 s.NetworkConfiguration = v 16462 return s 16463} 16464 16465// SetPendingCount sets the PendingCount field's value. 16466func (s *Service) SetPendingCount(v int64) *Service { 16467 s.PendingCount = &v 16468 return s 16469} 16470 16471// SetPlacementConstraints sets the PlacementConstraints field's value. 16472func (s *Service) SetPlacementConstraints(v []*PlacementConstraint) *Service { 16473 s.PlacementConstraints = v 16474 return s 16475} 16476 16477// SetPlacementStrategy sets the PlacementStrategy field's value. 16478func (s *Service) SetPlacementStrategy(v []*PlacementStrategy) *Service { 16479 s.PlacementStrategy = v 16480 return s 16481} 16482 16483// SetPlatformVersion sets the PlatformVersion field's value. 16484func (s *Service) SetPlatformVersion(v string) *Service { 16485 s.PlatformVersion = &v 16486 return s 16487} 16488 16489// SetPropagateTags sets the PropagateTags field's value. 16490func (s *Service) SetPropagateTags(v string) *Service { 16491 s.PropagateTags = &v 16492 return s 16493} 16494 16495// SetRoleArn sets the RoleArn field's value. 16496func (s *Service) SetRoleArn(v string) *Service { 16497 s.RoleArn = &v 16498 return s 16499} 16500 16501// SetRunningCount sets the RunningCount field's value. 16502func (s *Service) SetRunningCount(v int64) *Service { 16503 s.RunningCount = &v 16504 return s 16505} 16506 16507// SetSchedulingStrategy sets the SchedulingStrategy field's value. 16508func (s *Service) SetSchedulingStrategy(v string) *Service { 16509 s.SchedulingStrategy = &v 16510 return s 16511} 16512 16513// SetServiceArn sets the ServiceArn field's value. 16514func (s *Service) SetServiceArn(v string) *Service { 16515 s.ServiceArn = &v 16516 return s 16517} 16518 16519// SetServiceName sets the ServiceName field's value. 16520func (s *Service) SetServiceName(v string) *Service { 16521 s.ServiceName = &v 16522 return s 16523} 16524 16525// SetServiceRegistries sets the ServiceRegistries field's value. 16526func (s *Service) SetServiceRegistries(v []*ServiceRegistry) *Service { 16527 s.ServiceRegistries = v 16528 return s 16529} 16530 16531// SetStatus sets the Status field's value. 16532func (s *Service) SetStatus(v string) *Service { 16533 s.Status = &v 16534 return s 16535} 16536 16537// SetTags sets the Tags field's value. 16538func (s *Service) SetTags(v []*Tag) *Service { 16539 s.Tags = v 16540 return s 16541} 16542 16543// SetTaskDefinition sets the TaskDefinition field's value. 16544func (s *Service) SetTaskDefinition(v string) *Service { 16545 s.TaskDefinition = &v 16546 return s 16547} 16548 16549// SetTaskSets sets the TaskSets field's value. 16550func (s *Service) SetTaskSets(v []*TaskSet) *Service { 16551 s.TaskSets = v 16552 return s 16553} 16554 16555// Details on an event associated with a service. 16556type ServiceEvent struct { 16557 _ struct{} `type:"structure"` 16558 16559 // The Unix timestamp for when the event was triggered. 16560 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 16561 16562 // The ID string of the event. 16563 Id *string `locationName:"id" type:"string"` 16564 16565 // The event message. 16566 Message *string `locationName:"message" type:"string"` 16567} 16568 16569// String returns the string representation 16570func (s ServiceEvent) String() string { 16571 return awsutil.Prettify(s) 16572} 16573 16574// GoString returns the string representation 16575func (s ServiceEvent) GoString() string { 16576 return s.String() 16577} 16578 16579// SetCreatedAt sets the CreatedAt field's value. 16580func (s *ServiceEvent) SetCreatedAt(v time.Time) *ServiceEvent { 16581 s.CreatedAt = &v 16582 return s 16583} 16584 16585// SetId sets the Id field's value. 16586func (s *ServiceEvent) SetId(v string) *ServiceEvent { 16587 s.Id = &v 16588 return s 16589} 16590 16591// SetMessage sets the Message field's value. 16592func (s *ServiceEvent) SetMessage(v string) *ServiceEvent { 16593 s.Message = &v 16594 return s 16595} 16596 16597// The specified service is not active. You can't update a service that is inactive. 16598// If you have previously deleted a service, you can re-create it with CreateService. 16599type ServiceNotActiveException struct { 16600 _ struct{} `type:"structure"` 16601 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16602 16603 Message_ *string `locationName:"message" type:"string"` 16604} 16605 16606// String returns the string representation 16607func (s ServiceNotActiveException) String() string { 16608 return awsutil.Prettify(s) 16609} 16610 16611// GoString returns the string representation 16612func (s ServiceNotActiveException) GoString() string { 16613 return s.String() 16614} 16615 16616func newErrorServiceNotActiveException(v protocol.ResponseMetadata) error { 16617 return &ServiceNotActiveException{ 16618 RespMetadata: v, 16619 } 16620} 16621 16622// Code returns the exception type name. 16623func (s *ServiceNotActiveException) Code() string { 16624 return "ServiceNotActiveException" 16625} 16626 16627// Message returns the exception's message. 16628func (s *ServiceNotActiveException) Message() string { 16629 if s.Message_ != nil { 16630 return *s.Message_ 16631 } 16632 return "" 16633} 16634 16635// OrigErr always returns nil, satisfies awserr.Error interface. 16636func (s *ServiceNotActiveException) OrigErr() error { 16637 return nil 16638} 16639 16640func (s *ServiceNotActiveException) Error() string { 16641 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16642} 16643 16644// Status code returns the HTTP status code for the request's response error. 16645func (s *ServiceNotActiveException) StatusCode() int { 16646 return s.RespMetadata.StatusCode 16647} 16648 16649// RequestID returns the service's response RequestID for request. 16650func (s *ServiceNotActiveException) RequestID() string { 16651 return s.RespMetadata.RequestID 16652} 16653 16654// The specified service could not be found. You can view your available services 16655// with ListServices. Amazon ECS services are cluster-specific and Region-specific. 16656type ServiceNotFoundException struct { 16657 _ struct{} `type:"structure"` 16658 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 16659 16660 Message_ *string `locationName:"message" type:"string"` 16661} 16662 16663// String returns the string representation 16664func (s ServiceNotFoundException) String() string { 16665 return awsutil.Prettify(s) 16666} 16667 16668// GoString returns the string representation 16669func (s ServiceNotFoundException) GoString() string { 16670 return s.String() 16671} 16672 16673func newErrorServiceNotFoundException(v protocol.ResponseMetadata) error { 16674 return &ServiceNotFoundException{ 16675 RespMetadata: v, 16676 } 16677} 16678 16679// Code returns the exception type name. 16680func (s *ServiceNotFoundException) Code() string { 16681 return "ServiceNotFoundException" 16682} 16683 16684// Message returns the exception's message. 16685func (s *ServiceNotFoundException) Message() string { 16686 if s.Message_ != nil { 16687 return *s.Message_ 16688 } 16689 return "" 16690} 16691 16692// OrigErr always returns nil, satisfies awserr.Error interface. 16693func (s *ServiceNotFoundException) OrigErr() error { 16694 return nil 16695} 16696 16697func (s *ServiceNotFoundException) Error() string { 16698 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 16699} 16700 16701// Status code returns the HTTP status code for the request's response error. 16702func (s *ServiceNotFoundException) StatusCode() int { 16703 return s.RespMetadata.StatusCode 16704} 16705 16706// RequestID returns the service's response RequestID for request. 16707func (s *ServiceNotFoundException) RequestID() string { 16708 return s.RespMetadata.RequestID 16709} 16710 16711// Details of the service registry. 16712type ServiceRegistry struct { 16713 _ struct{} `type:"structure"` 16714 16715 // The container name value, already specified in the task definition, to be 16716 // used for your service discovery service. If the task definition that your 16717 // service task specifies uses the bridge or host network mode, you must specify 16718 // a containerName and containerPort combination from the task definition. If 16719 // the task definition that your service task specifies uses the awsvpc network 16720 // mode and a type SRV DNS record is used, you must specify either a containerName 16721 // and containerPort combination or a port value, but not both. 16722 ContainerName *string `locationName:"containerName" type:"string"` 16723 16724 // The port value, already specified in the task definition, to be used for 16725 // your service discovery service. If the task definition your service task 16726 // specifies uses the bridge or host network mode, you must specify a containerName 16727 // and containerPort combination from the task definition. If the task definition 16728 // your service task specifies uses the awsvpc network mode and a type SRV DNS 16729 // record is used, you must specify either a containerName and containerPort 16730 // combination or a port value, but not both. 16731 ContainerPort *int64 `locationName:"containerPort" type:"integer"` 16732 16733 // The port value used if your service discovery service specified an SRV record. 16734 // This field may be used if both the awsvpc network mode and SRV records are 16735 // used. 16736 Port *int64 `locationName:"port" type:"integer"` 16737 16738 // The Amazon Resource Name (ARN) of the service registry. The currently supported 16739 // service registry is AWS Cloud Map. For more information, see CreateService 16740 // (https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html). 16741 RegistryArn *string `locationName:"registryArn" type:"string"` 16742} 16743 16744// String returns the string representation 16745func (s ServiceRegistry) String() string { 16746 return awsutil.Prettify(s) 16747} 16748 16749// GoString returns the string representation 16750func (s ServiceRegistry) GoString() string { 16751 return s.String() 16752} 16753 16754// SetContainerName sets the ContainerName field's value. 16755func (s *ServiceRegistry) SetContainerName(v string) *ServiceRegistry { 16756 s.ContainerName = &v 16757 return s 16758} 16759 16760// SetContainerPort sets the ContainerPort field's value. 16761func (s *ServiceRegistry) SetContainerPort(v int64) *ServiceRegistry { 16762 s.ContainerPort = &v 16763 return s 16764} 16765 16766// SetPort sets the Port field's value. 16767func (s *ServiceRegistry) SetPort(v int64) *ServiceRegistry { 16768 s.Port = &v 16769 return s 16770} 16771 16772// SetRegistryArn sets the RegistryArn field's value. 16773func (s *ServiceRegistry) SetRegistryArn(v string) *ServiceRegistry { 16774 s.RegistryArn = &v 16775 return s 16776} 16777 16778// The current account setting for a resource. 16779type Setting struct { 16780 _ struct{} `type:"structure"` 16781 16782 // The Amazon ECS resource name. 16783 Name *string `locationName:"name" type:"string" enum:"SettingName"` 16784 16785 // The ARN of the principal, which can be an IAM user, IAM role, or the root 16786 // user. If this field is omitted, the authenticated user is assumed. 16787 PrincipalArn *string `locationName:"principalArn" type:"string"` 16788 16789 // Whether the account setting is enabled or disabled for the specified resource. 16790 Value *string `locationName:"value" type:"string"` 16791} 16792 16793// String returns the string representation 16794func (s Setting) String() string { 16795 return awsutil.Prettify(s) 16796} 16797 16798// GoString returns the string representation 16799func (s Setting) GoString() string { 16800 return s.String() 16801} 16802 16803// SetName sets the Name field's value. 16804func (s *Setting) SetName(v string) *Setting { 16805 s.Name = &v 16806 return s 16807} 16808 16809// SetPrincipalArn sets the PrincipalArn field's value. 16810func (s *Setting) SetPrincipalArn(v string) *Setting { 16811 s.PrincipalArn = &v 16812 return s 16813} 16814 16815// SetValue sets the Value field's value. 16816func (s *Setting) SetValue(v string) *Setting { 16817 s.Value = &v 16818 return s 16819} 16820 16821type StartTaskInput struct { 16822 _ struct{} `type:"structure"` 16823 16824 // The short name or full Amazon Resource Name (ARN) of the cluster on which 16825 // to start your task. If you do not specify a cluster, the default cluster 16826 // is assumed. 16827 Cluster *string `locationName:"cluster" type:"string"` 16828 16829 // The container instance IDs or full ARN entries for the container instances 16830 // on which you would like to place your task. You can specify up to 10 container 16831 // instances. 16832 // 16833 // ContainerInstances is a required field 16834 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 16835 16836 // Specifies whether to enable Amazon ECS managed tags for the task. For more 16837 // information, see Tagging Your Amazon ECS Resources (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) 16838 // in the Amazon Elastic Container Service Developer Guide. 16839 EnableECSManagedTags *bool `locationName:"enableECSManagedTags" type:"boolean"` 16840 16841 // The name of the task group to associate with the task. The default value 16842 // is the family name of the task definition (for example, family:my-family-name). 16843 Group *string `locationName:"group" type:"string"` 16844 16845 // The VPC subnet and security group configuration for tasks that receive their 16846 // own elastic network interface by using the awsvpc networking mode. 16847 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 16848 16849 // A list of container overrides in JSON format that specify the name of a container 16850 // in the specified task definition and the overrides it should receive. You 16851 // can override the default command for a container (that is specified in the 16852 // task definition or Docker image) with a command override. You can also override 16853 // existing environment variables (that are specified in the task definition 16854 // or Docker image) on a container or add new environment variables to it with 16855 // an environment override. 16856 // 16857 // A total of 8192 characters are allowed for overrides. This limit includes 16858 // the JSON formatting characters of the override structure. 16859 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 16860 16861 // Specifies whether to propagate the tags from the task definition or the service 16862 // to the task. If no value is specified, the tags are not propagated. 16863 PropagateTags *string `locationName:"propagateTags" type:"string" enum:"PropagateTags"` 16864 16865 // The reference ID to use for the task. 16866 ReferenceId *string `locationName:"referenceId" type:"string"` 16867 16868 // An optional tag specified when a task is started. For example, if you automatically 16869 // trigger a task to run a batch process job, you could apply a unique identifier 16870 // for that job to your task with the startedBy parameter. You can then identify 16871 // which tasks belong to that job by filtering the results of a ListTasks call 16872 // with the startedBy value. Up to 36 letters (uppercase and lowercase), numbers, 16873 // hyphens, and underscores are allowed. 16874 // 16875 // If a task is started by an Amazon ECS service, then the startedBy parameter 16876 // contains the deployment ID of the service that starts it. 16877 StartedBy *string `locationName:"startedBy" type:"string"` 16878 16879 // The metadata that you apply to the task to help you categorize and organize 16880 // them. Each tag consists of a key and an optional value, both of which you 16881 // define. 16882 // 16883 // The following basic restrictions apply to tags: 16884 // 16885 // * Maximum number of tags per resource - 50 16886 // 16887 // * For each resource, each tag key must be unique, and each tag key can 16888 // have only one value. 16889 // 16890 // * Maximum key length - 128 Unicode characters in UTF-8 16891 // 16892 // * Maximum value length - 256 Unicode characters in UTF-8 16893 // 16894 // * If your tagging schema is used across multiple services and resources, 16895 // remember that other services may have restrictions on allowed characters. 16896 // Generally allowed characters are: letters, numbers, and spaces representable 16897 // in UTF-8, and the following characters: + - = . _ : / @. 16898 // 16899 // * Tag keys and values are case-sensitive. 16900 // 16901 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 16902 // as a prefix for either keys or values as it is reserved for AWS use. You 16903 // cannot edit or delete tag keys or values with this prefix. Tags with this 16904 // prefix do not count against your tags per resource limit. 16905 Tags []*Tag `locationName:"tags" type:"list"` 16906 16907 // The family and revision (family:revision) or full ARN of the task definition 16908 // to start. If a revision is not specified, the latest ACTIVE revision is used. 16909 // 16910 // TaskDefinition is a required field 16911 TaskDefinition *string `locationName:"taskDefinition" type:"string" required:"true"` 16912} 16913 16914// String returns the string representation 16915func (s StartTaskInput) String() string { 16916 return awsutil.Prettify(s) 16917} 16918 16919// GoString returns the string representation 16920func (s StartTaskInput) GoString() string { 16921 return s.String() 16922} 16923 16924// Validate inspects the fields of the type to determine if they are valid. 16925func (s *StartTaskInput) Validate() error { 16926 invalidParams := request.ErrInvalidParams{Context: "StartTaskInput"} 16927 if s.ContainerInstances == nil { 16928 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 16929 } 16930 if s.TaskDefinition == nil { 16931 invalidParams.Add(request.NewErrParamRequired("TaskDefinition")) 16932 } 16933 if s.NetworkConfiguration != nil { 16934 if err := s.NetworkConfiguration.Validate(); err != nil { 16935 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 16936 } 16937 } 16938 if s.Overrides != nil { 16939 if err := s.Overrides.Validate(); err != nil { 16940 invalidParams.AddNested("Overrides", err.(request.ErrInvalidParams)) 16941 } 16942 } 16943 if s.Tags != nil { 16944 for i, v := range s.Tags { 16945 if v == nil { 16946 continue 16947 } 16948 if err := v.Validate(); err != nil { 16949 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 16950 } 16951 } 16952 } 16953 16954 if invalidParams.Len() > 0 { 16955 return invalidParams 16956 } 16957 return nil 16958} 16959 16960// SetCluster sets the Cluster field's value. 16961func (s *StartTaskInput) SetCluster(v string) *StartTaskInput { 16962 s.Cluster = &v 16963 return s 16964} 16965 16966// SetContainerInstances sets the ContainerInstances field's value. 16967func (s *StartTaskInput) SetContainerInstances(v []*string) *StartTaskInput { 16968 s.ContainerInstances = v 16969 return s 16970} 16971 16972// SetEnableECSManagedTags sets the EnableECSManagedTags field's value. 16973func (s *StartTaskInput) SetEnableECSManagedTags(v bool) *StartTaskInput { 16974 s.EnableECSManagedTags = &v 16975 return s 16976} 16977 16978// SetGroup sets the Group field's value. 16979func (s *StartTaskInput) SetGroup(v string) *StartTaskInput { 16980 s.Group = &v 16981 return s 16982} 16983 16984// SetNetworkConfiguration sets the NetworkConfiguration field's value. 16985func (s *StartTaskInput) SetNetworkConfiguration(v *NetworkConfiguration) *StartTaskInput { 16986 s.NetworkConfiguration = v 16987 return s 16988} 16989 16990// SetOverrides sets the Overrides field's value. 16991func (s *StartTaskInput) SetOverrides(v *TaskOverride) *StartTaskInput { 16992 s.Overrides = v 16993 return s 16994} 16995 16996// SetPropagateTags sets the PropagateTags field's value. 16997func (s *StartTaskInput) SetPropagateTags(v string) *StartTaskInput { 16998 s.PropagateTags = &v 16999 return s 17000} 17001 17002// SetReferenceId sets the ReferenceId field's value. 17003func (s *StartTaskInput) SetReferenceId(v string) *StartTaskInput { 17004 s.ReferenceId = &v 17005 return s 17006} 17007 17008// SetStartedBy sets the StartedBy field's value. 17009func (s *StartTaskInput) SetStartedBy(v string) *StartTaskInput { 17010 s.StartedBy = &v 17011 return s 17012} 17013 17014// SetTags sets the Tags field's value. 17015func (s *StartTaskInput) SetTags(v []*Tag) *StartTaskInput { 17016 s.Tags = v 17017 return s 17018} 17019 17020// SetTaskDefinition sets the TaskDefinition field's value. 17021func (s *StartTaskInput) SetTaskDefinition(v string) *StartTaskInput { 17022 s.TaskDefinition = &v 17023 return s 17024} 17025 17026type StartTaskOutput struct { 17027 _ struct{} `type:"structure"` 17028 17029 // Any failures associated with the call. 17030 Failures []*Failure `locationName:"failures" type:"list"` 17031 17032 // A full description of the tasks that were started. Each task that was successfully 17033 // placed on your container instances is described. 17034 Tasks []*Task `locationName:"tasks" type:"list"` 17035} 17036 17037// String returns the string representation 17038func (s StartTaskOutput) String() string { 17039 return awsutil.Prettify(s) 17040} 17041 17042// GoString returns the string representation 17043func (s StartTaskOutput) GoString() string { 17044 return s.String() 17045} 17046 17047// SetFailures sets the Failures field's value. 17048func (s *StartTaskOutput) SetFailures(v []*Failure) *StartTaskOutput { 17049 s.Failures = v 17050 return s 17051} 17052 17053// SetTasks sets the Tasks field's value. 17054func (s *StartTaskOutput) SetTasks(v []*Task) *StartTaskOutput { 17055 s.Tasks = v 17056 return s 17057} 17058 17059type StopTaskInput struct { 17060 _ struct{} `type:"structure"` 17061 17062 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17063 // the task to stop. If you do not specify a cluster, the default cluster is 17064 // assumed. 17065 Cluster *string `locationName:"cluster" type:"string"` 17066 17067 // An optional message specified when a task is stopped. For example, if you 17068 // are using a custom scheduler, you can use this parameter to specify the reason 17069 // for stopping the task here, and the message appears in subsequent DescribeTasks 17070 // API operations on this task. Up to 255 characters are allowed in this message. 17071 Reason *string `locationName:"reason" type:"string"` 17072 17073 // The task ID or full Amazon Resource Name (ARN) of the task to stop. 17074 // 17075 // Task is a required field 17076 Task *string `locationName:"task" type:"string" required:"true"` 17077} 17078 17079// String returns the string representation 17080func (s StopTaskInput) String() string { 17081 return awsutil.Prettify(s) 17082} 17083 17084// GoString returns the string representation 17085func (s StopTaskInput) GoString() string { 17086 return s.String() 17087} 17088 17089// Validate inspects the fields of the type to determine if they are valid. 17090func (s *StopTaskInput) Validate() error { 17091 invalidParams := request.ErrInvalidParams{Context: "StopTaskInput"} 17092 if s.Task == nil { 17093 invalidParams.Add(request.NewErrParamRequired("Task")) 17094 } 17095 17096 if invalidParams.Len() > 0 { 17097 return invalidParams 17098 } 17099 return nil 17100} 17101 17102// SetCluster sets the Cluster field's value. 17103func (s *StopTaskInput) SetCluster(v string) *StopTaskInput { 17104 s.Cluster = &v 17105 return s 17106} 17107 17108// SetReason sets the Reason field's value. 17109func (s *StopTaskInput) SetReason(v string) *StopTaskInput { 17110 s.Reason = &v 17111 return s 17112} 17113 17114// SetTask sets the Task field's value. 17115func (s *StopTaskInput) SetTask(v string) *StopTaskInput { 17116 s.Task = &v 17117 return s 17118} 17119 17120type StopTaskOutput struct { 17121 _ struct{} `type:"structure"` 17122 17123 // The task that was stopped. 17124 Task *Task `locationName:"task" type:"structure"` 17125} 17126 17127// String returns the string representation 17128func (s StopTaskOutput) String() string { 17129 return awsutil.Prettify(s) 17130} 17131 17132// GoString returns the string representation 17133func (s StopTaskOutput) GoString() string { 17134 return s.String() 17135} 17136 17137// SetTask sets the Task field's value. 17138func (s *StopTaskOutput) SetTask(v *Task) *StopTaskOutput { 17139 s.Task = v 17140 return s 17141} 17142 17143type SubmitAttachmentStateChangesInput struct { 17144 _ struct{} `type:"structure"` 17145 17146 // Any attachments associated with the state change request. 17147 // 17148 // Attachments is a required field 17149 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list" required:"true"` 17150 17151 // The short name or full ARN of the cluster that hosts the container instance 17152 // the attachment belongs to. 17153 Cluster *string `locationName:"cluster" type:"string"` 17154} 17155 17156// String returns the string representation 17157func (s SubmitAttachmentStateChangesInput) String() string { 17158 return awsutil.Prettify(s) 17159} 17160 17161// GoString returns the string representation 17162func (s SubmitAttachmentStateChangesInput) GoString() string { 17163 return s.String() 17164} 17165 17166// Validate inspects the fields of the type to determine if they are valid. 17167func (s *SubmitAttachmentStateChangesInput) Validate() error { 17168 invalidParams := request.ErrInvalidParams{Context: "SubmitAttachmentStateChangesInput"} 17169 if s.Attachments == nil { 17170 invalidParams.Add(request.NewErrParamRequired("Attachments")) 17171 } 17172 if s.Attachments != nil { 17173 for i, v := range s.Attachments { 17174 if v == nil { 17175 continue 17176 } 17177 if err := v.Validate(); err != nil { 17178 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 17179 } 17180 } 17181 } 17182 17183 if invalidParams.Len() > 0 { 17184 return invalidParams 17185 } 17186 return nil 17187} 17188 17189// SetAttachments sets the Attachments field's value. 17190func (s *SubmitAttachmentStateChangesInput) SetAttachments(v []*AttachmentStateChange) *SubmitAttachmentStateChangesInput { 17191 s.Attachments = v 17192 return s 17193} 17194 17195// SetCluster sets the Cluster field's value. 17196func (s *SubmitAttachmentStateChangesInput) SetCluster(v string) *SubmitAttachmentStateChangesInput { 17197 s.Cluster = &v 17198 return s 17199} 17200 17201type SubmitAttachmentStateChangesOutput struct { 17202 _ struct{} `type:"structure"` 17203 17204 // Acknowledgement of the state change. 17205 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17206} 17207 17208// String returns the string representation 17209func (s SubmitAttachmentStateChangesOutput) String() string { 17210 return awsutil.Prettify(s) 17211} 17212 17213// GoString returns the string representation 17214func (s SubmitAttachmentStateChangesOutput) GoString() string { 17215 return s.String() 17216} 17217 17218// SetAcknowledgment sets the Acknowledgment field's value. 17219func (s *SubmitAttachmentStateChangesOutput) SetAcknowledgment(v string) *SubmitAttachmentStateChangesOutput { 17220 s.Acknowledgment = &v 17221 return s 17222} 17223 17224type SubmitContainerStateChangeInput struct { 17225 _ struct{} `type:"structure"` 17226 17227 // The short name or full ARN of the cluster that hosts the container. 17228 Cluster *string `locationName:"cluster" type:"string"` 17229 17230 // The name of the container. 17231 ContainerName *string `locationName:"containerName" type:"string"` 17232 17233 // The exit code returned for the state change request. 17234 ExitCode *int64 `locationName:"exitCode" type:"integer"` 17235 17236 // The network bindings of the container. 17237 NetworkBindings []*NetworkBinding `locationName:"networkBindings" type:"list"` 17238 17239 // The reason for the state change request. 17240 Reason *string `locationName:"reason" type:"string"` 17241 17242 // The ID of the Docker container. 17243 RuntimeId *string `locationName:"runtimeId" type:"string"` 17244 17245 // The status of the state change request. 17246 Status *string `locationName:"status" type:"string"` 17247 17248 // The task ID or full Amazon Resource Name (ARN) of the task that hosts the 17249 // container. 17250 Task *string `locationName:"task" type:"string"` 17251} 17252 17253// String returns the string representation 17254func (s SubmitContainerStateChangeInput) String() string { 17255 return awsutil.Prettify(s) 17256} 17257 17258// GoString returns the string representation 17259func (s SubmitContainerStateChangeInput) GoString() string { 17260 return s.String() 17261} 17262 17263// SetCluster sets the Cluster field's value. 17264func (s *SubmitContainerStateChangeInput) SetCluster(v string) *SubmitContainerStateChangeInput { 17265 s.Cluster = &v 17266 return s 17267} 17268 17269// SetContainerName sets the ContainerName field's value. 17270func (s *SubmitContainerStateChangeInput) SetContainerName(v string) *SubmitContainerStateChangeInput { 17271 s.ContainerName = &v 17272 return s 17273} 17274 17275// SetExitCode sets the ExitCode field's value. 17276func (s *SubmitContainerStateChangeInput) SetExitCode(v int64) *SubmitContainerStateChangeInput { 17277 s.ExitCode = &v 17278 return s 17279} 17280 17281// SetNetworkBindings sets the NetworkBindings field's value. 17282func (s *SubmitContainerStateChangeInput) SetNetworkBindings(v []*NetworkBinding) *SubmitContainerStateChangeInput { 17283 s.NetworkBindings = v 17284 return s 17285} 17286 17287// SetReason sets the Reason field's value. 17288func (s *SubmitContainerStateChangeInput) SetReason(v string) *SubmitContainerStateChangeInput { 17289 s.Reason = &v 17290 return s 17291} 17292 17293// SetRuntimeId sets the RuntimeId field's value. 17294func (s *SubmitContainerStateChangeInput) SetRuntimeId(v string) *SubmitContainerStateChangeInput { 17295 s.RuntimeId = &v 17296 return s 17297} 17298 17299// SetStatus sets the Status field's value. 17300func (s *SubmitContainerStateChangeInput) SetStatus(v string) *SubmitContainerStateChangeInput { 17301 s.Status = &v 17302 return s 17303} 17304 17305// SetTask sets the Task field's value. 17306func (s *SubmitContainerStateChangeInput) SetTask(v string) *SubmitContainerStateChangeInput { 17307 s.Task = &v 17308 return s 17309} 17310 17311type SubmitContainerStateChangeOutput struct { 17312 _ struct{} `type:"structure"` 17313 17314 // Acknowledgement of the state change. 17315 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17316} 17317 17318// String returns the string representation 17319func (s SubmitContainerStateChangeOutput) String() string { 17320 return awsutil.Prettify(s) 17321} 17322 17323// GoString returns the string representation 17324func (s SubmitContainerStateChangeOutput) GoString() string { 17325 return s.String() 17326} 17327 17328// SetAcknowledgment sets the Acknowledgment field's value. 17329func (s *SubmitContainerStateChangeOutput) SetAcknowledgment(v string) *SubmitContainerStateChangeOutput { 17330 s.Acknowledgment = &v 17331 return s 17332} 17333 17334type SubmitTaskStateChangeInput struct { 17335 _ struct{} `type:"structure"` 17336 17337 // Any attachments associated with the state change request. 17338 Attachments []*AttachmentStateChange `locationName:"attachments" type:"list"` 17339 17340 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 17341 // the task. 17342 Cluster *string `locationName:"cluster" type:"string"` 17343 17344 // Any containers associated with the state change request. 17345 Containers []*ContainerStateChange `locationName:"containers" type:"list"` 17346 17347 // The Unix timestamp for when the task execution stopped. 17348 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17349 17350 // The Unix timestamp for when the container image pull began. 17351 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17352 17353 // The Unix timestamp for when the container image pull completed. 17354 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17355 17356 // The reason for the state change request. 17357 Reason *string `locationName:"reason" type:"string"` 17358 17359 // The status of the state change request. 17360 Status *string `locationName:"status" type:"string"` 17361 17362 // The task ID or full ARN of the task in the state change request. 17363 Task *string `locationName:"task" type:"string"` 17364} 17365 17366// String returns the string representation 17367func (s SubmitTaskStateChangeInput) String() string { 17368 return awsutil.Prettify(s) 17369} 17370 17371// GoString returns the string representation 17372func (s SubmitTaskStateChangeInput) GoString() string { 17373 return s.String() 17374} 17375 17376// Validate inspects the fields of the type to determine if they are valid. 17377func (s *SubmitTaskStateChangeInput) Validate() error { 17378 invalidParams := request.ErrInvalidParams{Context: "SubmitTaskStateChangeInput"} 17379 if s.Attachments != nil { 17380 for i, v := range s.Attachments { 17381 if v == nil { 17382 continue 17383 } 17384 if err := v.Validate(); err != nil { 17385 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Attachments", i), err.(request.ErrInvalidParams)) 17386 } 17387 } 17388 } 17389 17390 if invalidParams.Len() > 0 { 17391 return invalidParams 17392 } 17393 return nil 17394} 17395 17396// SetAttachments sets the Attachments field's value. 17397func (s *SubmitTaskStateChangeInput) SetAttachments(v []*AttachmentStateChange) *SubmitTaskStateChangeInput { 17398 s.Attachments = v 17399 return s 17400} 17401 17402// SetCluster sets the Cluster field's value. 17403func (s *SubmitTaskStateChangeInput) SetCluster(v string) *SubmitTaskStateChangeInput { 17404 s.Cluster = &v 17405 return s 17406} 17407 17408// SetContainers sets the Containers field's value. 17409func (s *SubmitTaskStateChangeInput) SetContainers(v []*ContainerStateChange) *SubmitTaskStateChangeInput { 17410 s.Containers = v 17411 return s 17412} 17413 17414// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 17415func (s *SubmitTaskStateChangeInput) SetExecutionStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17416 s.ExecutionStoppedAt = &v 17417 return s 17418} 17419 17420// SetPullStartedAt sets the PullStartedAt field's value. 17421func (s *SubmitTaskStateChangeInput) SetPullStartedAt(v time.Time) *SubmitTaskStateChangeInput { 17422 s.PullStartedAt = &v 17423 return s 17424} 17425 17426// SetPullStoppedAt sets the PullStoppedAt field's value. 17427func (s *SubmitTaskStateChangeInput) SetPullStoppedAt(v time.Time) *SubmitTaskStateChangeInput { 17428 s.PullStoppedAt = &v 17429 return s 17430} 17431 17432// SetReason sets the Reason field's value. 17433func (s *SubmitTaskStateChangeInput) SetReason(v string) *SubmitTaskStateChangeInput { 17434 s.Reason = &v 17435 return s 17436} 17437 17438// SetStatus sets the Status field's value. 17439func (s *SubmitTaskStateChangeInput) SetStatus(v string) *SubmitTaskStateChangeInput { 17440 s.Status = &v 17441 return s 17442} 17443 17444// SetTask sets the Task field's value. 17445func (s *SubmitTaskStateChangeInput) SetTask(v string) *SubmitTaskStateChangeInput { 17446 s.Task = &v 17447 return s 17448} 17449 17450type SubmitTaskStateChangeOutput struct { 17451 _ struct{} `type:"structure"` 17452 17453 // Acknowledgement of the state change. 17454 Acknowledgment *string `locationName:"acknowledgment" type:"string"` 17455} 17456 17457// String returns the string representation 17458func (s SubmitTaskStateChangeOutput) String() string { 17459 return awsutil.Prettify(s) 17460} 17461 17462// GoString returns the string representation 17463func (s SubmitTaskStateChangeOutput) GoString() string { 17464 return s.String() 17465} 17466 17467// SetAcknowledgment sets the Acknowledgment field's value. 17468func (s *SubmitTaskStateChangeOutput) SetAcknowledgment(v string) *SubmitTaskStateChangeOutput { 17469 s.Acknowledgment = &v 17470 return s 17471} 17472 17473// A list of namespaced kernel parameters to set in the container. This parameter 17474// maps to Sysctls in the Create a container (https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate) 17475// section of the Docker Remote API (https://docs.docker.com/engine/api/v1.35/) 17476// and the --sysctl option to docker run (https://docs.docker.com/engine/reference/run/). 17477// 17478// It is not recommended that you specify network-related systemControls parameters 17479// for multiple containers in a single task that also uses either the awsvpc 17480// or host network mode for the following reasons: 17481// 17482// * For tasks that use the awsvpc network mode, if you set systemControls 17483// for any container, it applies to all containers in the task. If you set 17484// different systemControls for multiple containers in a single task, the 17485// container that is started last determines which systemControls take effect. 17486// 17487// * For tasks that use the host network mode, the systemControls parameter 17488// applies to the container instance's kernel parameter as well as that of 17489// all containers of any tasks running on that container instance. 17490type SystemControl struct { 17491 _ struct{} `type:"structure"` 17492 17493 // The namespaced kernel parameter for which to set a value. 17494 Namespace *string `locationName:"namespace" type:"string"` 17495 17496 // The value for the namespaced kernel parameter specified in namespace. 17497 Value *string `locationName:"value" type:"string"` 17498} 17499 17500// String returns the string representation 17501func (s SystemControl) String() string { 17502 return awsutil.Prettify(s) 17503} 17504 17505// GoString returns the string representation 17506func (s SystemControl) GoString() string { 17507 return s.String() 17508} 17509 17510// SetNamespace sets the Namespace field's value. 17511func (s *SystemControl) SetNamespace(v string) *SystemControl { 17512 s.Namespace = &v 17513 return s 17514} 17515 17516// SetValue sets the Value field's value. 17517func (s *SystemControl) SetValue(v string) *SystemControl { 17518 s.Value = &v 17519 return s 17520} 17521 17522// The metadata that you apply to a resource to help you categorize and organize 17523// them. Each tag consists of a key and an optional value, both of which you 17524// define. 17525// 17526// The following basic restrictions apply to tags: 17527// 17528// * Maximum number of tags per resource - 50 17529// 17530// * For each resource, each tag key must be unique, and each tag key can 17531// have only one value. 17532// 17533// * Maximum key length - 128 Unicode characters in UTF-8 17534// 17535// * Maximum value length - 256 Unicode characters in UTF-8 17536// 17537// * If your tagging schema is used across multiple services and resources, 17538// remember that other services may have restrictions on allowed characters. 17539// Generally allowed characters are: letters, numbers, and spaces representable 17540// in UTF-8, and the following characters: + - = . _ : / @. 17541// 17542// * Tag keys and values are case-sensitive. 17543// 17544// * Do not use aws:, AWS:, or any upper or lowercase combination of such 17545// as a prefix for either keys or values as it is reserved for AWS use. You 17546// cannot edit or delete tag keys or values with this prefix. Tags with this 17547// prefix do not count against your tags per resource limit. 17548type Tag struct { 17549 _ struct{} `type:"structure"` 17550 17551 // One part of a key-value pair that make up a tag. A key is a general label 17552 // that acts like a category for more specific tag values. 17553 Key *string `locationName:"key" min:"1" type:"string"` 17554 17555 // The optional part of a key-value pair that make up a tag. A value acts as 17556 // a descriptor within a tag category (key). 17557 Value *string `locationName:"value" type:"string"` 17558} 17559 17560// String returns the string representation 17561func (s Tag) String() string { 17562 return awsutil.Prettify(s) 17563} 17564 17565// GoString returns the string representation 17566func (s Tag) GoString() string { 17567 return s.String() 17568} 17569 17570// Validate inspects the fields of the type to determine if they are valid. 17571func (s *Tag) Validate() error { 17572 invalidParams := request.ErrInvalidParams{Context: "Tag"} 17573 if s.Key != nil && len(*s.Key) < 1 { 17574 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 17575 } 17576 17577 if invalidParams.Len() > 0 { 17578 return invalidParams 17579 } 17580 return nil 17581} 17582 17583// SetKey sets the Key field's value. 17584func (s *Tag) SetKey(v string) *Tag { 17585 s.Key = &v 17586 return s 17587} 17588 17589// SetValue sets the Value field's value. 17590func (s *Tag) SetValue(v string) *Tag { 17591 s.Value = &v 17592 return s 17593} 17594 17595type TagResourceInput struct { 17596 _ struct{} `type:"structure"` 17597 17598 // The Amazon Resource Name (ARN) of the resource to which to add tags. Currently, 17599 // the supported resources are Amazon ECS capacity providers, tasks, services, 17600 // task definitions, clusters, and container instances. 17601 // 17602 // ResourceArn is a required field 17603 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 17604 17605 // The tags to add to the resource. A tag is an array of key-value pairs. 17606 // 17607 // The following basic restrictions apply to tags: 17608 // 17609 // * Maximum number of tags per resource - 50 17610 // 17611 // * For each resource, each tag key must be unique, and each tag key can 17612 // have only one value. 17613 // 17614 // * Maximum key length - 128 Unicode characters in UTF-8 17615 // 17616 // * Maximum value length - 256 Unicode characters in UTF-8 17617 // 17618 // * If your tagging schema is used across multiple services and resources, 17619 // remember that other services may have restrictions on allowed characters. 17620 // Generally allowed characters are: letters, numbers, and spaces representable 17621 // in UTF-8, and the following characters: + - = . _ : / @. 17622 // 17623 // * Tag keys and values are case-sensitive. 17624 // 17625 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17626 // as a prefix for either keys or values as it is reserved for AWS use. You 17627 // cannot edit or delete tag keys or values with this prefix. Tags with this 17628 // prefix do not count against your tags per resource limit. 17629 // 17630 // Tags is a required field 17631 Tags []*Tag `locationName:"tags" type:"list" required:"true"` 17632} 17633 17634// String returns the string representation 17635func (s TagResourceInput) String() string { 17636 return awsutil.Prettify(s) 17637} 17638 17639// GoString returns the string representation 17640func (s TagResourceInput) GoString() string { 17641 return s.String() 17642} 17643 17644// Validate inspects the fields of the type to determine if they are valid. 17645func (s *TagResourceInput) Validate() error { 17646 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 17647 if s.ResourceArn == nil { 17648 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 17649 } 17650 if s.Tags == nil { 17651 invalidParams.Add(request.NewErrParamRequired("Tags")) 17652 } 17653 if s.Tags != nil { 17654 for i, v := range s.Tags { 17655 if v == nil { 17656 continue 17657 } 17658 if err := v.Validate(); err != nil { 17659 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 17660 } 17661 } 17662 } 17663 17664 if invalidParams.Len() > 0 { 17665 return invalidParams 17666 } 17667 return nil 17668} 17669 17670// SetResourceArn sets the ResourceArn field's value. 17671func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 17672 s.ResourceArn = &v 17673 return s 17674} 17675 17676// SetTags sets the Tags field's value. 17677func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 17678 s.Tags = v 17679 return s 17680} 17681 17682type TagResourceOutput struct { 17683 _ struct{} `type:"structure"` 17684} 17685 17686// String returns the string representation 17687func (s TagResourceOutput) String() string { 17688 return awsutil.Prettify(s) 17689} 17690 17691// GoString returns the string representation 17692func (s TagResourceOutput) GoString() string { 17693 return s.String() 17694} 17695 17696// The specified target could not be found. You can view your available container 17697// instances with ListContainerInstances. Amazon ECS container instances are 17698// cluster-specific and Region-specific. 17699type TargetNotFoundException struct { 17700 _ struct{} `type:"structure"` 17701 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 17702 17703 Message_ *string `locationName:"message" type:"string"` 17704} 17705 17706// String returns the string representation 17707func (s TargetNotFoundException) String() string { 17708 return awsutil.Prettify(s) 17709} 17710 17711// GoString returns the string representation 17712func (s TargetNotFoundException) GoString() string { 17713 return s.String() 17714} 17715 17716func newErrorTargetNotFoundException(v protocol.ResponseMetadata) error { 17717 return &TargetNotFoundException{ 17718 RespMetadata: v, 17719 } 17720} 17721 17722// Code returns the exception type name. 17723func (s *TargetNotFoundException) Code() string { 17724 return "TargetNotFoundException" 17725} 17726 17727// Message returns the exception's message. 17728func (s *TargetNotFoundException) Message() string { 17729 if s.Message_ != nil { 17730 return *s.Message_ 17731 } 17732 return "" 17733} 17734 17735// OrigErr always returns nil, satisfies awserr.Error interface. 17736func (s *TargetNotFoundException) OrigErr() error { 17737 return nil 17738} 17739 17740func (s *TargetNotFoundException) Error() string { 17741 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 17742} 17743 17744// Status code returns the HTTP status code for the request's response error. 17745func (s *TargetNotFoundException) StatusCode() int { 17746 return s.RespMetadata.StatusCode 17747} 17748 17749// RequestID returns the service's response RequestID for request. 17750func (s *TargetNotFoundException) RequestID() string { 17751 return s.RespMetadata.RequestID 17752} 17753 17754// Details on a task in a cluster. 17755type Task struct { 17756 _ struct{} `type:"structure"` 17757 17758 // The Elastic Network Adapter associated with the task if the task uses the 17759 // awsvpc network mode. 17760 Attachments []*Attachment `locationName:"attachments" type:"list"` 17761 17762 // The attributes of the task 17763 Attributes []*Attribute `locationName:"attributes" type:"list"` 17764 17765 // The availability zone of the task. 17766 AvailabilityZone *string `locationName:"availabilityZone" type:"string"` 17767 17768 // The capacity provider associated with the task. 17769 CapacityProviderName *string `locationName:"capacityProviderName" type:"string"` 17770 17771 // The ARN of the cluster that hosts the task. 17772 ClusterArn *string `locationName:"clusterArn" type:"string"` 17773 17774 // The connectivity status of a task. 17775 Connectivity *string `locationName:"connectivity" type:"string" enum:"Connectivity"` 17776 17777 // The Unix timestamp for when the task last went into CONNECTED status. 17778 ConnectivityAt *time.Time `locationName:"connectivityAt" type:"timestamp"` 17779 17780 // The ARN of the container instances that host the task. 17781 ContainerInstanceArn *string `locationName:"containerInstanceArn" type:"string"` 17782 17783 // The containers associated with the task. 17784 Containers []*Container `locationName:"containers" type:"list"` 17785 17786 // The number of CPU units used by the task as expressed in a task definition. 17787 // It can be expressed as an integer using CPU units, for example 1024. It can 17788 // also be expressed as a string using vCPUs, for example 1 vCPU or 1 vcpu. 17789 // String values are converted to an integer indicating the CPU units when the 17790 // task definition is registered. 17791 // 17792 // If you are using the EC2 launch type, this field is optional. Supported values 17793 // are between 128 CPU units (0.125 vCPUs) and 10240 CPU units (10 vCPUs). 17794 // 17795 // If you are using the Fargate launch type, this field is required and you 17796 // must use one of the following values, which determines your range of supported 17797 // values for the memory parameter: 17798 // 17799 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 17800 // 2048 (2 GB) 17801 // 17802 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 17803 // (3 GB), 4096 (4 GB) 17804 // 17805 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 17806 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 17807 // 17808 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 17809 // (16 GB) in increments of 1024 (1 GB) 17810 // 17811 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 17812 // (30 GB) in increments of 1024 (1 GB) 17813 Cpu *string `locationName:"cpu" type:"string"` 17814 17815 // The Unix timestamp for when the task was created (the task entered the PENDING 17816 // state). 17817 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 17818 17819 // The desired status of the task. For more information, see Task Lifecycle 17820 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17821 DesiredStatus *string `locationName:"desiredStatus" type:"string"` 17822 17823 // The Unix timestamp for when the task execution stopped. 17824 ExecutionStoppedAt *time.Time `locationName:"executionStoppedAt" type:"timestamp"` 17825 17826 // The name of the task group associated with the task. 17827 Group *string `locationName:"group" type:"string"` 17828 17829 // The health status for the task, which is determined by the health of the 17830 // essential containers in the task. If all essential containers in the task 17831 // are reporting as HEALTHY, then the task status also reports as HEALTHY. If 17832 // any essential containers in the task are reporting as UNHEALTHY or UNKNOWN, 17833 // then the task status also reports as UNHEALTHY or UNKNOWN, accordingly. 17834 // 17835 // The Amazon ECS container agent does not monitor or report on Docker health 17836 // checks that are embedded in a container image (such as those specified in 17837 // a parent image or from the image's Dockerfile) and not specified in the container 17838 // definition. Health check parameters that are specified in a container definition 17839 // override any Docker health checks that exist in the container image. 17840 HealthStatus *string `locationName:"healthStatus" type:"string" enum:"HealthStatus"` 17841 17842 // The Elastic Inference accelerator associated with the task. 17843 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 17844 17845 // The last known status of the task. For more information, see Task Lifecycle 17846 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-lifecycle.html). 17847 LastStatus *string `locationName:"lastStatus" type:"string"` 17848 17849 // The launch type on which your task is running. For more information, see 17850 // Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 17851 // in the Amazon Elastic Container Service Developer Guide. 17852 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 17853 17854 // The amount of memory (in MiB) used by the task as expressed in a task definition. 17855 // It can be expressed as an integer using MiB, for example 1024. It can also 17856 // be expressed as a string using GB, for example 1GB or 1 GB. String values 17857 // are converted to an integer indicating the MiB when the task definition is 17858 // registered. 17859 // 17860 // If you are using the EC2 launch type, this field is optional. 17861 // 17862 // If you are using the Fargate launch type, this field is required and you 17863 // must use one of the following values, which determines your range of supported 17864 // values for the cpu parameter: 17865 // 17866 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 17867 // vCPU) 17868 // 17869 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 17870 // 512 (.5 vCPU) 17871 // 17872 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 17873 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 17874 // 17875 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 17876 // Available cpu values: 2048 (2 vCPU) 17877 // 17878 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 17879 // Available cpu values: 4096 (4 vCPU) 17880 Memory *string `locationName:"memory" type:"string"` 17881 17882 // One or more container overrides. 17883 Overrides *TaskOverride `locationName:"overrides" type:"structure"` 17884 17885 // The platform version on which your task is running. A platform version is 17886 // only specified for tasks using the Fargate launch type. If one is not specified, 17887 // the LATEST platform version is used by default. For more information, see 17888 // AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 17889 // in the Amazon Elastic Container Service Developer Guide. 17890 PlatformVersion *string `locationName:"platformVersion" type:"string"` 17891 17892 // The Unix timestamp for when the container image pull began. 17893 PullStartedAt *time.Time `locationName:"pullStartedAt" type:"timestamp"` 17894 17895 // The Unix timestamp for when the container image pull completed. 17896 PullStoppedAt *time.Time `locationName:"pullStoppedAt" type:"timestamp"` 17897 17898 // The Unix timestamp for when the task started (the task transitioned from 17899 // the PENDING state to the RUNNING state). 17900 StartedAt *time.Time `locationName:"startedAt" type:"timestamp"` 17901 17902 // The tag specified when a task is started. If the task is started by an Amazon 17903 // ECS service, then the startedBy parameter contains the deployment ID of the 17904 // service that starts it. 17905 StartedBy *string `locationName:"startedBy" type:"string"` 17906 17907 // The stop code indicating why a task was stopped. The stoppedReason may contain 17908 // additional details. 17909 StopCode *string `locationName:"stopCode" type:"string" enum:"TaskStopCode"` 17910 17911 // The Unix timestamp for when the task was stopped (the task transitioned from 17912 // the RUNNING state to the STOPPED state). 17913 StoppedAt *time.Time `locationName:"stoppedAt" type:"timestamp"` 17914 17915 // The reason that the task was stopped. 17916 StoppedReason *string `locationName:"stoppedReason" type:"string"` 17917 17918 // The Unix timestamp for when the task stops (transitions from the RUNNING 17919 // state to STOPPED). 17920 StoppingAt *time.Time `locationName:"stoppingAt" type:"timestamp"` 17921 17922 // The metadata that you apply to the task to help you categorize and organize 17923 // them. Each tag consists of a key and an optional value, both of which you 17924 // define. 17925 // 17926 // The following basic restrictions apply to tags: 17927 // 17928 // * Maximum number of tags per resource - 50 17929 // 17930 // * For each resource, each tag key must be unique, and each tag key can 17931 // have only one value. 17932 // 17933 // * Maximum key length - 128 Unicode characters in UTF-8 17934 // 17935 // * Maximum value length - 256 Unicode characters in UTF-8 17936 // 17937 // * If your tagging schema is used across multiple services and resources, 17938 // remember that other services may have restrictions on allowed characters. 17939 // Generally allowed characters are: letters, numbers, and spaces representable 17940 // in UTF-8, and the following characters: + - = . _ : / @. 17941 // 17942 // * Tag keys and values are case-sensitive. 17943 // 17944 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 17945 // as a prefix for either keys or values as it is reserved for AWS use. You 17946 // cannot edit or delete tag keys or values with this prefix. Tags with this 17947 // prefix do not count against your tags per resource limit. 17948 Tags []*Tag `locationName:"tags" type:"list"` 17949 17950 // The Amazon Resource Name (ARN) of the task. 17951 TaskArn *string `locationName:"taskArn" type:"string"` 17952 17953 // The ARN of the task definition that creates the task. 17954 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 17955 17956 // The version counter for the task. Every time a task experiences a change 17957 // that triggers a CloudWatch event, the version counter is incremented. If 17958 // you are replicating your Amazon ECS task state with CloudWatch Events, you 17959 // can compare the version of a task reported by the Amazon ECS API actions 17960 // with the version reported in CloudWatch Events for the task (inside the detail 17961 // object) to verify that the version in your event stream is current. 17962 Version *int64 `locationName:"version" type:"long"` 17963} 17964 17965// String returns the string representation 17966func (s Task) String() string { 17967 return awsutil.Prettify(s) 17968} 17969 17970// GoString returns the string representation 17971func (s Task) GoString() string { 17972 return s.String() 17973} 17974 17975// SetAttachments sets the Attachments field's value. 17976func (s *Task) SetAttachments(v []*Attachment) *Task { 17977 s.Attachments = v 17978 return s 17979} 17980 17981// SetAttributes sets the Attributes field's value. 17982func (s *Task) SetAttributes(v []*Attribute) *Task { 17983 s.Attributes = v 17984 return s 17985} 17986 17987// SetAvailabilityZone sets the AvailabilityZone field's value. 17988func (s *Task) SetAvailabilityZone(v string) *Task { 17989 s.AvailabilityZone = &v 17990 return s 17991} 17992 17993// SetCapacityProviderName sets the CapacityProviderName field's value. 17994func (s *Task) SetCapacityProviderName(v string) *Task { 17995 s.CapacityProviderName = &v 17996 return s 17997} 17998 17999// SetClusterArn sets the ClusterArn field's value. 18000func (s *Task) SetClusterArn(v string) *Task { 18001 s.ClusterArn = &v 18002 return s 18003} 18004 18005// SetConnectivity sets the Connectivity field's value. 18006func (s *Task) SetConnectivity(v string) *Task { 18007 s.Connectivity = &v 18008 return s 18009} 18010 18011// SetConnectivityAt sets the ConnectivityAt field's value. 18012func (s *Task) SetConnectivityAt(v time.Time) *Task { 18013 s.ConnectivityAt = &v 18014 return s 18015} 18016 18017// SetContainerInstanceArn sets the ContainerInstanceArn field's value. 18018func (s *Task) SetContainerInstanceArn(v string) *Task { 18019 s.ContainerInstanceArn = &v 18020 return s 18021} 18022 18023// SetContainers sets the Containers field's value. 18024func (s *Task) SetContainers(v []*Container) *Task { 18025 s.Containers = v 18026 return s 18027} 18028 18029// SetCpu sets the Cpu field's value. 18030func (s *Task) SetCpu(v string) *Task { 18031 s.Cpu = &v 18032 return s 18033} 18034 18035// SetCreatedAt sets the CreatedAt field's value. 18036func (s *Task) SetCreatedAt(v time.Time) *Task { 18037 s.CreatedAt = &v 18038 return s 18039} 18040 18041// SetDesiredStatus sets the DesiredStatus field's value. 18042func (s *Task) SetDesiredStatus(v string) *Task { 18043 s.DesiredStatus = &v 18044 return s 18045} 18046 18047// SetExecutionStoppedAt sets the ExecutionStoppedAt field's value. 18048func (s *Task) SetExecutionStoppedAt(v time.Time) *Task { 18049 s.ExecutionStoppedAt = &v 18050 return s 18051} 18052 18053// SetGroup sets the Group field's value. 18054func (s *Task) SetGroup(v string) *Task { 18055 s.Group = &v 18056 return s 18057} 18058 18059// SetHealthStatus sets the HealthStatus field's value. 18060func (s *Task) SetHealthStatus(v string) *Task { 18061 s.HealthStatus = &v 18062 return s 18063} 18064 18065// SetInferenceAccelerators sets the InferenceAccelerators field's value. 18066func (s *Task) SetInferenceAccelerators(v []*InferenceAccelerator) *Task { 18067 s.InferenceAccelerators = v 18068 return s 18069} 18070 18071// SetLastStatus sets the LastStatus field's value. 18072func (s *Task) SetLastStatus(v string) *Task { 18073 s.LastStatus = &v 18074 return s 18075} 18076 18077// SetLaunchType sets the LaunchType field's value. 18078func (s *Task) SetLaunchType(v string) *Task { 18079 s.LaunchType = &v 18080 return s 18081} 18082 18083// SetMemory sets the Memory field's value. 18084func (s *Task) SetMemory(v string) *Task { 18085 s.Memory = &v 18086 return s 18087} 18088 18089// SetOverrides sets the Overrides field's value. 18090func (s *Task) SetOverrides(v *TaskOverride) *Task { 18091 s.Overrides = v 18092 return s 18093} 18094 18095// SetPlatformVersion sets the PlatformVersion field's value. 18096func (s *Task) SetPlatformVersion(v string) *Task { 18097 s.PlatformVersion = &v 18098 return s 18099} 18100 18101// SetPullStartedAt sets the PullStartedAt field's value. 18102func (s *Task) SetPullStartedAt(v time.Time) *Task { 18103 s.PullStartedAt = &v 18104 return s 18105} 18106 18107// SetPullStoppedAt sets the PullStoppedAt field's value. 18108func (s *Task) SetPullStoppedAt(v time.Time) *Task { 18109 s.PullStoppedAt = &v 18110 return s 18111} 18112 18113// SetStartedAt sets the StartedAt field's value. 18114func (s *Task) SetStartedAt(v time.Time) *Task { 18115 s.StartedAt = &v 18116 return s 18117} 18118 18119// SetStartedBy sets the StartedBy field's value. 18120func (s *Task) SetStartedBy(v string) *Task { 18121 s.StartedBy = &v 18122 return s 18123} 18124 18125// SetStopCode sets the StopCode field's value. 18126func (s *Task) SetStopCode(v string) *Task { 18127 s.StopCode = &v 18128 return s 18129} 18130 18131// SetStoppedAt sets the StoppedAt field's value. 18132func (s *Task) SetStoppedAt(v time.Time) *Task { 18133 s.StoppedAt = &v 18134 return s 18135} 18136 18137// SetStoppedReason sets the StoppedReason field's value. 18138func (s *Task) SetStoppedReason(v string) *Task { 18139 s.StoppedReason = &v 18140 return s 18141} 18142 18143// SetStoppingAt sets the StoppingAt field's value. 18144func (s *Task) SetStoppingAt(v time.Time) *Task { 18145 s.StoppingAt = &v 18146 return s 18147} 18148 18149// SetTags sets the Tags field's value. 18150func (s *Task) SetTags(v []*Tag) *Task { 18151 s.Tags = v 18152 return s 18153} 18154 18155// SetTaskArn sets the TaskArn field's value. 18156func (s *Task) SetTaskArn(v string) *Task { 18157 s.TaskArn = &v 18158 return s 18159} 18160 18161// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 18162func (s *Task) SetTaskDefinitionArn(v string) *Task { 18163 s.TaskDefinitionArn = &v 18164 return s 18165} 18166 18167// SetVersion sets the Version field's value. 18168func (s *Task) SetVersion(v int64) *Task { 18169 s.Version = &v 18170 return s 18171} 18172 18173// The details of a task definition which describes the container and volume 18174// definitions of an Amazon Elastic Container Service task. You can specify 18175// which Docker images to use, the required resources, and other configurations 18176// related to launching the task definition through an Amazon ECS service or 18177// task. 18178type TaskDefinition struct { 18179 _ struct{} `type:"structure"` 18180 18181 // The launch type to use with your task. For more information, see Amazon ECS 18182 // Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18183 // in the Amazon Elastic Container Service Developer Guide. 18184 Compatibilities []*string `locationName:"compatibilities" type:"list"` 18185 18186 // A list of container definitions in JSON format that describe the different 18187 // containers that make up your task. For more information about container definition 18188 // parameters and defaults, see Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) 18189 // in the Amazon Elastic Container Service Developer Guide. 18190 ContainerDefinitions []*ContainerDefinition `locationName:"containerDefinitions" type:"list"` 18191 18192 // The number of cpu units used by the task. If you are using the EC2 launch 18193 // type, this field is optional and any value can be used. If you are using 18194 // the Fargate launch type, this field is required and you must use one of the 18195 // following values, which determines your range of valid values for the memory 18196 // parameter: 18197 // 18198 // * 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 18199 // 2048 (2 GB) 18200 // 18201 // * 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 18202 // (3 GB), 4096 (4 GB) 18203 // 18204 // * 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 18205 // (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 18206 // 18207 // * 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 18208 // (16 GB) in increments of 1024 (1 GB) 18209 // 18210 // * 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 18211 // (30 GB) in increments of 1024 (1 GB) 18212 Cpu *string `locationName:"cpu" type:"string"` 18213 18214 // The Amazon Resource Name (ARN) of the task execution role that grants the 18215 // Amazon ECS container agent permission to make AWS API calls on your behalf. 18216 // The task execution IAM role is required depending on the requirements of 18217 // your task. For more information, see Amazon ECS task execution IAM role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) 18218 // in the Amazon Elastic Container Service Developer Guide. 18219 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18220 18221 // The name of a family that this task definition is registered to. Up to 255 18222 // letters (uppercase and lowercase), numbers, hyphens, and underscores are 18223 // allowed. 18224 // 18225 // A family groups multiple versions of a task definition. Amazon ECS gives 18226 // the first task definition that you registered to a family a revision number 18227 // of 1. Amazon ECS gives sequential revision numbers to each task definition 18228 // that you add. 18229 Family *string `locationName:"family" type:"string"` 18230 18231 // The Elastic Inference accelerator associated with the task. 18232 InferenceAccelerators []*InferenceAccelerator `locationName:"inferenceAccelerators" type:"list"` 18233 18234 // The IPC resource namespace to use for the containers in the task. The valid 18235 // values are host, task, or none. If host is specified, then all containers 18236 // within the tasks that specified the host IPC mode on the same container instance 18237 // share the same IPC resources with the host Amazon EC2 instance. If task is 18238 // specified, all containers within the specified task share the same IPC resources. 18239 // If none is specified, then IPC resources within the containers of a task 18240 // are private and not shared with other containers in a task or on the container 18241 // instance. If no value is specified, then the IPC resource namespace sharing 18242 // depends on the Docker daemon setting on the container instance. For more 18243 // information, see IPC settings (https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) 18244 // in the Docker run reference. 18245 // 18246 // If the host IPC mode is used, be aware that there is a heightened risk of 18247 // undesired IPC namespace expose. For more information, see Docker security 18248 // (https://docs.docker.com/engine/security/security/). 18249 // 18250 // If you are setting namespaced kernel parameters using systemControls for 18251 // the containers in the task, the following will apply to your IPC resource 18252 // namespace. For more information, see System Controls (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) 18253 // in the Amazon Elastic Container Service Developer Guide. 18254 // 18255 // * For tasks that use the host IPC mode, IPC namespace related systemControls 18256 // are not supported. 18257 // 18258 // * For tasks that use the task IPC mode, IPC namespace related systemControls 18259 // will apply to all containers within a task. 18260 // 18261 // This parameter is not supported for Windows containers or tasks using the 18262 // Fargate launch type. 18263 IpcMode *string `locationName:"ipcMode" type:"string" enum:"IpcMode"` 18264 18265 // The amount (in MiB) of memory used by the task. 18266 // 18267 // If using the EC2 launch type, this field is optional and any value can be 18268 // used. If a task-level memory value is specified then the container-level 18269 // memory value is optional. 18270 // 18271 // If using the Fargate launch type, this field is required and you must use 18272 // one of the following values, which determines your range of valid values 18273 // for the cpu parameter: 18274 // 18275 // * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 18276 // vCPU) 18277 // 18278 // * 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 18279 // 512 (.5 vCPU) 18280 // 18281 // * 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 18282 // (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) 18283 // 18284 // * Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - 18285 // Available cpu values: 2048 (2 vCPU) 18286 // 18287 // * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - 18288 // Available cpu values: 4096 (4 vCPU) 18289 Memory *string `locationName:"memory" type:"string"` 18290 18291 // The Docker networking mode to use for the containers in the task. The valid 18292 // values are none, bridge, awsvpc, and host. The default Docker network mode 18293 // is bridge. If you are using the Fargate launch type, the awsvpc network mode 18294 // is required. If you are using the EC2 launch type, any network mode can be 18295 // used. If the network mode is set to none, you cannot specify port mappings 18296 // in your container definitions, and the tasks containers do not have external 18297 // connectivity. The host and awsvpc network modes offer the highest networking 18298 // performance for containers because they use the EC2 network stack instead 18299 // of the virtualized network stack provided by the bridge mode. 18300 // 18301 // With the host and awsvpc network modes, exposed container ports are mapped 18302 // directly to the corresponding host port (for the host network mode) or the 18303 // attached elastic network interface port (for the awsvpc network mode), so 18304 // you cannot take advantage of dynamic host port mappings. 18305 // 18306 // If the network mode is awsvpc, the task is allocated an elastic network interface, 18307 // and you must specify a NetworkConfiguration value when you create a service 18308 // or run a task with the task definition. For more information, see Task Networking 18309 // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) 18310 // in the Amazon Elastic Container Service Developer Guide. 18311 // 18312 // Currently, only Amazon ECS-optimized AMIs, other Amazon Linux variants with 18313 // the ecs-init package, or AWS Fargate infrastructure support the awsvpc network 18314 // mode. 18315 // 18316 // If the network mode is host, you cannot run multiple instantiations of the 18317 // same task on a single container instance when port mappings are used. 18318 // 18319 // Docker for Windows uses different network modes than Docker for Linux. When 18320 // you register a task definition with Windows containers, you must not specify 18321 // a network mode. If you use the console to register a task definition with 18322 // Windows containers, you must choose the <default> network mode object. 18323 // 18324 // For more information, see Network settings (https://docs.docker.com/engine/reference/run/#network-settings) 18325 // in the Docker run reference. 18326 NetworkMode *string `locationName:"networkMode" type:"string" enum:"NetworkMode"` 18327 18328 // The process namespace to use for the containers in the task. The valid values 18329 // are host or task. If host is specified, then all containers within the tasks 18330 // that specified the host PID mode on the same container instance share the 18331 // same process namespace with the host Amazon EC2 instance. If task is specified, 18332 // all containers within the specified task share the same process namespace. 18333 // If no value is specified, the default is a private namespace. For more information, 18334 // see PID settings (https://docs.docker.com/engine/reference/run/#pid-settings---pid) 18335 // in the Docker run reference. 18336 // 18337 // If the host PID mode is used, be aware that there is a heightened risk of 18338 // undesired process namespace expose. For more information, see Docker security 18339 // (https://docs.docker.com/engine/security/security/). 18340 // 18341 // This parameter is not supported for Windows containers or tasks using the 18342 // Fargate launch type. 18343 PidMode *string `locationName:"pidMode" type:"string" enum:"PidMode"` 18344 18345 // An array of placement constraint objects to use for tasks. This field is 18346 // not valid if you are using the Fargate launch type for your task. 18347 PlacementConstraints []*TaskDefinitionPlacementConstraint `locationName:"placementConstraints" type:"list"` 18348 18349 // The configuration details for the App Mesh proxy. 18350 // 18351 // Your Amazon ECS container instances require at least version 1.26.0 of the 18352 // container agent and at least version 1.26.0-1 of the ecs-init package to 18353 // enable a proxy configuration. If your container instances are launched from 18354 // the Amazon ECS-optimized AMI version 20190301 or later, then they contain 18355 // the required versions of the container agent and ecs-init. For more information, 18356 // see Amazon ECS-optimized Linux AMI (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html) 18357 // in the Amazon Elastic Container Service Developer Guide. 18358 ProxyConfiguration *ProxyConfiguration `locationName:"proxyConfiguration" type:"structure"` 18359 18360 // The container instance attributes required by your task. This field is not 18361 // valid if you are using the Fargate launch type for your task. 18362 RequiresAttributes []*Attribute `locationName:"requiresAttributes" type:"list"` 18363 18364 // The launch type the task requires. If no value is specified, it will default 18365 // to EC2. Valid values include EC2 and FARGATE. 18366 RequiresCompatibilities []*string `locationName:"requiresCompatibilities" type:"list"` 18367 18368 // The revision of the task in a particular family. The revision is a version 18369 // number of a task definition in a family. When you register a task definition 18370 // for the first time, the revision is 1. Each time that you register a new 18371 // revision of a task definition in the same family, the revision value always 18372 // increases by one, even if you have deregistered previous revisions in this 18373 // family. 18374 Revision *int64 `locationName:"revision" type:"integer"` 18375 18376 // The status of the task definition. 18377 Status *string `locationName:"status" type:"string" enum:"TaskDefinitionStatus"` 18378 18379 // The full Amazon Resource Name (ARN) of the task definition. 18380 TaskDefinitionArn *string `locationName:"taskDefinitionArn" type:"string"` 18381 18382 // The short name or full Amazon Resource Name (ARN) of the AWS Identity and 18383 // Access Management (IAM) role that grants containers in the task permission 18384 // to call AWS APIs on your behalf. For more information, see Amazon ECS Task 18385 // Role (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) 18386 // in the Amazon Elastic Container Service Developer Guide. 18387 // 18388 // IAM roles for tasks on Windows require that the -EnableTaskIAMRole option 18389 // is set when you launch the Amazon ECS-optimized Windows AMI. Your containers 18390 // must also run some configuration code in order to take advantage of the feature. 18391 // For more information, see Windows IAM Roles for Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html) 18392 // in the Amazon Elastic Container Service Developer Guide. 18393 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18394 18395 // The list of volume definitions for the task. 18396 // 18397 // If your tasks are using the Fargate launch type, the host and sourcePath 18398 // parameters are not supported. 18399 // 18400 // For more information about volume definition parameters and defaults, see 18401 // Amazon ECS Task Definitions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html) 18402 // in the Amazon Elastic Container Service Developer Guide. 18403 Volumes []*Volume `locationName:"volumes" type:"list"` 18404} 18405 18406// String returns the string representation 18407func (s TaskDefinition) String() string { 18408 return awsutil.Prettify(s) 18409} 18410 18411// GoString returns the string representation 18412func (s TaskDefinition) GoString() string { 18413 return s.String() 18414} 18415 18416// SetCompatibilities sets the Compatibilities field's value. 18417func (s *TaskDefinition) SetCompatibilities(v []*string) *TaskDefinition { 18418 s.Compatibilities = v 18419 return s 18420} 18421 18422// SetContainerDefinitions sets the ContainerDefinitions field's value. 18423func (s *TaskDefinition) SetContainerDefinitions(v []*ContainerDefinition) *TaskDefinition { 18424 s.ContainerDefinitions = v 18425 return s 18426} 18427 18428// SetCpu sets the Cpu field's value. 18429func (s *TaskDefinition) SetCpu(v string) *TaskDefinition { 18430 s.Cpu = &v 18431 return s 18432} 18433 18434// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18435func (s *TaskDefinition) SetExecutionRoleArn(v string) *TaskDefinition { 18436 s.ExecutionRoleArn = &v 18437 return s 18438} 18439 18440// SetFamily sets the Family field's value. 18441func (s *TaskDefinition) SetFamily(v string) *TaskDefinition { 18442 s.Family = &v 18443 return s 18444} 18445 18446// SetInferenceAccelerators sets the InferenceAccelerators field's value. 18447func (s *TaskDefinition) SetInferenceAccelerators(v []*InferenceAccelerator) *TaskDefinition { 18448 s.InferenceAccelerators = v 18449 return s 18450} 18451 18452// SetIpcMode sets the IpcMode field's value. 18453func (s *TaskDefinition) SetIpcMode(v string) *TaskDefinition { 18454 s.IpcMode = &v 18455 return s 18456} 18457 18458// SetMemory sets the Memory field's value. 18459func (s *TaskDefinition) SetMemory(v string) *TaskDefinition { 18460 s.Memory = &v 18461 return s 18462} 18463 18464// SetNetworkMode sets the NetworkMode field's value. 18465func (s *TaskDefinition) SetNetworkMode(v string) *TaskDefinition { 18466 s.NetworkMode = &v 18467 return s 18468} 18469 18470// SetPidMode sets the PidMode field's value. 18471func (s *TaskDefinition) SetPidMode(v string) *TaskDefinition { 18472 s.PidMode = &v 18473 return s 18474} 18475 18476// SetPlacementConstraints sets the PlacementConstraints field's value. 18477func (s *TaskDefinition) SetPlacementConstraints(v []*TaskDefinitionPlacementConstraint) *TaskDefinition { 18478 s.PlacementConstraints = v 18479 return s 18480} 18481 18482// SetProxyConfiguration sets the ProxyConfiguration field's value. 18483func (s *TaskDefinition) SetProxyConfiguration(v *ProxyConfiguration) *TaskDefinition { 18484 s.ProxyConfiguration = v 18485 return s 18486} 18487 18488// SetRequiresAttributes sets the RequiresAttributes field's value. 18489func (s *TaskDefinition) SetRequiresAttributes(v []*Attribute) *TaskDefinition { 18490 s.RequiresAttributes = v 18491 return s 18492} 18493 18494// SetRequiresCompatibilities sets the RequiresCompatibilities field's value. 18495func (s *TaskDefinition) SetRequiresCompatibilities(v []*string) *TaskDefinition { 18496 s.RequiresCompatibilities = v 18497 return s 18498} 18499 18500// SetRevision sets the Revision field's value. 18501func (s *TaskDefinition) SetRevision(v int64) *TaskDefinition { 18502 s.Revision = &v 18503 return s 18504} 18505 18506// SetStatus sets the Status field's value. 18507func (s *TaskDefinition) SetStatus(v string) *TaskDefinition { 18508 s.Status = &v 18509 return s 18510} 18511 18512// SetTaskDefinitionArn sets the TaskDefinitionArn field's value. 18513func (s *TaskDefinition) SetTaskDefinitionArn(v string) *TaskDefinition { 18514 s.TaskDefinitionArn = &v 18515 return s 18516} 18517 18518// SetTaskRoleArn sets the TaskRoleArn field's value. 18519func (s *TaskDefinition) SetTaskRoleArn(v string) *TaskDefinition { 18520 s.TaskRoleArn = &v 18521 return s 18522} 18523 18524// SetVolumes sets the Volumes field's value. 18525func (s *TaskDefinition) SetVolumes(v []*Volume) *TaskDefinition { 18526 s.Volumes = v 18527 return s 18528} 18529 18530// An object representing a constraint on task placement in the task definition. 18531// For more information, see Task Placement Constraints (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) 18532// in the Amazon Elastic Container Service Developer Guide. 18533// 18534// If you are using the Fargate launch type, task placement constraints are 18535// not supported. 18536type TaskDefinitionPlacementConstraint struct { 18537 _ struct{} `type:"structure"` 18538 18539 // A cluster query language expression to apply to the constraint. For more 18540 // information, see Cluster Query Language (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) 18541 // in the Amazon Elastic Container Service Developer Guide. 18542 Expression *string `locationName:"expression" type:"string"` 18543 18544 // The type of constraint. The MemberOf constraint restricts selection to be 18545 // from a group of valid candidates. 18546 Type *string `locationName:"type" type:"string" enum:"TaskDefinitionPlacementConstraintType"` 18547} 18548 18549// String returns the string representation 18550func (s TaskDefinitionPlacementConstraint) String() string { 18551 return awsutil.Prettify(s) 18552} 18553 18554// GoString returns the string representation 18555func (s TaskDefinitionPlacementConstraint) GoString() string { 18556 return s.String() 18557} 18558 18559// SetExpression sets the Expression field's value. 18560func (s *TaskDefinitionPlacementConstraint) SetExpression(v string) *TaskDefinitionPlacementConstraint { 18561 s.Expression = &v 18562 return s 18563} 18564 18565// SetType sets the Type field's value. 18566func (s *TaskDefinitionPlacementConstraint) SetType(v string) *TaskDefinitionPlacementConstraint { 18567 s.Type = &v 18568 return s 18569} 18570 18571// The overrides associated with a task. 18572type TaskOverride struct { 18573 _ struct{} `type:"structure"` 18574 18575 // One or more container overrides sent to a task. 18576 ContainerOverrides []*ContainerOverride `locationName:"containerOverrides" type:"list"` 18577 18578 // The cpu override for the task. 18579 Cpu *string `locationName:"cpu" type:"string"` 18580 18581 // The Amazon Resource Name (ARN) of the task execution IAM role override for 18582 // the task. 18583 ExecutionRoleArn *string `locationName:"executionRoleArn" type:"string"` 18584 18585 // The Elastic Inference accelerator override for the task. 18586 InferenceAcceleratorOverrides []*InferenceAcceleratorOverride `locationName:"inferenceAcceleratorOverrides" type:"list"` 18587 18588 // The memory override for the task. 18589 Memory *string `locationName:"memory" type:"string"` 18590 18591 // The Amazon Resource Name (ARN) of the IAM role that containers in this task 18592 // can assume. All containers in this task are granted the permissions that 18593 // are specified in this role. 18594 TaskRoleArn *string `locationName:"taskRoleArn" type:"string"` 18595} 18596 18597// String returns the string representation 18598func (s TaskOverride) String() string { 18599 return awsutil.Prettify(s) 18600} 18601 18602// GoString returns the string representation 18603func (s TaskOverride) GoString() string { 18604 return s.String() 18605} 18606 18607// Validate inspects the fields of the type to determine if they are valid. 18608func (s *TaskOverride) Validate() error { 18609 invalidParams := request.ErrInvalidParams{Context: "TaskOverride"} 18610 if s.ContainerOverrides != nil { 18611 for i, v := range s.ContainerOverrides { 18612 if v == nil { 18613 continue 18614 } 18615 if err := v.Validate(); err != nil { 18616 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ContainerOverrides", i), err.(request.ErrInvalidParams)) 18617 } 18618 } 18619 } 18620 18621 if invalidParams.Len() > 0 { 18622 return invalidParams 18623 } 18624 return nil 18625} 18626 18627// SetContainerOverrides sets the ContainerOverrides field's value. 18628func (s *TaskOverride) SetContainerOverrides(v []*ContainerOverride) *TaskOverride { 18629 s.ContainerOverrides = v 18630 return s 18631} 18632 18633// SetCpu sets the Cpu field's value. 18634func (s *TaskOverride) SetCpu(v string) *TaskOverride { 18635 s.Cpu = &v 18636 return s 18637} 18638 18639// SetExecutionRoleArn sets the ExecutionRoleArn field's value. 18640func (s *TaskOverride) SetExecutionRoleArn(v string) *TaskOverride { 18641 s.ExecutionRoleArn = &v 18642 return s 18643} 18644 18645// SetInferenceAcceleratorOverrides sets the InferenceAcceleratorOverrides field's value. 18646func (s *TaskOverride) SetInferenceAcceleratorOverrides(v []*InferenceAcceleratorOverride) *TaskOverride { 18647 s.InferenceAcceleratorOverrides = v 18648 return s 18649} 18650 18651// SetMemory sets the Memory field's value. 18652func (s *TaskOverride) SetMemory(v string) *TaskOverride { 18653 s.Memory = &v 18654 return s 18655} 18656 18657// SetTaskRoleArn sets the TaskRoleArn field's value. 18658func (s *TaskOverride) SetTaskRoleArn(v string) *TaskOverride { 18659 s.TaskRoleArn = &v 18660 return s 18661} 18662 18663// Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 18664// an EXTERNAL deployment. An Amazon ECS task set includes details such as the 18665// desired number of tasks, how many tasks are running, and whether the task 18666// set serves production traffic. 18667type TaskSet struct { 18668 _ struct{} `type:"structure"` 18669 18670 // The capacity provider strategy associated with the task set. 18671 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 18672 18673 // The Amazon Resource Name (ARN) of the cluster that the service that hosts 18674 // the task set exists in. 18675 ClusterArn *string `locationName:"clusterArn" type:"string"` 18676 18677 // The computed desired count for the task set. This is calculated by multiplying 18678 // the service's desiredCount by the task set's scale percentage. The result 18679 // is always rounded up. For example, if the computed desired count is 1.2, 18680 // it rounds up to 2 tasks. 18681 ComputedDesiredCount *int64 `locationName:"computedDesiredCount" type:"integer"` 18682 18683 // The Unix timestamp for when the task set was created. 18684 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"` 18685 18686 // The external ID associated with the task set. 18687 // 18688 // If a task set is created by an AWS CodeDeploy deployment, the externalId 18689 // parameter contains the AWS CodeDeploy deployment ID. 18690 // 18691 // If a task set is created for an external deployment and is associated with 18692 // a service discovery registry, the externalId parameter contains the ECS_TASK_SET_EXTERNAL_ID 18693 // AWS Cloud Map attribute. 18694 ExternalId *string `locationName:"externalId" type:"string"` 18695 18696 // The ID of the task set. 18697 Id *string `locationName:"id" type:"string"` 18698 18699 // The launch type the tasks in the task set are using. For more information, 18700 // see Amazon ECS Launch Types (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) 18701 // in the Amazon Elastic Container Service Developer Guide. 18702 LaunchType *string `locationName:"launchType" type:"string" enum:"LaunchType"` 18703 18704 // Details on a load balancer that is used with a task set. 18705 LoadBalancers []*LoadBalancer `locationName:"loadBalancers" type:"list"` 18706 18707 // The network configuration for the task set. 18708 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 18709 18710 // The number of tasks in the task set that are in the PENDING status during 18711 // a deployment. A task in the PENDING state is preparing to enter the RUNNING 18712 // state. A task set enters the PENDING status when it launches for the first 18713 // time or when it is restarted after being in the STOPPED state. 18714 PendingCount *int64 `locationName:"pendingCount" type:"integer"` 18715 18716 // The platform version on which the tasks in the task set are running. A platform 18717 // version is only specified for tasks using the Fargate launch type. If one 18718 // is not specified, the LATEST platform version is used by default. For more 18719 // information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 18720 // in the Amazon Elastic Container Service Developer Guide. 18721 PlatformVersion *string `locationName:"platformVersion" type:"string"` 18722 18723 // The number of tasks in the task set that are in the RUNNING status during 18724 // a deployment. A task in the RUNNING state is running and ready for use. 18725 RunningCount *int64 `locationName:"runningCount" type:"integer"` 18726 18727 // A floating-point percentage of the desired number of tasks to place and keep 18728 // running in the task set. 18729 Scale *Scale `locationName:"scale" type:"structure"` 18730 18731 // The Amazon Resource Name (ARN) of the service the task set exists in. 18732 ServiceArn *string `locationName:"serviceArn" type:"string"` 18733 18734 // The details of the service discovery registries to assign to this task set. 18735 // For more information, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html). 18736 ServiceRegistries []*ServiceRegistry `locationName:"serviceRegistries" type:"list"` 18737 18738 // The stability status, which indicates whether the task set has reached a 18739 // steady state. If the following conditions are met, the task set will be in 18740 // STEADY_STATE: 18741 // 18742 // * The task runningCount is equal to the computedDesiredCount. 18743 // 18744 // * The pendingCount is 0. 18745 // 18746 // * There are no tasks running on container instances in the DRAINING status. 18747 // 18748 // * All tasks are reporting a healthy status from the load balancers, service 18749 // discovery, and container health checks. 18750 // 18751 // If any of those conditions are not met, the stability status returns STABILIZING. 18752 StabilityStatus *string `locationName:"stabilityStatus" type:"string" enum:"StabilityStatus"` 18753 18754 // The Unix timestamp for when the task set stability status was retrieved. 18755 StabilityStatusAt *time.Time `locationName:"stabilityStatusAt" type:"timestamp"` 18756 18757 // The tag specified when a task set is started. If the task set is created 18758 // by an AWS CodeDeploy deployment, the startedBy parameter is CODE_DEPLOY. 18759 // For a task set created for an external deployment, the startedBy field isn't 18760 // used. 18761 StartedBy *string `locationName:"startedBy" type:"string"` 18762 18763 // The status of the task set. The following describes each state: 18764 // 18765 // PRIMARY 18766 // 18767 // The task set is serving production traffic. 18768 // 18769 // ACTIVE 18770 // 18771 // The task set is not serving production traffic. 18772 // 18773 // DRAINING 18774 // 18775 // The tasks in the task set are being stopped and their corresponding targets 18776 // are being deregistered from their target group. 18777 Status *string `locationName:"status" type:"string"` 18778 18779 // The metadata that you apply to the task set to help you categorize and organize 18780 // them. Each tag consists of a key and an optional value, both of which you 18781 // define. 18782 // 18783 // The following basic restrictions apply to tags: 18784 // 18785 // * Maximum number of tags per resource - 50 18786 // 18787 // * For each resource, each tag key must be unique, and each tag key can 18788 // have only one value. 18789 // 18790 // * Maximum key length - 128 Unicode characters in UTF-8 18791 // 18792 // * Maximum value length - 256 Unicode characters in UTF-8 18793 // 18794 // * If your tagging schema is used across multiple services and resources, 18795 // remember that other services may have restrictions on allowed characters. 18796 // Generally allowed characters are: letters, numbers, and spaces representable 18797 // in UTF-8, and the following characters: + - = . _ : / @. 18798 // 18799 // * Tag keys and values are case-sensitive. 18800 // 18801 // * Do not use aws:, AWS:, or any upper or lowercase combination of such 18802 // as a prefix for either keys or values as it is reserved for AWS use. You 18803 // cannot edit or delete tag keys or values with this prefix. Tags with this 18804 // prefix do not count against your tags per resource limit. 18805 Tags []*Tag `locationName:"tags" type:"list"` 18806 18807 // The task definition the task set is using. 18808 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 18809 18810 // The Amazon Resource Name (ARN) of the task set. 18811 TaskSetArn *string `locationName:"taskSetArn" type:"string"` 18812 18813 // The Unix timestamp for when the task set was last updated. 18814 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp"` 18815} 18816 18817// String returns the string representation 18818func (s TaskSet) String() string { 18819 return awsutil.Prettify(s) 18820} 18821 18822// GoString returns the string representation 18823func (s TaskSet) GoString() string { 18824 return s.String() 18825} 18826 18827// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 18828func (s *TaskSet) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *TaskSet { 18829 s.CapacityProviderStrategy = v 18830 return s 18831} 18832 18833// SetClusterArn sets the ClusterArn field's value. 18834func (s *TaskSet) SetClusterArn(v string) *TaskSet { 18835 s.ClusterArn = &v 18836 return s 18837} 18838 18839// SetComputedDesiredCount sets the ComputedDesiredCount field's value. 18840func (s *TaskSet) SetComputedDesiredCount(v int64) *TaskSet { 18841 s.ComputedDesiredCount = &v 18842 return s 18843} 18844 18845// SetCreatedAt sets the CreatedAt field's value. 18846func (s *TaskSet) SetCreatedAt(v time.Time) *TaskSet { 18847 s.CreatedAt = &v 18848 return s 18849} 18850 18851// SetExternalId sets the ExternalId field's value. 18852func (s *TaskSet) SetExternalId(v string) *TaskSet { 18853 s.ExternalId = &v 18854 return s 18855} 18856 18857// SetId sets the Id field's value. 18858func (s *TaskSet) SetId(v string) *TaskSet { 18859 s.Id = &v 18860 return s 18861} 18862 18863// SetLaunchType sets the LaunchType field's value. 18864func (s *TaskSet) SetLaunchType(v string) *TaskSet { 18865 s.LaunchType = &v 18866 return s 18867} 18868 18869// SetLoadBalancers sets the LoadBalancers field's value. 18870func (s *TaskSet) SetLoadBalancers(v []*LoadBalancer) *TaskSet { 18871 s.LoadBalancers = v 18872 return s 18873} 18874 18875// SetNetworkConfiguration sets the NetworkConfiguration field's value. 18876func (s *TaskSet) SetNetworkConfiguration(v *NetworkConfiguration) *TaskSet { 18877 s.NetworkConfiguration = v 18878 return s 18879} 18880 18881// SetPendingCount sets the PendingCount field's value. 18882func (s *TaskSet) SetPendingCount(v int64) *TaskSet { 18883 s.PendingCount = &v 18884 return s 18885} 18886 18887// SetPlatformVersion sets the PlatformVersion field's value. 18888func (s *TaskSet) SetPlatformVersion(v string) *TaskSet { 18889 s.PlatformVersion = &v 18890 return s 18891} 18892 18893// SetRunningCount sets the RunningCount field's value. 18894func (s *TaskSet) SetRunningCount(v int64) *TaskSet { 18895 s.RunningCount = &v 18896 return s 18897} 18898 18899// SetScale sets the Scale field's value. 18900func (s *TaskSet) SetScale(v *Scale) *TaskSet { 18901 s.Scale = v 18902 return s 18903} 18904 18905// SetServiceArn sets the ServiceArn field's value. 18906func (s *TaskSet) SetServiceArn(v string) *TaskSet { 18907 s.ServiceArn = &v 18908 return s 18909} 18910 18911// SetServiceRegistries sets the ServiceRegistries field's value. 18912func (s *TaskSet) SetServiceRegistries(v []*ServiceRegistry) *TaskSet { 18913 s.ServiceRegistries = v 18914 return s 18915} 18916 18917// SetStabilityStatus sets the StabilityStatus field's value. 18918func (s *TaskSet) SetStabilityStatus(v string) *TaskSet { 18919 s.StabilityStatus = &v 18920 return s 18921} 18922 18923// SetStabilityStatusAt sets the StabilityStatusAt field's value. 18924func (s *TaskSet) SetStabilityStatusAt(v time.Time) *TaskSet { 18925 s.StabilityStatusAt = &v 18926 return s 18927} 18928 18929// SetStartedBy sets the StartedBy field's value. 18930func (s *TaskSet) SetStartedBy(v string) *TaskSet { 18931 s.StartedBy = &v 18932 return s 18933} 18934 18935// SetStatus sets the Status field's value. 18936func (s *TaskSet) SetStatus(v string) *TaskSet { 18937 s.Status = &v 18938 return s 18939} 18940 18941// SetTags sets the Tags field's value. 18942func (s *TaskSet) SetTags(v []*Tag) *TaskSet { 18943 s.Tags = v 18944 return s 18945} 18946 18947// SetTaskDefinition sets the TaskDefinition field's value. 18948func (s *TaskSet) SetTaskDefinition(v string) *TaskSet { 18949 s.TaskDefinition = &v 18950 return s 18951} 18952 18953// SetTaskSetArn sets the TaskSetArn field's value. 18954func (s *TaskSet) SetTaskSetArn(v string) *TaskSet { 18955 s.TaskSetArn = &v 18956 return s 18957} 18958 18959// SetUpdatedAt sets the UpdatedAt field's value. 18960func (s *TaskSet) SetUpdatedAt(v time.Time) *TaskSet { 18961 s.UpdatedAt = &v 18962 return s 18963} 18964 18965// The specified task set could not be found. You can view your available task 18966// sets with DescribeTaskSets. Task sets are specific to each cluster, service 18967// and Region. 18968type TaskSetNotFoundException struct { 18969 _ struct{} `type:"structure"` 18970 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 18971 18972 Message_ *string `locationName:"message" type:"string"` 18973} 18974 18975// String returns the string representation 18976func (s TaskSetNotFoundException) String() string { 18977 return awsutil.Prettify(s) 18978} 18979 18980// GoString returns the string representation 18981func (s TaskSetNotFoundException) GoString() string { 18982 return s.String() 18983} 18984 18985func newErrorTaskSetNotFoundException(v protocol.ResponseMetadata) error { 18986 return &TaskSetNotFoundException{ 18987 RespMetadata: v, 18988 } 18989} 18990 18991// Code returns the exception type name. 18992func (s *TaskSetNotFoundException) Code() string { 18993 return "TaskSetNotFoundException" 18994} 18995 18996// Message returns the exception's message. 18997func (s *TaskSetNotFoundException) Message() string { 18998 if s.Message_ != nil { 18999 return *s.Message_ 19000 } 19001 return "" 19002} 19003 19004// OrigErr always returns nil, satisfies awserr.Error interface. 19005func (s *TaskSetNotFoundException) OrigErr() error { 19006 return nil 19007} 19008 19009func (s *TaskSetNotFoundException) Error() string { 19010 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19011} 19012 19013// Status code returns the HTTP status code for the request's response error. 19014func (s *TaskSetNotFoundException) StatusCode() int { 19015 return s.RespMetadata.StatusCode 19016} 19017 19018// RequestID returns the service's response RequestID for request. 19019func (s *TaskSetNotFoundException) RequestID() string { 19020 return s.RespMetadata.RequestID 19021} 19022 19023// The container path, mount options, and size of the tmpfs mount. 19024type Tmpfs struct { 19025 _ struct{} `type:"structure"` 19026 19027 // The absolute file path where the tmpfs volume is to be mounted. 19028 // 19029 // ContainerPath is a required field 19030 ContainerPath *string `locationName:"containerPath" type:"string" required:"true"` 19031 19032 // The list of tmpfs volume mount options. 19033 // 19034 // Valid values: "defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" 19035 // | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | 19036 // "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" 19037 // | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" 19038 // | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" 19039 // | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol" 19040 MountOptions []*string `locationName:"mountOptions" type:"list"` 19041 19042 // The size (in MiB) of the tmpfs volume. 19043 // 19044 // Size is a required field 19045 Size *int64 `locationName:"size" type:"integer" required:"true"` 19046} 19047 19048// String returns the string representation 19049func (s Tmpfs) String() string { 19050 return awsutil.Prettify(s) 19051} 19052 19053// GoString returns the string representation 19054func (s Tmpfs) GoString() string { 19055 return s.String() 19056} 19057 19058// Validate inspects the fields of the type to determine if they are valid. 19059func (s *Tmpfs) Validate() error { 19060 invalidParams := request.ErrInvalidParams{Context: "Tmpfs"} 19061 if s.ContainerPath == nil { 19062 invalidParams.Add(request.NewErrParamRequired("ContainerPath")) 19063 } 19064 if s.Size == nil { 19065 invalidParams.Add(request.NewErrParamRequired("Size")) 19066 } 19067 19068 if invalidParams.Len() > 0 { 19069 return invalidParams 19070 } 19071 return nil 19072} 19073 19074// SetContainerPath sets the ContainerPath field's value. 19075func (s *Tmpfs) SetContainerPath(v string) *Tmpfs { 19076 s.ContainerPath = &v 19077 return s 19078} 19079 19080// SetMountOptions sets the MountOptions field's value. 19081func (s *Tmpfs) SetMountOptions(v []*string) *Tmpfs { 19082 s.MountOptions = v 19083 return s 19084} 19085 19086// SetSize sets the Size field's value. 19087func (s *Tmpfs) SetSize(v int64) *Tmpfs { 19088 s.Size = &v 19089 return s 19090} 19091 19092// The ulimit settings to pass to the container. 19093type Ulimit struct { 19094 _ struct{} `type:"structure"` 19095 19096 // The hard limit for the ulimit type. 19097 // 19098 // HardLimit is a required field 19099 HardLimit *int64 `locationName:"hardLimit" type:"integer" required:"true"` 19100 19101 // The type of the ulimit. 19102 // 19103 // Name is a required field 19104 Name *string `locationName:"name" type:"string" required:"true" enum:"UlimitName"` 19105 19106 // The soft limit for the ulimit type. 19107 // 19108 // SoftLimit is a required field 19109 SoftLimit *int64 `locationName:"softLimit" type:"integer" required:"true"` 19110} 19111 19112// String returns the string representation 19113func (s Ulimit) String() string { 19114 return awsutil.Prettify(s) 19115} 19116 19117// GoString returns the string representation 19118func (s Ulimit) GoString() string { 19119 return s.String() 19120} 19121 19122// Validate inspects the fields of the type to determine if they are valid. 19123func (s *Ulimit) Validate() error { 19124 invalidParams := request.ErrInvalidParams{Context: "Ulimit"} 19125 if s.HardLimit == nil { 19126 invalidParams.Add(request.NewErrParamRequired("HardLimit")) 19127 } 19128 if s.Name == nil { 19129 invalidParams.Add(request.NewErrParamRequired("Name")) 19130 } 19131 if s.SoftLimit == nil { 19132 invalidParams.Add(request.NewErrParamRequired("SoftLimit")) 19133 } 19134 19135 if invalidParams.Len() > 0 { 19136 return invalidParams 19137 } 19138 return nil 19139} 19140 19141// SetHardLimit sets the HardLimit field's value. 19142func (s *Ulimit) SetHardLimit(v int64) *Ulimit { 19143 s.HardLimit = &v 19144 return s 19145} 19146 19147// SetName sets the Name field's value. 19148func (s *Ulimit) SetName(v string) *Ulimit { 19149 s.Name = &v 19150 return s 19151} 19152 19153// SetSoftLimit sets the SoftLimit field's value. 19154func (s *Ulimit) SetSoftLimit(v int64) *Ulimit { 19155 s.SoftLimit = &v 19156 return s 19157} 19158 19159// The specified task is not supported in this Region. 19160type UnsupportedFeatureException struct { 19161 _ struct{} `type:"structure"` 19162 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19163 19164 Message_ *string `locationName:"message" type:"string"` 19165} 19166 19167// String returns the string representation 19168func (s UnsupportedFeatureException) String() string { 19169 return awsutil.Prettify(s) 19170} 19171 19172// GoString returns the string representation 19173func (s UnsupportedFeatureException) GoString() string { 19174 return s.String() 19175} 19176 19177func newErrorUnsupportedFeatureException(v protocol.ResponseMetadata) error { 19178 return &UnsupportedFeatureException{ 19179 RespMetadata: v, 19180 } 19181} 19182 19183// Code returns the exception type name. 19184func (s *UnsupportedFeatureException) Code() string { 19185 return "UnsupportedFeatureException" 19186} 19187 19188// Message returns the exception's message. 19189func (s *UnsupportedFeatureException) Message() string { 19190 if s.Message_ != nil { 19191 return *s.Message_ 19192 } 19193 return "" 19194} 19195 19196// OrigErr always returns nil, satisfies awserr.Error interface. 19197func (s *UnsupportedFeatureException) OrigErr() error { 19198 return nil 19199} 19200 19201func (s *UnsupportedFeatureException) Error() string { 19202 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19203} 19204 19205// Status code returns the HTTP status code for the request's response error. 19206func (s *UnsupportedFeatureException) StatusCode() int { 19207 return s.RespMetadata.StatusCode 19208} 19209 19210// RequestID returns the service's response RequestID for request. 19211func (s *UnsupportedFeatureException) RequestID() string { 19212 return s.RespMetadata.RequestID 19213} 19214 19215type UntagResourceInput struct { 19216 _ struct{} `type:"structure"` 19217 19218 // The Amazon Resource Name (ARN) of the resource from which to delete tags. 19219 // Currently, the supported resources are Amazon ECS capacity providers, tasks, 19220 // services, task definitions, clusters, and container instances. 19221 // 19222 // ResourceArn is a required field 19223 ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"` 19224 19225 // The keys of the tags to be removed. 19226 // 19227 // TagKeys is a required field 19228 TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"` 19229} 19230 19231// String returns the string representation 19232func (s UntagResourceInput) String() string { 19233 return awsutil.Prettify(s) 19234} 19235 19236// GoString returns the string representation 19237func (s UntagResourceInput) GoString() string { 19238 return s.String() 19239} 19240 19241// Validate inspects the fields of the type to determine if they are valid. 19242func (s *UntagResourceInput) Validate() error { 19243 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 19244 if s.ResourceArn == nil { 19245 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 19246 } 19247 if s.TagKeys == nil { 19248 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 19249 } 19250 19251 if invalidParams.Len() > 0 { 19252 return invalidParams 19253 } 19254 return nil 19255} 19256 19257// SetResourceArn sets the ResourceArn field's value. 19258func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 19259 s.ResourceArn = &v 19260 return s 19261} 19262 19263// SetTagKeys sets the TagKeys field's value. 19264func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 19265 s.TagKeys = v 19266 return s 19267} 19268 19269type UntagResourceOutput struct { 19270 _ struct{} `type:"structure"` 19271} 19272 19273// String returns the string representation 19274func (s UntagResourceOutput) String() string { 19275 return awsutil.Prettify(s) 19276} 19277 19278// GoString returns the string representation 19279func (s UntagResourceOutput) GoString() string { 19280 return s.String() 19281} 19282 19283type UpdateClusterSettingsInput struct { 19284 _ struct{} `type:"structure"` 19285 19286 // The name of the cluster to modify the settings for. 19287 // 19288 // Cluster is a required field 19289 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19290 19291 // The setting to use by default for a cluster. This parameter is used to enable 19292 // CloudWatch Container Insights for a cluster. If this value is specified, 19293 // it will override the containerInsights value set with PutAccountSetting or 19294 // PutAccountSettingDefault. 19295 // 19296 // Settings is a required field 19297 Settings []*ClusterSetting `locationName:"settings" type:"list" required:"true"` 19298} 19299 19300// String returns the string representation 19301func (s UpdateClusterSettingsInput) String() string { 19302 return awsutil.Prettify(s) 19303} 19304 19305// GoString returns the string representation 19306func (s UpdateClusterSettingsInput) GoString() string { 19307 return s.String() 19308} 19309 19310// Validate inspects the fields of the type to determine if they are valid. 19311func (s *UpdateClusterSettingsInput) Validate() error { 19312 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterSettingsInput"} 19313 if s.Cluster == nil { 19314 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19315 } 19316 if s.Settings == nil { 19317 invalidParams.Add(request.NewErrParamRequired("Settings")) 19318 } 19319 19320 if invalidParams.Len() > 0 { 19321 return invalidParams 19322 } 19323 return nil 19324} 19325 19326// SetCluster sets the Cluster field's value. 19327func (s *UpdateClusterSettingsInput) SetCluster(v string) *UpdateClusterSettingsInput { 19328 s.Cluster = &v 19329 return s 19330} 19331 19332// SetSettings sets the Settings field's value. 19333func (s *UpdateClusterSettingsInput) SetSettings(v []*ClusterSetting) *UpdateClusterSettingsInput { 19334 s.Settings = v 19335 return s 19336} 19337 19338type UpdateClusterSettingsOutput struct { 19339 _ struct{} `type:"structure"` 19340 19341 // A regional grouping of one or more container instances on which you can run 19342 // task requests. Each account receives a default cluster the first time you 19343 // use the Amazon ECS service, but you may also create other clusters. Clusters 19344 // may contain more than one instance type simultaneously. 19345 Cluster *Cluster `locationName:"cluster" type:"structure"` 19346} 19347 19348// String returns the string representation 19349func (s UpdateClusterSettingsOutput) String() string { 19350 return awsutil.Prettify(s) 19351} 19352 19353// GoString returns the string representation 19354func (s UpdateClusterSettingsOutput) GoString() string { 19355 return s.String() 19356} 19357 19358// SetCluster sets the Cluster field's value. 19359func (s *UpdateClusterSettingsOutput) SetCluster(v *Cluster) *UpdateClusterSettingsOutput { 19360 s.Cluster = v 19361 return s 19362} 19363 19364type UpdateContainerAgentInput struct { 19365 _ struct{} `type:"structure"` 19366 19367 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19368 // container instance is running on. If you do not specify a cluster, the default 19369 // cluster is assumed. 19370 Cluster *string `locationName:"cluster" type:"string"` 19371 19372 // The container instance ID or full ARN entries for the container instance 19373 // on which you would like to update the Amazon ECS container agent. 19374 // 19375 // ContainerInstance is a required field 19376 ContainerInstance *string `locationName:"containerInstance" type:"string" required:"true"` 19377} 19378 19379// String returns the string representation 19380func (s UpdateContainerAgentInput) String() string { 19381 return awsutil.Prettify(s) 19382} 19383 19384// GoString returns the string representation 19385func (s UpdateContainerAgentInput) GoString() string { 19386 return s.String() 19387} 19388 19389// Validate inspects the fields of the type to determine if they are valid. 19390func (s *UpdateContainerAgentInput) Validate() error { 19391 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerAgentInput"} 19392 if s.ContainerInstance == nil { 19393 invalidParams.Add(request.NewErrParamRequired("ContainerInstance")) 19394 } 19395 19396 if invalidParams.Len() > 0 { 19397 return invalidParams 19398 } 19399 return nil 19400} 19401 19402// SetCluster sets the Cluster field's value. 19403func (s *UpdateContainerAgentInput) SetCluster(v string) *UpdateContainerAgentInput { 19404 s.Cluster = &v 19405 return s 19406} 19407 19408// SetContainerInstance sets the ContainerInstance field's value. 19409func (s *UpdateContainerAgentInput) SetContainerInstance(v string) *UpdateContainerAgentInput { 19410 s.ContainerInstance = &v 19411 return s 19412} 19413 19414type UpdateContainerAgentOutput struct { 19415 _ struct{} `type:"structure"` 19416 19417 // The container instance for which the container agent was updated. 19418 ContainerInstance *ContainerInstance `locationName:"containerInstance" type:"structure"` 19419} 19420 19421// String returns the string representation 19422func (s UpdateContainerAgentOutput) String() string { 19423 return awsutil.Prettify(s) 19424} 19425 19426// GoString returns the string representation 19427func (s UpdateContainerAgentOutput) GoString() string { 19428 return s.String() 19429} 19430 19431// SetContainerInstance sets the ContainerInstance field's value. 19432func (s *UpdateContainerAgentOutput) SetContainerInstance(v *ContainerInstance) *UpdateContainerAgentOutput { 19433 s.ContainerInstance = v 19434 return s 19435} 19436 19437type UpdateContainerInstancesStateInput struct { 19438 _ struct{} `type:"structure"` 19439 19440 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19441 // the container instance to update. If you do not specify a cluster, the default 19442 // cluster is assumed. 19443 Cluster *string `locationName:"cluster" type:"string"` 19444 19445 // A list of container instance IDs or full ARN entries. 19446 // 19447 // ContainerInstances is a required field 19448 ContainerInstances []*string `locationName:"containerInstances" type:"list" required:"true"` 19449 19450 // The container instance state with which to update the container instance. 19451 // The only valid values for this action are ACTIVE and DRAINING. A container 19452 // instance can only be updated to DRAINING status once it has reached an ACTIVE 19453 // state. If a container instance is in REGISTERING, DEREGISTERING, or REGISTRATION_FAILED 19454 // state you can describe the container instance but will be unable to update 19455 // the container instance state. 19456 // 19457 // Status is a required field 19458 Status *string `locationName:"status" type:"string" required:"true" enum:"ContainerInstanceStatus"` 19459} 19460 19461// String returns the string representation 19462func (s UpdateContainerInstancesStateInput) String() string { 19463 return awsutil.Prettify(s) 19464} 19465 19466// GoString returns the string representation 19467func (s UpdateContainerInstancesStateInput) GoString() string { 19468 return s.String() 19469} 19470 19471// Validate inspects the fields of the type to determine if they are valid. 19472func (s *UpdateContainerInstancesStateInput) Validate() error { 19473 invalidParams := request.ErrInvalidParams{Context: "UpdateContainerInstancesStateInput"} 19474 if s.ContainerInstances == nil { 19475 invalidParams.Add(request.NewErrParamRequired("ContainerInstances")) 19476 } 19477 if s.Status == nil { 19478 invalidParams.Add(request.NewErrParamRequired("Status")) 19479 } 19480 19481 if invalidParams.Len() > 0 { 19482 return invalidParams 19483 } 19484 return nil 19485} 19486 19487// SetCluster sets the Cluster field's value. 19488func (s *UpdateContainerInstancesStateInput) SetCluster(v string) *UpdateContainerInstancesStateInput { 19489 s.Cluster = &v 19490 return s 19491} 19492 19493// SetContainerInstances sets the ContainerInstances field's value. 19494func (s *UpdateContainerInstancesStateInput) SetContainerInstances(v []*string) *UpdateContainerInstancesStateInput { 19495 s.ContainerInstances = v 19496 return s 19497} 19498 19499// SetStatus sets the Status field's value. 19500func (s *UpdateContainerInstancesStateInput) SetStatus(v string) *UpdateContainerInstancesStateInput { 19501 s.Status = &v 19502 return s 19503} 19504 19505type UpdateContainerInstancesStateOutput struct { 19506 _ struct{} `type:"structure"` 19507 19508 // The list of container instances. 19509 ContainerInstances []*ContainerInstance `locationName:"containerInstances" type:"list"` 19510 19511 // Any failures associated with the call. 19512 Failures []*Failure `locationName:"failures" type:"list"` 19513} 19514 19515// String returns the string representation 19516func (s UpdateContainerInstancesStateOutput) String() string { 19517 return awsutil.Prettify(s) 19518} 19519 19520// GoString returns the string representation 19521func (s UpdateContainerInstancesStateOutput) GoString() string { 19522 return s.String() 19523} 19524 19525// SetContainerInstances sets the ContainerInstances field's value. 19526func (s *UpdateContainerInstancesStateOutput) SetContainerInstances(v []*ContainerInstance) *UpdateContainerInstancesStateOutput { 19527 s.ContainerInstances = v 19528 return s 19529} 19530 19531// SetFailures sets the Failures field's value. 19532func (s *UpdateContainerInstancesStateOutput) SetFailures(v []*Failure) *UpdateContainerInstancesStateOutput { 19533 s.Failures = v 19534 return s 19535} 19536 19537// There is already a current Amazon ECS container agent update in progress 19538// on the specified container instance. If the container agent becomes disconnected 19539// while it is in a transitional stage, such as PENDING or STAGING, the update 19540// process can get stuck in that state. However, when the agent reconnects, 19541// it resumes where it stopped previously. 19542type UpdateInProgressException struct { 19543 _ struct{} `type:"structure"` 19544 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 19545 19546 Message_ *string `locationName:"message" type:"string"` 19547} 19548 19549// String returns the string representation 19550func (s UpdateInProgressException) String() string { 19551 return awsutil.Prettify(s) 19552} 19553 19554// GoString returns the string representation 19555func (s UpdateInProgressException) GoString() string { 19556 return s.String() 19557} 19558 19559func newErrorUpdateInProgressException(v protocol.ResponseMetadata) error { 19560 return &UpdateInProgressException{ 19561 RespMetadata: v, 19562 } 19563} 19564 19565// Code returns the exception type name. 19566func (s *UpdateInProgressException) Code() string { 19567 return "UpdateInProgressException" 19568} 19569 19570// Message returns the exception's message. 19571func (s *UpdateInProgressException) Message() string { 19572 if s.Message_ != nil { 19573 return *s.Message_ 19574 } 19575 return "" 19576} 19577 19578// OrigErr always returns nil, satisfies awserr.Error interface. 19579func (s *UpdateInProgressException) OrigErr() error { 19580 return nil 19581} 19582 19583func (s *UpdateInProgressException) Error() string { 19584 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 19585} 19586 19587// Status code returns the HTTP status code for the request's response error. 19588func (s *UpdateInProgressException) StatusCode() int { 19589 return s.RespMetadata.StatusCode 19590} 19591 19592// RequestID returns the service's response RequestID for request. 19593func (s *UpdateInProgressException) RequestID() string { 19594 return s.RespMetadata.RequestID 19595} 19596 19597type UpdateServiceInput struct { 19598 _ struct{} `type:"structure"` 19599 19600 // The capacity provider strategy to update the service to use. 19601 // 19602 // If the service is using the default capacity provider strategy for the cluster, 19603 // the service can be updated to use one or more capacity providers as opposed 19604 // to the default capacity provider strategy. However, when a service is using 19605 // a capacity provider strategy that is not the default capacity provider strategy, 19606 // the service cannot be updated to use the cluster's default capacity provider 19607 // strategy. 19608 // 19609 // A capacity provider strategy consists of one or more capacity providers along 19610 // with the base and weight to assign to them. A capacity provider must be associated 19611 // with the cluster to be used in a capacity provider strategy. The PutClusterCapacityProviders 19612 // API is used to associate a capacity provider with a cluster. Only capacity 19613 // providers with an ACTIVE or UPDATING status can be used. 19614 // 19615 // If specifying a capacity provider that uses an Auto Scaling group, the capacity 19616 // provider must already be created. New capacity providers can be created with 19617 // the CreateCapacityProvider API operation. 19618 // 19619 // To use a AWS Fargate capacity provider, specify either the FARGATE or FARGATE_SPOT 19620 // capacity providers. The AWS Fargate capacity providers are available to all 19621 // accounts and only need to be associated with a cluster to be used. 19622 // 19623 // The PutClusterCapacityProviders API operation is used to update the list 19624 // of available capacity providers for a cluster after the cluster is created. 19625 CapacityProviderStrategy []*CapacityProviderStrategyItem `locationName:"capacityProviderStrategy" type:"list"` 19626 19627 // The short name or full Amazon Resource Name (ARN) of the cluster that your 19628 // service is running on. If you do not specify a cluster, the default cluster 19629 // is assumed. 19630 Cluster *string `locationName:"cluster" type:"string"` 19631 19632 // Optional deployment parameters that control how many tasks run during the 19633 // deployment and the ordering of stopping and starting tasks. 19634 DeploymentConfiguration *DeploymentConfiguration `locationName:"deploymentConfiguration" type:"structure"` 19635 19636 // The number of instantiations of the task to place and keep running in your 19637 // service. 19638 DesiredCount *int64 `locationName:"desiredCount" type:"integer"` 19639 19640 // Whether to force a new deployment of the service. Deployments are not forced 19641 // by default. You can use this option to trigger a new deployment with no service 19642 // definition changes. For example, you can update a service's tasks to use 19643 // a newer Docker image with the same image/tag combination (my_image:latest) 19644 // or to roll Fargate tasks onto a newer platform version. 19645 ForceNewDeployment *bool `locationName:"forceNewDeployment" type:"boolean"` 19646 19647 // The period of time, in seconds, that the Amazon ECS service scheduler should 19648 // ignore unhealthy Elastic Load Balancing target health checks after a task 19649 // has first started. This is only valid if your service is configured to use 19650 // a load balancer. If your service's tasks take a while to start and respond 19651 // to Elastic Load Balancing health checks, you can specify a health check grace 19652 // period of up to 2,147,483,647 seconds. During that time, the Amazon ECS service 19653 // scheduler ignores the Elastic Load Balancing health check status. This grace 19654 // period can prevent the ECS service scheduler from marking tasks as unhealthy 19655 // and stopping them before they have time to come up. 19656 HealthCheckGracePeriodSeconds *int64 `locationName:"healthCheckGracePeriodSeconds" type:"integer"` 19657 19658 // An object representing the network configuration for a task or service. 19659 NetworkConfiguration *NetworkConfiguration `locationName:"networkConfiguration" type:"structure"` 19660 19661 // An array of task placement constraint objects to update the service to use. 19662 // If no value is specified, the existing placement constraints for the service 19663 // will remain unchanged. If this value is specified, it will override any existing 19664 // placement constraints defined for the service. To remove all existing placement 19665 // constraints, specify an empty array. 19666 // 19667 // You can specify a maximum of 10 constraints per task (this limit includes 19668 // constraints in the task definition and those specified at runtime). 19669 PlacementConstraints []*PlacementConstraint `locationName:"placementConstraints" type:"list"` 19670 19671 // The task placement strategy objects to update the service to use. If no value 19672 // is specified, the existing placement strategy for the service will remain 19673 // unchanged. If this value is specified, it will override the existing placement 19674 // strategy defined for the service. To remove an existing placement strategy, 19675 // specify an empty object. 19676 // 19677 // You can specify a maximum of five strategy rules per service. 19678 PlacementStrategy []*PlacementStrategy `locationName:"placementStrategy" type:"list"` 19679 19680 // The platform version on which your tasks in the service are running. A platform 19681 // version is only specified for tasks using the Fargate launch type. If a platform 19682 // version is not specified, the LATEST platform version is used by default. 19683 // For more information, see AWS Fargate Platform Versions (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) 19684 // in the Amazon Elastic Container Service Developer Guide. 19685 PlatformVersion *string `locationName:"platformVersion" type:"string"` 19686 19687 // The name of the service to update. 19688 // 19689 // Service is a required field 19690 Service *string `locationName:"service" type:"string" required:"true"` 19691 19692 // The family and revision (family:revision) or full ARN of the task definition 19693 // to run in your service. If a revision is not specified, the latest ACTIVE 19694 // revision is used. If you modify the task definition with UpdateService, Amazon 19695 // ECS spawns a task with the new version of the task definition and then stops 19696 // an old task after the new version is running. 19697 TaskDefinition *string `locationName:"taskDefinition" type:"string"` 19698} 19699 19700// String returns the string representation 19701func (s UpdateServiceInput) String() string { 19702 return awsutil.Prettify(s) 19703} 19704 19705// GoString returns the string representation 19706func (s UpdateServiceInput) GoString() string { 19707 return s.String() 19708} 19709 19710// Validate inspects the fields of the type to determine if they are valid. 19711func (s *UpdateServiceInput) Validate() error { 19712 invalidParams := request.ErrInvalidParams{Context: "UpdateServiceInput"} 19713 if s.Service == nil { 19714 invalidParams.Add(request.NewErrParamRequired("Service")) 19715 } 19716 if s.CapacityProviderStrategy != nil { 19717 for i, v := range s.CapacityProviderStrategy { 19718 if v == nil { 19719 continue 19720 } 19721 if err := v.Validate(); err != nil { 19722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CapacityProviderStrategy", i), err.(request.ErrInvalidParams)) 19723 } 19724 } 19725 } 19726 if s.NetworkConfiguration != nil { 19727 if err := s.NetworkConfiguration.Validate(); err != nil { 19728 invalidParams.AddNested("NetworkConfiguration", err.(request.ErrInvalidParams)) 19729 } 19730 } 19731 19732 if invalidParams.Len() > 0 { 19733 return invalidParams 19734 } 19735 return nil 19736} 19737 19738// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value. 19739func (s *UpdateServiceInput) SetCapacityProviderStrategy(v []*CapacityProviderStrategyItem) *UpdateServiceInput { 19740 s.CapacityProviderStrategy = v 19741 return s 19742} 19743 19744// SetCluster sets the Cluster field's value. 19745func (s *UpdateServiceInput) SetCluster(v string) *UpdateServiceInput { 19746 s.Cluster = &v 19747 return s 19748} 19749 19750// SetDeploymentConfiguration sets the DeploymentConfiguration field's value. 19751func (s *UpdateServiceInput) SetDeploymentConfiguration(v *DeploymentConfiguration) *UpdateServiceInput { 19752 s.DeploymentConfiguration = v 19753 return s 19754} 19755 19756// SetDesiredCount sets the DesiredCount field's value. 19757func (s *UpdateServiceInput) SetDesiredCount(v int64) *UpdateServiceInput { 19758 s.DesiredCount = &v 19759 return s 19760} 19761 19762// SetForceNewDeployment sets the ForceNewDeployment field's value. 19763func (s *UpdateServiceInput) SetForceNewDeployment(v bool) *UpdateServiceInput { 19764 s.ForceNewDeployment = &v 19765 return s 19766} 19767 19768// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value. 19769func (s *UpdateServiceInput) SetHealthCheckGracePeriodSeconds(v int64) *UpdateServiceInput { 19770 s.HealthCheckGracePeriodSeconds = &v 19771 return s 19772} 19773 19774// SetNetworkConfiguration sets the NetworkConfiguration field's value. 19775func (s *UpdateServiceInput) SetNetworkConfiguration(v *NetworkConfiguration) *UpdateServiceInput { 19776 s.NetworkConfiguration = v 19777 return s 19778} 19779 19780// SetPlacementConstraints sets the PlacementConstraints field's value. 19781func (s *UpdateServiceInput) SetPlacementConstraints(v []*PlacementConstraint) *UpdateServiceInput { 19782 s.PlacementConstraints = v 19783 return s 19784} 19785 19786// SetPlacementStrategy sets the PlacementStrategy field's value. 19787func (s *UpdateServiceInput) SetPlacementStrategy(v []*PlacementStrategy) *UpdateServiceInput { 19788 s.PlacementStrategy = v 19789 return s 19790} 19791 19792// SetPlatformVersion sets the PlatformVersion field's value. 19793func (s *UpdateServiceInput) SetPlatformVersion(v string) *UpdateServiceInput { 19794 s.PlatformVersion = &v 19795 return s 19796} 19797 19798// SetService sets the Service field's value. 19799func (s *UpdateServiceInput) SetService(v string) *UpdateServiceInput { 19800 s.Service = &v 19801 return s 19802} 19803 19804// SetTaskDefinition sets the TaskDefinition field's value. 19805func (s *UpdateServiceInput) SetTaskDefinition(v string) *UpdateServiceInput { 19806 s.TaskDefinition = &v 19807 return s 19808} 19809 19810type UpdateServiceOutput struct { 19811 _ struct{} `type:"structure"` 19812 19813 // The full description of your service following the update call. 19814 Service *Service `locationName:"service" type:"structure"` 19815} 19816 19817// String returns the string representation 19818func (s UpdateServiceOutput) String() string { 19819 return awsutil.Prettify(s) 19820} 19821 19822// GoString returns the string representation 19823func (s UpdateServiceOutput) GoString() string { 19824 return s.String() 19825} 19826 19827// SetService sets the Service field's value. 19828func (s *UpdateServiceOutput) SetService(v *Service) *UpdateServiceOutput { 19829 s.Service = v 19830 return s 19831} 19832 19833type UpdateServicePrimaryTaskSetInput struct { 19834 _ struct{} `type:"structure"` 19835 19836 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19837 // the service that the task set exists in. 19838 // 19839 // Cluster is a required field 19840 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19841 19842 // The short name or full Amazon Resource Name (ARN) of the task set to set 19843 // as the primary task set in the deployment. 19844 // 19845 // PrimaryTaskSet is a required field 19846 PrimaryTaskSet *string `locationName:"primaryTaskSet" type:"string" required:"true"` 19847 19848 // The short name or full Amazon Resource Name (ARN) of the service that the 19849 // task set exists in. 19850 // 19851 // Service is a required field 19852 Service *string `locationName:"service" type:"string" required:"true"` 19853} 19854 19855// String returns the string representation 19856func (s UpdateServicePrimaryTaskSetInput) String() string { 19857 return awsutil.Prettify(s) 19858} 19859 19860// GoString returns the string representation 19861func (s UpdateServicePrimaryTaskSetInput) GoString() string { 19862 return s.String() 19863} 19864 19865// Validate inspects the fields of the type to determine if they are valid. 19866func (s *UpdateServicePrimaryTaskSetInput) Validate() error { 19867 invalidParams := request.ErrInvalidParams{Context: "UpdateServicePrimaryTaskSetInput"} 19868 if s.Cluster == nil { 19869 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19870 } 19871 if s.PrimaryTaskSet == nil { 19872 invalidParams.Add(request.NewErrParamRequired("PrimaryTaskSet")) 19873 } 19874 if s.Service == nil { 19875 invalidParams.Add(request.NewErrParamRequired("Service")) 19876 } 19877 19878 if invalidParams.Len() > 0 { 19879 return invalidParams 19880 } 19881 return nil 19882} 19883 19884// SetCluster sets the Cluster field's value. 19885func (s *UpdateServicePrimaryTaskSetInput) SetCluster(v string) *UpdateServicePrimaryTaskSetInput { 19886 s.Cluster = &v 19887 return s 19888} 19889 19890// SetPrimaryTaskSet sets the PrimaryTaskSet field's value. 19891func (s *UpdateServicePrimaryTaskSetInput) SetPrimaryTaskSet(v string) *UpdateServicePrimaryTaskSetInput { 19892 s.PrimaryTaskSet = &v 19893 return s 19894} 19895 19896// SetService sets the Service field's value. 19897func (s *UpdateServicePrimaryTaskSetInput) SetService(v string) *UpdateServicePrimaryTaskSetInput { 19898 s.Service = &v 19899 return s 19900} 19901 19902type UpdateServicePrimaryTaskSetOutput struct { 19903 _ struct{} `type:"structure"` 19904 19905 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 19906 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 19907 // desired number of tasks, how many tasks are running, and whether the task 19908 // set serves production traffic. 19909 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 19910} 19911 19912// String returns the string representation 19913func (s UpdateServicePrimaryTaskSetOutput) String() string { 19914 return awsutil.Prettify(s) 19915} 19916 19917// GoString returns the string representation 19918func (s UpdateServicePrimaryTaskSetOutput) GoString() string { 19919 return s.String() 19920} 19921 19922// SetTaskSet sets the TaskSet field's value. 19923func (s *UpdateServicePrimaryTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateServicePrimaryTaskSetOutput { 19924 s.TaskSet = v 19925 return s 19926} 19927 19928type UpdateTaskSetInput struct { 19929 _ struct{} `type:"structure"` 19930 19931 // The short name or full Amazon Resource Name (ARN) of the cluster that hosts 19932 // the service that the task set exists in. 19933 // 19934 // Cluster is a required field 19935 Cluster *string `locationName:"cluster" type:"string" required:"true"` 19936 19937 // A floating-point percentage of the desired number of tasks to place and keep 19938 // running in the task set. 19939 // 19940 // Scale is a required field 19941 Scale *Scale `locationName:"scale" type:"structure" required:"true"` 19942 19943 // The short name or full Amazon Resource Name (ARN) of the service that the 19944 // task set exists in. 19945 // 19946 // Service is a required field 19947 Service *string `locationName:"service" type:"string" required:"true"` 19948 19949 // The short name or full Amazon Resource Name (ARN) of the task set to update. 19950 // 19951 // TaskSet is a required field 19952 TaskSet *string `locationName:"taskSet" type:"string" required:"true"` 19953} 19954 19955// String returns the string representation 19956func (s UpdateTaskSetInput) String() string { 19957 return awsutil.Prettify(s) 19958} 19959 19960// GoString returns the string representation 19961func (s UpdateTaskSetInput) GoString() string { 19962 return s.String() 19963} 19964 19965// Validate inspects the fields of the type to determine if they are valid. 19966func (s *UpdateTaskSetInput) Validate() error { 19967 invalidParams := request.ErrInvalidParams{Context: "UpdateTaskSetInput"} 19968 if s.Cluster == nil { 19969 invalidParams.Add(request.NewErrParamRequired("Cluster")) 19970 } 19971 if s.Scale == nil { 19972 invalidParams.Add(request.NewErrParamRequired("Scale")) 19973 } 19974 if s.Service == nil { 19975 invalidParams.Add(request.NewErrParamRequired("Service")) 19976 } 19977 if s.TaskSet == nil { 19978 invalidParams.Add(request.NewErrParamRequired("TaskSet")) 19979 } 19980 19981 if invalidParams.Len() > 0 { 19982 return invalidParams 19983 } 19984 return nil 19985} 19986 19987// SetCluster sets the Cluster field's value. 19988func (s *UpdateTaskSetInput) SetCluster(v string) *UpdateTaskSetInput { 19989 s.Cluster = &v 19990 return s 19991} 19992 19993// SetScale sets the Scale field's value. 19994func (s *UpdateTaskSetInput) SetScale(v *Scale) *UpdateTaskSetInput { 19995 s.Scale = v 19996 return s 19997} 19998 19999// SetService sets the Service field's value. 20000func (s *UpdateTaskSetInput) SetService(v string) *UpdateTaskSetInput { 20001 s.Service = &v 20002 return s 20003} 20004 20005// SetTaskSet sets the TaskSet field's value. 20006func (s *UpdateTaskSetInput) SetTaskSet(v string) *UpdateTaskSetInput { 20007 s.TaskSet = &v 20008 return s 20009} 20010 20011type UpdateTaskSetOutput struct { 20012 _ struct{} `type:"structure"` 20013 20014 // Information about a set of Amazon ECS tasks in either an AWS CodeDeploy or 20015 // an EXTERNAL deployment. An Amazon ECS task set includes details such as the 20016 // desired number of tasks, how many tasks are running, and whether the task 20017 // set serves production traffic. 20018 TaskSet *TaskSet `locationName:"taskSet" type:"structure"` 20019} 20020 20021// String returns the string representation 20022func (s UpdateTaskSetOutput) String() string { 20023 return awsutil.Prettify(s) 20024} 20025 20026// GoString returns the string representation 20027func (s UpdateTaskSetOutput) GoString() string { 20028 return s.String() 20029} 20030 20031// SetTaskSet sets the TaskSet field's value. 20032func (s *UpdateTaskSetOutput) SetTaskSet(v *TaskSet) *UpdateTaskSetOutput { 20033 s.TaskSet = v 20034 return s 20035} 20036 20037// The Docker and Amazon ECS container agent version information about a container 20038// instance. 20039type VersionInfo struct { 20040 _ struct{} `type:"structure"` 20041 20042 // The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent 20043 // (https://github.com/aws/amazon-ecs-agent/commits/master) GitHub repository. 20044 AgentHash *string `locationName:"agentHash" type:"string"` 20045 20046 // The version number of the Amazon ECS container agent. 20047 AgentVersion *string `locationName:"agentVersion" type:"string"` 20048 20049 // The Docker version running on the container instance. 20050 DockerVersion *string `locationName:"dockerVersion" type:"string"` 20051} 20052 20053// String returns the string representation 20054func (s VersionInfo) String() string { 20055 return awsutil.Prettify(s) 20056} 20057 20058// GoString returns the string representation 20059func (s VersionInfo) GoString() string { 20060 return s.String() 20061} 20062 20063// SetAgentHash sets the AgentHash field's value. 20064func (s *VersionInfo) SetAgentHash(v string) *VersionInfo { 20065 s.AgentHash = &v 20066 return s 20067} 20068 20069// SetAgentVersion sets the AgentVersion field's value. 20070func (s *VersionInfo) SetAgentVersion(v string) *VersionInfo { 20071 s.AgentVersion = &v 20072 return s 20073} 20074 20075// SetDockerVersion sets the DockerVersion field's value. 20076func (s *VersionInfo) SetDockerVersion(v string) *VersionInfo { 20077 s.DockerVersion = &v 20078 return s 20079} 20080 20081// A data volume used in a task definition. For tasks that use Amazon Elastic 20082// File System (Amazon EFS) file storage, specify an efsVolumeConfiguration. 20083// For tasks that use a Docker volume, specify a DockerVolumeConfiguration. 20084// For tasks that use a bind mount host volume, specify a host and optional 20085// sourcePath. For more information, see Using Data Volumes in Tasks (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html). 20086type Volume struct { 20087 _ struct{} `type:"structure"` 20088 20089 // This parameter is specified when you are using Docker volumes. Docker volumes 20090 // are only supported when you are using the EC2 launch type. Windows containers 20091 // only support the use of the local driver. To use bind mounts, specify the 20092 // host parameter instead. 20093 DockerVolumeConfiguration *DockerVolumeConfiguration `locationName:"dockerVolumeConfiguration" type:"structure"` 20094 20095 // This parameter is specified when you are using an Amazon Elastic File System 20096 // file system for task storage. 20097 EfsVolumeConfiguration *EFSVolumeConfiguration `locationName:"efsVolumeConfiguration" type:"structure"` 20098 20099 // This parameter is specified when you are using bind mount host volumes. The 20100 // contents of the host parameter determine whether your bind mount host volume 20101 // persists on the host container instance and where it is stored. If the host 20102 // parameter is empty, then the Docker daemon assigns a host path for your data 20103 // volume. However, the data is not guaranteed to persist after the containers 20104 // associated with it stop running. 20105 // 20106 // Windows containers can mount whole directories on the same drive as $env:ProgramData. 20107 // Windows containers cannot mount directories on a different drive, and mount 20108 // point cannot be across drives. For example, you can mount C:\my\path:C:\my\path 20109 // and D:\:D:\, but not D:\my\path:C:\my\path or D:\:C:\my\path. 20110 Host *HostVolumeProperties `locationName:"host" type:"structure"` 20111 20112 // The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, 20113 // and hyphens are allowed. This name is referenced in the sourceVolume parameter 20114 // of container definition mountPoints. 20115 Name *string `locationName:"name" type:"string"` 20116} 20117 20118// String returns the string representation 20119func (s Volume) String() string { 20120 return awsutil.Prettify(s) 20121} 20122 20123// GoString returns the string representation 20124func (s Volume) GoString() string { 20125 return s.String() 20126} 20127 20128// Validate inspects the fields of the type to determine if they are valid. 20129func (s *Volume) Validate() error { 20130 invalidParams := request.ErrInvalidParams{Context: "Volume"} 20131 if s.EfsVolumeConfiguration != nil { 20132 if err := s.EfsVolumeConfiguration.Validate(); err != nil { 20133 invalidParams.AddNested("EfsVolumeConfiguration", err.(request.ErrInvalidParams)) 20134 } 20135 } 20136 20137 if invalidParams.Len() > 0 { 20138 return invalidParams 20139 } 20140 return nil 20141} 20142 20143// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value. 20144func (s *Volume) SetDockerVolumeConfiguration(v *DockerVolumeConfiguration) *Volume { 20145 s.DockerVolumeConfiguration = v 20146 return s 20147} 20148 20149// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value. 20150func (s *Volume) SetEfsVolumeConfiguration(v *EFSVolumeConfiguration) *Volume { 20151 s.EfsVolumeConfiguration = v 20152 return s 20153} 20154 20155// SetHost sets the Host field's value. 20156func (s *Volume) SetHost(v *HostVolumeProperties) *Volume { 20157 s.Host = v 20158 return s 20159} 20160 20161// SetName sets the Name field's value. 20162func (s *Volume) SetName(v string) *Volume { 20163 s.Name = &v 20164 return s 20165} 20166 20167// Details on a data volume from another container in the same task definition. 20168type VolumeFrom struct { 20169 _ struct{} `type:"structure"` 20170 20171 // If this value is true, the container has read-only access to the volume. 20172 // If this value is false, then the container can write to the volume. The default 20173 // value is false. 20174 ReadOnly *bool `locationName:"readOnly" type:"boolean"` 20175 20176 // The name of another container within the same task definition from which 20177 // to mount volumes. 20178 SourceContainer *string `locationName:"sourceContainer" type:"string"` 20179} 20180 20181// String returns the string representation 20182func (s VolumeFrom) String() string { 20183 return awsutil.Prettify(s) 20184} 20185 20186// GoString returns the string representation 20187func (s VolumeFrom) GoString() string { 20188 return s.String() 20189} 20190 20191// SetReadOnly sets the ReadOnly field's value. 20192func (s *VolumeFrom) SetReadOnly(v bool) *VolumeFrom { 20193 s.ReadOnly = &v 20194 return s 20195} 20196 20197// SetSourceContainer sets the SourceContainer field's value. 20198func (s *VolumeFrom) SetSourceContainer(v string) *VolumeFrom { 20199 s.SourceContainer = &v 20200 return s 20201} 20202 20203const ( 20204 // AgentUpdateStatusPending is a AgentUpdateStatus enum value 20205 AgentUpdateStatusPending = "PENDING" 20206 20207 // AgentUpdateStatusStaging is a AgentUpdateStatus enum value 20208 AgentUpdateStatusStaging = "STAGING" 20209 20210 // AgentUpdateStatusStaged is a AgentUpdateStatus enum value 20211 AgentUpdateStatusStaged = "STAGED" 20212 20213 // AgentUpdateStatusUpdating is a AgentUpdateStatus enum value 20214 AgentUpdateStatusUpdating = "UPDATING" 20215 20216 // AgentUpdateStatusUpdated is a AgentUpdateStatus enum value 20217 AgentUpdateStatusUpdated = "UPDATED" 20218 20219 // AgentUpdateStatusFailed is a AgentUpdateStatus enum value 20220 AgentUpdateStatusFailed = "FAILED" 20221) 20222 20223const ( 20224 // AssignPublicIpEnabled is a AssignPublicIp enum value 20225 AssignPublicIpEnabled = "ENABLED" 20226 20227 // AssignPublicIpDisabled is a AssignPublicIp enum value 20228 AssignPublicIpDisabled = "DISABLED" 20229) 20230 20231const ( 20232 // CapacityProviderFieldTags is a CapacityProviderField enum value 20233 CapacityProviderFieldTags = "TAGS" 20234) 20235 20236const ( 20237 // CapacityProviderStatusActive is a CapacityProviderStatus enum value 20238 CapacityProviderStatusActive = "ACTIVE" 20239 20240 // CapacityProviderStatusInactive is a CapacityProviderStatus enum value 20241 CapacityProviderStatusInactive = "INACTIVE" 20242) 20243 20244const ( 20245 // CapacityProviderUpdateStatusDeleteInProgress is a CapacityProviderUpdateStatus enum value 20246 CapacityProviderUpdateStatusDeleteInProgress = "DELETE_IN_PROGRESS" 20247 20248 // CapacityProviderUpdateStatusDeleteComplete is a CapacityProviderUpdateStatus enum value 20249 CapacityProviderUpdateStatusDeleteComplete = "DELETE_COMPLETE" 20250 20251 // CapacityProviderUpdateStatusDeleteFailed is a CapacityProviderUpdateStatus enum value 20252 CapacityProviderUpdateStatusDeleteFailed = "DELETE_FAILED" 20253) 20254 20255const ( 20256 // ClusterFieldAttachments is a ClusterField enum value 20257 ClusterFieldAttachments = "ATTACHMENTS" 20258 20259 // ClusterFieldSettings is a ClusterField enum value 20260 ClusterFieldSettings = "SETTINGS" 20261 20262 // ClusterFieldStatistics is a ClusterField enum value 20263 ClusterFieldStatistics = "STATISTICS" 20264 20265 // ClusterFieldTags is a ClusterField enum value 20266 ClusterFieldTags = "TAGS" 20267) 20268 20269const ( 20270 // ClusterSettingNameContainerInsights is a ClusterSettingName enum value 20271 ClusterSettingNameContainerInsights = "containerInsights" 20272) 20273 20274const ( 20275 // CompatibilityEc2 is a Compatibility enum value 20276 CompatibilityEc2 = "EC2" 20277 20278 // CompatibilityFargate is a Compatibility enum value 20279 CompatibilityFargate = "FARGATE" 20280) 20281 20282const ( 20283 // ConnectivityConnected is a Connectivity enum value 20284 ConnectivityConnected = "CONNECTED" 20285 20286 // ConnectivityDisconnected is a Connectivity enum value 20287 ConnectivityDisconnected = "DISCONNECTED" 20288) 20289 20290const ( 20291 // ContainerConditionStart is a ContainerCondition enum value 20292 ContainerConditionStart = "START" 20293 20294 // ContainerConditionComplete is a ContainerCondition enum value 20295 ContainerConditionComplete = "COMPLETE" 20296 20297 // ContainerConditionSuccess is a ContainerCondition enum value 20298 ContainerConditionSuccess = "SUCCESS" 20299 20300 // ContainerConditionHealthy is a ContainerCondition enum value 20301 ContainerConditionHealthy = "HEALTHY" 20302) 20303 20304const ( 20305 // ContainerInstanceFieldTags is a ContainerInstanceField enum value 20306 ContainerInstanceFieldTags = "TAGS" 20307) 20308 20309const ( 20310 // ContainerInstanceStatusActive is a ContainerInstanceStatus enum value 20311 ContainerInstanceStatusActive = "ACTIVE" 20312 20313 // ContainerInstanceStatusDraining is a ContainerInstanceStatus enum value 20314 ContainerInstanceStatusDraining = "DRAINING" 20315 20316 // ContainerInstanceStatusRegistering is a ContainerInstanceStatus enum value 20317 ContainerInstanceStatusRegistering = "REGISTERING" 20318 20319 // ContainerInstanceStatusDeregistering is a ContainerInstanceStatus enum value 20320 ContainerInstanceStatusDeregistering = "DEREGISTERING" 20321 20322 // ContainerInstanceStatusRegistrationFailed is a ContainerInstanceStatus enum value 20323 ContainerInstanceStatusRegistrationFailed = "REGISTRATION_FAILED" 20324) 20325 20326const ( 20327 // DeploymentControllerTypeEcs is a DeploymentControllerType enum value 20328 DeploymentControllerTypeEcs = "ECS" 20329 20330 // DeploymentControllerTypeCodeDeploy is a DeploymentControllerType enum value 20331 DeploymentControllerTypeCodeDeploy = "CODE_DEPLOY" 20332 20333 // DeploymentControllerTypeExternal is a DeploymentControllerType enum value 20334 DeploymentControllerTypeExternal = "EXTERNAL" 20335) 20336 20337const ( 20338 // DesiredStatusRunning is a DesiredStatus enum value 20339 DesiredStatusRunning = "RUNNING" 20340 20341 // DesiredStatusPending is a DesiredStatus enum value 20342 DesiredStatusPending = "PENDING" 20343 20344 // DesiredStatusStopped is a DesiredStatus enum value 20345 DesiredStatusStopped = "STOPPED" 20346) 20347 20348const ( 20349 // DeviceCgroupPermissionRead is a DeviceCgroupPermission enum value 20350 DeviceCgroupPermissionRead = "read" 20351 20352 // DeviceCgroupPermissionWrite is a DeviceCgroupPermission enum value 20353 DeviceCgroupPermissionWrite = "write" 20354 20355 // DeviceCgroupPermissionMknod is a DeviceCgroupPermission enum value 20356 DeviceCgroupPermissionMknod = "mknod" 20357) 20358 20359const ( 20360 // EFSAuthorizationConfigIAMEnabled is a EFSAuthorizationConfigIAM enum value 20361 EFSAuthorizationConfigIAMEnabled = "ENABLED" 20362 20363 // EFSAuthorizationConfigIAMDisabled is a EFSAuthorizationConfigIAM enum value 20364 EFSAuthorizationConfigIAMDisabled = "DISABLED" 20365) 20366 20367const ( 20368 // EFSTransitEncryptionEnabled is a EFSTransitEncryption enum value 20369 EFSTransitEncryptionEnabled = "ENABLED" 20370 20371 // EFSTransitEncryptionDisabled is a EFSTransitEncryption enum value 20372 EFSTransitEncryptionDisabled = "DISABLED" 20373) 20374 20375const ( 20376 // EnvironmentFileTypeS3 is a EnvironmentFileType enum value 20377 EnvironmentFileTypeS3 = "s3" 20378) 20379 20380const ( 20381 // FirelensConfigurationTypeFluentd is a FirelensConfigurationType enum value 20382 FirelensConfigurationTypeFluentd = "fluentd" 20383 20384 // FirelensConfigurationTypeFluentbit is a FirelensConfigurationType enum value 20385 FirelensConfigurationTypeFluentbit = "fluentbit" 20386) 20387 20388const ( 20389 // HealthStatusHealthy is a HealthStatus enum value 20390 HealthStatusHealthy = "HEALTHY" 20391 20392 // HealthStatusUnhealthy is a HealthStatus enum value 20393 HealthStatusUnhealthy = "UNHEALTHY" 20394 20395 // HealthStatusUnknown is a HealthStatus enum value 20396 HealthStatusUnknown = "UNKNOWN" 20397) 20398 20399const ( 20400 // IpcModeHost is a IpcMode enum value 20401 IpcModeHost = "host" 20402 20403 // IpcModeTask is a IpcMode enum value 20404 IpcModeTask = "task" 20405 20406 // IpcModeNone is a IpcMode enum value 20407 IpcModeNone = "none" 20408) 20409 20410const ( 20411 // LaunchTypeEc2 is a LaunchType enum value 20412 LaunchTypeEc2 = "EC2" 20413 20414 // LaunchTypeFargate is a LaunchType enum value 20415 LaunchTypeFargate = "FARGATE" 20416) 20417 20418const ( 20419 // LogDriverJsonFile is a LogDriver enum value 20420 LogDriverJsonFile = "json-file" 20421 20422 // LogDriverSyslog is a LogDriver enum value 20423 LogDriverSyslog = "syslog" 20424 20425 // LogDriverJournald is a LogDriver enum value 20426 LogDriverJournald = "journald" 20427 20428 // LogDriverGelf is a LogDriver enum value 20429 LogDriverGelf = "gelf" 20430 20431 // LogDriverFluentd is a LogDriver enum value 20432 LogDriverFluentd = "fluentd" 20433 20434 // LogDriverAwslogs is a LogDriver enum value 20435 LogDriverAwslogs = "awslogs" 20436 20437 // LogDriverSplunk is a LogDriver enum value 20438 LogDriverSplunk = "splunk" 20439 20440 // LogDriverAwsfirelens is a LogDriver enum value 20441 LogDriverAwsfirelens = "awsfirelens" 20442) 20443 20444const ( 20445 // ManagedScalingStatusEnabled is a ManagedScalingStatus enum value 20446 ManagedScalingStatusEnabled = "ENABLED" 20447 20448 // ManagedScalingStatusDisabled is a ManagedScalingStatus enum value 20449 ManagedScalingStatusDisabled = "DISABLED" 20450) 20451 20452const ( 20453 // ManagedTerminationProtectionEnabled is a ManagedTerminationProtection enum value 20454 ManagedTerminationProtectionEnabled = "ENABLED" 20455 20456 // ManagedTerminationProtectionDisabled is a ManagedTerminationProtection enum value 20457 ManagedTerminationProtectionDisabled = "DISABLED" 20458) 20459 20460const ( 20461 // NetworkModeBridge is a NetworkMode enum value 20462 NetworkModeBridge = "bridge" 20463 20464 // NetworkModeHost is a NetworkMode enum value 20465 NetworkModeHost = "host" 20466 20467 // NetworkModeAwsvpc is a NetworkMode enum value 20468 NetworkModeAwsvpc = "awsvpc" 20469 20470 // NetworkModeNone is a NetworkMode enum value 20471 NetworkModeNone = "none" 20472) 20473 20474const ( 20475 // PidModeHost is a PidMode enum value 20476 PidModeHost = "host" 20477 20478 // PidModeTask is a PidMode enum value 20479 PidModeTask = "task" 20480) 20481 20482const ( 20483 // PlacementConstraintTypeDistinctInstance is a PlacementConstraintType enum value 20484 PlacementConstraintTypeDistinctInstance = "distinctInstance" 20485 20486 // PlacementConstraintTypeMemberOf is a PlacementConstraintType enum value 20487 PlacementConstraintTypeMemberOf = "memberOf" 20488) 20489 20490const ( 20491 // PlacementStrategyTypeRandom is a PlacementStrategyType enum value 20492 PlacementStrategyTypeRandom = "random" 20493 20494 // PlacementStrategyTypeSpread is a PlacementStrategyType enum value 20495 PlacementStrategyTypeSpread = "spread" 20496 20497 // PlacementStrategyTypeBinpack is a PlacementStrategyType enum value 20498 PlacementStrategyTypeBinpack = "binpack" 20499) 20500 20501const ( 20502 // PlatformDeviceTypeGpu is a PlatformDeviceType enum value 20503 PlatformDeviceTypeGpu = "GPU" 20504) 20505 20506const ( 20507 // PropagateTagsTaskDefinition is a PropagateTags enum value 20508 PropagateTagsTaskDefinition = "TASK_DEFINITION" 20509 20510 // PropagateTagsService is a PropagateTags enum value 20511 PropagateTagsService = "SERVICE" 20512) 20513 20514const ( 20515 // ProxyConfigurationTypeAppmesh is a ProxyConfigurationType enum value 20516 ProxyConfigurationTypeAppmesh = "APPMESH" 20517) 20518 20519const ( 20520 // ResourceTypeGpu is a ResourceType enum value 20521 ResourceTypeGpu = "GPU" 20522 20523 // ResourceTypeInferenceAccelerator is a ResourceType enum value 20524 ResourceTypeInferenceAccelerator = "InferenceAccelerator" 20525) 20526 20527const ( 20528 // ScaleUnitPercent is a ScaleUnit enum value 20529 ScaleUnitPercent = "PERCENT" 20530) 20531 20532const ( 20533 // SchedulingStrategyReplica is a SchedulingStrategy enum value 20534 SchedulingStrategyReplica = "REPLICA" 20535 20536 // SchedulingStrategyDaemon is a SchedulingStrategy enum value 20537 SchedulingStrategyDaemon = "DAEMON" 20538) 20539 20540const ( 20541 // ScopeTask is a Scope enum value 20542 ScopeTask = "task" 20543 20544 // ScopeShared is a Scope enum value 20545 ScopeShared = "shared" 20546) 20547 20548const ( 20549 // ServiceFieldTags is a ServiceField enum value 20550 ServiceFieldTags = "TAGS" 20551) 20552 20553const ( 20554 // SettingNameServiceLongArnFormat is a SettingName enum value 20555 SettingNameServiceLongArnFormat = "serviceLongArnFormat" 20556 20557 // SettingNameTaskLongArnFormat is a SettingName enum value 20558 SettingNameTaskLongArnFormat = "taskLongArnFormat" 20559 20560 // SettingNameContainerInstanceLongArnFormat is a SettingName enum value 20561 SettingNameContainerInstanceLongArnFormat = "containerInstanceLongArnFormat" 20562 20563 // SettingNameAwsvpcTrunking is a SettingName enum value 20564 SettingNameAwsvpcTrunking = "awsvpcTrunking" 20565 20566 // SettingNameContainerInsights is a SettingName enum value 20567 SettingNameContainerInsights = "containerInsights" 20568) 20569 20570const ( 20571 // SortOrderAsc is a SortOrder enum value 20572 SortOrderAsc = "ASC" 20573 20574 // SortOrderDesc is a SortOrder enum value 20575 SortOrderDesc = "DESC" 20576) 20577 20578const ( 20579 // StabilityStatusSteadyState is a StabilityStatus enum value 20580 StabilityStatusSteadyState = "STEADY_STATE" 20581 20582 // StabilityStatusStabilizing is a StabilityStatus enum value 20583 StabilityStatusStabilizing = "STABILIZING" 20584) 20585 20586const ( 20587 // TargetTypeContainerInstance is a TargetType enum value 20588 TargetTypeContainerInstance = "container-instance" 20589) 20590 20591const ( 20592 // TaskDefinitionFamilyStatusActive is a TaskDefinitionFamilyStatus enum value 20593 TaskDefinitionFamilyStatusActive = "ACTIVE" 20594 20595 // TaskDefinitionFamilyStatusInactive is a TaskDefinitionFamilyStatus enum value 20596 TaskDefinitionFamilyStatusInactive = "INACTIVE" 20597 20598 // TaskDefinitionFamilyStatusAll is a TaskDefinitionFamilyStatus enum value 20599 TaskDefinitionFamilyStatusAll = "ALL" 20600) 20601 20602const ( 20603 // TaskDefinitionFieldTags is a TaskDefinitionField enum value 20604 TaskDefinitionFieldTags = "TAGS" 20605) 20606 20607const ( 20608 // TaskDefinitionPlacementConstraintTypeMemberOf is a TaskDefinitionPlacementConstraintType enum value 20609 TaskDefinitionPlacementConstraintTypeMemberOf = "memberOf" 20610) 20611 20612const ( 20613 // TaskDefinitionStatusActive is a TaskDefinitionStatus enum value 20614 TaskDefinitionStatusActive = "ACTIVE" 20615 20616 // TaskDefinitionStatusInactive is a TaskDefinitionStatus enum value 20617 TaskDefinitionStatusInactive = "INACTIVE" 20618) 20619 20620const ( 20621 // TaskFieldTags is a TaskField enum value 20622 TaskFieldTags = "TAGS" 20623) 20624 20625const ( 20626 // TaskSetFieldTags is a TaskSetField enum value 20627 TaskSetFieldTags = "TAGS" 20628) 20629 20630const ( 20631 // TaskStopCodeTaskFailedToStart is a TaskStopCode enum value 20632 TaskStopCodeTaskFailedToStart = "TaskFailedToStart" 20633 20634 // TaskStopCodeEssentialContainerExited is a TaskStopCode enum value 20635 TaskStopCodeEssentialContainerExited = "EssentialContainerExited" 20636 20637 // TaskStopCodeUserInitiated is a TaskStopCode enum value 20638 TaskStopCodeUserInitiated = "UserInitiated" 20639) 20640 20641const ( 20642 // TransportProtocolTcp is a TransportProtocol enum value 20643 TransportProtocolTcp = "tcp" 20644 20645 // TransportProtocolUdp is a TransportProtocol enum value 20646 TransportProtocolUdp = "udp" 20647) 20648 20649const ( 20650 // UlimitNameCore is a UlimitName enum value 20651 UlimitNameCore = "core" 20652 20653 // UlimitNameCpu is a UlimitName enum value 20654 UlimitNameCpu = "cpu" 20655 20656 // UlimitNameData is a UlimitName enum value 20657 UlimitNameData = "data" 20658 20659 // UlimitNameFsize is a UlimitName enum value 20660 UlimitNameFsize = "fsize" 20661 20662 // UlimitNameLocks is a UlimitName enum value 20663 UlimitNameLocks = "locks" 20664 20665 // UlimitNameMemlock is a UlimitName enum value 20666 UlimitNameMemlock = "memlock" 20667 20668 // UlimitNameMsgqueue is a UlimitName enum value 20669 UlimitNameMsgqueue = "msgqueue" 20670 20671 // UlimitNameNice is a UlimitName enum value 20672 UlimitNameNice = "nice" 20673 20674 // UlimitNameNofile is a UlimitName enum value 20675 UlimitNameNofile = "nofile" 20676 20677 // UlimitNameNproc is a UlimitName enum value 20678 UlimitNameNproc = "nproc" 20679 20680 // UlimitNameRss is a UlimitName enum value 20681 UlimitNameRss = "rss" 20682 20683 // UlimitNameRtprio is a UlimitName enum value 20684 UlimitNameRtprio = "rtprio" 20685 20686 // UlimitNameRttime is a UlimitName enum value 20687 UlimitNameRttime = "rttime" 20688 20689 // UlimitNameSigpending is a UlimitName enum value 20690 UlimitNameSigpending = "sigpending" 20691 20692 // UlimitNameStack is a UlimitName enum value 20693 UlimitNameStack = "stack" 20694) 20695